From 1cc4ffe1f65ec612f035dd9b68c8823a19e9f610 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Tue, 4 Aug 2009 22:05:21 -0600 Subject: [PATCH] Make sure systemtasks are always run before logintasks --- framework/LoginTasks/lib/Horde/LoginTasks.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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; } -- 2.11.0