MDL-66917 admin: validate uploaded plugin version.

Prevent overwriting current plugins with older versions of themselves.
This commit is contained in:
Paul Holden 2020-02-18 23:28:42 +00:00
parent 788dfb9c7d
commit 59f941f6db
2 changed files with 8 additions and 0 deletions

View file

@ -394,6 +394,13 @@ class validator {
}
$this->add_message(self::INFO, 'componentmatch', $this->versionphp['component']);
// Ensure the version we are uploading is higher than the version currently installed.
$plugininfo = $this->get_plugin_manager()->get_plugin_info($this->versionphp['component']);
if (!is_null($plugininfo) && $this->versionphp['version'] < $plugininfo->versiondb) {
$this->add_message(self::ERROR, 'pluginversiontoolow', $plugininfo->versiondb);
return false;
}
if (isset($info['plugin->maturity'])) {
$this->versionphp['maturity'] = $info['plugin->maturity'];
if ($this->versionphp['maturity'] === 'MATURITY_STABLE') {