forked from moodle/moodle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index_field_form.php
47 lines (32 loc) · 1.15 KB
/
index_field_form.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php //$Id$
require_once($CFG->dirroot.'/lib/formslib.php');
class field_form extends moodleform {
var $field;
/// Define the form
function definition () {
global $CFG;
$mform =& $this->_form;
/// Everything else is dependant on the data type
$datatype = $this->_customdata;
require_once($CFG->dirroot.'/user/profile/field/'.$datatype.'/define.class.php');
$newfield = 'profile_define_'.$datatype;
$this->field = new $newfield();
$strrequired = get_string('required');
/// Add some extra hidden fields
$mform->addElement('hidden', 'id');
$mform->addElement('hidden', 'action', 'editfield');
$mform->addElement('hidden', 'datatype', $datatype);
$this->field->define_form($mform);
$this->add_action_buttons(true);
}
/// alter definition based on existing or submitted data
function definition_after_data () {
$mform =& $this->_form;
$this->field->define_after_data($mform);
}
/// perform some moodle validation
function validation($data, $files) {
return $this->field->define_validate($data);
}
}
?>