function build_object($classOrClosure, array &$values, \Closure $objectBuilder = null) { if ($classOrClosure instanceof \Closure) { $class = $classOrClosure($values); } else { $class = (string) $classOrClosure; } $object = new $class(); set_values($object, $values, true); $objectBuilder && $objectBuilder($object); return $object; }
/** * @internal * * @param string $namespace * @param string $key * @param object $object */ protected function addObject($namespace, $key, $object) { if (false == isset($this->values[$namespace][$key])) { $this->values[$namespace][$key] = []; } if (false == isset($this->objects[$namespace][$key])) { $this->objects[$namespace][$key] = []; } $objectKey = count($this->values[$namespace][$key]); $this->objects[$namespace][$key][$objectKey] = $object; $this->values[$namespace][$key][$objectKey] = get_values($object); $this->changedValues[$namespace][$key][$objectKey] = get_values($object); set_values($object, $this->values[$namespace][$key][$objectKey], true); }
$courseid = required_param('courseid', PARAM_INT); if (!($course = $DB->get_record('course', array('id' => $courseid)))) { print_error('invalidcourse', 'format_collblct', $courseid); } require_login($course); $context = context_course::instance($courseid); if (!has_capability('format/collblct:caneditcollapsedlabelcolors', $context)) { echo get_string('noaccess', FORMAT_CTWCL_LANG_TABLE); return; } $PAGE->set_url('/course/format/collblct/edit_colors.php', array('id' => $courseid)); $PAGE->set_pagelayout('standard'); $PAGE->set_title(get_string('editcolorspageheader', FORMAT_CTWCL_LANG_TABLE)); $PAGE->set_heading(get_string('editcolorspageheader', FORMAT_CTWCL_LANG_TABLE)); $settingseditform = new settings_edit_form($courseid); $toform = set_values($courseid); $settingseditform->set_data($toform); if ($settingseditform->is_cancelled()) { // Cancelled forms redirect to the course main page. $courseurl = new moodle_url('/course/view.php', array('id' => $courseid)); redirect($courseurl); } else { if ($fromform = $settingseditform->get_data()) { // Process form and redirect on completion. process_form($courseid, $fromform); $courseurl = new moodle_url('/course/view.php', array('id' => $courseid)); redirect($courseurl); } else { // Form didn't validate or this is the first display. $site = get_site(); echo $OUTPUT->header();
?> </span> <?php echo form_error('fields[' . $field->id . ']'); ?> <?php echo form_error('fields[' . $field->id . '][]'); // for checkbox ?> <?php if ($field->type == FieldTypes::CHECKBOX) { ?> <?php $values = set_values($inputName . '[]'); ?> <?php foreach ($field->options->getValueOptions() as $option_id => $option) { ?> <div class="subfield"> <?php echo form_checkbox($inputName . '[]', $option, array_search($option, $values) !== FALSE, 'id="fields' . $field->id . "-" . $option_id . '"'); echo form_label($option, 'fields' . $field->id . "-" . $option_id); ?> </div> <?php } ?> <?php