From 142f9d5087162fe8efa579e9db12724e3fe2bc67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20S=CC=8Ckoda?= Date: Wed, 26 Jun 2013 13:33:22 +0200 Subject: [PATCH] MDL-39088 migrate plagiarism uninstallation to plugin_manager --- admin/plagiarism.php | 38 ++++---------------------------------- lang/en/plagiarism.php | 1 - lib/pluginlib.php | 4 ++++ 3 files changed, 8 insertions(+), 35 deletions(-) diff --git a/admin/plagiarism.php b/admin/plagiarism.php index 40ed3aec0f0..ba21e3e5175 100644 --- a/admin/plagiarism.php +++ b/admin/plagiarism.php @@ -32,38 +32,6 @@ require_once($CFG->libdir.'/tablelib.php'); admin_externalpage_setup('manageplagiarismplugins'); -$delete = optional_param('delete', '', PARAM_PLUGIN); -$confirm = optional_param('confirm', false, PARAM_BOOL); - -if (!empty($delete) and confirm_sesskey()) { // If data submitted, then process and store. - echo $OUTPUT->header(); - echo $OUTPUT->heading(get_string('manageplagiarism', 'plagiarism')); - - if (!$confirm) { - if (get_string_manager()->string_exists('pluginname', 'plagiarism_' . $delete)) { - $strpluginname = get_string('pluginname', 'plagiarism_' . $delete); - } else { - $strpluginname = $delete; - } - echo $OUTPUT->confirm(get_string('plagiarismplugindeleteconfirm', 'plagiarism', $strpluginname), - new moodle_url($PAGE->url, array('delete' => $delete, 'confirm' => 1)), - $PAGE->url); - echo $OUTPUT->footer(); - die(); - - } else { - uninstall_plugin('plagiarism', $delete); - $a = new stdclass(); - $a->name = $delete; - $pluginlocation = get_plugin_types(); - $a->directory = $pluginlocation['plagiarism'] . '/' . $delete; - echo $OUTPUT->notification(get_string('plugindeletefiles', '', $a), 'notifysuccess'); - echo $OUTPUT->continue_button($PAGE->url); - echo $OUTPUT->footer(); - die(); - } -} - echo $OUTPUT->header(); // Print the table of all installed plagiarism plugins. @@ -102,8 +70,10 @@ foreach ($plagiarismplugins as $plugin => $dir) { $version = '?'; } // Delete link. - $delete = new moodle_url($PAGE->url, array('delete' => $plugin, 'sesskey' => sesskey())); - $delete = html_writer::link($delete, get_string('delete')); + $delete = ''; + if ($deleteurl = plugin_manager::instance()->get_uninstall_url('plagiarism_'.$plugin)) { + $delete = html_writer::link($deleteurl, get_string('delete')); + } $table->data[] = array($displayname, $version, $delete, $settings); } } diff --git a/lang/en/plagiarism.php b/lang/en/plagiarism.php index 23f89c4102d..7faba073560 100644 --- a/lang/en/plagiarism.php +++ b/lang/en/plagiarism.php @@ -6,4 +6,3 @@ $string['configenableplagiarism'] = 'This will allow administrators to configure $string['manageplagiarism'] = 'Manage plagiarism plugins'; $string['nopluginsinstalled'] = 'No plagiarism plugins are installed.'; $string['plagiarism'] = 'Plagiarism prevention'; -$string['plagiarismplugindeleteconfirm'] = 'You are about to completely delete the plagiarism plugin \'{$a}\'. This will completely delete everything in the database associated with this plugin. Are you SURE you want to continue?'; diff --git a/lib/pluginlib.php b/lib/pluginlib.php index 3be9fc4b579..a99150b8e1a 100644 --- a/lib/pluginlib.php +++ b/lib/pluginlib.php @@ -3978,6 +3978,10 @@ class plugininfo_plagiarism extends plugininfo_base { $adminroot->add($parentnodename, $settings); } } + + public function is_uninstall_allowed() { + return true; + } } /**