X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fplugin.php;h=3eeb0ccaa8c1097f4104c2e6da579af58c77d46d;hb=db09724aec91a55ba76d8e0cd451a91895bc1e9c;hp=ffa562273fb6b3ee8637148867abe8896aae5308;hpb=ba4db236ecff1ffdb56adc2715b3f53515f8cb34;p=friendica.git diff --git a/include/plugin.php b/include/plugin.php index ffa562273f..3eeb0ccaa8 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -8,7 +8,10 @@ function uninstall_plugin($plugin){ q("DELETE FROM `addon` WHERE `name` = '%s' ", dbesc($plugin) ); - + + // define THISPLUGIN, make life easy to plugin devs :-) + define("THISPLUGIN", 'addon/' . $plugin . '/' . $plugin . '.php'); + @include_once('addon/' . $plugin . '/' . $plugin . '.php'); if(function_exists($plugin . '_uninstall')) { $func = $plugin . '_uninstall'; @@ -18,9 +21,11 @@ function uninstall_plugin($plugin){ if (! function_exists('install_plugin')){ function install_plugin($plugin) { - // silently fail if plugin was removed + // define THISPLUGIN, make life easy to plugin devs :-) + define("THISPLUGIN", 'addon/' . $plugin . '/' . $plugin . '.php'); + if(! file_exists('addon/' . $plugin . '/' . $plugin . '.php')) return false; logger("Addons: installing " . $plugin); @@ -77,7 +82,10 @@ function reload_plugins() { $pl = trim($pl); $fname = 'addon/' . $pl . '/' . $pl . '.php'; - + + // define THISPLUGIN, make life easy to plugin devs :-) + define("THISPLUGIN", $fname); + if(file_exists($fname)) { $t = @filemtime($fname); foreach($installed as $i) { @@ -111,7 +119,7 @@ function reload_plugins() { if(! function_exists('register_hook')) { -function register_hook($hook,$file,$function) { +function register_hook($hook,$file,$function,$priority=0) { $r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1", dbesc($hook), @@ -121,10 +129,11 @@ function register_hook($hook,$file,$function) { if(count($r)) return true; - $r = q("INSERT INTO `hook` (`hook`, `file`, `function`) VALUES ( '%s', '%s', '%s' ) ", + $r = q("INSERT INTO `hook` (`hook`, `file`, `function`, `priority`) VALUES ( '%s', '%s', '%s', '%s' ) ", dbesc($hook), dbesc($file), - dbesc($function) + dbesc($function), + dbesc($priority) ); return $r; }} @@ -145,7 +154,7 @@ if(! function_exists('load_hooks')) { function load_hooks() { $a = get_app(); $a->hooks = array(); - $r = q("SELECT * FROM `hook` WHERE 1"); + $r = q("SELECT * FROM `hook` WHERE 1 ORDER BY `priority` DESC"); if(count($r)) { foreach($r as $rr) { if(! array_key_exists($rr['hook'],$a->hooks)) @@ -162,6 +171,8 @@ function call_hooks($name, &$data = null) { if((is_array($a->hooks)) && (array_key_exists($name,$a->hooks))) { foreach($a->hooks[$name] as $hook) { + // define THISPLUGIN, make life easy to plugin devs :-) + define("THISPLUGIN", $hook[0]); @include_once($hook[0]); if(function_exists($hook[1])) { $func = $hook[1]; @@ -255,6 +266,7 @@ function get_theme_info($theme){ 'author' => array(), 'maintainer' => array(), 'version' => "", + 'credits' => "", 'experimental' => false, 'unsupported' => false );