1<?php 2// This file is part of Moodle - http://moodle.org/ 3// 4// Moodle is free software: you can redistribute it and/or modify 5// it under the terms of the GNU General Public License as published by 6// the Free Software Foundation, either version 3 of the License, or 7// (at your option) any later version. 8// 9// Moodle is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12// GNU General Public License for more details. 13// 14// You should have received a copy of the GNU General Public License 15// along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17/** 18 * This file contains the submission form used by the assign module. 19 * 20 * @package mod_assign 21 * @copyright 2012 NetSpot {@link http://www.netspot.com.au} 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.'); 26 27 28require_once($CFG->libdir . '/formslib.php'); 29require_once($CFG->dirroot . '/mod/assign/locallib.php'); 30 31/** 32 * Assign submission form 33 * 34 * @package mod_assign 35 * @copyright 2012 NetSpot {@link http://www.netspot.com.au} 36 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 37 */ 38class mod_assign_submission_form extends moodleform { 39 40 /** 41 * Define this form - called by the parent constructor 42 */ 43 public function definition() { 44 global $USER; 45 $mform = $this->_form; 46 list($assign, $data) = $this->_customdata; 47 $instance = $assign->get_instance(); 48 if ($instance->teamsubmission) { 49 $submission = $assign->get_group_submission($data->userid, 0, true); 50 } else { 51 $submission = $assign->get_user_submission($data->userid, true); 52 } 53 if ($submission) { 54 $mform->addElement('hidden', 'lastmodified', $submission->timemodified); 55 $mform->setType('lastmodified', PARAM_INT); 56 } 57 58 $assign->add_submission_form_elements($mform, $data); 59 $this->add_action_buttons(true, get_string('savechanges', 'assign')); 60 if ($data) { 61 $this->set_data($data); 62 } 63 } 64} 65 66