Adding replacing 128px to 48px icons in the user portal + using a common div constructor in the course list + reworking the breadcrumb see #4400

skala
Julio Montoya 14 years ago
parent bf8c013e6a
commit 59cf4be5ba
  1. 54
      main/css/base.css
  2. 9
      main/css/responsive.css
  3. BIN
      main/img/icons/48/blackboard.png
  4. BIN
      main/img/icons/48/blackboard_blue.png
  5. BIN
      main/img/icons/48/folder_blue.png
  6. BIN
      main/img/icons/48/folder_yellow.png
  7. BIN
      main/img/icons/48/window_list.png
  8. 14
      main/inc/banner.inc.php
  9. 63
      main/inc/lib/banner.lib.php
  10. 297
      main/inc/lib/course.lib.php
  11. 2
      main/inc/lib/display.lib.php
  12. 4
      main/inc/lib/template.lib.php
  13. 120
      main/inc/lib/userportal.lib.php
  14. 27
      main/template/default/layout/head.tpl
  15. 2
      main/template/default/layout/layout_1_col.tpl
  16. 1
      main/template/default/layout/main_footer.tpl
  17. 6
      main/template/default/layout/main_header.tpl
  18. 5
      user_portal.php

@ -33,10 +33,6 @@ legend {
margin-bottom: 10px;
}
#formLogin input {
width:165px;
}
#header1 {
height: 50px;
}
@ -92,6 +88,22 @@ form .formw input {
/* end chamilo forms fixes */
/* New changes Chamilo 1.9 */
.sidebar-nav {
padding: 20px 0px 0px 20px;
}
.well2 {
background-color: #F5F5F5;
border: 1px solid rgba(0, 0, 0, 0.05);
border-radius: 4px 4px 4px 4px;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) inset;
margin-bottom: 20px;
min-height: 20px;
padding: 19px 0px 19px 0px;
}
* {
/* outline :none; */
}
@ -236,9 +248,8 @@ img {
-moz-border-radius: 10px;
border-radius: 10px;
background-color:#F9F9F9;
padding:5px 10px 5px 10px;
margin:0px 0px 10px 0px;
/*padding:5px 10px 5px 10px;
margin:0px 0px 10px 0px; */
}
.session_box_title {
@ -1034,11 +1045,15 @@ button.next.disabled, .a_button.disabled {
padding:0px 0px 0px 0px;
}
.bread .home {
padding:0px 15px 4px 8px;
.breadcrumb .home {
padding:0px;
height: 22px;
}
.breadcrumb .home img {
float:left;
}
/* Warning and error messages to the user */
.error {
@ -3123,30 +3138,19 @@ form .formw .freeze {
}
#language_list {
width:100px !important;
width:80px !important;
min-width: 140px !important;
}
/*****************************************************
* LOGIN AND LANGUAGE FORM *
*****************************************************/
#lang_form {
text-align: left;
font-size: 12px;
margin: 2px 0 10px 0px;
width: 50px !important;
}
#lang_form input, #lang_form select {
font-size: 12px;
/* width:100%; */
}
.menu #lang_form { /* in the menu box, give a bit more space */
margin-top: 15px;
}
#formLogin label {
font-size: 12px;
font-family:Tahoma, Geneva, sans-serif;
#formLogin label {
color:#666666;
}
@ -3433,4 +3437,4 @@ a:active{
.audio_preview_container {
margin-left: 50px;
}
}

