Prevent horde login tasks from running twice
authorMichael M Slusarz <slusarz@curecanti.org>
Wed, 9 Jun 2010 17:28:47 +0000 (11:28 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Wed, 9 Jun 2010 23:17:19 +0000 (17:17 -0600)
framework/Core/lib/Horde/Core/LoginTasks/Backend/Horde.php

index fbf43dd..4fd943d 100644 (file)
@@ -85,11 +85,19 @@ class Horde_Core_LoginTasks_Backend_Horde extends Horde_LoginTasks_Backend
      */
     public function getTasks()
     {
-        /* Add Horde tasks here if not yet run. */
-        $app_list = array($this->_app);
-        if (($this->_app != 'horde') &&
-            !isset($_SESSION['horde_logintasks']['horde'])) {
-            array_unshift($app_list, 'horde');
+        switch ($this->_app) {
+        case 'horde':
+            $app_list = isset($_SESSION['horde_logintasks']['horde'])
+                ? array()
+                : array('horde');
+            break;
+
+        default:
+            $app_list = array($this->_app);
+            if (!isset($_SESSION['horde_logintasks']['horde'])) {
+                array_unshift($app_list, 'horde');
+            }
+            break;
         }
 
         $tasks = array();