23 Commits

Author SHA1 Message Date
David Mudrák
aa1d100c2d MDL-49329 admin: Fix checking for available updates
This was a regression of my recent improvement of rendering the "Check
for updates" button. There is now unified parameter ?fetchupdates=1 that
can be used on either admin/index.php or admin/plugins.php, so that we
can use a common UI widget for both locations (without the need to pass
the URL explicitly).
2015-10-10 09:15:27 +02:00
David Mudrák
a2e1e0d0f1 MDL-49329 admin: Archive plugin code before removing it from dirroot
This should allow the admin to revert the upgrade of existing plugins,
such when the dependency chain leads to a dead-end. Additionally, we
archive (as a last-chance copy) the to-be-installed plugins when
cancelling their installation. This is mainly for developers who could
otherwise loose their code. For the same reason, plugins are being
archived upon uninstallation, too.
2015-10-09 14:33:47 +02:00
David Mudrák
2d00be61f1 MDL-49329 admin: Make plugin manager able to install from local zips too
The plugin manager's method install_remote_plugins() has been changed to
install_plugins() and it is now able to install plugins from the
provided list of locally available ZIP files, too. This is used by the
Install plugins admin tool.
2015-10-09 09:50:46 +02:00
David Mudrák
8726c07cd0 MDL-49329 admin: Use the new plugins management on Plugins overview page
The plugins overview page now uses the new plugins management features,
most notably the ability to install all available updates at once.
2015-10-09 09:50:45 +02:00
Petr Škoda
e87214bda7 MDL-42078 multiple uninstall improvements and cleanup
Includes:
* update checker refactored to \core\update\ namespace
* plugininfo classes refactored to \core\plugininfo\ namespace
* plugin_manager renamed to core_plugin_manager
* redirect back to original page after plugin uninstall
* fixed assign subplugin uninstall
* move assign subplugins under the assignment in admin tree
* fixed plugininfo for all question related plugin types
* auth uninstall support
* added missing block dependencies
* added theme uninstall
* subplugin types are following the plugin on plugin overview page
* several performance improvements in plugin manager
* new warnigns when plugininfo are outdated or missing
* multiple fixes and other improvements
2013-10-07 13:10:36 +02:00
Petr Škoda
a3cbc19830 MDL-41245 prevent notices during plugin uninstall 2013-08-26 07:53:55 +02:00
Petr Škoda
82b1cf00b0 MDL-41245 fix multiple install, upgrade and uninstallation issues
Includes rework of cache parameter detection on admin/index.php.

Another problem is that uninstall does not leave system in consistent state,
we need to force users to go through upgrade after any type of uninstall.

This fixes also add-on installation redirect and other issues.
2013-08-24 16:08:11 +02:00
Petr Škoda
c05a50992e MDL-40415 add explicit OPcache support 2013-07-04 19:32:26 +02:00
Petr Škoda
490149eb8f MDL-40294 remove references to removed plugin caches 2013-06-23 21:24:15 +02:00
David Mudrák
5d7a4bab3f MDL-39249 Return to the correct page after successful update deployment
The method available_update_deployer::make_execution_widget() used to
have hard-coded return URL. Now it accepts the return URL as the second
parameter and passes it to the mdeploy.php utility.

The callerurl parameter is now correctly passed and used.
2013-04-20 03:00:19 +02:00
David Mudrák
3ca1b54642 MDL-39087 Use progress_trace class to display uninstallation progress
This is much better API than using the array passed by reference. At the
moment, it is pretty hacky as it abuses text_progress_trace to output
raw HTML echoed by uninstall_plugin() but that will be improved later
while moving the logic out of that function into the plugin_manager.
2013-04-12 04:02:28 +02:00
David Mudrák
c2d2001a14 MDL-39087 Improve the Plugins overview renderer
As suggested by Tim Hunt during the peer-review, rendering methods
should not set properties of the page they are producing HTML code for.
Additionally, the page now uses correct check that the uninstalling can
happen.
2013-04-12 03:32:35 +02:00
David Mudrák
436d94478d MDL-39087 Implement a common interface for uninstalling general plugin
Plugins may use this general tool for uninstallation and eventually
removal of the deployed source code. At the moment, this is implemented
as a wrapper for the core function uninstall_plugin() with an extra hook
in the relevant plugin info subclass.

For non-standard add-ons, the tool can remove the deployed plugin source
code as well, if the web server has required write permissions. Ideally,
all add-ons installed via the new tool_installaddon should be removable
via the web interface as well.
2013-04-12 01:42:58 +02:00
Tim Hunt
1c2bf99eb9 MDL-37485 plugins overview: require_login before _capability. 2013-01-11 12:51:53 +00:00
David Mudrák
bcc8397a77 MDL-35238 Handle the update installation request - display the confirmation page 2012-11-08 22:33:06 +01:00
David Mudrák
4df8bced23 MDL-35238 Allow filtering at the Plugins overview page 2012-11-08 22:33:06 +01:00
Frederic Massart
bf006d2c15 MDL-34455 Libraries: Replaced deprecated get_context_instance() 2012-07-23 14:33:02 +08:00
David Mudrak
8342171b52 MDL-20438 reintroducing plugin_management_page renderer method
See http://moodle.org/local/chatlogs/index.php?conversationid=9784#c340340
for the whole saga.
2012-03-30 11:05:42 +02:00
David Mudrak
00ea11f82e MDL-20438 sesskey check to execute fetch() 2012-03-30 11:05:40 +02:00
David Mudrak
3204daeae3 MDL-20438 The Plugins overview admin page now provides a way to check for updates 2012-03-30 11:05:40 +02:00
Tim Hunt
cc359566fe MDL-29474 admin index/plugins/environment pages: all ouptut code -> renderer. 2011-10-20 11:13:39 +01:00
Tim Hunt
36ca62cab7 MDL-29474 display the dependancy information on the upgrade screen. 2011-10-20 11:13:33 +01:00
David Mudrak
b9934a173a MDL-26784 Improved plugins check screen and the new plugins management screen
This patch introduces new lib/pluginlib.php library that provides
unified access meta-information about all present plugin types. The
library defines plugin_manager singleton that in turn gathers
information about all present plugins and their status. The list of
plugins can be rendered either as plugins check table or plugins control
panel.

This makes print_plugins_table() function obsolete and because it is not
expected to be called by any contrib plugin, the function is removed.
CSS for the legacy table generated by print_plugins_table() is cleaned
up.
2011-03-31 13:59:05 +02:00