Current Path : C:/xampp/htdocs/moodle/mod/workshop/allocation/scheduled/ |
Current File : C:/xampp/htdocs/moodle/mod/workshop/allocation/scheduled/settings_form.php |
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Scheduled allocator's settings * * @package workshopallocation_scheduled * @subpackage mod_workshop * @copyright 2012 David Mudrak <david@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); require_once($CFG->dirroot.'/lib/formslib.php'); require_once(__DIR__ . '/../random/settings_form.php'); // parent form /** * Allocator settings form * * This is used by {@see workshop_scheduled_allocator::ui()} to set up allocation parameters. */ class workshop_scheduled_allocator_form extends workshop_random_allocator_form { /** * Definition of the setting form elements */ public function definition() { global $OUTPUT; $mform = $this->_form; $workshop = $this->_customdata['workshop']; $current = $this->_customdata['current']; if (!empty($workshop->submissionend)) { $strtimeexpected = workshop::timestamp_formats($workshop->submissionend); } if (!empty($current->timeallocated)) { $strtimeexecuted = workshop::timestamp_formats($current->timeallocated); } $mform->addElement('header', 'scheduledallocationsettings', get_string('scheduledallocationsettings', 'workshopallocation_scheduled')); $mform->addHelpButton('scheduledallocationsettings', 'scheduledallocationsettings', 'workshopallocation_scheduled'); $mform->addElement('checkbox', 'enablescheduled', get_string('enablescheduled', 'workshopallocation_scheduled'), get_string('enablescheduledinfo', 'workshopallocation_scheduled'), 1); $mform->addElement('header', 'scheduledallocationinfo', get_string('currentstatus', 'workshopallocation_scheduled')); if ($current === false) { $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'), get_string('resultdisabled', 'workshopallocation_scheduled').' '. $OUTPUT->pix_icon('i/invalid', '')); } else { if (!empty($current->timeallocated)) { $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'), get_string('currentstatusexecution1', 'workshopallocation_scheduled', $strtimeexecuted).' '. $OUTPUT->pix_icon('i/valid', '')); if ($current->resultstatus == workshop_allocation_result::STATUS_EXECUTED) { $strstatus = get_string('resultexecuted', 'workshopallocation_scheduled').' '. $OUTPUT->pix_icon('i/valid', ''); } else if ($current->resultstatus == workshop_allocation_result::STATUS_FAILED) { $strstatus = get_string('resultfailed', 'workshopallocation_scheduled').' '. $OUTPUT->pix_icon('i/invalid', ''); } else { $strstatus = get_string('resultvoid', 'workshopallocation_scheduled').' '. $OUTPUT->pix_icon('i/invalid', ''); } if (!empty($current->resultmessage)) { $strstatus .= html_writer::empty_tag('br').$current->resultmessage; // yes, this is ugly. better solution suggestions are welcome. } $mform->addElement('static', 'inforesult', get_string('currentstatusresult', 'workshopallocation_scheduled'), $strstatus); if ($current->timeallocated < $workshop->submissionend) { $mform->addElement('static', 'infoexpected', get_string('currentstatusnext', 'workshopallocation_scheduled'), get_string('currentstatusexecution2', 'workshopallocation_scheduled', $strtimeexpected).' '. $OUTPUT->pix_icon('i/caution', '')); $mform->addHelpButton('infoexpected', 'currentstatusnext', 'workshopallocation_scheduled'); } else { $mform->addElement('checkbox', 'reenablescheduled', get_string('currentstatusreset', 'workshopallocation_scheduled'), get_string('currentstatusresetinfo', 'workshopallocation_scheduled')); $mform->addHelpButton('reenablescheduled', 'currentstatusreset', 'workshopallocation_scheduled'); } } else if (empty($current->enabled)) { $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'), get_string('resultdisabled', 'workshopallocation_scheduled').' '. $OUTPUT->pix_icon('i/invalid', '')); } else if ($workshop->phase != workshop::PHASE_SUBMISSION) { $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'), get_string('resultfailed', 'workshopallocation_scheduled').' '. $OUTPUT->pix_icon('i/invalid', '') . html_writer::empty_tag('br'). get_string('resultfailedphase', 'workshopallocation_scheduled')); } else if (empty($workshop->submissionend)) { $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'), get_string('resultfailed', 'workshopallocation_scheduled').' '. $OUTPUT->pix_icon('i/invalid', '') . html_writer::empty_tag('br'). get_string('resultfaileddeadline', 'workshopallocation_scheduled')); } else if ($workshop->submissionend < time()) { // next cron will execute it $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'), get_string('currentstatusexecution4', 'workshopallocation_scheduled').' '. $OUTPUT->pix_icon('i/caution', '')); } else { $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'), get_string('currentstatusexecution3', 'workshopallocation_scheduled', $strtimeexpected).' '. $OUTPUT->pix_icon('i/caution', '')); } } parent::definition(); $mform->addHelpButton('randomallocationsettings', 'randomallocationsettings', 'workshopallocation_scheduled'); } }