Overview

Packages

  • Auth
  • Core
  • Horde
    • Imsp
  • None
  • Notification

Classes

  • Horde
  • Horde_Config
  • Horde_Config_Form
  • Horde_Core_ActiveSync_Connector
  • Horde_Core_ActiveSync_Driver
  • Horde_Core_Ajax_Application
  • Horde_Core_Ajax_Imple
  • Horde_Core_Ajax_Imple_AutoCompleter
  • Horde_Core_Ajax_Imple_Geocoder_Geonames
  • Horde_Core_Ajax_Imple_SpellChecker
  • Horde_Core_Alarm_Handler_Notify
  • Horde_Core_Auth_Application
  • Horde_Core_Auth_Composite
  • Horde_Core_Auth_Ldap
  • Horde_Core_Auth_Msad
  • Horde_Core_Auth_Shibboleth
  • Horde_Core_Auth_Signup_Base
  • Horde_Core_Auth_Signup_Form
  • Horde_Core_Auth_Signup_Null
  • Horde_Core_Auth_Signup_Sql
  • Horde_Core_Auth_Signup_SqlObject
  • Horde_Core_Autoloader_Callback_Mime
  • Horde_Core_Autoloader_Callback_Nls
  • Horde_Core_Block
  • Horde_Core_Block_Collection
  • Horde_Core_Block_Layout
  • Horde_Core_Block_Layout_Manager
  • Horde_Core_Block_Layout_View
  • Horde_Core_Block_Upgrade
  • Horde_Core_Browser
  • Horde_Core_Bundle
  • Horde_Core_Cli
  • Horde_Core_Controller_NotFound
  • Horde_Core_Controller_RequestConfiguration
  • Horde_Core_Controller_RequestMapper
  • Horde_Core_Controller_SettingsFinder
  • Horde_Core_Db_Migration
  • Horde_Core_Factory_ActiveSyncBackend
  • Horde_Core_Factory_ActiveSyncServer
  • Horde_Core_Factory_ActiveSyncState
  • Horde_Core_Factory_Ajax
  • Horde_Core_Factory_Alarm
  • Horde_Core_Factory_Auth
  • Horde_Core_Factory_AuthSignup
  • Horde_Core_Factory_Base
  • Horde_Core_Factory_BlockCollection
  • Horde_Core_Factory_Browser
  • Horde_Core_Factory_Cache
  • Horde_Core_Factory_Crypt
  • Horde_Core_Factory_Data
  • Horde_Core_Factory_Db
  • Horde_Core_Factory_DbBase
  • Horde_Core_Factory_DbPear
  • Horde_Core_Factory_Dns
  • Horde_Core_Factory_Editor
  • Horde_Core_Factory_Facebook
  • Horde_Core_Factory_Group
  • Horde_Core_Factory_History
  • Horde_Core_Factory_HttpClient
  • Horde_Core_Factory_Identity
  • Horde_Core_Factory_Image
  • Horde_Core_Factory_Imple
  • Horde_Core_Factory_Imsp
  • Horde_Core_Factory_ImspAuth
  • Horde_Core_Factory_Injector
  • Horde_Core_Factory_KolabServer
  • Horde_Core_Factory_KolabSession
  • Horde_Core_Factory_KolabStorage
  • Horde_Core_Factory_Ldap
  • Horde_Core_Factory_Lock
  • Horde_Core_Factory_Logger
  • Horde_Core_Factory_LoginTasks
  • Horde_Core_Factory_Mail
  • Horde_Core_Factory_Mapper
  • Horde_Core_Factory_Matcher
  • Horde_Core_Factory_Memcache
  • Horde_Core_Factory_MimeViewer
  • Horde_Core_Factory_Notification
  • Horde_Core_Factory_Perms
  • Horde_Core_Factory_PermsCore
  • Horde_Core_Factory_Prefs
  • Horde_Core_Factory_Request
  • Horde_Core_Factory_Secret
  • Horde_Core_Factory_SessionHandler
  • Horde_Core_Factory_Share
  • Horde_Core_Factory_ShareBase
  • Horde_Core_Factory_Template
  • Horde_Core_Factory_TextFilter
  • Horde_Core_Factory_ThemesCache
  • Horde_Core_Factory_Token
  • Horde_Core_Factory_Tree
  • Horde_Core_Factory_Twitter
  • Horde_Core_Factory_UrlShortener
  • Horde_Core_Factory_Vfs
  • Horde_Core_Factory_View
  • Horde_Core_Factory_Weather
  • Horde_Core_Group_Ldap
  • Horde_Core_Log_Logger
  • Horde_Core_LoginTasks
  • Horde_Core_LoginTasks_Backend_Horde
  • Horde_Core_LoginTasks_SystemTask_Upgrade
  • Horde_Core_Mime_Viewer_Syntaxhighlighter
  • Horde_Core_Mime_Viewer_Vcard
  • Horde_Core_Notification_Event_Status
  • Horde_Core_Notification_Handler_Decorator_Hordelog
  • Horde_Core_Notification_Storage_Session
  • Horde_Core_Perms
  • Horde_Core_Perms_Ui
  • Horde_Core_Prefs_Cache_Session
  • Horde_Core_Prefs_Identity
  • Horde_Core_Prefs_Storage_Configuration
  • Horde_Core_Prefs_Storage_Hooks
  • Horde_Core_Prefs_Storage_Upgrade
  • Horde_Core_Prefs_Ui
  • Horde_Core_Prefs_Ui_Widgets
  • Horde_Core_Share_Driver
  • Horde_Core_Share_FactoryCallback
  • Horde_Core_Sidebar
  • Horde_Core_Text_Filter_Bbcode
  • Horde_Core_Text_Filter_Emails
  • Horde_Core_Text_Filter_Emoticons
  • Horde_Core_Text_Filter_Highlightquotes
  • Horde_Core_Translation
  • Horde_Core_Tree_Html
  • Horde_Core_Tree_Javascript
  • Horde_Core_Tree_Simplehtml
  • Horde_Core_Ui_FlagImage
  • Horde_Core_Ui_JsCalendar
  • Horde_Core_Ui_Language
  • Horde_Core_Ui_Layout
  • Horde_Core_Ui_ModalFormRenderer
  • Horde_Core_Ui_Pager
  • Horde_Core_Ui_Tabs
  • Horde_Core_Ui_TagCloud
  • Horde_Core_Ui_VarRenderer
  • Horde_Core_Ui_VarRenderer_Html
  • Horde_Core_Ui_VarRenderer_TablesetHtml
  • Horde_Core_Ui_Widget
  • Horde_ErrorHandler
  • Horde_Help
  • Horde_Menu
  • Horde_Registry
  • Horde_Registry_Api
  • Horde_Registry_Application
  • Horde_Registry_Caller
  • Horde_Registry_Nlsconfig
  • Horde_Script_Files
  • Horde_Session
  • Horde_Session_Null
  • Horde_Themes
  • Horde_Themes_Cache
  • Horde_Themes_Css
  • Horde_Themes_Element
  • Horde_Themes_Image
  • Horde_Themes_Sound