@ -86,7 +86,14 @@
@media (min-width: 480px) and (max-width: 768px) {
.notification-panel {
display:none;
}
#header2 .nav-pills {
display:none;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -1,18 +1,8 @@
<?php
/* For licensing terms, see /license.txt */
/**
* This script contains the actual html code to display the "header"
* or "banner" on top of every Chamilo page.
* @todo this should be remove we should only use header.inc.php
*
* @package chamilo.include
*/
/* This page is now unused check the template.lib.php and main/template/ files */
exit;
/* This page is now unused use check the template.lib.php */
exit;
require_once api_get_path(LIBRARY_PATH).'banner.lib.php';

@ -413,12 +413,7 @@ function show_header_3() {
// Logout
if ($show_bar) {
if (!empty($lis)) {
$header3 .= '<ul class="nav nav-pills">';
$header3 .= $lis;
$header3 .= '</ul>';
}
if (api_get_user_id()) {
$login = '';
if (api_is_anonymous()) {
@ -428,18 +423,25 @@ function show_header_3() {
$login = $uinfo['username'];
}
//start user section line with name, my course, my profile, scorm info, etc
$header3 .= '<ul class="nav nav-pills secondary-nav">';
$header3 .= '<ul class="nav nav-pills pull-right">';
//echo '<li><span>'.get_lang('LoggedInAsX').' '.$login.'</span></li>';
//echo '<li><a href="'.api_get_path(WEB_PATH).'main/auth/profile.php" target="_top"><span>'.get_lang('Profile').'</span></a></li>';
$header3 .= '<li><a href="'.api_get_path(WEB_PATH).'index.php?logout=logout&uid='.api_get_user_id().'" target="_top"><span>'.get_lang('Logout').' ('.$login.')</span></a></li>';
$header3 .= '</ul>';
}
if (!empty($lis)) {
$header3 .= '<ul class="nav nav-pills">';
$header3 .= $lis;
$header3 .= '</ul>';
}
}
return $header3;
}
//Header 4
function show_header_4($interbreadcrumb, $language_file, $nameTools) {
function show_breadcrumb($interbreadcrumb, $language_file, $nameTools) {
$session_id = api_get_session_id();
$session_name = api_get_session_name($session_id);
@ -539,27 +541,46 @@ function show_header_4($interbreadcrumb, $language_file, $nameTools) {
foreach ($navigation as $index => $navigation_info) {
if (!empty($navigation_info['title'])) {
if ($navigation_info['url'] == '#') {
$final_navigation[$index] = '<span>'.$navigation_info['title'].'</span>';
$final_navigation[$index] = '<span>'.$navigation_info['title'].'</span>';
} else {
$final_navigation[$index] = '<a href="'.$navigation_info['url'].'" class="" target="_top"><span>'.$navigation_info['title'].'</span></a>';
}
$counter++;
}
}
$html = '';
if (!empty($final_navigation)) {
$html .= '<div id="header4">';
if (!empty($final_navigation)) {
$lis = '';
$i = 0;
$lis.= Display::tag('li', Display::url(Display::img(api_get_path(WEB_CSS_PATH).'home.png', get_lang('Homepage'), array('align'=>'middle')), api_get_path(WEB_PATH), array('class'=>'home')));
foreach ($final_navigation as $bread) {
$lis.= Display::tag('li', $bread);
$i++;
$home_link = Display::url(Display::img(api_get_path(WEB_CSS_PATH).'home.png', get_lang('Homepage'), array('align'=>'middle')), api_get_path(WEB_PATH), array('class'=>'home'));
//$lis.= Display::tag('li', Display::url(get_lang('Homepage').'<span class="divider">/</span>', api_get_path(WEB_PATH)));
$final_navigation_count = count($final_navigation);
if (!empty($final_navigation)) {
$home_link.= '<span class="divider">/</span>';
$lis.= Display::tag('li', $home_link);
foreach ($final_navigation as $bread) {
$bread_check = trim(strip_tags($bread));
if (!empty($bread_check)) {
if ($final_navigation_count-1 > $i) {
$bread .= '<span class="divider">/</span>';
}
$lis.= Display::tag('li', $bread);
$i++;
}
}
} else {
$lis.= Display::tag('li', $home_link);
}
$html .= Display::tag('ul',$lis, array('class'=>'bread'));
$html .= '</div>';
} else {
//$html .= '<div id="header4"></div>';
}
$html .= Display::tag('ul',$lis, array('class'=>'breadcrumb'));
}
return $html ;
}

@ -2052,8 +2052,7 @@ class CourseManager {
$codes = array();
$tbl_course = Database::get_main_table(TABLE_MAIN_COURSE);
$tbl_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$tbl_user_course_category = Database::get_user_personal_table(TABLE_USER_COURSE_CATEGORY);
$tbl_user_course_category = Database::get_user_personal_table(TABLE_USER_COURSE_CATEGORY);
$special_course_list = self::get_special_course_list();
@ -2675,7 +2674,7 @@ class CourseManager {
$store_path = api_get_path(SYS_COURSE_PATH).$course_info['path']; // course path
$course_image = $store_path.'/course-pic.png'; // image name for courses
$course_medium_image = $store_path.'/course-pic85x85.png';
$extension = strtolower(substr(strrchr($filename, '.'), 1));
//$extension = strtolower(substr(strrchr($filename, '.'), 1));
$result = false;
if (file_exists($course_image)) {
@ -2690,9 +2689,9 @@ class CourseManager {
//Redimension image to 100x85
if ($result) {
$medium = new Image($course_image);
$picture_infos = $medium->get_image_size();
//$picture_infos = $medium->get_image_size();
$medium->resize(100, 85, 0, false);
$rs = $medium->send_image($store_path.'/course-pic85x85.png', -1, 'png');
$medium->send_image($store_path.'/course-pic85x85.png', -1, 'png');
}
return $result;
}
@ -2703,6 +2702,29 @@ class CourseManager {
public static function is_existing_course_code($wanted_course_code) {
return self::course_code_exists($wanted_course_code);
}
public function course_item_html($params, $is_sub_content = false) {
$html = '';
// $html .= '<div class="span8">';
$class = "well";
if ($is_sub_content) {
$class = "";
}
$html .= '<div class="row-fluid">';
$html .= '<div class="span12">';
$html .= '<div class="row-fluid">';
$html .= '<div class="span1">'.$params['icon'].'</div>';
$html .= '<div class="span10"><h4>'.$params['title'].'</h4></div>';
$html .= '<div class="span1 pull-right">'.$params['right_actions'].'</div>';
$html .= '</div>';
$html .= '</div>';
$html .= '</div>';
return $html;
}
public function course_item_parent($main_content, $sub_content) {
return '<div class="well2">'.$main_content.$sub_content.'</div>';
}
/**
* Display special courses (and only these) as several HTML divs of class userportal-course-item
@ -2720,8 +2742,7 @@ class CourseManager {
$tbl_course = Database::get_main_table(TABLE_MAIN_COURSE);
$tbl_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$tbl_user_course_category = Database::get_user_personal_table(TABLE_USER_COURSE_CATEGORY);
$special_course_list = self::get_special_course_list();
$with_special_courses = $without_special_courses = '';
@ -2731,22 +2752,24 @@ class CourseManager {
if (!empty($with_special_courses)) {
$sql = "SELECT course.id, course.code, course.visual_code, course.subscribe subscr, course.unsubscribe unsubscr,
course.title title, course.tutor_name tutor, course.db_name, course.directory, course_rel_user.status status,
course_rel_user.sort sort, course_rel_user.user_course_cat user_course_cat, course_rel_user.user_id, course.visibility
FROM $tbl_course course
LEFT JOIN $tbl_course_user course_rel_user ON course.code = course_rel_user.course_code AND course_rel_user.user_id = '$user_id'
WHERE $with_special_courses group by course.code";
course.title title, course.tutor_name tutor, course.db_name, course.directory, course_rel_user.status status,
course_rel_user.sort sort, course_rel_user.user_course_cat user_course_cat, course_rel_user.user_id, course.visibility
FROM $tbl_course course
LEFT JOIN $tbl_course_user course_rel_user ON course.code = course_rel_user.course_code AND course_rel_user.user_id = '$user_id'
WHERE $with_special_courses group by course.code";
$rs_special_course = Database::query($sql);
$number_of_courses = Database::num_rows($rs_special_course);
$key = 0;
$status_icon = '';
$html = '';
if ($number_of_courses > 0) {
while ($course = Database::fetch_array($rs_special_course)) {
$params = array();
// Get notifications.
$my_course = array();
$my_course['db'] = $course['db_name'];
$my_course = array();
$my_course['k'] = $course['code'];
$my_course['id_session'] = null;
$my_course['s'] = $course['status'];
@ -2756,39 +2779,28 @@ class CourseManager {
$course['status'] = $user_info['status'];
}
$status_icon = Display::return_icon('blackboard.png', get_lang('Course'), array('width'=>'48px'));
/*
if ($course['status'] == 1) {
$status_icon = Display::return_icon('course.gif', get_lang('Course')).' '.Display::return_icon('teachers.gif', get_lang('Status').': '.get_lang('Teacher'), array('style' => 'width: 11px; height: 11px;'));
}
if (($course['status'] == 5 && !api_is_coach()) || empty($course['status'])) {
$status_icon = Display::return_icon('course.gif', get_lang('Course')).' '.Display::return_icon('students.gif', get_lang('Status').': '.get_lang('Student'), array('style' => 'width: 11px; height: 11px;'));
}*/
echo '<div class="userportal-course-item">';
$status_icon = Display::return_icon('blackboard.png', get_lang('Course'), array(), ICON_SIZE_LARGE);
$params['right_actions'] = '';
if (api_is_platform_admin()) {
echo '<div style="float:right;">';
if ($load_dirs) {
echo '<a id="document_preview_'.$course['id'].'_0" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
echo '<a href="'.api_get_path(WEB_CODE_PATH).'course_info/infocours.php?cidReq='.$course['code'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
echo Display::div('', array('id' => 'document_result_'.$course['id'].'_0', 'class'=>'document_preview_container'));
$params['right_actions'] .= '<a id="document_preview_'.$course['id'].'_0" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$params['right_actions'] .= '<a href="'.api_get_path(WEB_CODE_PATH).'course_info/infocours.php?cidReq='.$course['code'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course['id'].'_0', 'class'=>'document_preview_container'));
} else {
echo '<a href="'.api_get_path(WEB_CODE_PATH).'course_info/infocours.php?cidReq='.$course['code'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$params['right_actions'] .= '<a href="'.api_get_path(WEB_CODE_PATH).'course_info/infocours.php?cidReq='.$course['code'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
}
if ($course['status'] == COURSEMANAGER) {
//echo Display::return_icon('teachers.gif', get_lang('Status').': '.get_lang('Teacher'), array('style'=>'width: 11px; height: 11px;'));
}
echo '</div>';
}
} else {
echo '<div style="float:right;">';
if ($load_dirs) {
echo '<a id="document_preview_'.$course['id'].'_0" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
echo Display::div('', array('id' => 'document_result_'.$course['id'].'_0', 'class'=>'document_preview_container'));
}
echo '</div>';
$params['right_actions'] .= '<a id="document_preview_'.$course['id'].'_0" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course['id'].'_0', 'class'=>'document_preview_container'));
}
}
$course_visibility = $course['visibility'];
@ -2797,28 +2809,31 @@ class CourseManager {
} else {
$course_title = $course['title']." ".Display::tag('span',get_lang('CourseClosed'), array('class'=>'item_closed'));
}
echo '<div style="float: left; margin-right: 10px;">'.$status_icon.'</div><h4>'.$course_title.'</h4>';
$params['image'] = $status_icon;
if (api_get_setting('display_coursecode_in_courselist') == 'true') {
echo $course['visual_code'];
$course_title .= $course['visual_code'];
}
if (api_get_setting('display_coursecode_in_courselist') == 'true' && api_get_setting('display_teacher_in_courselist') == 'true') {
echo ' - ';
$course_title .= ' - ';
}
if (api_get_setting('display_teacher_in_courselist') == 'true') {
echo $course['tutor'];
$course_title .= $course['tutor'];
}
echo '&nbsp;';
echo Display::return_icon('klipper.png', get_lang('CourseAutoRegister'));
$course_title .= '&nbsp;';
$course_title .= Display::return_icon('klipper.png', get_lang('CourseAutoRegister'));
// Show notifications.
echo $show_notification;
echo '</div>';
$course_title .= $show_notification;
$params['image'] = $course_title;
$html .= self::course_item_html($params);
$key++;
}
}
}
}
return $html;
}
/**
@ -2836,27 +2851,21 @@ class CourseManager {
}
// Step 0: We display the course without a user category.
self :: display_courses_in_category(0, $load_dirs);
$html = self :: display_courses_in_category(0, $load_dirs);
// Step 1: We get all the categories of the user.
$tucc = Database::get_user_personal_table(TABLE_USER_COURSE_CATEGORY);
$sql = "SELECT id, title FROM $tucc WHERE user_id='".$user_id."' ORDER BY sort ASC";
$result = Database::query($sql);
while ($row = Database::fetch_array($result)) {
$params = array();
// We simply display the title of the category.
echo '<div class="userportal-catalog-item span8">';
echo '<ul class="catalog_box">';
echo '<li>';
echo Display::return_icon('folder_yellow.png', get_lang('Category'), array('width' => '48px', 'align' => 'absmiddle'));
echo '<span>';
echo '<a name="category'.$row['id'].'"></a>'; // Display an internal anchor.
echo $row['title'];
echo '</span>';
echo '</li>';
self :: display_courses_in_category($row['id'], $load_dirs);
echo '</ul>';
echo '</div>';
$params['icon'] = Display::return_icon('folder_yellow.png', get_lang('Category'), array(), ICON_SIZE_LARGE);
$params['title'] = $row['title'];
$html .= self::course_item_parent(self::course_item_html($params), self :: display_courses_in_category($row['id'], $load_dirs));
}
return $html;
}
/**
* Display courses inside a category (without special courses) as HTML dics of
@ -2868,11 +2877,10 @@ class CourseManager {
function display_courses_in_category($user_category_id, $load_dirs = false) {
global $_user;
// Table definitions
$TABLECOURS = Database :: get_main_table(TABLE_MAIN_COURSE);
$TABLECOURSUSER = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$TABLE_ACCESS_URL_REL_COURSE = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
//$TABLE_USER_COURSE_CATEGORY = Database :: get_user_personal_table(TABLE_USER_COURSE_CATEGORY);
$current_url_id = api_get_current_access_url_id();
$TABLECOURS = Database :: get_main_table(TABLE_MAIN_COURSE);
$TABLECOURSUSER = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$TABLE_ACCESS_URL_REL_COURSE = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$current_url_id = api_get_current_access_url_id();
// Get course list auto-register
$special_course_list = self::get_special_course_list();
@ -2902,12 +2910,13 @@ class CourseManager {
//$number_of_courses = Database::num_rows($result);
$key = 0;
$status_icon = '';
$html = '';
// Browse through all courses.
while ($course = Database::fetch_array($result)) {
// Get notifications.
$my_course = array();
$my_course['db'] = $course['db_name'];
$my_course = array();
$my_course['k'] = $course['code'];
$my_course['id_session'] = null;
$my_course['s'] = $course['status'];
@ -2915,36 +2924,33 @@ class CourseManager {
// (something that would have changed since the user's last visit).
$show_notification = Display :: show_notification($my_course);
// New code displaying the user's status in respect to this course.
$status_icon = Display::return_icon('blackboard.png', get_lang('Course'), array('width' => '48px'));
echo '<div class="userportal-course-item span8">';
$status_icon = Display::return_icon('blackboard.png', get_lang('Course'), array(), ICON_SIZE_LARGE);
$params = array();
$params['right_actions'] = '';
if (api_is_platform_admin()) {
echo '<div style="float:right;">';
if ($load_dirs) {
echo '<a id="document_preview_'.$course['id'].'_0" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
echo '<a href="'.api_get_path(WEB_CODE_PATH).'course_info/infocours.php?cidReq='.$course['code'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
echo Display::div('', array('id' => 'document_result_'.$course['id'].'_0', 'class'=>'document_preview_container'));
$params['right_actions'] .= '<a id="document_preview_'.$course['id'].'_0" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$params['right_actions'] .= '<a href="'.api_get_path(WEB_CODE_PATH).'course_info/infocours.php?cidReq='.$course['code'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course['id'].'_0', 'class'=>'document_preview_container'));
} else {
echo '<a href="'.api_get_path(WEB_CODE_PATH).'course_info/infocours.php?cidReq='.$course['code'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$params['right_actions'].= '<a href="'.api_get_path(WEB_CODE_PATH).'course_info/infocours.php?cidReq='.$course['code'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
}
if ($course['status'] == COURSEMANAGER) {
//echo Display::return_icon('teachers.gif', get_lang('Status').': '.get_lang('Teacher'), array('style'=>'width: 11px; height: 11px;'));
}
echo '</div>';
} else {
echo '<div style="float:right;">';
}
} else {
if ($load_dirs) {
echo '<a id="document_preview_'.$course['id'].'_0" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
echo Display::div('', array('id' => 'document_result_'.$course['id'].'_0', 'class'=>'document_preview_container'));
}
echo '</div>';
$params['right_actions'] .= '<a id="document_preview_'.$course['id'].'_0" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course['id'].'_0', 'class'=>'document_preview_container'));
}
}
// Function logic - act on the data (check if the course is virtual, if yes change the link).
$is_virtual_course = CourseManager :: is_virtual_course_from_system_code($course['code']);
if ($is_virtual_course) {
// If the current user is also subscribed in the real course to which this
// virtual course is linked, we don't need to display the virtual course entry in
@ -2980,24 +2986,27 @@ class CourseManager {
if (!empty($course_title_url)) {
$status_icon = Display::url($status_icon, $course_title_url);
}
// Start displaying the course block itself.
echo '<div style="float: left; margin-right: 10px;">'.$status_icon.'</div><h4>'.$course_title.'</h4>';
// Start displaying the course block itself.
if (api_get_setting('display_coursecode_in_courselist') == 'true') {
echo $course_display_code;
$course_title .= $course_display_code;
}
if (api_get_setting('display_coursecode_in_courselist') == 'true' && api_get_setting('display_teacher_in_courselist') == 'true') {
echo ' - ';
$course_title .= ' - ';
}
if (api_get_setting('display_teacher_in_courselist') == 'true') {
if (!empty($course['tutor']))
echo $course['tutor'];
$course_title .= $course['tutor'];
}
// Show notifications.
echo $show_notification;
echo '</div>';
$course_title .= $show_notification;
$params['icon'] = $status_icon;
$params['title'] = $course_title;
$html .= self::course_item_html($params);
$key++;
}
}
return $html;
}
/**
@ -3131,7 +3140,7 @@ class CourseManager {
$s_course_status = $my_course['status'];
$is_coach = api_is_coach($my_course['id_session'], $course['code']);
$s_htlm_status_icon = Display::return_icon('blackboard_blue.png', get_lang('Course'), array('width' => '48px'));
$s_htlm_status_icon = Display::return_icon('blackboard_blue.png', get_lang('Course'), array(), ICON_SIZE_LARGE);
// Display course entry.
// Show a hyperlink to the course, unless the course is closed and user is not course admin.
@ -3161,26 +3170,25 @@ class CourseManager {
if (!empty($session_url)) {
$s_htlm_status_icon = Display::url($s_htlm_status_icon, $session_url);
}
$params = array();
$params['icon'] = $s_htlm_status_icon;
$params['title'] = $session_title;
$result .= '<li class="'.$class.'"><div class="coursestatusicons">'.$s_htlm_status_icon.'</div>';
$result .= $session_title;
$params['right_actions'] = '';
if ($load_dirs) {
$result .= '<div style="float:right;">';
$result .= '<a id="document_preview_'.$info['real_id'].'_'.$my_course['id_session'].'" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$result .= Display::div('', array('id' => 'document_result_'.$info['real_id'].'_'.$my_course['id_session'], 'class'=>'document_preview_container'));
$result .= '</div>';
$params['right_actions'] .= '<div style="float:right;">';
$params['right_actions'] .= '<a id="document_preview_'.$info['real_id'].'_'.$my_course['id_session'].'" class="document_preview" href="javascript:void(0);">'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'</a>';
$params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$info['real_id'].'_'.$my_course['id_session'], 'class'=>'document_preview_container'));
$params['right_actions'] .= '</div>';
}
// Show the course_code and teacher if chosen to display this.
if (api_get_setting('display_coursecode_in_courselist') == 'true' || api_get_setting('display_teacher_in_courselist') == 'true') {
$result .= '<br />';
$session_title .= '<br />';
}
if (api_get_setting('display_coursecode_in_courselist') == 'true') {
$result .= $course_display_code;
$session_title .= $course_display_code;
}
if (api_get_setting('display_teacher_in_courselist') == 'true') {
@ -3194,75 +3202,78 @@ class CourseManager {
}
if ($s_course_status == 1 || ($s_course_status == 5 && empty($my_course['id_session'])) || empty($s_course_status)) {
$result .= $course_teacher;
$session_title .= $course_teacher;
}
if (($s_course_status == 5 && !empty($my_course['id_session'])) || ($is_coach && $s_course_status != 1)) {
if (is_array($course_coachs) && count($course_coachs)> 0 ) {
if (api_get_setting('display_coursecode_in_courselist') == 'true' && api_get_setting('display_teacher_in_courselist') == 'true') {
$result .= ' &ndash; ';
$session_title .= ' &ndash; ';
}
$result .= get_lang('Coachs').': '.implode(', ',$course_coachs);
$session_title .= get_lang('Coachs').': '.implode(', ',$course_coachs);
}
}
}
} else {
$result .= $course_teacher;
$session_title .= $course_teacher;
}
if(!empty($course_teacher_email)) {
$result .= ' ('.$course_teacher_email.')';
$session_title .= ' ('.$course_teacher_email.')';
}
}
$result .= isset($course['special_course']) ? ' '.Display::return_icon('klipper.png', get_lang('CourseAutoRegister')) : '';
$current_course_settings = CourseManager :: get_access_settings($my_course['k']);
$session_title .= isset($course['special_course']) ? ' '.Display::return_icon('klipper.png', get_lang('CourseAutoRegister')) : '';
//$current_course_settings = CourseManager :: get_access_settings($my_course['k']);
// Display the "what's new" icons.
$result .= Display :: show_notification($my_course);
$session_title .= Display :: show_notification($my_course);
$params['title'] = $session_title;
$params['extra'] = '';
if ((CONFVAL_showExtractInfo == SCRIPTVAL_InCourseList || CONFVAL_showExtractInfo == SCRIPTVAL_Both) && $nbDigestEntries > 0) {
reset($digest);
$result .= '
<ul>';
while (list($key2) = each($digest[$thisCourseSysCode])) {
$result .= '<li>';
$params['extra'] .= '<li>';
if ($orderKey[1] == 'keyTools') {
$result .= "<a href=\"$toolsList[$key2] [\"path\"] $thisCourseSysCode \">";
$result .= "$toolsList[$key2][\"name\"]</a>";
$params['extra'] .= "<a href=\"$toolsList[$key2] [\"path\"] $thisCourseSysCode \">";
$params['extra'] .= "$toolsList[$key2][\"name\"]</a>";
} else {
$result .= api_convert_and_format_date($key2, DATE_FORMAT_LONG, date_default_timezone_get());
$params['extra'] .= api_convert_and_format_date($key2, DATE_FORMAT_LONG, date_default_timezone_get());
}
$result .= '</li>';
$result .= '<ul>';
$params['extra'] .= '</li>';
$params['extra'] .= '<ul>';
reset ($digest[$thisCourseSysCode][$key2]);
while (list ($key3, $dataFromCourse) = each($digest[$thisCourseSysCode][$key2])) {
$result .= '<li>';
$params['extra'] .= '<li>';
if ($orderKey[2] == 'keyTools') {
$result .= "<a href=\"$toolsList[$key3] [\"path\"] $thisCourseSysCode \">";
$result .= "$toolsList[$key3][\"name\"]</a>";
$params['extra'] .= "<a href=\"$toolsList[$key3] [\"path\"] $thisCourseSysCode \">";
$params['extra'] .= "$toolsList[$key3][\"name\"]</a>";
} else {
$result .= api_convert_and_format_date($key3, DATE_FORMAT_LONG, date_default_timezone_get());
$params['extra'] .= api_convert_and_format_date($key3, DATE_FORMAT_LONG, date_default_timezone_get());
}
$result .= '<ul compact="compact">';
$params['extra'] .= '<ul compact="compact">';
reset($digest[$thisCourseSysCode][$key2][$key3]);
while (list ($key4, $dataFromCourse) = each($digest[$thisCourseSysCode][$key2][$key3])) {
$result .= '<li>';
$result .= @htmlspecialchars(api_substr(strip_tags($dataFromCourse), 0, CONFVAL_NB_CHAR_FROM_CONTENT), ENT_QUOTES, $charset);
$result .= '</li>';
$params['extra'] .= '<li>';
$params['extra'] .= @htmlspecialchars(api_substr(strip_tags($dataFromCourse), 0, CONFVAL_NB_CHAR_FROM_CONTENT), ENT_QUOTES, $charset);
$params['extra'] .= '</li>';
}
$result .= '</ul>';
$result .= '</li>';
$params['extra'] .= '</ul>';
$params['extra'] .= '</li>';
}
$result .= '</ul>';
$result .= '</li>';
$params['extra'] .= '</ul>';
$params['extra'] .= '</li>';
}
$result .= '</ul>';
$params['extra'] .= '</ul>';
}
$result .= '</li>';
$params['extra'] .= '</li>';
$html = self::course_item_html($params);
$session_category_id = null;
if (api_get_setting('use_session_mode') == 'true' && !$nosession) {
$session = '';
@ -3304,9 +3315,9 @@ class CourseManager {
if (isset($my_course['user_course_cat'])) {
$user_course_category = $my_course['user_course_cat'];
}
$output = array ($user_course_category, $result, $my_course['id_session'], $session, 'active' => $active, 'session_category_id' => $session_category_id);
$output = array ($user_course_category, $html, $my_course['id_session'], $session, 'active' => $active, 'session_category_id' => $session_category_id);
} else {
$output = array ($my_course['user_course_cat'], $result);
$output = array ($my_course['user_course_cat'], $html);
}
return $output;

@ -21,7 +21,7 @@ define('MAX_LENGTH_BREADCRUMB', 100);
define('ICON_SIZE_TINY', 16);
define('ICON_SIZE_SMALL', 22);
define('ICON_SIZE_MEDIUM', 32);
//define('ICON_SIZE_XXXX', 48); ??
define('ICON_SIZE_LARGE', 48);
define('ICON_SIZE_BIG', 64);
define('ICON_SIZE_HUGE', 128);

@ -423,11 +423,11 @@ class Template extends Smarty {
$header2 = show_header_2();
$header3 = show_header_3();
$header4 = show_header_4($interbreadcrumb, $language_file, $nameTools);
$breadcrumb = show_breadcrumb($interbreadcrumb, $language_file, $nameTools);
$this->assign('header2', $header2);
$this->assign('header3', $header3);
$this->assign('header4', $header4);
$this->assign('breadcrumb', $breadcrumb);
if (!api_is_platform_admin()) {
$extra_header = trim(api_get_setting('header_extra_content'));

@ -722,11 +722,12 @@ class IndexManager {
function show_right_block($title, $content, $class = '') {
$html = '';
$html.= '<div class="well">';
$html.= '<div class="well sidebar-nav">';
$html.= '<div class="menusection '.$class.' ">';
if (!empty($title)) {
$html.= '<span class="menusectioncaption">'.$title.'</span>';
$html.= '<h4>'.$title.'</h4>';
}
//<li class="nav-header">List header</li>
$html.= $content;
$html.= '</div>';
$html.= '</div>';
@ -739,9 +740,10 @@ class IndexManager {
*/
function display_login_form() {
$form = new FormValidator('formLogin', 'POST', null, null, array('class'=>'form-vertical'));
$form->addElement('text', 'login', get_lang('UserName'), array('size' => 17));
$form->addElement('password', 'password', get_lang('Pass'), array('size' => 17));
$form->addElement('style_submit_button','submitAuth', get_lang('LoginEnter'), array('class' => 'a_button gray'));
// 'placeholder'=>get_lang('UserName')
$form->addElement('text', 'login', get_lang('UserName'), array('class' => 'span2'));
$form->addElement('password', 'password', get_lang('Pass'), array('class' => 'span2'));
$form->addElement('style_submit_button','submitAuth', get_lang('LoginEnter'), array('class' => 'btn'));
$html = $form->return_form();
if (api_get_setting('openid_authentication') == 'true') {
include_once 'main/auth/openid/login.php';
@ -843,6 +845,7 @@ class IndexManager {
$profile_content .='<a href="'.api_get_path(WEB_PATH).'main/auth/profile.php"><img title="'.get_lang('EditProfile').'" src="'.$img_array['file'].'" '.$img_array['style'].' border="1"></a>';
}
$profile_content .= ' </div></div>';
$profile_content .= ' <div class="clear"></div>';
// @todo Add a platform setting to add the user image.
if (api_get_setting('allow_message_tool') == 'true') {
@ -861,8 +864,8 @@ class IndexManager {
$cant_msg = '';
if ($number_of_new_messages > 0) {
$cant_msg = ' ('.$number_of_new_messages.')';
}
$profile_content .= '<div class="clear"></div>';
}
$profile_content .= '<ul class="menulist">';
$link = '';
if (api_get_setting('allow_social_tool') == 'true') {
@ -1080,10 +1083,8 @@ class IndexManager {
}
}
}
$list = '';
foreach ($personal_course_list as $my_course) {
//$thisCourseDbName = $my_course['db'];
foreach ($personal_course_list as $my_course) {
$thisCourseSysCode = $my_course['k'];
$thisCoursePublicCode = $my_course['c'];
$thisCoursePath = $my_course['d'];
@ -1169,6 +1170,7 @@ class IndexManager {
}
} // End while mycourse...
$html = '';
if (is_array($courses_tree)) {
foreach ($courses_tree as $key => $category) {
@ -1176,8 +1178,8 @@ class IndexManager {
// Sessions and courses that are not in a session category.
if (!isset($_GET['history'])) {
// If we're not in the history view...
CourseManager :: display_special_courses(api_get_user_id(), $this->load_directories_preview);
CourseManager :: display_courses(api_get_user_id(), $this->load_directories_preview);
$html .= CourseManager :: display_special_courses(api_get_user_id(), $this->load_directories_preview);
$html .= CourseManager :: display_courses(api_get_user_id(), $this->load_directories_preview);
}
// Independent sessions.
foreach ($category['sessions'] as $session) {
@ -1207,8 +1209,7 @@ class IndexManager {
if ($session_now > $allowed_time) {
//read only and accesible
if (api_get_setting('hide_courses_in_sessions') == 'false') {
$c = CourseManager :: get_logged_user_course_html($course, $session['details']['id'], 'session_course_item', true, $this->load_directories_preview);
//$c = CourseManager :: get_logged_user_course_html($course, $session['details']['id'], 'session_course_item',($session['details']['visibility']==3?false:true));
$c = CourseManager :: get_logged_user_course_html($course, $session['details']['id'], 'session_course_item', true, $this->load_directories_preview);
$html_courses_session .= $c[1];
}
$count_courses_session++;
@ -1216,27 +1217,25 @@ class IndexManager {
}
if ($count_courses_session > 0) {
echo '<div class="userportal-session-item span8"><ul class="session_box">';
echo '<li class="session_box_title" id="session_'.$session['details']['id'].'" >';
echo Display::return_icon('window_list.png', get_lang('Expand').'/'.get_lang('Hide'), array('width' => '48px', 'align' => 'absmiddle', 'id' => 'session_img_'.$session['details']['id'])) . ' ';
$params = array();
$params['icon'] = Display::return_icon('window_list.png', get_lang('Expand').'/'.get_lang('Hide'), array('id' => 'session_img_'.$session['details']['id']), ICON_SIZE_LARGE);
$s = Display :: get_session_title_box($session['details']['id']);
$extra_info = (!empty($s['coach']) ? $s['coach'].' | ' : '').$s['dates'];
/*if ($session['details']['visibility'] == 3) {
$session_link = $s['title'];
} else {*/
$extra_info = (!empty($s['coach']) ? $s['coach'].' | ' : '').$s['dates'];
$session_link = Display::tag('a',$s['title'], array('href'=>api_get_path(WEB_CODE_PATH).'session/?session_id='.$session['details']['id']));
//}
echo Display::tag('span',$session_link. ' </span> <span style="padding-left: 10px; font-size: 90%; font-weight: normal;">'.$extra_info);
$params['title'] = $session_link.$extra_info;
$params['right_actions'] = '';
if (api_is_platform_admin()) {
echo '<div style="float:right;"><a href="'.api_get_path(WEB_CODE_PATH).'admin/resume_session.php?id_session='.$session['details']['id'].'">'.
Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),22).'</a></div>';
$params['right_actions'] .= '<a href="'.api_get_path(WEB_CODE_PATH).'admin/resume_session.php?id_session='.$session['details']['id'].'">';
$params['right_actions'] .= Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),22).'</a>';
}
echo '</li>';
if (api_get_setting('hide_courses_in_sessions') == 'false') {
echo $html_courses_session;
}
echo '</ul></div>';
// $params['extra'] .= $html_courses_session;
}
$html .= CourseManager::course_item_parent(CourseManager::course_item_html($params), $html_courses_session);
}
}
} else {
@ -1268,58 +1267,61 @@ class IndexManager {
$count++;
}
}
$params = array();
if ($count > 0) {
$s = Display :: get_session_title_box($session['details']['id']);
$html_sessions .= '<ul class="sub_session_box" id="session_'.$session['details']['id'].'">';
$html_sessions .= '<li class="sub_session_box_title" id="session_'.$session['details']['id'].'">';
//$html_sessions .= Display::return_icon('div_hide.gif', get_lang('Expand').'/'.get_lang('Hide'), array('align' => 'absmiddle', 'id' => 'session_img_'.$session['details']['id'])) . ' ';
$html_sessions .= Display::return_icon('window_list.png', get_lang('Expand').'/'.get_lang('Hide'), array('width' => '48px', 'align' => 'absmiddle', 'id' => 'session_img_'.$session['details']['id'])) . ' ';
//$html_sessions .= '<ul class="sub_session_box" id="session_'.$session['details']['id'].'">';
//$html_sessions .= '<li class="sub_session_box_title" id="session_'.$session['details']['id'].'">';
//$html_sessions .= Display::return_icon('window_list.png', get_lang('Expand').'/'.get_lang('Hide'), array('width' => '48px', 'align' => 'absmiddle', 'id' => 'session_img_'.$session['details']['id'])) . ' ';
$params['icon'] = Display::return_icon('window_list.png', get_lang('Expand').'/'.get_lang('Hide'), array('width' => '48px', 'align' => 'absmiddle', 'id' => 'session_img_'.$session['details']['id'])) . ' ';
$session_link = Display::tag('a',$s['title'], array('href'=>api_get_path(WEB_CODE_PATH).'session/?session_id='.$session['details']['id']));
$html_sessions .= '<span>' . $session_link. ' </span> ';
$html_sessions .= '<span style="padding-left: 10px; font-size: 90%; font-weight: normal;">';
$html_sessions .= (!empty($s['coach']) ? $s['coach'].' | ' : '').$s['dates'];
$html_sessions .= '</span>';
$params['title'] .= $session_link;
$params['title'] .= '<span style="padding-left: 10px; font-size: 90%; font-weight: normal;">';
$params['title'] .= (!empty($s['coach']) ? $s['coach'].' | ' : '').$s['dates'];
$params['title'] .= '</span>';
if (api_is_platform_admin()) {
$html_sessions .= '<div style="float: right;"><a href="'.api_get_path(WEB_CODE_PATH).'admin/resume_session.php?id_session='.$session['details']['id'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),22).'</a></div>';
}
$html_sessions .= '</li>';
$html_sessions .= $html_courses_session;
$html_sessions .= '</ul>';
$params['title'] .= '<div style="float: right;"><a href="'.api_get_path(WEB_CODE_PATH).'admin/resume_session.php?id_session='.$session['details']['id'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),22).'</a></div>';
}
$html .= CourseManager::course_item_parent(CourseManager::course_item_html($params), $html_courses_session);
//$html_sessions .= '</li>';
//$html_sessions .= $html_courses_session;
//$html_sessions .= '</ul>';
}
}
if ($count_courses_session > 0) {
$params = array();
echo '<div class="userportal-session-category-item span8" id="session_category_'.$category['details']['id'].'">';
echo '<div class="session_category_title_box" id="session_category_title_box_'.$category['details']['id'].'" style="color: #555555;">';
//$html .= '<div class="userportal-session-category-item span8" id="session_category_'.$category['details']['id'].'">';
//$html .= '<div class="session_category_title_box" id="session_category_title_box_'.$category['details']['id'].'" style="color: #555555;">';
echo Display::return_icon('folder_blue.png', get_lang('SessionCategory'), array('width'=>'48px', 'align' => 'absmiddle'));
$params['icon'] = Display::return_icon('folder_blue.png', get_lang('SessionCategory'), array(), ICON_SIZE_LARGE);
if (api_is_platform_admin()) {
echo'<div style="float: right;"><a href="'.api_get_path(WEB_CODE_PATH).'admin/session_category_edit.php?&id='.$category['details']['id'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array(),22).'</a></div>';
$params['right_actions'] .= '<div style="float: right;"><a href="'.api_get_path(WEB_CODE_PATH).'admin/session_category_edit.php?&id='.$category['details']['id'].'">'.Display::return_icon('edit.png', get_lang('Edit'), array(),22).'</a></div>';
}
$params['title'] .= $category['details']['name'];
echo '<span id="session_category_title">';
echo $category['details']['name'];
echo '</span>';
echo '<span style="padding-left: 10px; font-size: 90%; font-weight: normal;">';
if ($category['details']['date_end'] != '0000-00-00') {
printf(get_lang('FromDateXToDateY'),$category['details']['date_start'],$category['details']['date_end']);
$params['title'] .= sprintf(get_lang('FromDateXToDateY'),$category['details']['date_start'], $category['details']['date_end']);
}
echo '</span></div>';
echo $html_sessions;
echo '</div>';
//$html .= $html_sessions;
//$html .= '</div>';
$html .= CourseManager::course_item_parent(CourseManager::course_item_html($params), $html_sessions);
}
}
}
}
}
return $html;
}
function return_hot_courses() {

@ -15,7 +15,8 @@
<!--[if ie]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
{* Improve usability in portal devices*}
<meta name="viewport" content="width=device-width">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{$title_string}</title>
<style type="text/css" media="screen">
@ -66,18 +67,20 @@ $(document).scroll(function() {
// If has not activated (has no attribute "data-top"
if($('body').width() > 959) {
if (!$('.subnav').attr('data-top')) {
// If already fixed, then do nothing
if ($('.subnav').hasClass('subnav-fixed')) return;
// Remember top position
var offset = $('.subnav').offset()
$('.subnav').attr('data-top', offset.top);
}
if ($('.subnav').length) {
if (!$('.subnav').attr('data-top')) {
// If already fixed, then do nothing
if ($('.subnav').hasClass('subnav-fixed')) return;
// Remember top position
var offset = $('.subnav').offset()
$('.subnav').attr('data-top', offset.top);
}
if ($('.subnav').attr('data-top') - $('.subnav').outerHeight() <= $(this).scrollTop())
$('.subnav').addClass('subnav-fixed');
else
$('.subnav').removeClass('subnav-fixed');
if ($('.subnav').attr('data-top') - $('.subnav').outerHeight() <= $(this).scrollTop())
$('.subnav').addClass('subnav-fixed');
else
$('.subnav').removeClass('subnav-fixed');
}
}
});

@ -22,7 +22,7 @@
{* Main content *}
{$content}
</section>
</div>
</div>
{/block}
{* Footer *}

@ -1,4 +1,3 @@
</div> <!-- end of #main" started at the end of banner.inc.php -->
</div> <!-- end of #main" started at the end of banner.inc.php -->
<div class="push"></div>

@ -18,12 +18,12 @@
<div id="wrapper">
{* Bug and help notifications *}
<ul id="navigation">
<ul id="navigation" class="notification-panel">
{$help_content}
{$bug_notification_link}
</ul>
{*topbar*}
{* topbar *}
{include file="default/layout/topbar.tpl"}
<div id="main" class="container">
@ -50,5 +50,5 @@
{/if}
{* breadcrumb *}
{$header4}
{$breadcrumb}
<div id="submain-content" class="row">

@ -203,11 +203,8 @@ $controller = new IndexManager(get_lang('MyCourses'));
//@todo all this could be moved in the IndexManager
// Main courses and session list
ob_start();
$controller->return_courses_and_sessions($personal_course_list);
$courses_and_sessions = ob_get_contents();
ob_get_clean();
$courses_and_sessions = $controller->return_courses_and_sessions($personal_course_list);
$controller->tpl->assign('content', $courses_and_sessions);
/*

Loading…
Cancel
Save