diff options
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/lib/plugins.php | 26 | 
1 files changed, 20 insertions, 6 deletions
| diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index 76692b447..d7c154b5f 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -53,10 +53,10 @@ class ElggPlugin extends ElggObject {  		$meta = get_private_setting($this->guid, $name);  		if ($meta === false) { -			// Can't find it, so return null  +			// Can't find it, so return null  			return NULL;  		} -			 +  		return $meta;  	} @@ -230,10 +230,10 @@ function load_plugins() {  						if (!include($CONFIG->pluginspath . $mod . "/start.php")) {  							// automatically disable the bad plugin  							disable_plugin($mod); -							 +  							// register error rather than rendering the site unusable with exception  							register_error(sprintf(elgg_echo('PluginException:MisconfiguredPlugin'), $mod)); -							 +  							// continue loading remaining plugins  							continue;  						} @@ -554,11 +554,25 @@ function clear_plugin_setting($name, $plugin_name = "") {  	$plugin = find_plugin_settings($plugin_name);  	if ($plugin) { -		//$plugin->clearMetaData($name); +		return remove_private_setting($plugin->guid, $name); +	} + +	return FALSE; +} + +/** + * Clear all plugin settings. + * + * @param string $plugin_name Optional plugin name, if not specified then it is detected from where you are calling from. + */ +function clear_all_plugin_settings($plugin_name = "") { +	$plugin = find_plugin_settings($plugin_name); + +	if ($plugin) {  		return remove_all_private_settings($plugin->guid);  	} -	return false; +	return FALSE;  }  /** | 
