<?php // This file is part of // // 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/>. defined('MOODLE_INTERNAL') || die(); require_once("$CFG->dirroot/course/moodleform_mod.php"); require_once("$CFG->libdir/formslib.php"); require_once("submission_form_functions.php"); class mod_gradeimporter_submission_form extends moodleform { public function definition() { global $CFG, $DB; $mform = $this->_form; // Custom data $submission = $this->_customdata['submission']; // Load fields data $filemanageroptions = $this->_customdata['filemanageroptions']; $gradeimporterid = $this->_customdata['gradeimporterid']; $cmid = $this->_customdata['cmid']; // ---------------------------------------------------------------- // General information // Header $mform->addElement('header', 'newsub', get_string('newsubmission', 'gradeimporter')); // Submission name field $mform->addElement('text', 'name', get_string('submissionname', 'gradeimporter')); $mform->setType('name', PARAM_TEXT); $mform->addRule('name', null, 'required', null, 'client'); $mform->addElement('editor', 'description', get_string('description')); $mform->setType('description', PARAM_TEXT); $mform->addElement('filemanager', 'submissionfiles_filemanager', get_string('submissionfiles', 'gradeimporter'), null, $filemanageroptions); $mform->addHelpButton('submissionfiles_filemanager', 'submissionfiles', 'gradeimporter'); // Add button to open new subtypeform $subtypeformurl = new moodle_url("/mod/gradeimporter/forms/submissiontype/submissiontype.php", array('cmid' => $cmid, 'id' => $gradeimporterid) ); $newsubtypebutton = "<div class=\"col-md-9 form-inline align-items-start felement\"> <button class=\"btn btn-primary\" onclick=\"window.open('$subtypeformurl','_self')\"> New type </button> </div>"; $mform->addElement('html', $newsubtypebutton); // To edit $subtypes = get_types_array($gradeimporterid); var_dump ($subtypes); if ($subtypes) { $selectvalues = array(); foreach ($subtypes as $id => $type) { $selectvalues[$id] = $type->name; } } else { $selectvalues = array('create new type first'); } $mform->addElement('select', 'type', get_string('submissiontype', 'gradeimporter'), $selectvalues); $mform->addElement('selectyesno', 'visibility', get_string('visibility', 'gradeimporter')); $mform->setDefault('visibility', array('value' => 1)); $mform->addHelpButton('visibility', 'visibility', 'gradeimporter'); $mform->addElement('selectyesno', 'gradebook', get_string('gradebook', 'gradeimporter')); $mform->setDefault('gradebook', array('value' => 0)); $mform->addHelpButton('gradebook', 'gradebook', 'gradeimporter'); // ----------------------------- // Hidden fields $mform->addElement('hidden', 'id'); $mform->setType('id', PARAM_INT); $mform->addElement('hidden', 'cmid'); $mform->setType('cmid', PARAM_INT); // ------------------------------ // Save and cancel buttons $this->add_action_buttons(); // ------------------------------ // Sets preloaded data to fields $this->set_data($submission); } }