From 1a68775e22df78fe90d825de441bf4bfb4547a36 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 30 Mar 2017 11:45:32 -0500 Subject: [PATCH] Restorinf the count of days to go in session for user - refs BT#12539 --- main/inc/lib/display.lib.php | 10 ++--- main/inc/lib/sessionmanager.lib.php | 2 +- main/inc/lib/template.lib.php | 2 +- main/inc/lib/userportal.lib.php | 38 +++++++++++++++++-- .../default/user_portal/classic_session.tpl | 29 ++++++-------- .../default/user_portal/grid_session.tpl | 18 +++++---- 6 files changed, 62 insertions(+), 37 deletions(-) diff --git a/main/inc/lib/display.lib.php b/main/inc/lib/display.lib.php index 2737c60b14..c42a87bcb7 100755 --- a/main/inc/lib/display.lib.php +++ b/main/inc/lib/display.lib.php @@ -1558,14 +1558,14 @@ class Display $session['coach'] = ''; $session['dates'] = ''; - if (($session_info['access_end_date'] == '0000-00-00 00:00:00' && $session_info['access_start_date'] == '0000-00-00 00:00:00') || + if (api_get_setting('show_session_coach') === 'true') { + $session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($session_info['firstname'], $session_info['lastname']); + } + + if ( ($session_info['access_end_date'] == '0000-00-00 00:00:00' && $session_info['access_start_date'] == '0000-00-00 00:00:00') || (empty($session_info['access_end_date']) && empty($session_info['access_start_date'])) ) { - if (api_get_setting('show_session_coach') === 'true') { - $session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($session_info['firstname'], $session_info['lastname']); - } - if (isset($session_info['duration']) && !empty($session_info['duration'])) { $userDurationData = SessionManager::getUserSession( api_get_user_id(), diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index 9ba6d945a5..9498ccb0f5 100755 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -6168,7 +6168,7 @@ class SessionManager // If no previous access, return false if (count($courseAccess) == 0) { - return false; + return $duration; } $firstAccess = api_strtotime($courseAccess['login_course_date'], 'UTC'); diff --git a/main/inc/lib/template.lib.php b/main/inc/lib/template.lib.php index 61a78b18b0..09c396668e 100755 --- a/main/inc/lib/template.lib.php +++ b/main/inc/lib/template.lib.php @@ -220,7 +220,7 @@ class Template * @param string $name * @return string */ - public static function get_image($image, $size = ICON_SIZE_SMALL, $name) + public static function get_image($image, $size = ICON_SIZE_SMALL, $name = '') { return Display::return_icon($image, $name, array(), $size); } diff --git a/main/inc/lib/userportal.lib.php b/main/inc/lib/userportal.lib.php index f977fd44d2..fd7dbbc68f 100755 --- a/main/inc/lib/userportal.lib.php +++ b/main/inc/lib/userportal.lib.php @@ -1326,7 +1326,7 @@ class IndexManager $params['show_description'] = $session_box['show_description']; $params['description'] = $session_box['description']; $params['visibility'] = $session_box['visibility']; - $params['show_simple_session_info'] = false; + $params['show_simple_session_info'] = $showSimpleSessionInfo; $params['course_list_session_style'] = $coursesListSessionStyle; $params['num_users'] = $session_box['num_users']; $params['num_courses'] = $session_box['num_courses']; @@ -1336,7 +1336,11 @@ class IndexManager $params['courses'] = $html_courses_session; if ($showSimpleSessionInfo) { - $params['show_simple_session_info'] = true; + $params['subtitle'] = self::getSimpleSessionDetails( + $session_box['coach'], + $session_box['dates'], + isset($session_box['duration']) ? $session_box['duration'] : null + ); } if ($gameModeIsActive) { @@ -1427,15 +1431,21 @@ class IndexManager $session_box = Display::get_session_title_box($session_id); $sessionParams[0]['id'] = $session_id; $sessionParams[0]['date'] = $session_box['dates']; + $sessionParams[0]['duration'] = isset($session_box['duration']) ? ' '.$session_box['duration'] : null; $sessionParams[0]['course_list_session_style'] = $coursesListSessionStyle; $sessionParams[0]['title'] = $session_box['title']; $sessionParams[0]['subtitle'] = (!empty($session_box['coach']) ? $session_box['coach'].' | ' : '').$session_box['dates']; $sessionParams[0]['show_actions'] = api_is_platform_admin(); $sessionParams[0]['courses'] = $html_courses_session; - $sessionParams[0]['show_simple_session_info'] = false; + $sessionParams[0]['show_simple_session_info'] = $showSimpleSessionInfo; + $sessionParams[0]['coach_name'] = !empty($session_box['coach']) ? $session_box['coach'] : null; if ($showSimpleSessionInfo) { - $sessionParams[0]['show_simple_session_info'] = true; + $sessionParams[0]['subtitle'] = self::getSimpleSessionDetails( + $session_box['coach'], + $session_box['dates'], + isset($session_box['duration']) ? $session_box['duration'] : null + ); } $this->tpl->assign('session', $sessionParams); @@ -1941,4 +1951,24 @@ class IndexManager { setcookie('defaultMyCourseView'.$userId, $view); } + + /** + * Get the session coach name, duration or dates when $_configuration['show_simple_session_info'] is enabled + * @param string $coachName + * @param string $dates + * @param string|null $duration Optional + * @return string + */ + private static function getSimpleSessionDetails($coachName, $dates, $duration = null) + { + $strDetails = []; + + if (!empty($coachName)) { + $strDetails[] = $coachName; + } + + $strDetails[] = !empty($duration) ? $duration : $dates; + + return implode(' | ', $strDetails); + } } diff --git a/main/template/default/user_portal/classic_session.tpl b/main/template/default/user_portal/classic_session.tpl index aef607897d..7926a0e123 100644 --- a/main/template/default/user_portal/classic_session.tpl +++ b/main/template/default/user_portal/classic_session.tpl @@ -40,17 +40,19 @@ {% if row.description != '' %} {{ row.description }} {% endif %} -
- {% if row.coach_name != '' %} - +
    + {% if row.coach_name %} +
  • + {{ row.coach_name }} - +
  • {% endif %} - + +
  • - {{ row.date }} - -
+ {{ row.date ? row.date : row.duration }} + +
{% for item in row.courses %}
@@ -103,16 +105,7 @@
-
- - {{ row.date }} - {% if row.coach_name %} -
{{ "teacher.png"|img(16) }} - {{ row.coach_name }} -
- {% endif %} -
+

{{ row.subtitle }}

{% if row.description != '' %}
{{ row.description }} diff --git a/main/template/default/user_portal/grid_session.tpl b/main/template/default/user_portal/grid_session.tpl index 09120db82f..4ec8c0161b 100644 --- a/main/template/default/user_portal/grid_session.tpl +++ b/main/template/default/user_portal/grid_session.tpl @@ -81,18 +81,20 @@ {% if row.description != '' %} {{ row.description }} {% endif %} -
- {% if row.coach_name != '' %} - + +
    + {% if row.coach_name %} +
  • {{ row.coach_name }} - +
  • {% endif %} - + +
  • - {{ row.date }} - -
+ {{ row.date ? row.date : row.duration }} + +
{% if not group_courses %}