/**
  * Test the main interface for all fieldsets.
  */
 public function test_rlipexport_version1elis_extrafields_detection()
 {
     $sets = rlipexport_version1elis_extrafields::get_available_sets();
     $this->assertInternalType('array', $sets);
     $this->assertTrue(in_array('test', $sets));
     $fields = rlipexport_version1elis_extrafields::get_available_fields();
     $this->assertInternalType('array', $fields);
     $this->assertArrayHasKey('test', $fields);
     $this->assertInternalType('array', $fields['test']);
     $this->assertArrayHasKey('testfield', $fields['test']);
     $this->assertEquals('Test Field', $fields['test']['testfield']);
 }
예제 #2
0
$context = context_system::instance();
require_capability('moodle/site:config', $context);
// Handle submitted actions.
$baseurl = $CFG->wwwroot . '/local/datahub/exportplugins/version1elis/config_fields.php';
$data_submitted = optional_param('data_submitted', false, PARAM_INT);
if (!empty($data_submitted)) {
    require_sesskey();
    $submitted_fields = optional_param_array('fields', array(), PARAM_SAFEPATH);
    // Safepath needed for '/'.
    $submitted_fieldnames = optional_param_array('fieldnames', array(), PARAM_ALPHANUM);
    $submitted_data = array('fields' => $submitted_fields, 'fieldnames' => $submitted_fieldnames);
    $processed_formdata = rlipexport_version1elis_extrafields::process_config_formdata($submitted_data);
    rlipexport_version1elis_extrafields::update_config($processed_formdata);
    redirect($baseurl);
}
$available_fields = rlipexport_version1elis_extrafields::get_available_fields();
$enabled_fields = rlipexport_version1elis_extrafields::get_enabled_fields();
$fieldsets = array();
$fields_by_fieldset = array();
$active_fields_by_fieldset_unordered = array();
$active_fields_by_fieldset_order = array();
$name_overrides = array();
foreach ($available_fields as $fieldset => $fields) {
    $fieldset_class = rlipexport_version1elis_extrafields::FIELDSET_PREFIX . $fieldset;
    $fieldsets[$fieldset] = $fieldset_class::get_label();
    foreach ($fields as $field => $header) {
        if (isset($enabled_fields[$fieldset][$field])) {
            $enabled_field_rec = $enabled_fields[$fieldset][$field];
            if ($enabled_field_rec->header !== '' && $enabled_field_rec->header !== null) {
                $name_overrides[$fieldset . '/' . $field] = $enabled_field_rec->header;
            }