Browse Source

Returning announcements as array

Julio Montoya 13 years ago
parent
commit
e088b17027
2 changed files with 20 additions and 6 deletions
  1. 9 3
      main/inc/lib/system_announcements.lib.php
  2. 11 3
      main/inc/lib/userportal.lib.php

+ 9 - 3
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;

+ 11 - 3
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;
 	}