@@ 5528-5573 (lines=46) @@ | ||
5525 | * @param int $userId The user id |
|
5526 | * @return array |
|
5527 | */ |
|
5528 | public static function getCoursesFollowedByGroupAdmin($userId) |
|
5529 | { |
|
5530 | $coursesList = []; |
|
5531 | ||
5532 | $courseTable = Database::get_main_table(TABLE_MAIN_COURSE); |
|
5533 | $courseUserTable = Database::get_main_table(TABLE_MAIN_COURSE_USER); |
|
5534 | $userGroup = new UserGroup(); |
|
5535 | $userIdList = $userGroup->getGroupUsersByUser($userId); |
|
5536 | ||
5537 | if (empty($userIdList)) { |
|
5538 | return []; |
|
5539 | } |
|
5540 | ||
5541 | $sql = "SELECT DISTINCT(c.id), c.title |
|
5542 | FROM $courseTable c |
|
5543 | INNER JOIN $courseUserTable cru ON c.id = cru.c_id |
|
5544 | WHERE ( |
|
5545 | cru.user_id IN (" . implode(', ', $userIdList) . ") |
|
5546 | AND cru.relation_type = 0 |
|
5547 | )"; |
|
5548 | ||
5549 | if (api_is_multiple_url_enabled()) { |
|
5550 | $courseAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); |
|
5551 | $accessUrlId = api_get_current_access_url_id(); |
|
5552 | ||
5553 | if ($accessUrlId != -1) { |
|
5554 | $sql = "SELECT DISTINCT(c.id), c.title |
|
5555 | FROM $courseTable c |
|
5556 | INNER JOIN $courseUserTable cru ON c.id = cru.c_id |
|
5557 | INNER JOIN $courseAccessUrlTable crau ON c.id = crau.c_id |
|
5558 | WHERE crau.access_url_id = $accessUrlId |
|
5559 | AND ( |
|
5560 | cru.id_user IN (" . implode(', ', $userIdList) . ") AND |
|
5561 | cru.relation_type = 0 |
|
5562 | )"; |
|
5563 | } |
|
5564 | } |
|
5565 | ||
5566 | $result = Database::query($sql); |
|
5567 | ||
5568 | while ($row = Database::fetch_assoc($result)) { |
|
5569 | $coursesList[] = $row; |
|
5570 | } |
|
5571 | ||
5572 | return $coursesList; |
|
5573 | } |
|
5574 | ||
5575 | /** |
|
5576 | * Direct course link see #5299 |
@@ 6518-6563 (lines=46) @@ | ||
6515 | * @param int $userId The user id |
|
6516 | * @return array |
|
6517 | */ |
|
6518 | public static function getSessionsFollowedForGroupAdmin($userId) |
|
6519 | { |
|
6520 | $sessionList = array(); |
|
6521 | $sessionTable = Database::get_main_table(TABLE_MAIN_SESSION); |
|
6522 | $sessionUserTable = Database::get_main_table(TABLE_MAIN_SESSION_USER); |
|
6523 | $userGroup = new UserGroup(); |
|
6524 | $userIdList = $userGroup->getGroupUsersByUser($userId); |
|
6525 | ||
6526 | if (empty($userIdList)) { |
|
6527 | return []; |
|
6528 | } |
|
6529 | ||
6530 | $sql = "SELECT DISTINCT s.* |
|
6531 | FROM $sessionTable s |
|
6532 | INNER JOIN $sessionUserTable sru ON s.id = sru.id_session |
|
6533 | WHERE |
|
6534 | (sru.id_user IN (" . implode(', ', $userIdList) . ") |
|
6535 | AND sru.relation_type = 0 |
|
6536 | )"; |
|
6537 | ||
6538 | if (api_is_multiple_url_enabled()) { |
|
6539 | $sessionAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); |
|
6540 | $accessUrlId = api_get_current_access_url_id(); |
|
6541 | ||
6542 | if ($accessUrlId != -1) { |
|
6543 | $sql = "SELECT DISTINCT s.* |
|
6544 | FROM $sessionTable s |
|
6545 | INNER JOIN $sessionUserTable sru ON s.id = sru.id_session |
|
6546 | INNER JOIN $sessionAccessUrlTable srau ON s.id = srau.session_id |
|
6547 | WHERE |
|
6548 | srau.access_url_id = $accessUrlId |
|
6549 | AND ( |
|
6550 | sru.id_user IN (" . implode(', ', $userIdList) . ") |
|
6551 | AND sru.relation_type = 0 |
|
6552 | )"; |
|
6553 | } |
|
6554 | } |
|
6555 | ||
6556 | $result = Database::query($sql); |
|
6557 | ||
6558 | while ($row = Database::fetch_assoc($result)) { |
|
6559 | $sessionList[] = $row; |
|
6560 | } |
|
6561 | ||
6562 | return $sessionList; |
|
6563 | } |
|
6564 | ||
6565 | /** |
|
6566 | * @param array $sessionInfo |