public static function user_get_booked_courses($user_id, $semester_obj_id = "") { if (empty($semester_obj_id)) { $scg = steam_factory::get_object($GLOBALS["STEAM"]->get_id(), STEAM_COURSES_GROUP, CLASS_GROUP); $semester = steam_factory::groupname_to_object($GLOBALS["STEAM"]->get_id(), $scg->get_groupname() . "." . STEAM_CURRENT_SEMESTER); } else { $semester = steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $semester_obj_id, CLASS_GROUP); } $user = steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $user_id, CLASS_USER); $groups = $user->get_groups(); $group_parents_tnr = array(); foreach ($groups as $group) { $group_parents_tnr[$group->get_id()] = $group->get_parent_group(TRUE); } $group_parents_result = $GLOBALS["STEAM"]->buffer_flush(); $parent = FALSE; $course_data_tnr = array(); $attributes = array(OBJ_NAME, OBJ_DESC, OBJ_TYPE, "COURSE_UNITS_ENABLED", "COURSE_NUMBER"); foreach ($groups as $group) { $parent = $group_parents_result[$group_parents_tnr[$group->get_id()]]; if (is_object($parent)) { $course_data_tnr[$group->get_id()] = array(); $course_data_tnr[$group->get_id()]["semester_group"] = $parent->get_parent_group(TRUE); $course_data_tnr[$group->get_id()]["attributes"] = $parent->get_attributes($attributes, TRUE); } } $course_data_tnr[$semester->get_id()] = $semester->get_name(TRUE); $course_data_result = $GLOBALS["STEAM"]->buffer_flush(); $result = array(); foreach ($groups as $group) { $id = $group->get_id(); if (!isset($course_data_tnr[$id]["semester_group"])) { continue; } $cd = $course_data_tnr[$id]["semester_group"]; $course_parent = $course_data_result[$cd]; $course = $group_parents_result[$group_parents_tnr[$group->get_id()]]; if (is_object($course_parent) && $course_parent->get_id() == $semester->get_id()) { $attributes = array(); $attributes["OBJ_ID"] = $course->get_id(); $attributes["OBJ_NAME"] = $course_data_result[$course_data_tnr[$group->get_id()]["attributes"]][OBJ_NAME]; $attributes["COURSE_NAME"] = $course_data_result[$course_data_tnr[$group->get_id()]["attributes"]][OBJ_DESC] . " (" . koala_group_course::s_convert_course_id($course_data_result[$course_data_tnr[$group->get_id()]["attributes"]][OBJ_NAME], $course_data_result[$course_data_tnr[$group->get_id()]["attributes"]]["COURSE_NUMBER"]) . ")"; $attributes["COURSE_LINK"] = PATH_URL . SEMESTER_URL . "/" . $course_data_result[$course_data_tnr[$semester->get_id()]] . "/" . $course_data_result[$course_data_tnr[$group->get_id()]["attributes"]][OBJ_NAME] . "/"; $attributes["SEMESTER_NAME"] = $course_data_result[$course_data_tnr[$semester->get_id()]]; $attributes["COURSE_UNITS_ENABLED"] = $course_data_result[$course_data_tnr[$group->get_id()]["attributes"]]["COURSE_UNITS_ENABLED"]; $result[$course->get_id()] = $attributes; } } return $result; }