|
|
|
@ -1874,6 +1874,10 @@ function api_is_course_tutor() { |
|
|
|
|
* @return boolean True if current user is a course or session coach |
|
|
|
|
*/ |
|
|
|
|
function api_is_coach($session_id = 0, $course_code = '') { |
|
|
|
|
//@todo Not sure about this one |
|
|
|
|
/*if (api_is_platform_admin()) { |
|
|
|
|
return true; |
|
|
|
|
}*/ |
|
|
|
|
if (!empty($session_id)) { |
|
|
|
|
$session_id = intval($session_id); |
|
|
|
|
} else { |
|
|
|
@ -1884,33 +1888,34 @@ function api_is_coach($session_id = 0, $course_code = '') { |
|
|
|
|
$course_code = Database::escape_string($course_code); |
|
|
|
|
} else { |
|
|
|
|
$course_code = api_get_course_id(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!empty($course_code)) { |
|
|
|
|
} |
|
|
|
|
$session_table = Database::get_main_table(TABLE_MAIN_SESSION); |
|
|
|
|
$session_rel_course_rel_user_table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); |
|
|
|
|
$sessionIsCoach = null; |
|
|
|
|
if (!empty($course_code)) { |
|
|
|
|
$sql = "SELECT DISTINCT id, name, date_start, date_end |
|
|
|
|
FROM session INNER JOIN session_rel_course_rel_user session_rc_ru |
|
|
|
|
FROM $session_table INNER JOIN $session_rel_course_rel_user_table session_rc_ru |
|
|
|
|
ON session_rc_ru.id_user = '".api_get_user_id()."' |
|
|
|
|
WHERE session_rc_ru.course_code = '$course_code' AND session_rc_ru.status = 2 AND session_rc_ru.id_session = '$session_id' |
|
|
|
|
ORDER BY date_start, date_end, name"; |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
$sessionIsCoach = Database::store_result($result); |
|
|
|
|
$sessionIsCoach = Database::store_result($result); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!empty($session_id)) { |
|
|
|
|
$sql = "SELECT DISTINCT id, name, date_start, date_end |
|
|
|
|
FROM session |
|
|
|
|
FROM $session_table |
|
|
|
|
WHERE session.id_coach = '".api_get_user_id()."' AND id = '$session_id' |
|
|
|
|
ORDER BY date_start, date_end, name"; |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
if (!empty($sessionIsCoach)) { |
|
|
|
|
$sessionIsCoach = array_merge($sessionIsCoach , Database::store_result($result)); |
|
|
|
|
} else { |
|
|
|
|
$sessionIsCoach = Database::store_result($result); |
|
|
|
|
$sessionIsCoach = Database::store_result($result); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return (count($sessionIsCoach) > 0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -2152,6 +2157,7 @@ function api_is_allowed_to_edit($tutor = false, $coach = false, $session_coach = |
|
|
|
|
$session_visibility = api_get_session_visibility($my_session_id); |
|
|
|
|
|
|
|
|
|
$is_courseAdmin = api_is_course_admin() || api_is_platform_admin(); |
|
|
|
|
|
|
|
|
|
if (!$is_courseAdmin && $tutor) { // If we also want to check if the user is a tutor... |
|
|
|
|
$is_courseAdmin = $is_courseAdmin || api_is_course_tutor(); |
|
|
|
|
} |
|
|
|
|