/** * Performs the parent transformations, and sets ['meta']['enrolled'], for use by the rowfilter function. * * @param array $row An array for a single result. * @return array The transformed result. */ protected function results_row_transform(array $row) { $row = parent::results_row_transform($row); $row['meta']['enrolled'] = !empty($row['enrol_id']) ? true : false; return $row; }
/** * Formats various attributes for human consumption. * * Changes the locked int to yes/no, formated enrolment and completion times into date strings, converts completion status * to human-readable label. * * @param array $row An array for a single result. * @return array The transformed result. */ protected function results_row_transform(array $row) { $row = parent::results_row_transform($row); // Locked 0,1 => no, yes. if (isset($row['enrol_locked'])) { $row['enrol_locked'] = $row['enrol_locked'] == 1 ? get_string('yes', 'moodle') : get_string('no', 'moodle'); } // Format enrolment time. if (isset($row['enrol_enrolmenttime'])) { $row['enrol_enrolmenttime'] = ds_process_displaytime($row['enrol_enrolmenttime']); } // Format completion time. if (isset($row['enrol_completetime'])) { $statusiscomplete = isset($row['enrol_completestatusid']) && $row['enrol_completestatusid'] != STUSTATUS_NOTCOMPLETE ? true : false; $row['enrol_completetime'] = $statusiscomplete === true ? ds_process_displaytime($row['enrol_completetime']) : ''; } // Completion status ints to labels. if (isset($row['enrol_completestatusid'])) { $choices = array(STUSTATUS_NOTCOMPLETE => get_string('n_completed', 'local_elisprogram'), STUSTATUS_PASSED => get_string('passed', 'local_elisprogram'), STUSTATUS_FAILED => get_string('failed', 'local_elisprogram')); $row['enrol_completestatusid'] = $choices[$row['enrol_completestatusid']]; } if (isset($row['enrol_grade'])) { $row['enrol_grade'] = pm_display_grade($row['enrol_grade']); } return $row; }