MDL-49329 admin: Require confirmation before cancelling plugin install

This commit is contained in:
David Mudrák
2015-10-09 09:50:46 +02:00
parent 4fff948910
commit 4d7528f9bc
7 changed files with 147 additions and 30 deletions
+42 -12
View File
@@ -352,16 +352,30 @@ if (!$cache and $version > $CFG->version) { // upgrade
$pluginman = core_plugin_manager::instance();
// Cancel all plugin installations.
if ($abortinstallx) {
// No sesskey support guaranteed here, because sessions might not work yet.
$pluginman->cancel_all_plugin_installations();
redirect($PAGE->url);
if ($confirmabortinstall) {
$pluginman->cancel_all_plugin_installations();
redirect($PAGE->url);
} else {
$continue = new moodle_url($PAGE->url, array('abortinstallx' => $abortinstallx, 'confirmabortinstall' => 1));
echo $output->upgrade_confirm_abort_install_page(true, $continue);
die();
}
}
// Cancel single plugin installation.
if ($abortinstall) {
// No sesskey support guaranteed here, because sessions might not work yet.
$pluginman->cancel_plugin_installation($abortinstall);
redirect($PAGE->url);
if ($confirmabortinstall) {
$pluginman->cancel_plugin_installation($abortinstall);
redirect($PAGE->url);
} else {
$continue = new moodle_url($PAGE->url, array('abortinstall' => $abortinstall, 'confirmabortinstall' => 1));
echo $output->upgrade_confirm_abort_install_page($abortinstall, $continue);
die();
}
}
// Install all available missing dependencies.
@@ -387,7 +401,7 @@ if (!$cache and $version > $CFG->version) { // upgrade
}
}
// Install all avilable updates.
// Install all available updates.
if ($installupdatex) {
// No sesskey support guaranteed here, because sessions might not work yet.
$installable = $pluginman->filter_installable($pluginman->available_updates());
@@ -458,8 +472,13 @@ if (!$cache and moodle_needs_upgrading()) {
if (!$PAGE->headerprinted) {
// means core upgrade or installation was not already done
/** @var core_plugin_manager $pluginman */
$pluginman = core_plugin_manager::instance();
/** @var core_admin_renderer $output */
$output = $PAGE->get_renderer('core', 'admin');
if (!$confirmplugins) {
$strplugincheck = get_string('plugincheck');
@@ -468,16 +487,30 @@ if (!$cache and moodle_needs_upgrading()) {
$PAGE->set_heading($strplugincheck);
$PAGE->set_cacheable(false);
// Cancel all plugin installations.
if ($abortinstallx) {
require_sesskey();
$pluginman->cancel_all_plugin_installations();
redirect($PAGE->url);
if ($confirmabortinstall) {
$pluginman->cancel_all_plugin_installations();
redirect($PAGE->url);
} else {
$continue = new moodle_url($PAGE->url, array('abortinstallx' => $abortinstallx, 'confirmabortinstall' => 1));
echo $output->upgrade_confirm_abort_install_page(true, $continue);
die();
}
}
// Cancel single plugin installation.
if ($abortinstall) {
require_sesskey();
$pluginman->cancel_plugin_installation($abortinstall);
redirect($PAGE->url);
if ($confirmabortinstall) {
$pluginman->cancel_plugin_installation($abortinstall);
redirect($PAGE->url);
} else {
$continue = new moodle_url($PAGE->url, array('abortinstall' => $abortinstall, 'confirmabortinstall' => 1));
echo $output->upgrade_confirm_abort_install_page($abortinstall, $continue);
die();
}
}
if ($fetchupdates) {
@@ -536,9 +569,6 @@ if (!$cache and moodle_needs_upgrading()) {
}
}
/** @var core_admin_renderer $output */
$output = $PAGE->get_renderer('core', 'admin');
// Show plugins info.
echo $output->upgrade_plugin_check_page($pluginman, \core\update\checker::instance(),
$version, $showallplugins,