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