Implement data privacy provider.
[moodle-mod_attendance.git] / temp_form.php
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 * Form for creating temporary users.
19 *
20 * @package mod_attendance
21 * @copyright 2013 Davo Smith, Synergy Learning
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 */
24
25 defined('MOODLE_INTERNAL') || die();
26
27 global $CFG;
28 require_once($CFG->libdir.'/formslib.php');
29
30 /**
31 * Class temp_form
32 * @copyright 2013 Davo Smith, Synergy Learning
33 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
34 */
35 class temp_form extends moodleform {
36 /**
37 * Define form.
38 */
39 public function definition() {
40 $mform = $this->_form;
41
42 $mform->addElement('hidden', 'id', 0);
43 $mform->setType('id', PARAM_INT);
44
45 $mform->addElement('header', 'attheader', get_string('tempaddform', 'attendance'));
46 $mform->addElement('text', 'tname', get_string('tusername', 'attendance'));
47 $mform->addRule('tname', 'Required', 'required', null, 'client');
48 $mform->setType('tname', PARAM_TEXT);
49
50 $mform->addElement('text', 'temail', get_string('tuseremail', 'attendance'));
51 $mform->addRule('temail', 'Email', 'email', null, 'client');
52 $mform->addRule('temail', '', 'callback', null, 'server');
53 $mform->setType('temail', PARAM_EMAIL);
54
55 $mform->addElement('submit', 'submitbutton', get_string('adduser', 'attendance'));
56 $mform->closeHeaderBefore('submit');
57 }
58
59 /**
60 * Do stuff to form after creation.
61 */
62 public function definition_after_data() {
63 $mform = $this->_form;
64 $mform->applyFilter('tname', 'trim');
65 }
66
67 /**
68 * Form validation.
69 *
70 * @param array $data
71 * @param array $files
72 * @return array
73 */
74 public function validation($data, $files) {
75 $errors = parent::validation($data, $files);
76
77 if ($err = mod_attendance_structure::check_existing_email($data['temail'])) {
78 $errors['temail'] = $err;
79 }
80
81 return $errors;
82 }
83 }