'session_list.php', 'name' => get_lang('SessionList')]; $interbreadcrumb[] = [ 'url' => "resume_session.php?id_session=".$sessionId, "name" => get_lang('SessionOverview'), ]; $form = new FormValidator('edit', 'post', api_get_self().'?session_id='.$sessionId.'&user_id='.$userId); $form->addHeader(get_lang('EditUserSessionDuration')); $userInfo = api_get_user_info($userId); // Show current end date for the session for this user, if any $userAccess = CourseManager::getFirstCourseAccessPerSessionAndUser( $sessionId, $userId ); $extension = 0; if (count($userAccess) == 0) { // User never accessed the session. End date is still open $msg = sprintf(get_lang('UserNeverAccessedSessionDefaultDurationIsX'), $sessionInfo['duration']); } else { // The user already accessed the session. Show a clear detail of the days count. $duration = $sessionInfo['duration']; $days = SessionManager::getDayLeftInSession($sessionInfo, $userId); $userSubscription = SessionManager::getUserSession($userId, $sessionId); $extension = $userSubscription['duration']; $firstAccess = api_strtotime($userAccess['login_course_date'], 'UTC'); $firstAccessString = api_convert_and_format_date($userAccess['login_course_date'], DATE_FORMAT_SHORT, 'UTC'); if ($days > 0) { $userSubscription = SessionManager::getUserSession($userId, $sessionId); $duration = $sessionInfo['duration']; if (!empty($userSubscription['duration'])) { $duration = $duration + $userSubscription['duration']; } $msg = sprintf(get_lang('FirstAccessWasXSessionDurationYEndDateInZDays'), $firstAccessString, $duration, $days); } else { if (!empty($subscription['duration'])) { $duration = $duration + $subscription['duration']; } $endDateInSeconds = $firstAccess + $duration * 24 * 60 * 60; $last = api_convert_and_format_date($endDateInSeconds, DATE_FORMAT_SHORT); $msg = sprintf(get_lang('FirstAccessWasXSessionDurationYEndDateWasZ'), $firstAccessString, $duration, $last); } } $header = '
'.'
'; $header .= '