| @@ 5930-5975 (lines=46) @@ | ||
| 5927 | * @param int $userId The user id |
|
| 5928 | * @return array |
|
| 5929 | */ |
|
| 5930 | public static function getCoursesFollowedByGroupAdmin($userId) |
|
| 5931 | { |
|
| 5932 | $coursesList = []; |
|
| 5933 | ||
| 5934 | $courseTable = Database::get_main_table(TABLE_MAIN_COURSE); |
|
| 5935 | $courseUserTable = Database::get_main_table(TABLE_MAIN_COURSE_USER); |
|
| 5936 | $userGroup = new UserGroup(); |
|
| 5937 | $userIdList = $userGroup->getGroupUsersByUser($userId); |
|
| 5938 | ||
| 5939 | if (empty($userIdList)) { |
|
| 5940 | return []; |
|
| 5941 | } |
|
| 5942 | ||
| 5943 | $sql = "SELECT DISTINCT(c.id), c.title |
|
| 5944 | FROM $courseTable c |
|
| 5945 | INNER JOIN $courseUserTable cru ON c.id = cru.c_id |
|
| 5946 | WHERE ( |
|
| 5947 | cru.user_id IN (" . implode(', ', $userIdList) . ") |
|
| 5948 | AND cru.relation_type = 0 |
|
| 5949 | )"; |
|
| 5950 | ||
| 5951 | if (api_is_multiple_url_enabled()) { |
|
| 5952 | $courseAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); |
|
| 5953 | $accessUrlId = api_get_current_access_url_id(); |
|
| 5954 | ||
| 5955 | if ($accessUrlId != -1) { |
|
| 5956 | $sql = "SELECT DISTINCT(c.id), c.title |
|
| 5957 | FROM $courseTable c |
|
| 5958 | INNER JOIN $courseUserTable cru ON c.id = cru.c_id |
|
| 5959 | INNER JOIN $courseAccessUrlTable crau ON c.id = crau.c_id |
|
| 5960 | WHERE crau.access_url_id = $accessUrlId |
|
| 5961 | AND ( |
|
| 5962 | cru.id_user IN (" . implode(', ', $userIdList) . ") AND |
|
| 5963 | cru.relation_type = 0 |
|
| 5964 | )"; |
|
| 5965 | } |
|
| 5966 | } |
|
| 5967 | ||
| 5968 | $result = Database::query($sql); |
|
| 5969 | ||
| 5970 | while ($row = Database::fetch_assoc($result)) { |
|
| 5971 | $coursesList[] = $row; |
|
| 5972 | } |
|
| 5973 | ||
| 5974 | return $coursesList; |
|
| 5975 | } |
|
| 5976 | ||
| 5977 | /** |
|
| 5978 | * Direct course link see #5299 |
|
| @@ 6957-7002 (lines=46) @@ | ||
| 6954 | * @param int $userId The user id |
|
| 6955 | * @return array |
|
| 6956 | */ |
|
| 6957 | public static function getSessionsFollowedForGroupAdmin($userId) |
|
| 6958 | { |
|
| 6959 | $sessionList = array(); |
|
| 6960 | $sessionTable = Database::get_main_table(TABLE_MAIN_SESSION); |
|
| 6961 | $sessionUserTable = Database::get_main_table(TABLE_MAIN_SESSION_USER); |
|
| 6962 | $userGroup = new UserGroup(); |
|
| 6963 | $userIdList = $userGroup->getGroupUsersByUser($userId); |
|
| 6964 | ||
| 6965 | if (empty($userIdList)) { |
|
| 6966 | return []; |
|
| 6967 | } |
|
| 6968 | ||
| 6969 | $sql = "SELECT DISTINCT s.* |
|
| 6970 | FROM $sessionTable s |
|
| 6971 | INNER JOIN $sessionUserTable sru |
|
| 6972 | ON s.id = sru.id_session |
|
| 6973 | WHERE |
|
| 6974 | (sru.id_user IN (" . implode(', ', $userIdList) . ") |
|
| 6975 | AND sru.relation_type = 0 |
|
| 6976 | )"; |
|
| 6977 | ||
| 6978 | if (api_is_multiple_url_enabled()) { |
|
| 6979 | $sessionAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); |
|
| 6980 | $accessUrlId = api_get_current_access_url_id(); |
|
| 6981 | ||
| 6982 | if ($accessUrlId != -1) { |
|
| 6983 | $sql = "SELECT DISTINCT s.* |
|
| 6984 | FROM $sessionTable s |
|
| 6985 | INNER JOIN $sessionUserTable sru ON s.id = sru.id_session |
|
| 6986 | INNER JOIN $sessionAccessUrlTable srau ON s.id = srau.session_id |
|
| 6987 | WHERE |
|
| 6988 | srau.access_url_id = $accessUrlId |
|
| 6989 | AND ( |
|
| 6990 | sru.id_user IN (" . implode(', ', $userIdList) . ") |
|
| 6991 | AND sru.relation_type = 0 |
|
| 6992 | )"; |
|
| 6993 | } |
|
| 6994 | } |
|
| 6995 | ||
| 6996 | $result = Database::query($sql); |
|
| 6997 | ||
| 6998 | while ($row = Database::fetch_assoc($result)) { |
|
| 6999 | $sessionList[] = $row; |
|
| 7000 | } |
|
| 7001 | ||
| 7002 | return $sessionList; |
|
| 7003 | } |
|
| 7004 | ||
| 7005 | /** |
|