diff options
Diffstat (limited to 'engine/lib')
| -rw-r--r-- | engine/lib/deprecated-1.8.php | 19 | ||||
| -rw-r--r-- | engine/lib/plugins.php | 27 | 
2 files changed, 29 insertions, 17 deletions
diff --git a/engine/lib/deprecated-1.8.php b/engine/lib/deprecated-1.8.php index bf474abc2..67e150173 100644 --- a/engine/lib/deprecated-1.8.php +++ b/engine/lib/deprecated-1.8.php @@ -1718,23 +1718,8 @@ function disable_plugin($plugin, $site_guid = 0) {   * @return bool   */  function is_plugin_enabled($plugin, $site_guid = 0) { -	elgg_deprecated_notice('is_plugin_enabled() was deprecated by ElggPlugin->isActive()', 1.8); - -	$plugin = sanitise_string($plugin); - -	$site_guid = (int) $site_guid; -	if (!$site_guid) { -		$site = get_config('site'); -		$site_guid = $site->guid; -	} - -	try { -		$plugin = new ElggPlugin($plugin); -	} catch(Exception $e) { -		return false; -	} - -	return $plugin->isActive($site_guid); +	elgg_deprecated_notice('is_plugin_enabled() was deprecated by elgg_is_active_plugin()', 1.8); +	return elgg_is_active_plugin($plugin, $site_guid);  }  /** diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index f8177a5f7..26ec2c726 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -243,6 +243,33 @@ function elgg_get_max_plugin_priority() {  }  /** + * Returns if a plugin is active for a current site. + * + * @param string $plugin_id The plugin ID + * @param int    $site_guid The site guid + * @return bool + */ +function elgg_is_active_plugin($plugin_id, $site_guid = null) { +	if ($site_guid) { +		$site = get_entity($site_guid); +	} else { +		$site = elgg_get_site_entity(); +	} + +	if (!($site instanceof ElggSite)) { +		return false; +	} + +	$plugin = elgg_get_plugin_from_id($plugin_id); + +	if (!$plugin) { +		return false; +	} + +	return $plugin->isActive($site->guid); +} + +/**   * Loads all active plugins in the order specified in the tool admin panel.   *   * @note This is called on every page load and includes additional checking that plugins  | 
