diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/plugins/upgradeplugindirectory/action.php | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/lib/plugins/upgradeplugindirectory/action.php b/lib/plugins/upgradeplugindirectory/action.php index 413bbebe5..c541db207 100644 --- a/lib/plugins/upgradeplugindirectory/action.php +++ b/lib/plugins/upgradeplugindirectory/action.php @@ -48,9 +48,8 @@ class action_plugin_upgradeplugindirectory extends DokuWiki_Action_Plugin { if (empty($plugin_controller)) return; - if(!is_writable(DOKU_INC.'lib/plugins')) { - msg("Plugin Directory Upgrade, lib/plugins isn't writable for the webserver, no action taken!", -1); - return; + if(!is_writable(DOKU_INC.'lib/plugins') && !auth_isAdmin()) { + return; } $plugins = $plugin_controller->getList('',true); // get all plugins @@ -70,6 +69,7 @@ class action_plugin_upgradeplugindirectory extends DokuWiki_Action_Plugin { } } + // note: only send messages when the user is an admin if ($attempts && auth_isAdmin()) { $level = $failures ? -1 : ($badclean ? 2 : 1); msg("Plugin Directory Upgrade, $updated/$attempts plugins updated, $success/$attempts cleaned.",$level); @@ -77,16 +77,24 @@ class action_plugin_upgradeplugindirectory extends DokuWiki_Action_Plugin { if ($failures) { msg("- the following disabled plugins couldn't be updated, please update by hand: ".join(',',$failures),$level); } - msg("For more information see http://www.dokuwiki.org/update",$level); + $morelink = true; } // no failures, our job is done, disable ourself if (!$failures) { - $plugin_controller->disable($this->getPluginName()); - // redirect to let dokuwiki start cleanly with plugins disabled. - act_redirect($ID,'upgradeplugindirectory'); + if ($plugin_controller->disable($this->getPluginName())) { + // redirect to let dokuwiki start cleanly with plugins disabled. + act_redirect($ID,'upgradeplugindirectory'); + } else { + if (auth_isAdmin()) { + if (!$attempts) msg('Plugin Directory Upgrade: Your plugin directory is up-to-date.',1); + msg('Plugin Directory Upgrade: Could not disable the upgrade plugin, please disable or delete it manually.',-1); + $morelink = true; + $level = -1; + } + } } - + if ($morelink) msg('For more information see <a href="http://www.dokuwiki.org/update">http://www.dokuwiki.org/update</a>',$level); } /* old style plugin isdisabled function */ |