|
|
|
@ -6050,13 +6050,6 @@ class SessionManager |
|
|
|
$direction = in_array(strtolower($direction), ['asc', 'desc']) ? $direction : 'asc'; |
|
|
|
$direction = in_array(strtolower($direction), ['asc', 'desc']) ? $direction : 'asc'; |
|
|
|
$column = Database::escape_string($column); |
|
|
|
$column = Database::escape_string($column); |
|
|
|
|
|
|
|
|
|
|
|
$limitCondition = ''; |
|
|
|
|
|
|
|
if (isset($from) && isset($numberItems)) { |
|
|
|
|
|
|
|
$from = (int) $from; |
|
|
|
|
|
|
|
$numberItems = (int) $numberItems; |
|
|
|
|
|
|
|
$limitCondition = "LIMIT $from, $numberItems"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$urlId = api_get_current_access_url_id(); |
|
|
|
$urlId = api_get_current_access_url_id(); |
|
|
|
|
|
|
|
|
|
|
|
$sessionConditions = ''; |
|
|
|
$sessionConditions = ''; |
|
|
|
@ -6097,34 +6090,34 @@ class SessionManager |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
switch ($status) { |
|
|
|
switch ($status) { |
|
|
|
|
|
|
|
case 'admin': |
|
|
|
case 'drh': |
|
|
|
case 'drh': |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 'drh_all': |
|
|
|
case 'drh_all': |
|
|
|
// Show all by DRH |
|
|
|
// Show all by DRH |
|
|
|
if (empty($sessionIdList)) { |
|
|
|
if (empty($sessionIdList)) { |
|
|
|
$sessionsListSql = self::get_sessions_followed_by_drh( |
|
|
|
$sessionListFollowed = self::get_sessions_followed_by_drh( |
|
|
|
$userId, |
|
|
|
$userId, |
|
|
|
null, |
|
|
|
null, |
|
|
|
null, |
|
|
|
null, |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
|
|
|
|
true |
|
|
|
true |
|
|
|
); |
|
|
|
); |
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
|
|
if (!empty($sessionListFollowed)) { |
|
|
|
|
|
|
|
$sessionIdList = array_column($sessionListFollowed, 'id'); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!empty($sessionIdList)) { |
|
|
|
$sessionIdList = array_map('intval', $sessionIdList); |
|
|
|
$sessionIdList = array_map('intval', $sessionIdList); |
|
|
|
$sessionsListSql = "'".implode("','", $sessionIdList)."'"; |
|
|
|
$sessionsListSql = "'".implode("','", $sessionIdList)."'"; |
|
|
|
} |
|
|
|
|
|
|
|
if (!empty($sessionsListSql)) { |
|
|
|
|
|
|
|
$sessionConditions = " AND s.id IN ($sessionsListSql) "; |
|
|
|
$sessionConditions = " AND s.id IN ($sessionsListSql) "; |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
|
|
|
|
case 'session_admin': |
|
|
|
|
|
|
|
$sessionConditions = " AND s.id_coach = $userId "; |
|
|
|
|
|
|
|
$userConditionsFromDrh = ''; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 'admin': |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
case 'teacher': |
|
|
|
case 'teacher': |
|
|
|
|
|
|
|
case 'session_admin': |
|
|
|
$sessionConditions = " AND s.id_coach = $userId "; |
|
|
|
$sessionConditions = " AND s.id_coach = $userId "; |
|
|
|
$userConditionsFromDrh = ''; |
|
|
|
$userConditionsFromDrh = ''; |
|
|
|
break; |
|
|
|
break; |
|
|
|
@ -6177,19 +6170,19 @@ class SessionManager |
|
|
|
|
|
|
|
|
|
|
|
$sql = "$masterSelect ( |
|
|
|
$sql = "$masterSelect ( |
|
|
|
($select |
|
|
|
($select |
|
|
|
FROM $tbl_session s |
|
|
|
FROM $tbl_session s |
|
|
|
|
|
|
|
INNER JOIN $tbl_session_rel_access_url url ON (url.session_id = s.id) |
|
|
|
INNER JOIN $tbl_session_rel_course_rel_user su ON (s.id = su.session_id) |
|
|
|
INNER JOIN $tbl_session_rel_course_rel_user su ON (s.id = su.session_id) |
|
|
|
INNER JOIN $tbl_user u ON (u.user_id = su.user_id) |
|
|
|
INNER JOIN $tbl_user u ON (u.user_id = su.user_id) |
|
|
|
INNER JOIN $tbl_session_rel_access_url url ON (url.session_id = s.id) |
|
|
|
|
|
|
|
$where |
|
|
|
$where |
|
|
|
$sessionConditions |
|
|
|
$sessionConditions |
|
|
|
$userConditionsFromDrh |
|
|
|
$userConditionsFromDrh |
|
|
|
) UNION ( |
|
|
|
) UNION ( |
|
|
|
$select |
|
|
|
$select |
|
|
|
FROM $tbl_course c |
|
|
|
FROM $tbl_course c |
|
|
|
|
|
|
|
INNER JOIN $tbl_course_rel_access_url url ON (url.c_id = c.id) |
|
|
|
INNER JOIN $tbl_course_user cu ON (cu.c_id = c.id) |
|
|
|
INNER JOIN $tbl_course_user cu ON (cu.c_id = c.id) |
|
|
|
INNER JOIN $tbl_user u ON (u.user_id = cu.user_id) |
|
|
|
INNER JOIN $tbl_user u ON (u.user_id = cu.user_id) |
|
|
|
INNER JOIN $tbl_course_rel_access_url url ON (url.c_id = c.id) |
|
|
|
|
|
|
|
$where |
|
|
|
$where |
|
|
|
$courseConditions |
|
|
|
$courseConditions |
|
|
|
$userConditionsFromDrh |
|
|
|
$userConditionsFromDrh |
|
|
|
@ -6213,11 +6206,18 @@ class SessionManager |
|
|
|
$column = str_replace('u.', '', $column); |
|
|
|
$column = str_replace('u.', '', $column); |
|
|
|
$sql .= " ORDER BY $column $direction "; |
|
|
|
$sql .= " ORDER BY $column $direction "; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$limitCondition = ''; |
|
|
|
|
|
|
|
if (isset($from) && isset($numberItems)) { |
|
|
|
|
|
|
|
$from = (int) $from; |
|
|
|
|
|
|
|
$numberItems = (int) $numberItems; |
|
|
|
|
|
|
|
$limitCondition = "LIMIT $from, $numberItems"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$sql .= $limitCondition; |
|
|
|
$sql .= $limitCondition; |
|
|
|
$result = Database::query($sql); |
|
|
|
$result = Database::query($sql); |
|
|
|
$result = Database::store_result($result); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return $result; |
|
|
|
return Database::store_result($result); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
|