diff --git a/main/auth/courses_controller.php b/main/auth/courses_controller.php index 353fb35d3c..97453b7b15 100755 --- a/main/auth/courses_controller.php +++ b/main/auth/courses_controller.php @@ -645,12 +645,12 @@ class CoursesController public function sessionList($action, $nameTools, $limit = []) { $date = isset($_POST['date']) ? $_POST['date'] : date('Y-m-d'); - $hiddenLinks = isset($_GET['hidden_links']) ? intval($_GET['hidden_links']) == 1 : false; + $hiddenLinks = isset($_GET['hidden_links']) ? $_GET['hidden_links'] == 1 : false; $limit = isset($limit) ? $limit : self::getLimitArray(); $countSessions = SessionManager::countSessionsByEndDate($date); $sessions = CoursesAndSessionsCatalog::browseSessions($date, $limit); - $pageTotal = intval(intval($countSessions) / $limit['length']); + $pageTotal = round($countSessions / $limit['length']); // Do NOT show pagination if only one page or less $cataloguePagination = $pageTotal > 1 ? CourseCategory::getCatalogPagination($limit['current'], $limit['length'], $pageTotal) : ''; $sessionsBlocks = $this->getFormattedSessionsBlock($sessions); diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index 59a6bfd4b9..1ae21b834a 100755 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -4586,7 +4586,6 @@ class SessionManager */ public static function countSessionsByEndDate($date = null) { - $count = 0; $sessionTable = Database::get_main_table(TABLE_MAIN_SESSION); $url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); $date = Database::escape_string($date); @@ -4596,8 +4595,10 @@ class SessionManager $dateFilter = << '$date') + OR ( + s.access_start_date IS NULL AND + s.access_end_date IS NOT NULL AND s.access_end_date > '$date' + ) SQL; } $sql = "SELECT COUNT(*) @@ -4606,8 +4607,10 @@ SQL; ON (s.id = u.session_id) WHERE u.access_url_id = $urlId $dateFilter"; $res = Database::query($sql); + + $count = 0; if ($res !== false && Database::num_rows($res) > 0) { - $count = current(Database::fetch_row($res)); + $count = (int) current(Database::fetch_row($res)); } return $count;