summaryrefslogtreecommitdiff
path: root/lib/plugins/extension/admin.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plugins/extension/admin.php')
-rw-r--r--lib/plugins/extension/admin.php14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/plugins/extension/admin.php b/lib/plugins/extension/admin.php
index e28fd612c..f1ed83591 100644
--- a/lib/plugins/extension/admin.php
+++ b/lib/plugins/extension/admin.php
@@ -69,12 +69,14 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin {
case 'install':
case 'reinstall':
case 'update':
- $extension->setExtension($extname);
- $status = $extension->installOrUpdate();
- if ($status !== true) {
- msg($status, -1);
- } else {
- msg(sprintf($this->getLang('msg_update_success'), hsc($extension->getDisplayName())), 1);
+ try {
+ $extension->setExtension($extname);
+ $installed = $extension->installOrUpdate();
+ foreach($installed as $extension => $info){
+ msg(sprintf($this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'), $info['base']), 1);
+ }
+ }catch (Exception $e){
+ msg($e->getMessage(), -1);
}
break;
case 'uninstall':