Show sessions calendar for session admin - refs BT#15394 #2801

pull/2858/head
Angel Fernando Quiroz Campos 7 years ago
parent e15802e575
commit 72652d8248
  1. 34
      main/inc/lib/usermanager.lib.php

@ -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;
}
/**

Loading…
Cancel
Save