Skip to content

Commit

Permalink
Use new Horde_Core_Hooks class
Browse files Browse the repository at this point in the history
  • Loading branch information
slusarz committed Oct 30, 2013
1 parent a3a65d4 commit e965020
Show file tree
Hide file tree
Showing 12 changed files with 113 additions and 50 deletions.
3 changes: 2 additions & 1 deletion framework/Core/lib/Horde.php
Expand Up @@ -1300,7 +1300,8 @@ static public function sidebar($app = null)
static public function permissionDeniedError($app, $perm, $error = null)
{
try {
self::callHook('perms_denied', array($app, $perm));
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('perms_denied', 'horde', array($app, $perm));
} catch (Horde_Exception_HookNotSet $e) {}

if (!is_null($error)) {
Expand Down
22 changes: 14 additions & 8 deletions framework/Core/lib/Horde/Core/ActiveSync/Driver.php
Expand Up @@ -1883,6 +1883,8 @@ public function setSettings(array $settings, $device)
*/
public function autoDiscover($params = array())
{
$hooks = $GLOBALS['injector']->getInstance('Horde_Core_Hooks');

// Attempt to get a username from the email address.
$ident = $GLOBALS['injector']
->getInstance('Horde_Core_Factory_Identity')
Expand All @@ -1895,7 +1897,7 @@ public function autoDiscover($params = array())
$params['culture'] = 'en:en';
$params['username'] = $this->getUsernameFromEmail($params['email']);
try {
$xml = Horde::callHook('activesync_autodiscover_xml', array($params), 'horde');
$xml = $hooks->callHook('activesync_autodiscover_xml', 'horde', array($params));
return array('raw_xml' => $xml);
} catch (Horde_Exception_HookNotSet $e) {}

Expand All @@ -1920,7 +1922,7 @@ public function autoDiscover($params = array())
}

try {
$params = Horde::callHook('activesync_autodisover_parameters', array($params), 'horde');
$params = $hooks->callHook('activesync_autodisover_parameters', 'horde', array($params));
} catch (Horde_Exception_HookNotSet $e) {}

return $params;
Expand All @@ -1947,7 +1949,8 @@ public function getUsernameFromEmail($email)
}
case 'hook':
try {
return Horde::callHook('activesync_get_autodiscover_username', array($email));
return $GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('activesync_get_autodiscover_username', 'horde', array($email));
} catch (Horde_Exception_HookNotSet $e) {
return $email;
}
Expand Down Expand Up @@ -2288,13 +2291,14 @@ public function meetingResponse(array $response)
*/
public function createDeviceCallback(Horde_ActiveSync_Device $device)
{
global $registry;
global $injector, $registry;

$perms = $injector->getInstance('Horde_Perms');

$perms = $GLOBALS['injector']->getInstance('Horde_Perms');
// Check max_device
if ($perms->exists('horde:activesync:max_devices')) {
$max_devices = $this->_getPolicyValue('max_devices', $perms->getPermissions('horde:activesync:max_devices', $registry->getAuth()));
$state = $GLOBALS['injector']->getInstance('Horde_ActiveSyncState');
$state = $injector->getInstance('Horde_ActiveSyncState');
$devices = $state->listDevices($registry->getAuth(), false);
if (count($devices) >= $max_devices) {
$this->_logger->info(sprintf(
Expand All @@ -2305,7 +2309,8 @@ public function createDeviceCallback(Horde_ActiveSync_Device $device)
}
}
try {
return Horde::callHook('activesync_create_device', array($device));
return $injector->getInstance('Horde_Core_Hooks')
->callHook('activesync_create_device', 'horde', array($device));
} catch (Horde_Exception_HookNotSet $e) {}

return true;
Expand All @@ -2324,7 +2329,8 @@ public function createDeviceCallback(Horde_ActiveSync_Device $device)
public function deviceCallback(Horde_ActiveSync_Device $device)
{
try {
return Horde::callHook('activesync_device_check', array($device));
return $GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('activesync_device_check', 'horde', array($device));
} catch (Horde_Exception_HookNotSet $e) {}

return true;
Expand Down
24 changes: 20 additions & 4 deletions framework/Core/lib/Horde/Core/Ajax/Application.php
Expand Up @@ -156,29 +156,45 @@ final public function addHandler($class)
*/
public function doAction()
{
global $injector;

if (!strlen($this->_action)) {
return;
}

$hooks = $injector->getInstance('Horde_Core_Hooks');

/* Look for action in helpers. */
if ($ob = $this->_getHandler()) {
$this->data = call_user_func(array($ob, $this->_action));
} else {
/* Look for action in application hook. */
try {
$this->data = Horde::callHook('ajaxaction_handle', array($this, $this->_action), $this->_app);
$this->data = $hooks->callHook(
'ajaxaction_handle',
$this->_app,
array($this, $this->_action)
);
} catch (Horde_Exception $e) {
/* DEPRECATED hook. */
/* DEPRECATED hook. @deprecated */
try {
$this->data = Horde::callHook('ajaxaction', array($this->_action, $this->_vars), $this->_app);
$this->data = $hooks->callHook(
'ajaxaction',
$this->_app,
array($this->_action, $this->_vars)
);
} catch (Horde_Exception $e) {
throw new Horde_Exception('Handler for action "' . $this->_action . '" does not exist.');
}
}
}

try {
$this->data = Horde::callHook('ajaxaction_data', array($this->_action, $this->data), $this->_app);
$this->data = $hooks->callHook(
'ajaxaction_data',
$this->_app,
array($this->_action, $this->data)
);
} catch (Horde_Exception_HookNotSet $e) {}
}

Expand Down
3 changes: 2 additions & 1 deletion framework/Core/lib/Horde/Core/Auth/Application.php
Expand Up @@ -568,7 +568,8 @@ public function runHook($userId, $credentials, $type, $method = null)
}

try {
$result = Horde::callHook($type, array($userId, $credentials), $this->_app);
$result = $GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook($type, $this->_app, array($userId, $credentials));
} catch (Horde_Exception_HookNotSet $e) {
return $ret_array;
} catch (Horde_Exception $e) {
Expand Down
34 changes: 25 additions & 9 deletions framework/Core/lib/Horde/Core/Auth/Signup/Base.php
Expand Up @@ -36,9 +36,16 @@ public function addSignup(&$info)
// Attempt to add/update any extra data handed in.
if (!empty($info['extra'])) {
try {
Horde::callHook('signup_addextra', array($info['user_name'], $info['extra'], $info['password']));
} catch (Horde_Exception_HookNotSet $e) {
}
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')->callHook(
'signup_addextra',
'horde',
array(
$info['user_name'],
$info['extra'],
$info['password']
)
);
} catch (Horde_Exception_HookNotSet $e) {}
}
}

Expand Down Expand Up @@ -71,9 +78,15 @@ public function queueSignup(&$info)
$this->_queueSignup($signup);

try {
Horde::callHook('signup_queued', array($info['user_name'], $info));
} catch (Horde_Exception_HookNotSet $e) {
}
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')->callHook(
'signup_queued',
'horde',
array(
$info['user_name'],
$info
)
);
} catch (Horde_Exception_HookNotSet $e) {}