Exceptions

  • Horde_Exception_HookNotSet
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * This class provides the Horde specific implementation of the LoginTasks
  4:  * backend.
  5:  *
  6:  * Copyright 2010-2012 Horde LLC (http://www.horde.org/)
  7:  *
  8:  * See the enclosed file COPYING for license information (LGPL). If you
  9:  * did not receive this file, see http://www.horde.org/licenses/lgpl21.
 10:  *
 11:  * @author   Michael Slusarz <slusarz@horde.org>
 12:  * @author   Gunnar Wrobel <wrobel@pardus.de>
 13:  * @category Horde
 14:  * @package  Core
 15:  */
 16: class Horde_Core_LoginTasks_Backend_Horde extends Horde_LoginTasks_Backend
 17: {
 18:     /**
 19:      * The Horde application that is currently active.
 20:      *
 21:      * @var string
 22:      */
 23:     private $_app;
 24: 
 25:     /**
 26:      * Constructor.
 27:      *
 28:      * @param string $app  The currently active Horde application.
 29:      */
 30:     public function __construct($app)
 31:     {
 32:         $this->_app = $app;
 33:     }
 34: 
 35:     /**
 36:      * Retrieve a cached tasklist if it exists.
 37:      *
 38:      * @return Horde_LoginTasks_Tasklist|boolean  The cached task list or
 39:      *                                            false if no task list was
 40:      *                                            cached.
 41:      */
 42:     public function getTasklistFromCache()
 43:     {
 44:         return $GLOBALS['session']->get('horde', 'logintasks/' . $this->_app);
 45:     }
 46: 
 47:     /**
 48:      * Store a login tasklist in the cache.
 49:      *
 50:      * @param Horde_LoginTasks_Tasklist|boolean $tasklist  The tasklist to be
 51:      *                                                     stored.
 52:      */
 53:     public function storeTasklistInCache($tasklist)
 54:     {
 55:         $GLOBALS['session']->set('horde', 'logintasks/' . $this->_app, $tasklist);
 56:     }
 57: 
 58:     /**
 59:      * Get the class names of the task classes that need to be performed.
 60:      *
 61:      * @return array  An array of class names.
 62:      */
 63:     public function getTasks()
 64:     {
 65:         $tasks = array();
 66: 
 67:         foreach (array_merge($GLOBALS['registry']->getAppDrivers($this->_app, 'LoginTasks_SystemTask'), $GLOBALS['registry']->getAppDrivers($this->_app, 'LoginTasks_Task')) as $val) {
 68:             $tasks[$val] = $this->_app;
 69:         }
 70: 
 71:         return $tasks;
 72:     }
 73: 
 74:     /**
 75:      * Get the information about the last time the tasks were run. Array keys
 76:      * are app names, values are last run timestamps. Special key '_once'
 77:      * contains list of ONCE tasks previously run.
 78:      *
 79:      * @return array  The information about the last time the tasks were run.
 80:      */
 81:     public function getLastRun()
 82:     {
 83:         $lasttask_pref = @unserialize($GLOBALS['prefs']->getValue('last_logintasks'));
 84: 
 85:         return is_array($lasttask_pref)
 86:             ? $lasttask_pref
 87:             : array();
 88:     }
 89: 
 90:     /**
 91:      * Store the information about the last time the tasks were run.
 92:      *
 93:      * @param array $last  The information about the last time the tasks were
 94:      *                     run.
 95:      */
 96:     public function setLastRun(array $last)
 97:     {
 98:         $GLOBALS['prefs']->setValue('last_logintasks', serialize($last));
 99:     }
100: 
101:     /**
102:      * Mark the current time as time the login tasks were run for the last
103:      * time.
104:      */
105:     public function markLastRun()
106:     {
107:         $lasttasks = $this->getLastRun();
108:         $lasttasks[$this->_app] = time();
109:         $this->setLastRun($lasttasks);
110:     }
111: 
112:     /**
113:      * Redirect to the given URL.
114:      *
115:      * @param Horde_Url|string $url  The URL to redirect to.
116:      */
117:     public function redirect($url)
118:     {
119:         $url = new Horde_Url($url);
120:         $url->redirect();
121:     }
122: 
123:     /**
124:      * Return the URL of the login tasks view.
125:      *
126:      * @return string  The URL of the login tasks view.
127:      */
128:     public function getLoginTasksUrl()
129:     {
130:         return Horde::getServiceLink('logintasks', $this->_app);
131:     }
132: 
133: }
134: 
API documentation generated by ApiGen