Adding bxslider effect in the news list see #3785

skala
Julio Montoya 14 years ago
parent 621fed623c
commit 1481d454d2
  1. 31
      index.php
  2. 9
      main/css/base.css
  3. 8
      main/inc/lib/main_api.lib.php
  4. 65
      main/inc/lib/system_announcements.lib.php
  5. 19
      news_list.php

@ -115,9 +115,8 @@ if (!empty($_POST['submitAuth'])) {
decodeOpenInfos();
}
}
} // End login -- if ($_POST['submitAuth'])
else {
// End login -- if ($_POST['submitAuth'])
} else {
// Only if login form was not sent because if the form is sent the user was already on the page.
event_open();
}
@ -132,11 +131,26 @@ $header_title = null;
if (!api_is_anonymous()) {
$header_title = " ";
}
$htmlHeadXtra[] = api_get_jquery_libraries_js(array('bxslider'));
$htmlHeadXtra[] ='
<script type="text/javascript">
$(document).ready(function(){
$("#slider").bxSlider({
infiniteLoop : true,
auto : true,
pager : true,
autoHover : true,
pause : 10000
});
});
</script>';
Display::display_header($header_title);
/* MAIN CODE */
echo '<div class="maincontent" id="content">';
echo '<div id="content" class="maincontent">';
// Plugins for loginpage_main AND campushomepage_main.
if (!api_get_user_id()) {
@ -208,9 +222,9 @@ if (!$page_included) {
if (isset($_user['user_id'])) {
$visibility = api_is_allowed_to_create_course() ? VISIBLE_TEACHER : VISIBLE_STUDENT;
SystemAnnouncementManager :: display_announcements($visibility, $announcement);
SystemAnnouncementManager :: display_announcements_slider($visibility, $announcement);
} else {
SystemAnnouncementManager :: display_announcements(VISIBLE_GUEST, $announcement);
SystemAnnouncementManager :: display_announcements_slider(VISIBLE_GUEST, $announcement);
}
if (api_get_setting('display_categories_on_homepage') == 'true') {
@ -248,10 +262,7 @@ if (!api_is_anonymous()) {
}
$profile_content .= ' </div></div>';
if (api_get_setting('allow_message_tool') == 'true') {
require_once api_get_path(LIBRARY_PATH).'message.lib.php';
require_once api_get_path(LIBRARY_PATH).'social.lib.php';
if (api_get_setting('allow_message_tool') == 'true') {
require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php';
// New messages.

@ -2483,3 +2483,12 @@ div.admin_section h4 {
margin-top:5px;
padding:5px;
}
#container-slider {
margin: 0 auto;
min-height: 310px;
padding: 0 0 0 6%;
width: 560px;
z-index: 0;
}

@ -5043,7 +5043,7 @@ function api_get_jquery_libraries_js($libraries) {
}
//Document multiple upload funcionality
if (in_array('jquery-upload',$libraries)) {
if (in_array('jquery-upload', $libraries)) {
$js .= api_get_js('jquery-upload/jquery.fileupload.js');
$js .= api_get_js('jquery-upload/jquery.fileupload-ui.js');
$js .= '<link rel="stylesheet" href="'.$js_path.'jquery-upload/jquery.fileupload-ui.css" type="text/css">';
@ -5054,6 +5054,12 @@ function api_get_jquery_libraries_js($libraries) {
//Adding default CSS changes of the jquery-ui themes for Chamilo in order to preserve the original jquery-ui css
$js .= '<link rel="stylesheet" href="'.$js_path.'jquery-ui/default.css" type="text/css">';
}
if (in_array('bxslider',$libraries)) {
$js .= api_get_js('bxslider/jquery.bxSlider.min.js');
$js .= '<link rel="stylesheet" href="'.$js_path.'bxslider/bx_styles/bx_styles.css" type="text/css">';
}
return $js;
}

@ -76,7 +76,7 @@ class SystemAnnouncementManager {
return;
}
public static function display_all_announcements($visible, $id = -1,$start = 0,$user_id='') {
public static function display_all_announcements($visible, $id = -1, $start = 0,$user_id='') {
$user_selected_language = api_get_interface_language();
$start = intval($start);
@ -210,12 +210,10 @@ class SystemAnnouncementManager {
* @return array An array with all available system announcements (as php
* objects)
*/
public static function get_all_announcements()
{
public static function get_all_announcements() {
$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
$sql = "SELECT *, IF( NOW() BETWEEN date_start AND date_end, '1', '0') AS visible FROM ".$db_table." ";
$now = api_get_utc_datetime();
$sql = "SELECT *, IF( '$now' >= date_start AND '$now' <= date_end, '1', '0') AS visible FROM ".$db_table." ";
global $_configuration;
$current_access_url_id = 1;
@ -223,7 +221,7 @@ class SystemAnnouncementManager {
$current_access_url_id = api_get_current_access_url_id();
}
$sql .= " WHERE access_url_id = '$current_access_url_id' ";
$sql .= "ORDER BY date_start ASC";
$sql .= " ORDER BY date_start ASC";
$announcements = Database::query($sql);
$all_announcements = array();
@ -461,4 +459,57 @@ class SystemAnnouncementManager {
}
return $res; //true if at least one e-mail was sent
}
/**
* Displays announcements as an slideshow
* @param int $visible VISIBLE_GUEST, VISIBLE_STUDENT or VISIBLE_TEACHER
* @param int $id The identifier of the announcement to display
*/
public static function display_announcements_slider($visible, $id = -1) {
$user_selected_language = Database::escape_string(api_get_interface_language());
$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
$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 :
$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 = Database::query($sql);
if (Database::num_rows($announcements) > 0) {
$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 '<div style="margin:10px;text-align:right;"><a href="news_list.php">'.get_lang('More').'</a></div>';
echo '<div id="container-slider">
<ul id="slider">';
while ($announcement = Database::fetch_object($announcements)) {
if ($id != $announcement->id) {
echo '<li><h1>'.$announcement->title.'</h1>'.$announcement->content.'</li>';
} else {
echo '<li><h1>'.$announcement->title.'</h1>'.$announcement->content.'</li>';
}
}
echo '</ul></div></div>';
}
return;
}
}

@ -9,6 +9,19 @@ require_once 'main/inc/global.inc.php';
require_once api_get_path(LIBRARY_PATH).'system_announcements.lib.php';
$tool_name = get_lang('SystemAnnouncements');
$htmlHeadXtra[] = api_get_jquery_libraries_js(array('bxslider'));
$htmlHeadXtra[] ='
<script type="text/javascript">
$(document).ready(function(){
$("#slider").bxSlider({
infiniteLoop : true,
auto : true,
pager : true,
autoHover : true,
pause : 10000
});
});
</script>';
Display::display_header($tool_name);
if (api_is_platform_admin()) {
@ -18,12 +31,12 @@ if (api_is_platform_admin()) {
}
$start = isset($_GET['start']) ? (int)$_GET['start'] : $start = 0;
/*
if (isset($_user['user_id'])) {
$visibility = api_is_allowed_to_create_course() ? VISIBLE_TEACHER : VISIBLE_STUDENT;
SystemAnnouncementManager :: display_all_announcements($visibility, $announcement, $start, $_user['user_id']);
} else {
SystemAnnouncementManager :: display_all_announcements(VISIBLE_GUEST, $announcement, $start);
}
}*/
SystemAnnouncementManager ::display_announcements_slider($visibility);
Display::display_footer();
Loading…
Cancel
Save