if (!empty($conf['signup']['email'])) {
$link = Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/admin/signup_confirm.php', true, -1)->setRaw(true)->add(array(
Expand Down Expand Up @@ -105,9 +118,12 @@ public function queueSignup(&$info)
protected function _preSignup(&$info)
{
try {
$info = Horde::callHook('signup_preprocess', array($info));
} catch (Horde_Exception_HookNotSet $e) {
}
$info = $GLOBALS['injector']->getInstance('Horde_Core_Hooks')->callHook(
'signup_preprocess',
'horde',
array($info)
);
} catch (Horde_Exception_HookNotSet $e) {}

// Check to see if the username already exists in the auth backend or
// the signup queue.
Expand Down
3 changes: 2 additions & 1 deletion framework/Core/lib/Horde/Core/Auth/Signup/Form.php
Expand Up @@ -34,7 +34,8 @@ public function __construct(&$vars)

/* Use hooks get any extra fields required in signing up. */
try {
$extra = Horde::callHook('signup_getextra');
$extra = $GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('signup_getextra', 'horde');
} catch (Horde_Exception_HookNotSet $e) {}

if (!empty($extra)) {
Expand Down
3 changes: 2 additions & 1 deletion framework/Core/lib/Horde/Core/Browser.php
Expand Up @@ -22,7 +22,8 @@ public function match($userAgent = null, $accept = null)
parent::match($userAgent, $accept);

try {
Horde::callHook('browser_modify', array($this), 'horde');
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('browser_modify', 'horde', array($this));
} catch (Horde_Exception_HookNotSet $e) {}
}

Expand Down
6 changes: 4 additions & 2 deletions framework/Core/lib/Horde/Core/Group/Ldap.php
Expand Up @@ -26,8 +26,10 @@ class Horde_Core_Group_Ldap extends Horde_Group_Ldap
public function create($name, $email = null)
{
try {
$entry = Horde::callHook('groupldap', array($name, $email));
return $this->_create($name, $entry);
return $this->_create(
$name,
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')->callHook('groupldap', 'horde', array($name, $email))
);
} catch (Horde_Exception_HookNotSet $e) {
return parent::create($name, $email);
}
Expand Down
17 changes: 15 additions & 2 deletions framework/Core/lib/Horde/Core/Prefs/Storage/Hooks.php
Expand Up @@ -27,7 +27,19 @@ public function get($scope_ob)

foreach ($conf_ob->hooks[$scope_ob->scope] as $name) {
try {
$scope_ob->set($name, Horde::callHook('prefs_init', array($name, $scope_ob->get($name), strlen($this->_params['user']) ? $this->_params['user'] : null, $scope_ob), $scope_ob->scope));
$scope_ob->set(
$name,
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')->callHook(
'prefs_init',
$scope_ob->scope,
array(
$name,
$scope_ob->get($name),
strlen($this->_params['user']) ? $this->_params['user'] : null,
$scope_ob
)
)
);
} catch (Horde_Exception_HookNotSet $e) {}
}

Expand All @@ -46,7 +58,8 @@ public function store($scope_ob)
public function onChange($scope, $pref)
{
try {
Horde::callHook('prefs_change', array($pref), $scope);
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('prefs_change', $scope, array($pref));
} catch (Horde_Exception_HookNotSet $e) {}
}

Expand Down
35 changes: 19 additions & 16 deletions framework/Core/lib/Horde/Core/Share/Driver.php
Expand Up @@ -36,16 +36,18 @@ class Horde_Core_Share_Driver
*/
public function __construct(Horde_Share_Base $share)
{
global $injector;

$this->_share = $share;
$this->_share->setStorage($GLOBALS['injector']->getInstance($this->_storageMap[get_class($this->_share)]));
$this->_share->setStorage($injector->getInstance($this->_storageMap[get_class($this->_share)]));
$this->_share->addCallback('add', array($this, 'shareAddCallback'));
$this->_share->addCallback('modify', array($this, 'shareModifyCallback'));
$this->_share->addCallback('remove', array($this, 'shareRemoveCallback'));
$this->_share->addCallback('list', array($this, 'shareListCallback'));

if (Horde::hookExists('share_init')) {
Horde::callHook('share_init', array($this, $this->_share->getApp()));
}
try {
$injector->getInstance('Horde_Core_Hooks')->callHook('share_init', 'horde', array($this, $this->_share->getApp()));
} catch (Horde_Exception_HookNotSet $e) {}
}

/**
Expand Down Expand Up @@ -194,10 +196,11 @@ public function checkLocks(Horde_Lock $locks, $item_uid = null)
*/
public function shareListCallback($userid, $shares, $params = array())
{
if (Horde::hookExists('share_list')) {
try {
$params = new Horde_Support_Array($params);
return Horde::callHook('share_list', array($userid, $params['perm'], $params['attributes'], $shares));
}
return $GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('share_list', 'horde', array($userid, $params['perm'], $params['attributes'], $shares));
} catch (Horde_Exception_HookNotSet $e) {}

return $shares;
}
Expand All @@ -210,9 +213,9 @@ public function shareListCallback($userid, $shares, $params = array())
public function shareAddCallback(Horde_Share_Object $share)
{
try {
Horde::callHook('share_add', array($share));
} catch (Horde_Exception_HookNotSet $e) {
}
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('share_add', 'horde', array($share));
} catch (Horde_Exception_HookNotSet $e) {}
}

