コード例 #1
0
 /**
  * Display a page with results of plugin uninstallation and offer removal of plugin files.
  *
  * @param core_plugin_manager $pluginman
  * @param \core\plugininfo\base $pluginfo
  * @param progress_trace_buffer $progress
  * @param moodle_url $continueurl URL to continue to remove the plugin folder
  * @return string
  */
 public function plugin_uninstall_results_removable_page(core_plugin_manager $pluginman, \core\plugininfo\base $pluginfo, progress_trace_buffer $progress, moodle_url $continueurl)
 {
     $output = '';
     $pluginname = $pluginman->plugin_name($pluginfo->component);
     // Do not show navigation here, they must click one of the buttons.
     $this->page->set_pagelayout('maintenance');
     $this->page->set_cacheable(false);
     $output .= $this->output->header();
     $output .= $this->output->heading(get_string('uninstalling', 'core_plugin', array('name' => $pluginname)));
     $output .= $this->output->box($progress->get_buffer(), 'generalbox uninstallresultmessage');
     $confirm = $this->output->container(get_string('uninstalldeleteconfirm', 'core_plugin', array('name' => $pluginname, 'rootdir' => $pluginfo->rootdir)), 'uninstalldeleteconfirm');
     if ($repotype = $pluginman->plugin_external_source($pluginfo->component)) {
         $confirm .= $this->output->container(get_string('uninstalldeleteconfirmexternal', 'core_plugin', $repotype), 'uninstalldeleteconfirmexternal');
     }
     // After any uninstall we must execute full upgrade to finish the cleanup!
     $output .= $this->output->confirm($confirm, $continueurl, new moodle_url('/admin/index.php'));
     $output .= $this->output->footer();
     return $output;
 }