/** * Format class editions info data to be displayed * @param array $courses * @return array */ protected function _getClassDisplayInfo($courses) { $model = new ClassroomLms(); $class_info = $model->getUserEditionsInfo(Docebo::user()->getIdst(), $courses); if (empty($class_info)) { return array(); } $dm = new DateManager(); $status_arr = $dm->getStatusForDropdown(); $output = array(); foreach ($class_info as $id_course => $classrooms) { $output[$id_course] = array(); foreach ($classrooms as $id_classroom => $classroom) { if (!isset($output[$id_course][$id_classroom])) { $output[$id_course][$id_classroom] = new stdClass(); $output[$id_course][$id_classroom]->code = $classroom->code; $output[$id_course][$id_classroom]->name = $classroom->name; $output[$id_course][$id_classroom]->location = $classroom->location; $output[$id_course][$id_classroom]->enrolled = $classroom->enrolled; $output[$id_course][$id_classroom]->status = $status_arr[$classroom->status]; $output[$id_course][$id_classroom]->date_min = $classroom->date_min; $output[$id_course][$id_classroom]->date_max = $classroom->date_max; if (property_exists($classroom, 'date_info')) { $output[$id_course][$id_classroom]->date_info = $classroom->date_info; // (array) } else { $output[$id_course][$id_classroom]->date_info = false; } } if (!property_exists($output[$id_course][$id_classroom], 'start_date')) { $output[$id_course][$id_classroom]->start_date = $classroom->date_begin; } if (!property_exists($output[$id_course][$id_classroom], 'end_date')) { $output[$id_course][$id_classroom]->end_date = $classroom->date_end; } if ($classroom->date_end > $output[$id_course][$id_classroom]->end_date) { $output[$id_course][$id_classroom]->end_date = $classroom->date_end; } if ($classroom->date_begin < $output[$id_course][$id_classroom]->start_date) { $output[$id_course][$id_classroom]->start_date = $classroom->date_begin; } } } return $output; }