/**
Expand All @@ -223,17 +226,17 @@ public function shareAddCallback(Horde_Share_Object $share)
public function shareRemoveCallback(Horde_Share_Object $share)
{
try {
Horde::callHook('share_remove', array($share));
} catch (Horde_Exception_HookNotSet $e) {
}
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('share_remove', 'horde', array($share));
} catch (Horde_Exception_HookNotSet $e) {}
}

public function shareModifyCallback(Horde_Share_Object $share)
{
try {
Horde::callHook('share_modify', array($share));
} catch (Horde_Exception_HookNotSet $e) {
}
$GLOBALS['injector']->getInstance('Horde_Core_Hooks')
->callHook('share_modify', 'horde', array($share));
} catch (Horde_Exception_HookNotSet $e) {}
}

}
8 changes: 5 additions & 3 deletions framework/Core/lib/Horde/Registry.php
Expand Up @@ -1565,13 +1565,14 @@ public function pushApp($app, array $options = array())
}

/* Run authenticated hooks, if necessary. */
$hooks = $GLOBALS['injector']->getInstance('Horde_Core_Hooks');
if ($GLOBALS['session']->get('horde', 'auth_app_init/' . $app)) {
try {
$error = self::INITCALLBACK_FATAL;
$this->callAppMethod($app, 'authenticated');

$error = self::HOOK_FATAL;
Horde::callHook('appauthenticated', array(), $app);
$hooks->callHook('appauthenticated', $app);
} catch (Exception $e) {
$this->_pushAppError($e, $error);
}
Expand All @@ -1587,7 +1588,7 @@ public function pushApp($app, array $options = array())
$this->callAppMethod($app, 'init');

$error = self::HOOK_FATAL;
Horde::callHook('pushapp', array(), $app);
$hooks->callHook('pushapp', $app);
} catch (Exception $e) {
$this->_pushAppError($e, $error);
}
Expand Down Expand Up @@ -2295,7 +2296,8 @@ public function downloadUrl($filename, array $params = array())
public function convertUsername($userId, $toHorde)
{
try {
return Horde::callHook('authusername', array($userId, $toHorde));
return $GLOBALS['injector']->getInstance('Horde_Core_Hooks')->
callHook('authusername', 'horde', array($userId, $toHorde));
} catch (Horde_Exception_HookNotSet $e) {
return $userId;
}
Expand Down
5 changes: 3 additions & 2 deletions framework/Core/lib/Horde/Themes/Css.php
Expand Up @@ -224,13 +224,14 @@ public function getStylesheets($theme = '', array $opts = array())
}

/* Add user-defined additional stylesheets. */
$hooks = $GLOBALS['injector']->getInstance('Horde_Core_Hooks');
try {
$add_css = array_merge($add_css, Horde::callHook('cssfiles', array($theme), 'horde'));
$add_css = array_merge($add_css, $hooks->callHook('cssfiles', 'horde', array($theme)));
} catch (Horde_Exception_HookNotSet $e) {}

if ($curr_app != 'horde') {
try {
$add_css = array_merge($add_css, Horde::callHook('cssfiles', array($theme), $curr_app));
$add_css = array_merge($add_css, $hooks->callHook('cssfiles', $curr_app, array($theme)));
} catch (Horde_Exception_HookNotSet $e) {}
}

Expand Down

0 comments on commit e965020

Please sign in to comment.