Factory does the necessary base Horde authentication check.
+++ /dev/null
-<?php
-/**
- * @category Horde
- * @package Core
- */
-class Horde_Core_Binder_LoginTasks implements Horde_Injector_Binder
-{
- public function create(Horde_Injector $injector)
- {
- return new Horde_Core_Factory_LoginTasks($injector);
- }
-
- public function equals(Horde_Injector_Binder $binder)
- {
- return false;
- }
-}
private $_instances = array();
/**
- * The injector.
- *
- * @var Horde_Injector
- */
- private $_injector;
-
- /**
- * Constructor.
- *
- * @param Horde_Injector $injector The injector to use.
- */
- public function __construct(Horde_Injector $injector)
- {
- $this->_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));
}
'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(),
}
/* 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;
<file name="HttpClient.php" role="php" />
<file name="Identity.php" role="php" />
<file name="Logger.php" role="php" />
- <file name="LoginTasks.php" role="php" />
<file name="Mail.php" role="php" />
<file name="Mapper.php" role="php" />
<file name="MimeViewer.php" role="php" />
<install as="Horde/Core/Binder/HttpClient.php" name="lib/Horde/Core/Binder/HttpClient.php" />
<install as="Horde/Core/Binder/Identity.php" name="lib/Horde/Core/Binder/Identity.php" />
<install as="Horde/Core/Binder/Logger.php" name="lib/Horde/Core/Binder/Logger.php" />
- <install as="Horde/Core/Binder/LoginTasks.php" name="lib/Horde/Core/Binder/LoginTasks.php" />
<install as="Horde/Core/Binder/Mail.php" name="lib/Horde/Core/Binder/Mail.php" />
<install as="Horde/Core/Binder/Mapper.php" name="lib/Horde/Core/Binder/Mapper.php" />
<install as="Horde/Core/Binder/MimeViewer.php" name="lib/Horde/Core/Binder/MimeViewer.php" />
$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.');
}