From: Michael M Slusarz Date: Thu, 11 Feb 2010 19:58:14 +0000 (-0700) Subject: Horde_Perms now created with Horde_Injector X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=d9c0a62363172f0532c76cec467d4a9b0de04a8a;p=horde.git Horde_Perms now created with Horde_Injector --- diff --git a/beatnik/lib/Beatnik.php b/beatnik/lib/Beatnik.php index 03c55d5dd..9553507bf 100644 --- a/beatnik/lib/Beatnik.php +++ b/beatnik/lib/Beatnik.php @@ -449,19 +449,18 @@ class Beatnik { return true; } - $perms = Horde_Perms::singleton(); if ($permmask === null) { - $permmask = Horde_Perms::SHOW|Horde_Perms::READ; + $permmask = Horde_Perms::SHOW | Horde_Perms::READ; } # Default deny all permissions $user = 0; $superadmin = 0; - $superadmin = $perms->hasPermission('beatnik:domains', Horde_Auth::getAuth(), $permmask); + $superadmin = $GLOBALS['perms']->hasPermission('beatnik:domains', Horde_Auth::getAuth(), $permmask); while ($numparents >= 0) { - $tmpuser = $perms->hasPermission($permname, Horde_Auth::getAuth(), $permmask); + $tmpuser = $GLOBALS['perms']->hasPermission($permname, Horde_Auth::getAuth(), $permmask); $user = $user | $tmpuser; if ($numparents > 0) { diff --git a/framework/Core/lib/Horde/Core/Binder/Perms.php b/framework/Core/lib/Horde/Core/Binder/Perms.php new file mode 100644 index 000000000..a3ad52207 --- /dev/null +++ b/framework/Core/lib/Horde/Core/Binder/Perms.php @@ -0,0 +1,24 @@ +addBinder('Horde_Db_Adapter_Base', new Horde_Core_Binder_Db('reader')); $injector->addBinder('Horde_Log_Logger', new Horde_Core_Binder_Logger()); $injector->addBinder('Horde_Memcache', new Horde_Core_Binder_Memcache()); + $injector->addBinder('Horde_Perms', new Horde_Core_Binder_Perms()); $injector->addBinder('Horde_Template', new Horde_Core_Binder_Template()); $injector->addBinder('Net_DNS_Resolver', new Horde_Core_Binder_Dns()); @@ -314,9 +315,7 @@ class Horde_Registry } /* Create the global permissions object. */ - // TODO: Convert to using Horde_Injector - $GLOBALS['perms'] = Horde_Perms::singleton(); - $injector->setInstance('Horde_Perms', $GLOBALS['perms']); + $GLOBALS['perms'] = $injector->getInstance('Horde_Perms'); /* Initialize notification object. Always attach status listener by * default. */ diff --git a/framework/Core/package.xml b/framework/Core/package.xml index 6dd556097..3b4f4e8db 100644 --- a/framework/Core/package.xml +++ b/framework/Core/package.xml @@ -66,6 +66,7 @@ Application Framework. + @@ -155,6 +156,7 @@ Application Framework. + diff --git a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Scenario.php b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Scenario.php index 267adc152..3a74ac208 100644 --- a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Scenario.php +++ b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Scenario.php @@ -312,10 +312,6 @@ EOD; $this->prepareRegistry(); $this->prepareNotification(); - if (!isset($GLOBALS['perms'])) { - $GLOBALS['perms'] = Horde_Perms::singleton(); - } - /** Provide the horde registry */ $GLOBALS['registry'] = new Horde_Registry(); diff --git a/framework/Perms/lib/Horde/Perms.php b/framework/Perms/lib/Horde/Perms.php index 65c09af12..18ca2a1ca 100644 --- a/framework/Perms/lib/Horde/Perms.php +++ b/framework/Perms/lib/Horde/Perms.php @@ -39,13 +39,6 @@ class Horde_Perms protected $_appPerms; /** - * Singleton instance. - * - * @var array - */ - static protected $_instance = null; - - /** * Cache for integerToArray(). * * @var array @@ -83,34 +76,6 @@ class Horde_Perms } /** - * Attempts to return a reference to a concrete instance. - * It will only create a new instance if no instance currently exists. - * - * This method must be invoked as: $var = Horde_Perms::singleton() - * - * @return Horde_Perms The concrete reference. - * @throws Horde_Perms_Exception - */ - static public function singleton() - { - if (is_null(self::$_instance)) { - $perm_driver = $perm_params = null; - if (empty($GLOBALS['conf']['perms']['driver'])) { - $perm_driver = empty($GLOBALS['conf']['datatree']['driver']) - ? null - : 'datatree'; - } else { - $perm_driver = $GLOBALS['conf']['perms']['driver']; - $perm_params = Horde::getDriverConfig('perms', $perm_driver); - } - - self::$_instance = self::factory($perm_driver, $perm_params); - } - - return self::$_instance; - } - - /** * Returns the available permissions for a given level. * * @param string $name The permission's name. diff --git a/shout/lib/Shout.php b/shout/lib/Shout.php index d2f3a1426..bcdf0d5a3 100644 --- a/shout/lib/Shout.php +++ b/shout/lib/Shout.php @@ -52,7 +52,6 @@ class Shout static public function getTabs($context, &$vars) { global $shout; - $perms = &Horde_Perms::singleton(); $permprefix = 'shout:contexts:' . $context; @@ -99,20 +98,19 @@ class Shout { if (Horde_Auth::isAdmin()) { return true; } - $perms = &Horde_Perms::singleton(); if ($permmask === null) { - $permmask = PERMS_SHOW|PERMS_READ; + $permmask = Horde_Perms::SHOW | Horde_Perms::READ; } # Default deny all permissions $user = 0; $superadmin = 0; - $superadmin = $perms->hasPermission('shout:superadmin', + $superadmin = $GLOBALS['perms']->hasPermission('shout:superadmin', Horde_Auth::getAuth(), $permmask); while ($numparents >= 0) { - $tmpuser = $perms->hasPermission($permname, + $tmpuser = $GLOBALS['perms']->hasPermission($permname, Horde_Auth::getAuth(), $permmask); $user = $user | $tmpuser;