/** * */ public static function fields_selection_definition($mform, $dataformid, $prefix = null) { $options = array(0 => get_string('all'), 1 => get_string('selected', 'form')); $mform->addElement('select', $prefix . 'fieldselection', get_string('fields', 'dataform'), $options); $items = array(); if ($items = \mod_dataform_field_manager::instance($dataformid)->fields_menu) { $items = array_combine($items, $items); } $select =& $mform->addElement('select', $prefix . 'fields', null, $items); $select->setMultiple(true); $mform->disabledIf($prefix . 'fields', $prefix . 'fieldselection', 'eq', 0); }
/** * Returns the field manager of the Dataform this mannager works for. * * @return mod_dataform_field_manager */ public function get_field_manager() { return mod_dataform_field_manager::instance($this->dataformid); }
/** * Deletes plugin instances. * * @return void */ public function delete_instances() { global $DB; $params = array('type' => $this->name); if (!($instances = $DB->get_records_menu('dataform_fields', $params, 'dataid', 'id,dataid'))) { return; } $bydataform = array(); foreach ($instances as $instanceid => $dataformid) { if (empty($bydataform[$dataformid])) { $bydataform[$dataformid] = array(); } $bydataform[$dataformid][] = $instanceid; } foreach ($bydataform as $dataformid => $instanceids) { $entryman = \mod_dataform_field_manager::instance($dataformid); $entryman->process_fields('delete', $instanceids, true); } }