MDL-30518 get_context_instance takes one parameter at the SYSTEM level
[moodle.git] / user / profile / field / checkbox / field.class.php
1 <?php
3 class profile_field_checkbox extends profile_field_base {
5     /**
6      * Constructor method.
7      * Pulls out the options for the checkbox from the database and sets the
8      * the corresponding key for the data if it exists
9      */
10     function profile_field_checkbox($fieldid=0, $userid=0) {
11         global $DB;
12         //first call parent constructor
13         $this->profile_field_base($fieldid, $userid);
15         if (!empty($this->field)) {
16             $datafield = $DB->get_field('user_info_data', 'data', array('userid' => $this->userid, 'fieldid' => $this->fieldid));
17             if ($datafield !== false) {
18                 $this->data = $datafield;
19             } else {
20                 $this->data = $this->field->defaultdata;
21             }
22         }
23     }
25     function edit_field_add(&$mform) {
26         /// Create the form field
27         $checkbox = &$mform->addElement('advcheckbox', $this->inputname, format_string($this->field->name));
28         if ($this->data == '1') {
29             $checkbox->setChecked(true);
30         }
31         $mform->setType($this->inputname, PARAM_BOOL);
32         if ($this->is_required() and !has_capability('moodle/user:update', get_context_instance(CONTEXT_SYSTEM))) {
33             $mform->addRule($this->inputname, get_string('required'), 'nonzero', null, 'client');
34         }
35     }
37     /**
38      * Display the data for this field
39      */
40     function display_data() {
41         $options = new stdClass();
42         $options->para = false;
43         $checked = intval($this->data) === 1 ? 'checked="checked"' : '';
44         return '<input disabled="disabled" type="checkbox" name="'.$this->inputname.'" '.$checked.' />';
45     }
47 }