diff --git a/main/inc/lib/system_announcements.lib.php b/main/inc/lib/system_announcements.lib.php index ce8f7cab8c..60f64f3ca0 100755 --- a/main/inc/lib/system_announcements.lib.php +++ b/main/inc/lib/system_announcements.lib.php @@ -81,8 +81,10 @@ class SystemAnnouncementManager { $start = intval($start); $db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS); - $sql = "SELECT *, DATE_FORMAT(date_start,'%d-%m-%Y %h:%i:%s') AS display_date FROM ".$db_table." - WHERE (lang='$user_selected_language' OR lang IS NULL) AND ((NOW() BETWEEN date_start AND date_end) OR date_end='0000-00-00')"; + $now = api_get_utc_datetime(); + + $sql = "SELECT * FROM ".$db_table." + WHERE ( lang = '$user_selected_language' OR lang IS NULL) AND ( '$now' >= date_start AND '$now' <= date_end) "; switch ($visible) { case VISIBLE_GUEST : @@ -213,7 +215,11 @@ class SystemAnnouncementManager { public static function get_all_announcements() { $db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS); $now = api_get_utc_datetime(); - $sql = "SELECT *, IF( '$now' >= date_start AND '$now' <= date_end, '1', '0') AS visible FROM ".$db_table." "; + $now = api_get_utc_datetime(); + + $sql = "SELECT * FROM ".$db_table." + WHERE ( lang = '$user_selected_language' OR lang IS NULL) AND ( '$now' >= date_start AND '$now' <= date_end) "; + global $_configuration; $current_access_url_id = 1; diff --git a/main/inc/lib/userportal.lib.php b/main/inc/lib/userportal.lib.php index f6653b0058..78ff8c0cc7 100644 --- a/main/inc/lib/userportal.lib.php +++ b/main/inc/lib/userportal.lib.php @@ -81,16 +81,24 @@ class IndexManager { return $login_form; } - function return_announcements() { + function return_announcements($show_slide = true) { // Display System announcements $announcement = isset($_GET['announcement']) ? $_GET['announcement'] : -1; $announcement = intval($announcement); if (isset($_user['user_id'])) { $visibility = api_is_allowed_to_create_course() ? VISIBLE_TEACHER : VISIBLE_STUDENT; - $announcements = SystemAnnouncementManager :: display_announcements_slider($visibility, $announcement); + if ($show_slide) { + $announcements = SystemAnnouncementManager :: display_announcements_slider($visibility, $announcement); + } else { + $announcements = SystemAnnouncementManager :: get_all_announcements($visibility, $announcement); + } } else { - $announcements = SystemAnnouncementManager :: display_announcements_slider(VISIBLE_GUEST, $announcement); + if ($show_slide) { + $announcements = SystemAnnouncementManager :: display_announcements_slider(VISIBLE_GUEST, $announcement); + } else { + $announcements = SystemAnnouncementManager :: get_all_announcements(VISIBLE_GUEST, $announcement); + } } return $announcements; }