tweaks
authorMichael M Slusarz <slusarz@curecanti.org>
Wed, 6 Oct 2010 20:59:47 +0000 (14:59 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 7 Oct 2010 06:45:40 +0000 (00:45 -0600)
framework/Core/lib/Horde/Core/LoginTasks/Backend/Horde.php
framework/LoginTasks/lib/Horde/LoginTasks/SystemTask.php
framework/LoginTasks/lib/Horde/LoginTasks/Task.php
framework/LoginTasks/test/Horde/LoginTasks/LoginTasksTest.php

index 4ef7502..bb180b9 100644 (file)
@@ -75,23 +75,23 @@ class Horde_Core_LoginTasks_Backend_Horde extends Horde_LoginTasks_Backend
      */
     public function getTasks()
     {
+        $app_list = array($this->_app);
+        $tasks = array();
+
         switch ($this->_app) {
         case 'horde':
-            $app_list = isset($_SESSION['horde_logintasks']['horde'])
-                ? array()
-                : array('horde');
+            if (isset($_SESSION['horde_logintasks']['horde'])) {
+                return $tasks;
+            }
             break;
 
         default:
-            $app_list = array($this->_app);
             if (!isset($_SESSION['horde_logintasks']['horde'])) {
                 array_unshift($app_list, 'horde');
             }
             break;
         }
 
-        $tasks = array();
-
         foreach ($app_list as $app) {
             foreach (array_merge($GLOBALS['registry']->getAppDrivers($app, 'LoginTasks_SystemTask'), $GLOBALS['registry']->getAppDrivers($app, 'LoginTasks_Task')) as $val) {
                 $tasks[$val] = $app;
@@ -111,11 +111,10 @@ class Horde_Core_LoginTasks_Backend_Horde extends Horde_LoginTasks_Backend
     public function getLastRun()
     {
         $lasttask_pref = @unserialize($GLOBALS['prefs']->getValue('last_logintasks'));
-        if (!is_array($lasttask_pref)) {
-            $lasttask_pref = array();
-        }
 
-        return $lasttask_pref;
+        return is_array($lasttask_pref)
+            ? $lasttask_pref
+            : array();
     }
 
     /**
@@ -142,7 +141,7 @@ class Horde_Core_LoginTasks_Backend_Horde extends Horde_LoginTasks_Backend
             $lasttasks['horde'] = time();
             $_SESSION['horde_logintasks']['horde'] = true;
         }
-        $GLOBALS['prefs']->setValue('last_logintasks', serialize($lasttasks));
+        $this->setLastRun($lasttasks);
     }
 
     /**
@@ -165,4 +164,5 @@ class Horde_Core_LoginTasks_Backend_Horde extends Horde_LoginTasks_Backend
     {
         return Horde::getServiceLink('logintasks', $this->_app);
     }
+
 }
index a103b21..44458e3 100644 (file)
@@ -31,8 +31,6 @@ abstract class Horde_LoginTasks_SystemTask
 
     /**
      * Do login task (if it has been confirmed).
-     *
-     * @return boolean  Whether the login task was successful.
      */
     abstract public function execute();
 
index 4c7c8b8..41ec157 100644 (file)
@@ -22,13 +22,6 @@ abstract class Horde_LoginTasks_Task
     public $active = true;
 
     /**
-     * The interval at which to run the task.
-     *
-     * @var integer
-     */
-    public $interval = Horde_LoginTasks::MONTHLY;
-
-    /**
      * The style of the page output.
      *
      * [1] Horde_LoginTasks::DISPLAY_CONFIRM_NO
@@ -63,6 +56,13 @@ abstract class Horde_LoginTasks_Task
     public $display = Horde_LoginTasks::DISPLAY_CONFIRM_YES;
 
     /**
+     * The interval at which to run the task.
+     *
+     * @var integer
+     */
+    public $interval = Horde_LoginTasks::MONTHLY;
+
+    /**
      * The priority of the task.
      *
      * @var integer
@@ -71,8 +71,6 @@ abstract class Horde_LoginTasks_Task
 
     /**
      * Do login task (if it has been confirmed).
-     *
-     * @return boolean  Whether the login task was successful.
      */
     abstract public function execute();
 
@@ -90,7 +88,7 @@ abstract class Horde_LoginTasks_Task
     /**
      * Does the task require to be displayed?
      *
-     * @return boolean True in case the task should be displayed.
+     * @return boolean  True if the task should be displayed.
      */
     public function needsDisplay()
     {
@@ -101,21 +99,24 @@ abstract class Horde_LoginTasks_Task
      * Indicates if the display of the current task should be joined with the
      * given previous task.
      *
-     * @param Horde_Login_Task $previous The previous task to display.
+     * @param Horde_Login_Task $previous  The previous task to display.
      *
-     * @return boolean True in case both tasks should be displayed together.
+     * @return boolean  True if both tasks should be displayed together.
      */
     public function joinDisplayWith(Horde_LoginTasks_Task $previous)
     {
-        if ($this->display == $previous->display) {
-            return true;
-        }
-        if ($this->_isConfirmTask($this) && $this->_isConfirmTask($previous)) {
-            return true;
-        }
-        return false;
+        return (($this->display == $previous->display) ||
+                ($this->_isConfirmTask($this) &&
+                 $this->_isConfirmTask($previous)));
     }
 
+    /**
+     * Is this a confirmation task?
+     *
+     * @param Horde_Login_Task $task  The task to analyze.
+     *
+     * @return boolean  True if this is a confirmation task.
+     */
     private function _isConfirmTask($task)
     {
         return in_array(
index 2679c34..8027a7c 100644 (file)
@@ -302,7 +302,7 @@ class Horde_LoginTasks_LoginTasksTest extends PHPUnit_Framework_TestCase
                 'Horde_LoginTasks_Stub_Notice',
             )
         );
-        $tasks->runTasks(false, null);
+        $tasks->runTasks(false);
         $this->assertEquals(
             array(
                 'Horde_LoginTasks_Stub_High',
@@ -324,7 +324,7 @@ class Horde_LoginTasks_LoginTasksTest extends PHPUnit_Framework_TestCase
         );
         $this->assertContains(
             'URL',
-            (string) $tasks->runTasks(false, null)
+            (string) $tasks->runTasks(false)
         );
     }
 
@@ -338,7 +338,7 @@ class Horde_LoginTasks_LoginTasksTest extends PHPUnit_Framework_TestCase
                 'Horde_LoginTasks_Stub_Notice',
             )
         );
-        $tasks->runTasks(false, null);
+        $tasks->runTasks(false);
         $tasklist = $tasks->displayTasks();
         $this->assertEquals(
             'Horde_LoginTasks_Stub_Notice',
@@ -357,7 +357,7 @@ class Horde_LoginTasks_LoginTasksTest extends PHPUnit_Framework_TestCase
                 'Horde_LoginTasks_Stub_NoticeTwo',
             )
         );
-        $tasks->runTasks(false, null);
+        $tasks->runTasks(false);
         $tasklist = $tasks->displayTasks();
         $classes = array();
         foreach ($tasklist as $task) {
@@ -384,10 +384,10 @@ class Horde_LoginTasks_LoginTasksTest extends PHPUnit_Framework_TestCase
                 'Horde_LoginTasks_Stub_NoticeTwo',
             )
         );
-        $tasks->runTasks(false, null);
+        $tasks->runTasks(false);
         Horde_LoginTasks_Stub_Task::$executed = array();
         $tasks->displayTasks();
-        $tasks->runTasks(true, null);
+        $tasks->runTasks(true);
         $this->assertEquals(
             array(
                 'Horde_LoginTasks_Stub_Notice',