/** * Test processing incoming form data. */ public function test_rlipexport_version1elis_extrafields_process_config_formdata() { $incomingformdata = array('fields' => array('test/testfield', 'test/testfield1', 'test/testfield2', 'test/testfield3', 'test/testfield4'), 'fieldnames' => array('', 'Non-existant', 'Test Field One', '', 'Test Field Three')); $expectedprocessedformdata = array('test/testfield' => array('header' => '', 'fieldset' => 'test', 'field' => 'testfield', 'fieldorder' => 0), 'test/testfield2' => array('header' => 'Test Field One', 'fieldset' => 'test', 'field' => 'testfield2', 'fieldorder' => 1), 'test/testfield3' => array('header' => '', 'fieldset' => 'test', 'field' => 'testfield3', 'fieldorder' => 2), 'test/testfield4' => array('header' => 'Test Field Three', 'fieldset' => 'test', 'field' => 'testfield4', 'fieldorder' => 3)); $processedformdata = rlipexport_version1elis_extrafields::process_config_formdata($incomingformdata); $this->assertEquals($expectedprocessedformdata, $processedformdata); }
$file = get_plugin_directory('dhexport', 'version1elis') . '/lib.php'; require_once $file; // Permissions checking. require_login(); $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])) {