| @@ 5979-6024 (lines=46) @@ | ||
| 5976 | * @param int $userId The user id |
|
| 5977 | * @return array |
|
| 5978 | */ |
|
| 5979 | public static function getCoursesFollowedByGroupAdmin($userId) |
|
| 5980 | { |
|
| 5981 | $coursesList = []; |
|
| 5982 | ||
| 5983 | $courseTable = Database::get_main_table(TABLE_MAIN_COURSE); |
|
| 5984 | $courseUserTable = Database::get_main_table(TABLE_MAIN_COURSE_USER); |
|
| 5985 | $userGroup = new UserGroup(); |
|
| 5986 | $userIdList = $userGroup->getGroupUsersByUser($userId); |
|
| 5987 | ||
| 5988 | if (empty($userIdList)) { |
|
| 5989 | return []; |
|
| 5990 | } |
|
| 5991 | ||
| 5992 | $sql = "SELECT DISTINCT(c.id), c.title |
|
| 5993 | FROM $courseTable c |
|
| 5994 | INNER JOIN $courseUserTable cru ON c.id = cru.c_id |
|
| 5995 | WHERE ( |
|
| 5996 | cru.user_id IN (".implode(', ', $userIdList).") |
|
| 5997 | AND cru.relation_type = 0 |
|
| 5998 | )"; |
|
| 5999 | ||
| 6000 | if (api_is_multiple_url_enabled()) { |
|
| 6001 | $courseAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); |
|
| 6002 | $accessUrlId = api_get_current_access_url_id(); |
|
| 6003 | ||
| 6004 | if ($accessUrlId != -1) { |
|
| 6005 | $sql = "SELECT DISTINCT(c.id), c.title |
|
| 6006 | FROM $courseTable c |
|
| 6007 | INNER JOIN $courseUserTable cru ON c.id = cru.c_id |
|
| 6008 | INNER JOIN $courseAccessUrlTable crau ON c.id = crau.c_id |
|
| 6009 | WHERE crau.access_url_id = $accessUrlId |
|
| 6010 | AND ( |
|
| 6011 | cru.id_user IN (".implode(', ', $userIdList).") AND |
|
| 6012 | cru.relation_type = 0 |
|
| 6013 | )"; |
|
| 6014 | } |
|
| 6015 | } |
|
| 6016 | ||
| 6017 | $result = Database::query($sql); |
|
| 6018 | while ($row = Database::fetch_assoc($result)) { |
|
| 6019 | $coursesList[] = $row; |
|
| 6020 | } |
|
| 6021 | ||
| 6022 | return $coursesList; |
|
| 6023 | } |
|
| 6024 | ||
| 6025 | /** |
|
| 6026 | * Direct course link see #5299 |
|
| 6027 | * |
|
| @@ 7075-7120 (lines=46) @@ | ||
| 7072 | * @param int $userId The user id |
|
| 7073 | * @return array |
|
| 7074 | */ |
|
| 7075 | public static function getSessionsFollowedForGroupAdmin($userId) |
|
| 7076 | { |
|
| 7077 | $sessionList = array(); |
|
| 7078 | $sessionTable = Database::get_main_table(TABLE_MAIN_SESSION); |
|
| 7079 | $sessionUserTable = Database::get_main_table(TABLE_MAIN_SESSION_USER); |
|
| 7080 | $userGroup = new UserGroup(); |
|
| 7081 | $userIdList = $userGroup->getGroupUsersByUser($userId); |
|
| 7082 | ||
| 7083 | if (empty($userIdList)) { |
|
| 7084 | return []; |
|
| 7085 | } |
|
| 7086 | ||
| 7087 | $sql = "SELECT DISTINCT s.* |
|
| 7088 | FROM $sessionTable s |
|
| 7089 | INNER JOIN $sessionUserTable sru |
|
| 7090 | ON s.id = sru.id_session |
|
| 7091 | WHERE |
|
| 7092 | (sru.id_user IN (".implode(', ', $userIdList).") |
|
| 7093 | AND sru.relation_type = 0 |
|
| 7094 | )"; |
|
| 7095 | ||
| 7096 | if (api_is_multiple_url_enabled()) { |
|
| 7097 | $sessionAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); |
|
| 7098 | $accessUrlId = api_get_current_access_url_id(); |
|
| 7099 | ||
| 7100 | if ($accessUrlId != -1) { |
|
| 7101 | $sql = "SELECT DISTINCT s.* |
|
| 7102 | FROM $sessionTable s |
|
| 7103 | INNER JOIN $sessionUserTable sru ON s.id = sru.id_session |
|
| 7104 | INNER JOIN $sessionAccessUrlTable srau ON s.id = srau.session_id |
|
| 7105 | WHERE |
|
| 7106 | srau.access_url_id = $accessUrlId |
|
| 7107 | AND ( |
|
| 7108 | sru.id_user IN (".implode(', ', $userIdList).") |
|
| 7109 | AND sru.relation_type = 0 |
|
| 7110 | )"; |
|
| 7111 | } |
|
| 7112 | } |
|
| 7113 | ||
| 7114 | $result = Database::query($sql); |
|
| 7115 | ||
| 7116 | while ($row = Database::fetch_assoc($result)) { |
|
| 7117 | $sessionList[] = $row; |
|
| 7118 | } |
|
| 7119 | ||
| 7120 | return $sessionList; |
|
| 7121 | } |
|
| 7122 | ||
| 7123 | /** |
|