⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 system_announcements.lib.php

📁 完美的在线教育系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/*==============================================================================	Dokeos - elearning and course management software	Copyright (c) 2004-2008 Dokeos SPRL	Copyright (c) 2003 Ghent University (UGent)	Copyright (c) 2001 Universite catholique de Louvain (UCL)	Copyright (c) 2004 Bart Mollet (HoGent)	For a full list of contributors, see "credits.txt".	The full license can be read in "license.txt".	This program is free software; you can redistribute it and/or	modify it under the terms of the GNU General Public License	as published by the Free Software Foundation; either version 2	of the License, or (at your option) any later version.	See the GNU General Public License for more details.	Contact address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium	Mail: info@dokeos.com==============================================================================*/define('VISIBLE_GUEST', 1);define('VISIBLE_STUDENT', 2);define('VISIBLE_TEACHER', 3);/**==============================================================================*	This is the system announcements library for Dokeos.**	@package dokeos.library==============================================================================*/class SystemAnnouncementManager{	/**	 * Displays all announcements	 * @param int $visible VISIBLE_GUEST, VISIBLE_STUDENT or VISIBLE_TEACHER	 * @param int $id The identifier of the announcement to display	 */	function display_announcements($visible, $id = -1)	{		$user_selected_language = api_get_interface_language();		$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);		$sql = "SELECT *, DATE_FORMAT(date_start,'%d-%m-%Y') 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') ";		switch ($visible)		{			case VISIBLE_GUEST :				$sql .= " AND visible_guest = 1 ";				break;			case VISIBLE_STUDENT :				$sql .= " AND visible_student = 1 ";				break;			case VISIBLE_TEACHER :				$sql .= " AND visible_teacher = 1 ";				break;		}		$sql .= " ORDER BY date_start DESC LIMIT 0,7";		$announcements = api_sql_query($sql,__FILE__,__LINE__);		if (Database::num_rows($announcements))		{			$query_string = ereg_replace('announcement=[1-9]+', '', $_SERVER['QUERY_STRING']);			$query_string = ereg_replace('&$', '', $query_string);			$url = api_get_self();			echo '<div class="system_announcements">';			echo '<h3>'.get_lang('SystemAnnouncements').'</h3>';			echo '<table border="0">';			while ($announcement = Database::fetch_object($announcements))			{				if ($id != $announcement->id)				{					if (strlen($query_string) > 0)					{						$show_url = 'newsList.php#'.$announcement->id;						//$show_url = $url.'?'.$query_string.'&announcement='.$announcement->id;					}					else					{						$show_url = 'newsList.php#'.$announcement->id;						//$show_url = $url.'?announcement='.$announcement->id;					}					echo '<tr class="system_announcement">							<td width="80px" valign="top" class="system_announcement_title">'								.$announcement->display_date.'							</td>							<td valign="top">								<a name="ann'.$announcement->id.'" href="'.$show_url.'">'.$announcement->title.'</a>							</td>						</tr>';				}				else				{					echo '<div class="system_announcement">							<div class="system_announcement_title">'								.$announcement->display_date.'								<a name="ann'.$announcement->id.'" href="'.$url.'?'.$query_string.'#ann'.$announcement->id.'">'.$announcement->title.'</a>							</div>							<div class="system_announcement_content">'								.$announcement->content.'							</div>';				}			}			/*echo '<tr><td height="15px"></td></tr>';*/			echo '<tr><td colspan="2">';			echo '<a href="newsList.php">'.get_lang("More").'</a>';			echo '</td></tr>';			echo '</table>';			echo '</div>';		}		return;	}	function display_all_announcements($visible, $id = -1,$start = 0,$user_id)	{		$user_selected_language = api_get_interface_language();		$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);		$sql = "SELECT *, DATE_FORMAT(date_start,'%d-%m-%Y') 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')";		switch ($visible)		{			case VISIBLE_GUEST :				$sql .= " AND visible_guest = 1 ";				break;			case VISIBLE_STUDENT :				$sql .= " AND visible_student = 1 ";				break;			case VISIBLE_TEACHER :				$sql .= " AND visible_teacher = 1 ";				break;		}		if(!isset($_GET['start']) || $_GET['start'] == 0)		{			$sql .= " ORDER BY date_start DESC LIMIT ".$start.",20";		}		else		{			$sql .= " ORDER BY date_start DESC LIMIT ".($start+1).",20";		}		$announcements = api_sql_query($sql,__FILE__,__LINE__);		if (Database::num_rows($announcements))		{			$query_string = ereg_replace('announcement=[1-9]+', '', $_SERVER['QUERY_STRING']);			$query_string = ereg_replace('&$', '', $query_string);			$url = api_get_self();			echo '<div class="system_announcements">';			echo '<h3>'.get_lang('SystemAnnouncements').'</h3>';			echo '<table align="center">';				echo '<tr>';					echo '<td>';						SystemAnnouncementManager :: display_fleche($user_id);					echo '</td>';				echo '</tr>';			echo '</table>';			echo '<table align="center" border="0" width="900px">';			while ($announcement = Database::fetch_object($announcements))			{					echo '<tr><td>';					echo '<a name="'.$announcement->id.'"></a>							<div class="system_announcement">							<div class="system_announcement_title">'								.$announcement->display_date.' <strong>'.$announcement->title.'</strong>							</div>							<br />						  	<div class="system_announcement_content">'						  			.$announcement->content.'							</div>						  </div>							<br />						  <hr noshade size="1">';					echo '</tr></td>';			}			echo '</table>';			echo '<table align="center">';				echo '<tr>';					echo '<td>';						SystemAnnouncementManager :: display_fleche($user_id);					echo '</td>';				echo '</tr>';			echo '</table>';			echo '</div>';		}		return;	}	function display_fleche($user_id)	{		$start = (int)$_GET['start'];		$nb_announcement = SystemAnnouncementManager :: count_nb_announcement($start,$user_id);		$next = ((int)$_GET['start']+19);		$prev = ((int)$_GET['start']-19);		if(!isset($_GET['start']) || $_GET['start'] == 0)		{			if($nb_announcement > 20)			{				echo '<a href="newsList.php?start='.$next.'">'.get_lang('NextBis').' >> </a>';			}		}		else		{			echo '<a href="newsList.php?start='.$prev.'"> << '.get_lang('Prev').'</a>';			if($nb_announcement > 20)			{				echo '<a href="newsList.php?start='.$next.'">'.get_lang('NextBis').' >> </a>';			}	}	}	function count_nb_announcement($start = 0,$user_id = '')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -