From: Michael M Slusarz Date: Wed, 5 Aug 2009 04:05:21 +0000 (-0600) Subject: Make sure systemtasks are always run before logintasks X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=1cc4ffe1f65ec612f035dd9b68c8823a19e9f610;p=horde.git Make sure systemtasks are always run before logintasks --- diff --git a/framework/LoginTasks/lib/Horde/LoginTasks.php b/framework/LoginTasks/lib/Horde/LoginTasks.php index 0de350dd8..f5a833567 100644 --- a/framework/LoginTasks/lib/Horde/LoginTasks.php +++ b/framework/LoginTasks/lib/Horde/LoginTasks.php @@ -144,7 +144,7 @@ class Horde_LoginTasks array_unshift($app_list, 'horde'); } - $tasks = array(); + $systemtasks = $tasks = array(); foreach ($app_list as $app) { $fileroot = $GLOBALS['registry']->get('fileroot', $app); @@ -154,7 +154,11 @@ class Horde_LoginTasks foreach (scandir($fileroot . '/lib/LoginTasks/' . $val) as $file) { $classname = $app . '_LoginTasks_' . $val . '_' . basename($file, '.php'); if (class_exists($classname)) { - $tasks[$classname] = $app; + if ($val == 'SystemTask') { + $systemtasks[$classname] = $app; + } else { + $tasks[$classname] = $app; + } } } } @@ -162,6 +166,10 @@ class Horde_LoginTasks } } + /* Need to make sure all systemtasks are run before regular tasks + * are run. */ + $tasks = array_merge($systemtasks, $tasks); + if (empty($tasks)) { return; }