/* Call post-push hook. */
Horde::callHook('_horde_hook_post_pushapp', array($app), 'horde');
+ /* Do login tasks. */
+ $tasks = Horde_LoginTasks::singleton($app, Horde::selfUrl(true, true, true));
+ $tasks->runTasks();
+
return true;
}
/* If this application handles Horde auth, need to add Horde tasks
* here. */
$app_list = array($this->_app);
- if (strnatcasecmp($this->_app, Horde_Auth::getProvider()) === 0) {
+ if (($this->_app != 'horde') &&
+ !isset($_SESSION['horde_logintasks']['horde'])) {
array_unshift($app_list, 'horde');
}
if (empty($need_display)) {
$lasttasks = unserialize($GLOBALS['prefs']->getValue('last_logintasks'));
$lasttasks[$this->_app] = time();
- if (strnatcasecmp($this->_app, Horde_Auth::getProvider()) === 0) {
+ if (($this->_app != 'horde') &&
+ !isset($_SESSION['horde_logintasks']['horde'])) {
$lasttasks['horde'] = time();
+ $_SESSION['horde_logintasks']['horde'] = true;
}
$GLOBALS['prefs']->setValue('last_logintasks', serialize($lasttasks));