Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 3
0
    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();