From 01c6f9032792898c22b718f100ec88e4d8155ecf Mon Sep 17 00:00:00 2001 From: Marius Burkard <m.burkard@pixcept.de> Date: Wed, 02 Mar 2016 05:19:14 -0500 Subject: [PATCH] - added line to guidelines --- server/lib/classes/plugins.inc.php | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-) diff --git a/server/lib/classes/plugins.inc.php b/server/lib/classes/plugins.inc.php index 4808a56..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); } - } /* @@ -134,16 +133,18 @@ function registerAction($action_name, $plugin_name, $function_name) { global $app; $this->subscribed_actions[$action_name][] = array('plugin' => $plugin_name, 'function' => $function_name); - if($this->debug) $app->log("Registered function '$function_name' from plugin '$plugin_name' for action '$event_name'.", LOGLEVEL_DEBUG); + if($this->debug) $app->log("Registered function '$function_name' from plugin '$plugin_name' for action '$action_name'.", LOGLEVEL_DEBUG); } - 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