From afee192d2a77afa1c11d25156d0a44df94e19aed Mon Sep 17 00:00:00 2001 From: A. Täffner <darkalex@firesplash.de> Date: Sat, 23 Jan 2016 07:30:37 -0500 Subject: [PATCH] fixed the cronjob and noticed a bug in ISPC but not able to report as FlySpray is offline --- server/lib/classes/plugins.inc.php | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/server/lib/classes/plugins.inc.php b/server/lib/classes/plugins.inc.php index 4771487..9b9b143 100644 --- a/server/lib/classes/plugins.inc.php +++ b/server/lib/classes/plugins.inc.php @@ -73,7 +73,6 @@ } else { $app->log('Plugins directory missing: '.$plugins_dir, LOGLEVEL_ERROR); } - } /* @@ -138,12 +137,14 @@ } - function raiseAction($action_name, $data) { + function raiseAction($action_name, $data, $return_data = false) { global $app; //* Get the subscriptions for this action $actions = (isset($this->subscribed_actions[$action_name]))?$this->subscribed_actions[$action_name]:''; if($this->debug) $app->log('Raised action: '.$action_name, LOGLEVEL_DEBUG); + + $result = ''; if(is_array($actions)) { foreach($actions as $action) { @@ -154,8 +155,13 @@ $app->log("Calling function '$function_name' from plugin '$plugin_name' raised by action '$action_name'.", LOGLEVEL_DEBUG); $state = call_user_func(array($app->loaded_plugins[$plugin_name], $function_name), $action_name, $data); //* ensure that we return the highest warning / error level if a error occured in one of the functions - if($state == 'warning' && $state_out != 'error') $state_out = 'warning'; - if($state == 'error') $state_out = 'error'; + if($return_data) { + if($state) $result .= $state; + } else { + if($state == 'warning' && $state_out != 'error') $state_out = 'warning'; + elseif($state == 'error') $state_out = 'error'; + } + unset($plugin_name); unset($function_name); } @@ -163,7 +169,8 @@ unset($action); unset($actions); - return $state_out; + if($return_data == true) return $result; + else return $state_out; } } -- Gitblit v1.9.1