From: Michael M Slusarz Date: Fri, 14 Jan 2011 19:27:47 +0000 (-0700) Subject: Create a generic admin check login task. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=19d8a5dbe1a1d8cbccdf279d03e36e73a1e98ebe;p=horde.git Create a generic admin check login task. Disable this login task if not an admin Move logger check into login task --- diff --git a/framework/Core/lib/Horde/Registry.php b/framework/Core/lib/Horde/Registry.php index 19149b973..17474a583 100644 --- a/framework/Core/lib/Horde/Registry.php +++ b/framework/Core/lib/Horde/Registry.php @@ -2107,16 +2107,6 @@ class Horde_Registry $this->loadPrefs(); $this->setLanguageEnvironment(isset($options['language']) ? $options['language'] : null, $app); - - /* If an admin, check for logger errors. */ - if ($this->isAdmin()) { - // Do this to ensure Logger object was initialized. - $injector->getInstance('Horde_Log_Logger'); - - if ($error = $injector->getInstance('Horde_Core_Factory_Logger')->error) { - $injector->getInstance('Horde_Notification')->push($error, 'horde.warning'); - } - } } /** diff --git a/horde/lib/LoginTasks/Task/AdminCheck.php b/horde/lib/LoginTasks/Task/AdminCheck.php new file mode 100644 index 000000000..3f74c6182 --- /dev/null +++ b/horde/lib/LoginTasks/Task/AdminCheck.php @@ -0,0 +1,60 @@ + + * @category Horde + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @package Horde + */ +class Horde_LoginTasks_Task_AdminCheck extends Horde_LoginTasks_Task +{ + /** + * The interval at which to run the task. + * + * @var integer + */ + public $interval = Horde_LoginTasks::EVERY; + + /** + * Display type. + * + * @var integer + */ + public $display = Horde_LoginTasks::DISPLAY_NONE; + + /** + * Constructor. + */ + public function __construct() + { + $this->active = $GLOBALS['registry']->isAdmin(); + } + + /** + * Perform all functions for this task. + */ + public function execute() + { + /* Check if test script is active. */ + if (empty($GLOBALS['conf']['testdisable'])) { + $GLOBALS['notification']->push(_("The test script is currently enabled. For security reasons, disable test scripts when you are done testing (see horde/docs/INSTALL)."), 'horde.warning'); + } + + /* Check that logger configuration is correct. */ + + // Ensure Logger object was initialized. + $GLOBALS['injector']->getInstance('Horde_Log_Logger'); + + if ($error = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Logger')->error) { + $GLOBALS['notification']->push($error, 'horde.warning'); + } + } + +} diff --git a/horde/lib/LoginTasks/Task/TestScriptActive.php b/horde/lib/LoginTasks/Task/TestScriptActive.php deleted file mode 100644 index b7716fd25..000000000 --- a/horde/lib/LoginTasks/Task/TestScriptActive.php +++ /dev/null @@ -1,42 +0,0 @@ - - * @category Horde - * @license http://www.fsf.org/copyleft/lgpl.html LGPL - * @package Horde - */ -class Horde_LoginTasks_Task_TestScriptActive extends Horde_LoginTasks_Task -{ - /** - * The interval at which to run the task. - * - * @var integer - */ - public $interval = Horde_LoginTasks::EVERY; - - /** - * Display type. - * - * @var integer - */ - public $display = Horde_LoginTasks::DISPLAY_NONE; - - /** - * Perform all functions for this task. - */ - public function execute() - { - if ($GLOBALS['registry']->isAdmin() && - empty($GLOBALS['conf']['testdisable'])) { - $GLOBALS['notification']->push(_("The test script is currently enabled. For security reasons, disable test scripts when you are done testing (see horde/docs/INSTALL)."), 'horde.warning'); - } - } - -}