/** * Test getting all data from all fieldsets. */ public function test_rlipexport_version1elis_extrafields_get_all_data() { // Mock configured fields. $this->create_field_mapping('test', 'testfield', 'Header 3', 3); $this->create_field_mapping('test', 'testfield2', 'Header 4', 4); $this->create_field_mapping('test', 'testfield3', 'Header 1', 1); $this->create_field_mapping('test2', 'fieldtest2', 'Header 2', 2); $this->create_field_mapping('test2', 'fieldtest4', 'Header 0', 0); // Mock record. $record = new stdClass(); $record->testfield = 'Data 0'; $record->testfield2 = 'Data 1'; $record->testfield3 = 'Data 2'; $record->fieldtest2 = 'Data 3'; $record->fieldtest4 = 'Data 4'; // Perform test. $additionaldata = rlipexport_version1elis_extrafields::get_all_data($record); $expecteddata = array(0 => 'Data 4', 1 => 'Data 2', 2 => 'Data 3', 3 => 'Data 0', 4 => 'Data 1'); $this->assertEquals($expecteddata, $additionaldata); }
/** * Hook for export the next data record in-place * * @return array The next record to be exported */ public function next() { // Fetch the current record. $record = $this->recordset->current(); // Set up our grade item. $grade_item = new stdClass(); if ($record->mdlcrsid !== null) { $grade_item->courseid = $record->mdlcrsid; } else { $grade_item->courseid = SITEID; } $grade_item->gradetype = GRADE_TYPE_VALUE; $grade_item->grademin = 0; $grade_item->grademax = 100; // Write the line out of a file. $csvrecord = array($record->firstname, $record->lastname, $record->username, $record->idnumber, $record->crsidnumber, date('M/d/Y', $record->enrolmenttime), date('M/d/Y', $record->completetime), $this->completestatusstring, $record->grade, grade_format_gradevalue($record->grade, $grade_item, true, GRADE_DISPLAY_TYPE_LETTER, 5)); // Add additional data for extra fields. $additional_data = rlipexport_version1elis_extrafields::get_all_data($record); $csvrecord = array_merge($csvrecord, $additional_data); // Move on to the next data record. $this->recordset->next(); return $csvrecord; }