/** * Overriding {@link dataformfieldrenderer::get_pattern_import_settings()} * to return import settings only for username, id, idnumber. * * @param moodleform $mform * @param string $pattern * @return array */ public function get_pattern_import_settings(&$mform, $patternname, $header) { $allowedpatternparts = array('username', 'id', 'idnumber'); $fieldname = $this->_field->name; $patternpart = trim(str_replace($fieldname, '', $patternname), ':'); if (!in_array($patternpart, $allowedpatternparts)) { return array(array(), array()); } return parent::get_pattern_import_settings($mform, $patternname, $header); }
/** * Returns import settings for the specified field pattern * that consist of a list of mform elements to group, and * a list of corresponding labels. * By default adds the specified pattern name. Subclasses can override * to exclude patterns from import or deny import at all. * * @param moodleform $mform * @param string $patternname * @param string $header The default value of the name element * @return array */ public function get_pattern_import_settings(&$mform, $patternname, $header) { $field = $this->_field; $fieldid = $field->id; $fieldname = $field->name; // Only [[fieldname]] can be imported. if ($patternname != $fieldname) { return array(array(), array()); } $name = "f_{$fieldid}_"; list($grp, $labels) = parent::get_pattern_import_settings($mform, $patternname, $header); // File picker. $fmoptions = array('subdirs' => 0, 'maxbytes' => $field->get_df()->course->maxbytes, 'maxfiles' => 1, 'accepted_types' => array('*.zip')); $grp[] =& $mform->createElement('filepicker', "{$name}_filepicker", null, null, $fmoptions); $labels[] = ''; return array($grp, $labels); }
/** * Overriding {@link dataformfieldrenderer::get_pattern_import_settings()} * to allow only the base pattern and add a setting for 'allow add option'. */ public function get_pattern_import_settings(&$mform, $patternname, $header) { $field = $this->_field; $fieldid = $field->id; $fieldname = $field->name; // Only [[fieldname]] can be imported. if ($patternname != $fieldname) { return array(array(), array()); } $name = "f_{$fieldid}_"; list($grp, $labels) = parent::get_pattern_import_settings($mform, $patternname, $header); $grp[] =& $mform->createElement('selectyesno', "{$name}_allownew"); $labels = array_merge($labels, array(' ' . get_string('allowaddoption', 'dataformfield_selectmulti') . ': ')); return array($grp, $labels); }
/** * Overriding {@link dataformfieldrenderer::get_pattern_import_settings()} * to allow only the base pattern. */ public function get_pattern_import_settings(&$mform, $patternname, $header) { // Only [[fieldname]] can be imported. if ($patternname != $this->_field->name) { return array(array(), array()); } return parent::get_pattern_import_settings($mform, $patternname, $header); }