示例#1
0
 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;
 }