diff options
Diffstat (limited to 'include/plugin.php')
-rwxr-xr-x | include/plugin.php | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/include/plugin.php b/include/plugin.php index 734c20d79..13652c620 100755 --- a/include/plugin.php +++ b/include/plugin.php @@ -14,17 +14,17 @@ * @param bool $uninstall uninstall plugin */ function handleerrors_plugin($plugin,$notice,$log,$uninstall=false){ - logger("Addons: [" . $plugin . "] Error: ".$log, LOGGER_ERROR); - if ($notice != '') { - notice("[" . $plugin . "] Error: ".$notice, LOGGER_ERROR); - } + logger("Addons: [" . $plugin . "] Error: ".$log, LOGGER_ERROR); + if ($notice != '') { + notice("[" . $plugin . "] Error: ".$notice, LOGGER_ERROR); + } - if ($uninstall) { - $idx = array_search($plugin, \App::$plugins); - unset(\App::$plugins[$idx]); - uninstall_plugin($plugin); - set_config("system","addon", implode(", ",\App::$plugins)); - } + if ($uninstall) { + $idx = array_search($plugin, \App::$plugins); + unset(\App::$plugins[$idx]); + uninstall_plugin($plugin); + set_config("system","addon", implode(", ",\App::$plugins)); + } } /** @@ -206,19 +206,19 @@ function reload_plugins() { if(function_exists($pl . '_unload')) { $func = $pl . '_unload'; try { - $func(); + $func(); } catch (Exception $e) { handleerrors_plugin($plugin,"","UNLOAD FAILED (uninstalling) : ".$e->getMessage(),true); - continue; + continue; } } if(function_exists($pl . '_load')) { $func = $pl . '_load'; try { - $func(); + $func(); } catch (Exception $e) { handleerrors_plugin($plugin,"","LOAD FAILED (uninstalling): ".$e->getMessage(),true); - continue; + continue; } } q("UPDATE addon SET tstamp = %d WHERE id = %d", @@ -431,6 +431,7 @@ function insert_hook($hook, $fn, $version = 0, $priority = 0) { */ function call_hooks($name, &$data = null) { $a = 0; + if((is_array(App::$hooks)) && (array_key_exists($name, App::$hooks))) { foreach(App::$hooks[$name] as $hook) { $origfn = $hook[1]; |