Skip to content
  • David Mudrák's avatar
    MDL-49329 admin: Add plugin manager method for installing remote packs · c948b813
    David Mudrák authored
    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.
    c948b813