From: Michael M Slusarz Date: Wed, 6 Oct 2010 20:52:02 +0000 (-0600) Subject: Remove LoginTasks binder - use direct factory instead. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=67c2578be01b22b922c1154298c30f401dfffdd0;p=horde.git Remove LoginTasks binder - use direct factory instead. Factory does the necessary base Horde authentication check. --- diff --git a/framework/Core/lib/Horde/Core/Binder/LoginTasks.php b/framework/Core/lib/Horde/Core/Binder/LoginTasks.php deleted file mode 100644 index 304d8fde1..000000000 --- a/framework/Core/lib/Horde/Core/Binder/LoginTasks.php +++ /dev/null @@ -1,17 +0,0 @@ -_injector = $injector; - } - - /** * Return the Horde_LoginTasks:: instance. * * @param string $app The current application. * - * @return Horde_LoginTasks The singleton instance. + * @return Horde_LoginTasks|boolean The singleton instance. Returns false + * if logintasks not available. */ - public function getLoginTasks($app) + public function create($app) { + if (!$GLOBALS['registry']->getAuth()) { + return false; + } + if (!isset($this->_instances[$app])) { $this->_instances[$app] = new Horde_LoginTasks(new Horde_Core_LoginTasks_Backend_Horde($app)); } diff --git a/framework/Core/lib/Horde/Registry.php b/framework/Core/lib/Horde/Registry.php index 0fcdb5658..973873fd4 100644 --- a/framework/Core/lib/Horde/Registry.php +++ b/framework/Core/lib/Horde/Registry.php @@ -274,7 +274,6 @@ class Horde_Registry 'Horde_History' => new Horde_Core_Binder_History(), 'Horde_Http_Client' => new Horde_Core_Binder_HttpClient(), 'Horde_Log_Logger' => new Horde_Core_Binder_Logger(), - 'Horde_LoginTasks' => new Horde_Core_Binder_LoginTasks(), 'Horde_Mail' => new Horde_Core_Binder_Mail(), 'Horde_Mime_Viewer' => new Horde_Core_Binder_MimeViewer(), 'Horde_Prefs_Identity' => new Horde_Core_Binder_Identity(), @@ -1252,11 +1251,10 @@ class Horde_Registry } /* Do login tasks. */ - if ($checkPerms) { - $tasks = $GLOBALS['injector']->getInstance('Horde_LoginTasks')->getLoginTasks($app); - if (!empty($options['logintasks'])) { - $tasks->runTasks(false, Horde::selfUrl(true, true, true)); - } + if ($checkPerms && + ($tasks = $GLOBALS['injector']->getInstance('Horde_Core_Factory_LoginTasks')->create($app)) && + !empty($options['logintasks'])) { + $tasks->runTasks(false, Horde::selfUrl(true, true, true)); } return true; diff --git a/framework/Core/package.xml b/framework/Core/package.xml index eb54fc9ad..18ff901e8 100644 --- a/framework/Core/package.xml +++ b/framework/Core/package.xml @@ -123,7 +123,6 @@ Application Framework. - @@ -442,7 +441,6 @@ Application Framework. - diff --git a/horde/services/logintasks.php b/horde/services/logintasks.php index 092950a9f..b5e84e5d2 100644 --- a/horde/services/logintasks.php +++ b/horde/services/logintasks.php @@ -21,7 +21,7 @@ if (!($app = basename(Horde_Util::getFormData('app')))) { $registry->pushApp($app, array('logintasks' => false)); -if (!($tasks = $injector->getInstance('Horde_LoginTasks')->getLoginTasks($app))) { +if (!($tasks = $injector->getInstance('Horde_Core_Factory_LoginTasks')->create($app))) { throw new Horde_Exception('The Horde_LoginTasks:: class did not load successfully.'); }