summaryrefslogtreecommitdiffstats
path: root/admin/modules.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/modules.php')
-rw-r--r--admin/modules.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/admin/modules.php b/admin/modules.php
index fd1e14b9..669840d9 100644
--- a/admin/modules.php
+++ b/admin/modules.php
@@ -123,7 +123,19 @@ switch ($_REQUEST['action']) {
show_confirmation($title,$body,$url);
break;
case 'upgrade_plugin':
-
+ /* Verify that this plugin exists */
+ $plugins = Plugin::get_plugins();
+ if (!array_key_exists($_REQUEST['plugin'],$plugins)) {
+ debug_event('plugins','Error: Invalid Plugin: ' . $_REQUEST['plugin'] . ' selected','1');
+ break;
+ }
+ $plugin = new Plugin($_REQUEST['plugin']);
+ $plugin->upgrade();
+ User::rebuild_all_preferences();
+ $url = Config::get('web_path') . '/admin/modules.php?action=show_plugins';
+ $title = _('Plugin Upgraded');
+ $body = '';
+ show_confirmation($title, $body, $url);
break;
case 'show_plugins':
$plugins = Plugin::get_plugins();