$mform->setType('maxexeprocesses', PARAM_INT); if ($instance->maxexeprocesses) { $mform->setDefault('maxexeprocesses', $instance->maxexeprocesses); } $mform->addElement('submit', 'savelimitoptions', get_string('saveoptions', VPL)); } } require_login(); $id = required_param('id', PARAM_INT); $vpl = new mod_vpl($id); $vpl->prepare_page('forms/executionlimits.php', array('id' => $id)); vpl_include_jsfile('hideshow.js'); $vpl->require_capability(VPL_MANAGE_CAPABILITY); //Display page $vpl->print_header(get_string('execution', VPL)); $vpl->print_heading_with_help('resourcelimits'); $vpl->print_configure_tabs(basename(__FILE__)); $course = $vpl->get_course(); $fgp = $vpl->get_execution_fgm(); $mform = new mod_vpl_executionlimits_form('executionlimits.php', $vpl); if ($fromform = $mform->get_data()) { if (isset($fromform->savelimitoptions)) { $instance = $vpl->get_instance(); \mod_vpl\event\vpl_execution_limits_updated::log($vpl); $instance->maxexetime = $fromform->maxexetime; $instance->maxexememory = $fromform->maxexememory; $instance->maxexefilesize = $fromform->maxexefilesize; $instance->maxexeprocesses = $fromform->maxexeprocesses; if ($DB->update_record(VPL, $instance)) { vpl_notice(get_string('optionssaved', VPL)); } else {
$mform->disabledIf('evaluateonsubmission', 'evaluate', 'eq', 0); $mform->addElement('selectyesno', 'automaticgrading', get_string('automaticgrading', VPL)); $mform->setDefault('automaticgrading', 1); $mform->disabledIf('automaticgrading', 'evaluate', 'eq', 0); $mform->addElement('submit', 'saveoptions', get_string('saveoptions', VPL)); } } require_login(); $id = required_param('id', PARAM_INT); $vpl = new mod_vpl($id); $vpl->prepare_page('forms/executionoptions.php', array('id' => $id)); vpl_include_jsfile('hideshow.js'); $vpl->require_capability(VPL_MANAGE_CAPABILITY); //Display page $vpl->print_header(get_string('execution', VPL)); $vpl->print_heading_with_help('executionoptions'); $vpl->print_configure_tabs(basename(__FILE__)); $course = $vpl->get_course(); $fgp = $vpl->get_execution_fgm(); $mform = new mod_vpl_executionoptions_form('executionoptions.php', $vpl); if ($fromform = $mform->get_data()) { if (isset($fromform->saveoptions)) { $instance = $vpl->get_instance(); \mod_vpl\event\vpl_execution_options_updated::log($vpl); $instance->basedon = $fromform->basedon; $instance->run = $fromform->run; $instance->debug = $fromform->debug; $instance->evaluate = $fromform->evaluate; $instance->evaluateonsubmission = $fromform->evaluate && $fromform->evaluateonsubmission; $instance->automaticgrading = $fromform->evaluate && $fromform->automaticgrading; if ($DB->update_record(VPL, $instance)) {
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @author Juan Carlos Rodríguez-del-Pino <*****@*****.**> */ require_once dirname(__FILE__) . '/../../../config.php'; require_once dirname(__FILE__) . '/../vpl.class.php'; require_once dirname(__FILE__) . '/../jail/jailserver_manager.class.php'; require_login(); $id = required_param('id', PARAM_INT); $vpl = new mod_vpl($id); $vpl->prepare_page('views/checkjailservers.php', array('id' => $id)); $vpl->require_capability(VPL_MANAGE_CAPABILITY); //Display page $PAGE->requires->css(new moodle_url('/mod/vpl/css/checkjailservers.css')); $course = $vpl->get_course(); $vpl->print_header(get_string('check_jail_servers', VPL)); $vpl->print_heading_with_help('check_jail_servers'); $vpl->print_configure_tabs(basename(__FILE__)); \mod_vpl\event\vpl_jail_servers_tested::log($vpl); $servers = vpl_jailserver_manager::check_servers($vpl->get_instance()->jailservers); $table = new html_table(); $table->head = array('#', get_string('server', VPL), get_string('currentstatus', VPL), get_string('lasterror', VPL), get_string('lasterrordate', VPL), get_string('totalnumberoferrors', VPL)); $table->align = array('right', 'left', 'left', 'left', 'left', 'right'); $table->data = array(); $num = 0; $clean_url = !$vpl->has_capability(VPL_SETJAILS_CAPABILITY) || !$vpl->has_capability(VPL_MANAGE_CAPABILITY); foreach ($servers as $server) { $serverurl = $server->server; if ($clean_url) { $serverurl = parse_url($serverurl, PHP_URL_HOST); } $num++;
* @author Juan Carlos Rodríguez-del-Pino <*****@*****.**> */ require_once dirname(__FILE__) . '/../../../config.php'; require_once dirname(__FILE__) . '/../locallib.php'; require_once dirname(__FILE__) . '/../vpl.class.php'; require_once dirname(__FILE__) . '/../editor/editor_utility.php'; vpl_editor_util::generate_requires(); require_login(); $id = required_param('id', PARAM_INT); $vpl = new mod_vpl($id); $instance = $vpl->get_instance(); $vpl->prepare_page('forms/requiredfiles.php', array('id' => $id)); $vpl->require_capability(VPL_MANAGE_CAPABILITY); $fgp = $vpl->get_required_fgm(); $vpl->print_header(get_string('requestedfiles', VPL)); $vpl->print_heading_with_help('requestedfiles'); $vpl->print_configure_tabs(basename(__FILE__)); //TODO download in zip file $options = array(); $options['restrictededitor'] = false; $options['save'] = true; $options['run'] = false; $options['debug'] = false; $options['evaluate'] = false; $options['ajaxurl'] = "requiredfiles.json.php?id={$id}&action="; $options['download'] = "../views/downloadrequiredfiles.php?id={$id}"; $options['resetfiles'] = false; $options['minfiles'] = 0; $options['maxfiles'] = $instance->maxfiles; //Get files $files = array();
$mform->addElement('checkbox', 'keepfile' . $num, $filename); $mform->setDefault('keepfile' . $num, in_array($filename, $keeplist)); $num++; } $mform->addElement('submit', 'savekeepfiles', get_string('saveoptions', VPL)); } } require_login(); $id = required_param('id', PARAM_INT); $vpl = new mod_vpl($id); $vpl->prepare_page('forms/executionkeepfiles.php', array('id' => $id)); vpl_include_jsfile('hideshow.js'); $vpl->require_capability(VPL_MANAGE_CAPABILITY); //Display page $vpl->print_header(get_string('execution', VPL)); $vpl->print_heading_with_help('keepfiles'); $vpl->print_configure_tabs(basename(__FILE__)); $course = $vpl->get_course(); $fgp = $vpl->get_execution_fgm(); $mform = new mod_vpl_executionkeepfiles_form('executionkeepfiles.php', $fgp); if ($fromform = $mform->get_data()) { if (isset($fromform->savekeepfiles)) { $list = $fgp->getFileList(); $nlist = count($list); $keeplist = array(); for ($i = 0; $i < $nlist; $i++) { $name = 'keepfile' . $i; if (isset($fromform->{$name})) { $keeplist[] = $list[$i]; } }
$onclick = 'onclick="return confirm(\'' . $menssage . '\')"'; $buttongroup[] = $mform->createElement('submit', 'delete', get_string('delete'), $onclick); } $mform->addGroup($buttongroup); } } require_login(); $id = required_param('id', PARAM_INT); $vpl = new mod_vpl($id); $vpl->prepare_page('forms/variations.php', array('id' => $id)); vpl_include_jsfile('hideshow.js'); $vplid = $vpl->get_instance()->id; $vpl->require_capability(VPL_MANAGE_CAPABILITY); $href = vpl_mod_href('forms/variations.php', 'id', $id); $vpl->print_header(get_string('variations', VPL)); $vpl->print_heading_with_help('variations'); //Generate default form and check for action if (optional_param('varid', -13, PARAM_INT) == -13) { //No variation saved $oform = new mod_vpl_variation_option_form($href, $vpl); if ($oform->is_cancelled()) { vpl_inmediate_redirect($href); //Reload page } elseif ($fromform = $oform->get_data()) { $fromform->id = $vplid; vpl_truncate_string($fromform->variationtitle, 255); \mod_vpl\event\vpl_variation_updated::log($vpl); $DB->update_record(VPL, $fromform); vpl_inmediate_redirect($href); } $vplinstmod = clone $vpl->get_instance();
* @author Juan Carlos Rodríguez-del-Pino <*****@*****.**> */ require_once dirname(__FILE__) . '/../../../config.php'; require_once dirname(__FILE__) . '/../locallib.php'; require_once dirname(__FILE__) . '/../vpl.class.php'; require_once dirname(__FILE__) . '/../editor/editor_utility.php'; vpl_editor_util::generate_requires(); require_login(); $id = required_param('id', PARAM_INT); $vpl = new mod_vpl($id); $instance = $vpl->get_instance(); $vpl->prepare_page('forms/testcasesfile.php', array('id' => $id)); $vpl->require_capability(VPL_MANAGE_CAPABILITY); $fgp = $vpl->get_required_fgm(); $vpl->print_header(get_string('testcases', VPL)); $vpl->print_heading_with_help('testcases'); $vpl->print_configure_tabs(basename(__FILE__)); $options = array(); $options['restrictededitor'] = false; $options['save'] = true; $options['run'] = false; $options['debug'] = false; $options['evaluate'] = false; $options['ajaxurl'] = "testcasesfile.json.php?id={$id}&action="; $options['download'] = "../views/downloadexecutionfiles.php?id={$id}"; $options['resetfiles'] = false; $options['minfiles'] = 1; $options['maxfiles'] = 1; //Get files $fgp = $vpl->get_execution_fgm(); $files = array();
* @author Juan Carlos Rodríguez-del-Pino <*****@*****.**> */ require_once dirname(__FILE__) . '/../../../config.php'; require_once dirname(__FILE__) . '/../locallib.php'; require_once dirname(__FILE__) . '/../vpl.class.php'; require_once dirname(__FILE__) . '/../editor/editor_utility.php'; vpl_editor_util::generate_requires(); require_login(); $id = required_param('id', PARAM_INT); $vpl = new mod_vpl($id); $instance = $vpl->get_instance(); $vpl->prepare_page('forms/executionfiles.php', array('id' => $id)); $vpl->require_capability(VPL_MANAGE_CAPABILITY); $fgp = $vpl->get_required_fgm(); $vpl->print_header(get_string('executionfiles', VPL)); $vpl->print_heading_with_help('executionfiles'); $vpl->print_configure_tabs(basename(__FILE__)); //TODO download in zip file $options = array(); $options['restrictededitor'] = false; $options['save'] = true; $options['run'] = false; $options['debug'] = false; $options['evaluate'] = false; $options['ajaxurl'] = "executionfiles.json.php?id={$id}&action="; $options['download'] = "../views/downloadexecutionfiles.php?id={$id}"; $options['resetfiles'] = false; $options['minfiles'] = 0; $options['maxfiles'] = 100; //Get files $fgp = $vpl->get_execution_fgm();
$mform->addElement('header', 'headersetjails', get_string('local_jail_servers', VPL)); $mform->addElement('hidden', 'id', required_param('id', PARAM_INT)); $mform->setType('id', PARAM_INT); $mform->addElement('textarea', 'jailservers', get_string('jail_servers_description', VPL), array('cols' => 45, 'rows' => 10, 'wrap' => 'off')); $mform->setType('jailservers', PARAM_RAW); $this->add_action_buttons(); } } require_login(); $id = required_param('id', PARAM_INT); $vpl = new mod_vpl($id); $vpl->prepare_page('forms/local_jail_servers.php', array('id' => $id)); vpl_include_jsfile('hideshow.js'); $vpl->require_capability(VPL_SETJAILS_CAPABILITY); $vpl->print_header(get_string('local_jail_servers', VPL)); $vpl->print_heading_with_help('local_jail_servers'); $vpl->print_configure_tabs(basename(__FILE__)); $mform = new mod_vpl_setjails_form('local_jail_servers.php'); //Display page $course = $vpl->get_course(); if (!$mform->is_cancelled() && ($fromform = $mform->get_data())) { if (isset($fromform->jailservers)) { \mod_vpl\event\vpl_execution_localjails_updated::log($vpl); $instance = $vpl->get_instance(); $instance->jailservers = s($fromform->jailservers); if ($DB->update_record(VPL, $instance)) { vpl_notice(get_string('saved', VPL)); } else { vpl_error(get_string('notsaved', VPL)); } } else {