Fixes bug MDL-8234, "New groups code & AS keyword"
[moodle-pu.git] / user / profile / index_field_form.php
blob979348bb94a3fa1ab410529dfa85df2cf772ead3
1 <?php //$Id$
3 require_once("$CFG->dirroot/lib/formslib.php");
5 class field_form extends moodleform {
7 // Define the form
8 function definition () {
9 global $USER, $CFG;
11 $mform =& $this->_form;
12 $renderer =& $mform->defaultRenderer();
13 $field = $this->_customdata['field'];
15 $strrequired = get_string('required');
17 /// Add some extra hidden fields
18 $mform->addElement('hidden', 'id', $field->id);
19 $mform->addElement('hidden', 'action', 'editfield');
20 $mform->addElement('hidden', 'type', $field->datatype);
21 $mform->addElement('hidden', 'oldcategory', $field->categoryid);
22 $mform->addElement('hidden', 'datatype', $field->datatype);
23 $mform->addElement('hidden', 'sesskey', $USER->sesskey);
26 /// Everything else is dependant on the data type
27 require_once($CFG->dirroot.'/user/profile/field/'.$field->datatype.'/field.class.php');
28 $newfield = 'profile_field_'.$field->datatype;
29 $formfield = new $newfield($field->id);
30 $formfield->edit_field($mform);
32 /// override the defaults with the user settings
33 $this->set_data($field);
35 $this->add_action_buttons(true);
38 } /// End of function
40 function definition_after_data () {
41 /// nothing yet
45 /// perform some moodle validation
46 function validation ($data) {
47 global $CFG;
49 $data = (object)$data;
50 $field = $this->_customdata['field'];
52 /// Everything else is dependant on the data type
53 require_once($CFG->dirroot.'/user/profile/field/'.$field->datatype.'/field.class.php');
54 $newfield = 'profile_field_'.$field->datatype;
55 $formfield = new $newfield($field->id);
56 $err = $formfield->edit_validate($data);
58 if (count($err) == 0){
59 return true;
60 } else {
61 return $err;