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';
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);
$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) {
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]);
+ // Don't run a theme's hook if the user isn't using the theme
+ if(strpos($hook[0], 'view/theme/') !== false && strpos($hook[0], 'view/theme/'.current_theme()) === false)
+ continue;
+
@include_once($hook[0]);
if(function_exists($hook[1])) {
$func = $hook[1];
return($a->get_baseurl() . '/images/blank.png');
}
+// install and uninstall theme
+if (! function_exists('uninstall_theme')){
+function uninstall_theme($theme){
+ logger("Addons: uninstalling theme " . $theme);
+
+ @include_once("view/theme/$theme/theme.php");
+ if(function_exists("{$theme}_uninstall")) {
+ $func = "{$theme}_uninstall";
+ $func();
+ }
+}}
+
+if (! function_exists('install_theme')){
+function install_theme($theme) {
+ // silently fail if theme was removed
+
+ if(! file_exists("view/theme/$theme/theme.php"))
+ return false;
+
+ logger("Addons: installing theme $theme");
+
+ @include_once("view/theme/$theme/theme.php");
+
+ if(function_exists("{$theme}_install")) {
+ $func = "{$theme}_install";
+ $func();
+ return true;
+ }
+ else {
+ logger("Addons: FAILED installing theme $theme");
+ return false;
+ }
+
+}}
+
+
// check service_class restrictions. If there are no service_classes defined, everything is allowed.
// if $usage is supplied, we check against a maximum count and return true if the current usage is