MDL-49329 admin: Add plugin manager method for installing remote packs
authorDavid Mudrák <david@moodle.com>
Wed, 7 Oct 2015 12:40:43 +0000 (14:40 +0200)
committerDavid Mudrák <david@moodle.com>
Fri, 9 Oct 2015 07:50:44 +0000 (09:50 +0200)
commitc948b813aef5f061e571be7080801ec92e1aa79b
tree13ef4becf9e5050f7fad369d0279073d8b709e58
parent8acee4b53d79500cda7056e712a1ef43c6997950
MDL-49329 admin: Add plugin manager method for installing remote packs

The new method core_plugin_manager::install_remote_plugins() will serve
as a backend for all the ways of installing ZIP packages from the moodle
plugins directory, such as installing new plugins (by clicking the
Install button in the plugins directory), installing available updates
(single and bulk mode) and installing missing dependencies (single and
bulk mode).

The method should be used both for validation pre-check screen and,
after the confirmation, for actual installation. Note that we
intentionally repeat the whole procedure after confirmation. Unzipping
plugins is cheap and fast and the ZIPs themselves are already available
in the \core\update\code_manager's cache.

We will need to add support for archiving existing code to prevent
accidental data-loss.

This basically provides what mdeploy.php was doing, but better. We now
have consistent way of installing all remote ZIP packages, always
validate them and we can perform bulk operations, too.
admin/renderer.php
lang/en/admin.php
lang/en/plugin.php
lib/classes/plugin_manager.php
theme/bootstrapbase/less/moodle/admin.less
theme/bootstrapbase/style/moodle.css