/** * Renders widgets to continue from the validation results page * * @return string */ protected function validation_page_continue() { $conturl = $this->validator->get_continue_url(); if (is_null($conturl)) { $contbutton = ''; } else { $contbutton = $this->output->single_button($conturl, get_string('installaddon', 'tool_installaddon'), 'post', array('class' => 'singlebutton continuebutton')); } $cancelbutton = $this->output->single_button(new moodle_url('/admin/tool/installaddon/index.php'), get_string('cancel', 'core'), 'get', array('class' => 'singlebutton cancelbutton')); return $this->output->container($cancelbutton . $contbutton, 'postvalidationbuttons'); }
public function testable_parse_version_php($fullpath) { return parent::parse_version_php($fullpath); }
notice(get_string('featuredisabled', 'tool_installaddon')); } require_sesskey(); $jobid = required_param('jobid', PARAM_ALPHANUM); $zipfilename = required_param('zip', PARAM_FILE); $plugintype = required_param('type', PARAM_ALPHANUMEXT); $rootdir = optional_param('rootdir', '', PARAM_PLUGIN); $zipfilepath = $CFG->tempdir . '/tool_installaddon/' . $jobid . '/source/' . $zipfilename; if (!file_exists($zipfilepath)) { redirect(new moodle_url('/admin/tool/installaddon/index.php'), get_string('invaliddata', 'core_error')); } $installer = tool_installaddon_installer::instance(); // Extract the ZIP contents. fulldelete($CFG->tempdir . '/tool_installaddon/' . $jobid . '/contents'); $zipcontentpath = make_temp_directory('tool_installaddon/' . $jobid . '/contents'); $zipcontentfiles = $installer->extract_installfromzip_file($zipfilepath, $zipcontentpath, $rootdir); // Validate the contents of the plugin ZIP file. $validator = tool_installaddon_validator::instance($zipcontentpath, $zipcontentfiles); $validator->assert_plugin_type($plugintype); $validator->assert_moodle_version($CFG->version); $result = $validator->execute(); if ($result) { $validator->set_continue_url(new moodle_url('/admin/tool/installaddon/deploy.php', array('sesskey' => sesskey(), 'jobid' => $jobid, 'type' => $plugintype, 'name' => $validator->get_rootdir()))); } else { fulldelete($CFG->tempdir . '/tool_installaddon/' . $jobid); } // Display the validation results. $output = $PAGE->get_renderer('tool_installaddon'); $output->set_installer_instance($installer); $output->set_validator_instance($validator); echo $output->validation_page();