|
|
|
@ -2335,8 +2335,11 @@ class UserManager |
|
|
|
* @return array list of statuses [session_category][session_id] |
|
|
|
* @return array list of statuses [session_category][session_id] |
|
|
|
* @todo ensure multiple access urls are managed correctly |
|
|
|
* @todo ensure multiple access urls are managed correctly |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public static function get_sessions_by_category($user_id, $is_time_over = false, $ignore_visibility_for_admins = false) |
|
|
|
public static function get_sessions_by_category( |
|
|
|
{ |
|
|
|
$user_id, |
|
|
|
|
|
|
|
$is_time_over = false, |
|
|
|
|
|
|
|
$ignore_visibility_for_admins = false |
|
|
|
|
|
|
|
) { |
|
|
|
// Database Table Definitions |
|
|
|
// Database Table Definitions |
|
|
|
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION); |
|
|
|
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION); |
|
|
|
$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER); |
|
|
|
$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER); |
|
|
|
@ -2395,8 +2398,35 @@ class UserManager |
|
|
|
|
|
|
|
|
|
|
|
$session_id = $row['id']; |
|
|
|
$session_id = $row['id']; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$courseList = UserManager::get_courses_list_by_session( |
|
|
|
|
|
|
|
$user_id, |
|
|
|
|
|
|
|
$row['id'] |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// General coach session visibility. |
|
|
|
|
|
|
|
$visibility = api_get_session_visibility( |
|
|
|
|
|
|
|
$session_id, |
|
|
|
|
|
|
|
null, |
|
|
|
|
|
|
|
$ignore_visibility_for_admins |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Course Coach session visibility. |
|
|
|
|
|
|
|
$atLeastOneCourseIsVisible = false; |
|
|
|
|
|
|
|
foreach ($courseList as $course) { |
|
|
|
// Checking session visibility |
|
|
|
// Checking session visibility |
|
|
|
$visibility = api_get_session_visibility($session_id, null, $ignore_visibility_for_admins); |
|
|
|
$visibility = api_get_session_visibility( |
|
|
|
|
|
|
|
$session_id, |
|
|
|
|
|
|
|
$course['code'], |
|
|
|
|
|
|
|
$ignore_visibility_for_admins |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
if ($visibility != SESSION_INVISIBLE) { |
|
|
|
|
|
|
|
$atLeastOneCourseIsVisible = true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($atLeastOneCourseIsVisible) { |
|
|
|
|
|
|
|
$visibility = $atLeastOneCourseIsVisible; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
switch ($visibility) { |
|
|
|
switch ($visibility) { |
|
|
|
case SESSION_VISIBLE_READ_ONLY: |
|
|
|
case SESSION_VISIBLE_READ_ONLY: |
|
|
|
@ -2413,9 +2443,10 @@ class UserManager |
|
|
|
$categories[$row['session_category_id']]['sessions'][$row['id']]['date_end'] = $row['date_end']; |
|
|
|
$categories[$row['session_category_id']]['sessions'][$row['id']]['date_end'] = $row['date_end']; |
|
|
|
$categories[$row['session_category_id']]['sessions'][$row['id']]['nb_days_access_before_beginning'] = $row['nb_days_access_before_beginning']; |
|
|
|
$categories[$row['session_category_id']]['sessions'][$row['id']]['nb_days_access_before_beginning'] = $row['nb_days_access_before_beginning']; |
|
|
|
$categories[$row['session_category_id']]['sessions'][$row['id']]['nb_days_access_after_end'] = $row['nb_days_access_after_end']; |
|
|
|
$categories[$row['session_category_id']]['sessions'][$row['id']]['nb_days_access_after_end'] = $row['nb_days_access_after_end']; |
|
|
|
$categories[$row['session_category_id']]['sessions'][$row['id']]['courses'] = UserManager::get_courses_list_by_session($user_id, $row['id']); |
|
|
|
$categories[$row['session_category_id']]['sessions'][$row['id']]['courses'] = $courseList; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return $categories; |
|
|
|
return $categories; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|