|
|
|
|
@ -6583,29 +6583,38 @@ SQL; |
|
|
|
|
{ |
|
|
|
|
$timezone = new DateTimeZone(api_get_timezone()); |
|
|
|
|
|
|
|
|
|
$sessions = []; |
|
|
|
|
|
|
|
|
|
if (DRH == $userInfo['status']) { |
|
|
|
|
$sessions = SessionManager::get_sessions_followed_by_drh($userInfo['id']); |
|
|
|
|
} elseif (SESSIONADMIN == $userInfo['status']) { |
|
|
|
|
$sessions = SessionManager::getSessionsAdmin($userInfo['id']); |
|
|
|
|
} else { |
|
|
|
|
$sessionsByCategory = self::get_sessions_by_category($userInfo['id'], false, true, true); |
|
|
|
|
$sessionsByCategory = array_column($sessionsByCategory, 'sessions'); |
|
|
|
|
|
|
|
|
|
foreach ($sessionsByCategory as $sessionsInCategory) { |
|
|
|
|
$sessions = array_merge($sessions, $sessionsInCategory); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sessions = array_map( |
|
|
|
|
function ($sessionInfo) { |
|
|
|
|
if (!isset($sessionInfo['session_id'])) { |
|
|
|
|
$sessionInfo['session_id'] = $sessionInfo['id']; |
|
|
|
|
} |
|
|
|
|
if (!isset($sessionInfo['session_name'])) { |
|
|
|
|
$sessionInfo['session_name'] = $sessionInfo['name']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $sessionInfo; |
|
|
|
|
}, |
|
|
|
|
$sessions |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
$sessionsByCategory = ['' => $sessions]; |
|
|
|
|
} else { |
|
|
|
|
$sessionsByCategory = self::get_sessions_by_category($userInfo['id'], false, true, true); |
|
|
|
|
$sessionsByCategory = array_column($sessionsByCategory, 'sessions'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sessionsList = []; |
|
|
|
|
$calendarSessions = []; |
|
|
|
|
|
|
|
|
|
foreach ($sessionsByCategory as $categorySessions) { |
|
|
|
|
foreach ($categorySessions as $sessionInfo) { |
|
|
|
|
foreach ($sessions as $sessionInfo) { |
|
|
|
|
if (!empty($sessionInfo['duration'])) { |
|
|
|
|
$courseAccess = CourseManager::getFirstCourseAccessPerSessionAndUser( |
|
|
|
|
$sessionInfo['session_id'], |
|
|
|
|
@ -6624,7 +6633,7 @@ SQL; |
|
|
|
|
$lastAccessYear = (int) $lastAccessDate->format('Y'); |
|
|
|
|
|
|
|
|
|
if ($firstAccessYear <= $searchYear && $lastAccessYear >= $searchYear) { |
|
|
|
|
$sessionsList[$sessionInfo['session_id']] = [ |
|
|
|
|
$calendarSessions[$sessionInfo['session_id']] = [ |
|
|
|
|
'name' => $sessionInfo['session_name'], |
|
|
|
|
'access_start_date' => $firstAcessDate->format('Y-m-d h:i:s'), |
|
|
|
|
'access_end_date' => $lastAccessDate->format('Y-m-d h:i:s'), |
|
|
|
|
@ -6664,16 +6673,15 @@ SQL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($isValid) { |
|
|
|
|
$sessionsList[$sessionInfo['session_id']] = [ |
|
|
|
|
$calendarSessions[$sessionInfo['session_id']] = [ |
|
|
|
|
'name' => $sessionInfo['session_name'], |
|
|
|
|
'access_start_date' => $accessStartDate ? $accessStartDate->format('Y-m-d h:i:s') : null, |
|
|
|
|
'access_end_date' => $accessEndDate ? $accessEndDate->format('Y-m-d h:i:s') : null, |
|
|
|
|
]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $sessionsList; |
|
|
|
|
return $calendarSessions; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|