| @@ 5775-5820 (lines=46) @@ | ||
| 5772 | * @param int $userId The user id |
|
| 5773 | * @return array |
|
| 5774 | */ |
|
| 5775 | public static function getCoursesFollowedByGroupAdmin($userId) |
|
| 5776 | { |
|
| 5777 | $coursesList = []; |
|
| 5778 | ||
| 5779 | $courseTable = Database::get_main_table(TABLE_MAIN_COURSE); |
|
| 5780 | $courseUserTable = Database::get_main_table(TABLE_MAIN_COURSE_USER); |
|
| 5781 | $userGroup = new UserGroup(); |
|
| 5782 | $userIdList = $userGroup->getGroupUsersByUser($userId); |
|
| 5783 | ||
| 5784 | if (empty($userIdList)) { |
|
| 5785 | return []; |
|
| 5786 | } |
|
| 5787 | ||
| 5788 | $sql = "SELECT DISTINCT(c.id), c.title |
|
| 5789 | FROM $courseTable c |
|
| 5790 | INNER JOIN $courseUserTable cru ON c.id = cru.c_id |
|
| 5791 | WHERE ( |
|
| 5792 | cru.user_id IN (" . implode(', ', $userIdList) . ") |
|
| 5793 | AND cru.relation_type = 0 |
|
| 5794 | )"; |
|
| 5795 | ||
| 5796 | if (api_is_multiple_url_enabled()) { |
|
| 5797 | $courseAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); |
|
| 5798 | $accessUrlId = api_get_current_access_url_id(); |
|
| 5799 | ||
| 5800 | if ($accessUrlId != -1) { |
|
| 5801 | $sql = "SELECT DISTINCT(c.id), c.title |
|
| 5802 | FROM $courseTable c |
|
| 5803 | INNER JOIN $courseUserTable cru ON c.id = cru.c_id |
|
| 5804 | INNER JOIN $courseAccessUrlTable crau ON c.id = crau.c_id |
|
| 5805 | WHERE crau.access_url_id = $accessUrlId |
|
| 5806 | AND ( |
|
| 5807 | cru.id_user IN (" . implode(', ', $userIdList) . ") AND |
|
| 5808 | cru.relation_type = 0 |
|
| 5809 | )"; |
|
| 5810 | } |
|
| 5811 | } |
|
| 5812 | ||
| 5813 | $result = Database::query($sql); |
|
| 5814 | ||
| 5815 | while ($row = Database::fetch_assoc($result)) { |
|
| 5816 | $coursesList[] = $row; |
|
| 5817 | } |
|
| 5818 | ||
| 5819 | return $coursesList; |
|
| 5820 | } |
|
| 5821 | ||
| 5822 | /** |
|
| 5823 | * Direct course link see #5299 |
|
| @@ 6854-6899 (lines=46) @@ | ||
| 6851 | * @param int $userId The user id |
|
| 6852 | * @return array |
|
| 6853 | */ |
|
| 6854 | public static function getSessionsFollowedForGroupAdmin($userId) |
|
| 6855 | { |
|
| 6856 | $sessionList = array(); |
|
| 6857 | $sessionTable = Database::get_main_table(TABLE_MAIN_SESSION); |
|
| 6858 | $sessionUserTable = Database::get_main_table(TABLE_MAIN_SESSION_USER); |
|
| 6859 | $userGroup = new UserGroup(); |
|
| 6860 | $userIdList = $userGroup->getGroupUsersByUser($userId); |
|
| 6861 | ||
| 6862 | if (empty($userIdList)) { |
|
| 6863 | return []; |
|
| 6864 | } |
|
| 6865 | ||
| 6866 | $sql = "SELECT DISTINCT s.* |
|
| 6867 | FROM $sessionTable s |
|
| 6868 | INNER JOIN $sessionUserTable sru |
|
| 6869 | ON s.id = sru.id_session |
|
| 6870 | WHERE |
|
| 6871 | (sru.id_user IN (" . implode(', ', $userIdList) . ") |
|
| 6872 | AND sru.relation_type = 0 |
|
| 6873 | )"; |
|
| 6874 | ||
| 6875 | if (api_is_multiple_url_enabled()) { |
|
| 6876 | $sessionAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); |
|
| 6877 | $accessUrlId = api_get_current_access_url_id(); |
|
| 6878 | ||
| 6879 | if ($accessUrlId != -1) { |
|
| 6880 | $sql = "SELECT DISTINCT s.* |
|
| 6881 | FROM $sessionTable s |
|
| 6882 | INNER JOIN $sessionUserTable sru ON s.id = sru.id_session |
|
| 6883 | INNER JOIN $sessionAccessUrlTable srau ON s.id = srau.session_id |
|
| 6884 | WHERE |
|
| 6885 | srau.access_url_id = $accessUrlId |
|
| 6886 | AND ( |
|
| 6887 | sru.id_user IN (" . implode(', ', $userIdList) . ") |
|
| 6888 | AND sru.relation_type = 0 |
|
| 6889 | )"; |
|
| 6890 | } |
|
| 6891 | } |
|
| 6892 | ||
| 6893 | $result = Database::query($sql); |
|
| 6894 | ||
| 6895 | while ($row = Database::fetch_assoc($result)) { |
|
| 6896 | $sessionList[] = $row; |
|
| 6897 | } |
|
| 6898 | ||
| 6899 | return $sessionList; |
|
| 6900 | } |
|
| 6901 | ||
| 6902 | /** |
|