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); |