diff options
| -rw-r--r-- | actions/admin/plugins/disableall.php | 36 | ||||
| -rw-r--r-- | actions/admin/plugins/enableall.php | 37 | ||||
| -rw-r--r-- | engine/lib/plugins.php | 6 | ||||
| -rw-r--r-- | languages/en.php | 4 | ||||
| -rw-r--r-- | views/default/admin/plugins.php | 8 | 
5 files changed, 87 insertions, 4 deletions
diff --git a/actions/admin/plugins/disableall.php b/actions/admin/plugins/disableall.php new file mode 100644 index 000000000..efb91f773 --- /dev/null +++ b/actions/admin/plugins/disableall.php @@ -0,0 +1,36 @@ +<?php +	/** +	 * Disable plugin action. +	 *  +	 * @package Elgg +	 * @subpackage Core +	 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 +	 * @author Curverider Ltd +	 * @copyright Curverider Ltd 2008-2009 +	 * @link http://elgg.org/ +	 */ + +	require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"); +	 +	// block non-admin users +	admin_gatekeeper(); +	 +	// Validate the action +	action_gatekeeper(); +	 +	$plugins = get_installed_plugins(); +		 +	foreach ($plugins as $p => $data) +	{ +		// Disable +		if (disable_plugin($p)) +			system_message(sprintf(elgg_echo('admin:plugins:disable:yes'), $p)); +		else +			register_error(sprintf(elgg_echo('admin:plugins:disable:no'), $p)); +	}		 +	
 +	elgg_view_regenerate_simplecache();
 +		 +	forward($_SERVER['HTTP_REFERER']); +	exit; +?>
\ No newline at end of file diff --git a/actions/admin/plugins/enableall.php b/actions/admin/plugins/enableall.php new file mode 100644 index 000000000..5e0d8c3b5 --- /dev/null +++ b/actions/admin/plugins/enableall.php @@ -0,0 +1,37 @@ +<?php +	/** +	 * Enable plugin action. +	 *  +	 * @package Elgg +	 * @subpackage Core +	 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 +	 * @author Curverider Ltd +	 * @copyright Curverider Ltd 2008-2009 +	 * @link http://elgg.org/ +	 */ + +	require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"); +	 +	// block non-admin users +	admin_gatekeeper(); +	 +	// Validate the action +	action_gatekeeper(); +	 +	$plugins = get_installed_plugins(); +		 +	foreach ($plugins as $p => $data) +	{ +		// Enable +		if (enable_plugin($p)) +			system_message(sprintf(elgg_echo('admin:plugins:enable:yes'), $p)); +		else +			register_error(sprintf(elgg_echo('admin:plugins:enable:no'), $p));	 +	}		 +	 +	elgg_view_regenerate_simplecache(); +		 +	forward($_SERVER['HTTP_REFERER']); +	exit; +	 +?>
\ No newline at end of file diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index abbeeccc5..937766e66 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -687,9 +687,11 @@  			register_action("plugins/usersettings/save");
  			register_action('admin/plugins/enable', false, "", true); // Enable
 -			register_action('admin/plugins/disable', false, "", true); // Disable
 +			register_action('admin/plugins/disable', false, "", true); // Disable +			register_action('admin/plugins/enableall', false, "", true); // Enable all +			register_action('admin/plugins/disableall', false, "", true); // Disable all
 -			register_action('admin/plugins/reorder', false, "", true); // Disable
 +			register_action('admin/plugins/reorder', false, "", true); // Reorder
  		}
 diff --git a/languages/en.php b/languages/en.php index e7789f622..5001800fe 100644 --- a/languages/en.php +++ b/languages/en.php @@ -633,7 +633,9 @@ To remove a widget drag it back to the <b>Widget gallery</b>.",  			'content:latest:blurb' => 'Alternatively, click here to view the latest content from across the site.',
  			'link:text' => 'view link',
 -	
 +	 +			'enableall' => 'Enable All', +			'disableall' => 'Disable All',
  		/**
  		 * Generic questions
 diff --git a/views/default/admin/plugins.php b/views/default/admin/plugins.php index fb319d436..cf62be6d1 100644 --- a/views/default/admin/plugins.php +++ b/views/default/admin/plugins.php @@ -11,8 +11,14 @@  	 * @link http://elgg.org/  	 */ +		global $CONFIG; +		 +		$ts = time(); +		$token = generate_action_token($ts); +  	// Description of what's going on -		echo "<div class=\"contentWrapper\"><span class=\"contentIntro\">" . autop(elgg_echo("admin:plugins:description")) . "</span></div>"; +		$buttons = " <a href=\"{$CONFIG->url}action/admin/plugins/enableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('enableall')."</a>  <a href=\"{$CONFIG->url}action/admin/plugins/disableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('disableall')."</a> "; +		echo "<div class=\"contentWrapper\"><span class=\"contentIntro\">" . autop(elgg_echo("admin:plugins:description")) . $buttons . "</span></div>";  		$limit = get_input('limit', 10);  		$offset = get_input('offset', 0);  | 
