/**
  * 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);
 }
예제 #2
0
$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])) {