aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--actions/admin/plugins/disableall.php36
-rw-r--r--actions/admin/plugins/enableall.php37
-rw-r--r--engine/lib/plugins.php6
-rw-r--r--languages/en.php4
-rw-r--r--views/default/admin/plugins.php8
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);