';
-
if (!empty($params['link'])) {
$html .= '
';
$html .= $params['icon'];
@@ -2853,14 +2851,12 @@ class CourseManager {
$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)) {
$course_info = api_get_course_info($course['code']);
-
$params = array();
// Get notifications.
//$course['id_session'] = null;
@@ -2876,7 +2872,7 @@ class CourseManager {
$params['icon'] = Display::return_icon('blackboard.png', $course_info['title'], array(), ICON_SIZE_LARGE);
- $params['right_actions'] = '';
+ $params['right_actions'] = '';
if (api_is_platform_admin()) {
if ($load_dirs) {
$params['right_actions'] .= ''.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'';
@@ -2889,9 +2885,11 @@ class CourseManager {
//echo Display::return_icon('teachers.gif', get_lang('Status').': '.get_lang('Teacher'), array('style'=>'width: 11px; height: 11px;'));
}
} else {
- if ($load_dirs) {
- $params['right_actions'] .= '
'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'';
- $params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course['real_id'].'_0', 'class'=>'document_preview_container'));
+ if ($course_info['visibility'] != COURSE_VISIBILITY_CLOSED) {
+ if ($load_dirs) {
+ $params['right_actions'] .= '
'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'';
+ $params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course['real_id'].'_0', 'class'=>'document_preview_container'));
+ }
}
}
@@ -2912,7 +2910,11 @@ class CourseManager {
$params['title'] = $course_title;
$params['link'] = api_get_path(WEB_COURSE_PATH).$course_info['path'].'/?id_session=0&autoreg=1';
- $params['notifications'] = $show_notification;
+
+ if ($course_info['visibility'] != COURSE_VISIBILITY_CLOSED) {
+ $params['notifications'] = $show_notification;
+ }
+
$html .= self::course_item_html($params, false);
$key++;
}
@@ -2993,7 +2995,6 @@ class CourseManager {
$result = Database::query($sql_select_courses);
$key = 0;
$status_icon = '';
-
$html = '';
// Browse through all courses.
@@ -3026,12 +3027,14 @@ class CourseManager {
//echo Display::return_icon('teachers.gif', get_lang('Status').': '.get_lang('Teacher'), array('style'=>'width: 11px; height: 11px;'));
}
} else {
- if ($load_dirs) {
- $params['right_actions'] .= '
'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'';
- $params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course_info['real_id'].'_0', 'class'=>'document_preview_container'));
- } else {
- if ($course_info['status'] == COURSEMANAGER) {
- $params['right_actions'].= '
'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'';
+ if ($course_info['visibility'] != COURSE_VISIBILITY_CLOSED) {
+ if ($load_dirs) {
+ $params['right_actions'] .= '
'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'';
+ $params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course_info['real_id'].'_0', 'class'=>'document_preview_container'));
+ } else {
+ if ($course_info['status'] == COURSEMANAGER) {
+ $params['right_actions'].= '
'.Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'';
+ }
}
}
}
@@ -3057,7 +3060,10 @@ class CourseManager {
$params['icon'] = $status_icon;
$params['title'] = $course_title;
$params['teachers'] = $teachers;
- $params['notifications'] = $show_notification;
+
+ if ($course_info['visibility'] != COURSE_VISIBILITY_CLOSED) {
+ $params['notifications'] = $show_notification;
+ }
$is_subcontent = true;
if (empty($user_category_id)) {
@@ -3138,7 +3144,7 @@ class CourseManager {
$course_info['id_session'] = $session_id;
- if (api_get_setting('use_session_mode') == 'true' && !$nosession) {
+ if (!$nosession) {
global $now, $date_start, $date_end;
}
@@ -3152,30 +3158,6 @@ class CourseManager {
$user_in_course_status = CourseManager :: get_user_in_course_status(api_get_user_id(), $course_info['code']);
-
- // Function logic - act on the data.
- /*
- $is_virtual_course = CourseManager :: is_virtual_course_from_system_code($course_info['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
- // the course list - it is combined with the real course entry.
- $target_course_code = CourseManager :: get_target_of_linked_course($course_info['code']);
- $is_subscribed_in_target_course = CourseManager :: is_user_subscribed_in_course(api_get_user_id(), $target_course_code);
- if ($is_subscribed_in_target_course) {
- return; //do not display this course entry
- }
- }
- $has_virtual_courses = CourseManager :: has_virtual_courses_from_code($course_info['code'], api_get_user_id());
- if ($has_virtual_courses) {
- $return_result = CourseManager :: determine_course_title_from_course_info(api_get_user_id(), $course_info);
- $course_display_title = $return_result['name'];
- $course_display_code = $return_result['code'];
- } else {
- $course_display_title = $course_info['name'];
- $course_display_code = $course_info['official_code'];
- }*/
-
$is_coach = api_is_coach($course_info['id_session'], $course['code']);
// Display course entry.
@@ -3185,7 +3167,7 @@ class CourseManager {
if ($session_accessible) {
if ($course_visibility != COURSE_VISIBILITY_CLOSED || $user_in_course_status == COURSEMANAGER) {
- if (api_get_setting('use_session_mode') == 'true' && !$nosession) {
+ if (!$nosession) {
if (empty($course_info['id_session'])) {
$course_info['id_session'] = 0;
}
@@ -3210,9 +3192,12 @@ class CourseManager {
$params['title'] = $session_title;
$params['right_actions'] = '';
- if ($load_dirs) {
- $params['right_actions'] .= '
'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'';
- $params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course_info['real_id'].'_'.$course_info['id_session'], 'class'=>'document_preview_container'));
+
+ if ($course_visibility != COURSE_VISIBILITY_CLOSED) {
+ if ($load_dirs) {
+ $params['right_actions'] .= '
'.Display::return_icon('folder.png', get_lang('Documents'), array('align' => 'absmiddle'),ICON_SIZE_SMALL).'';
+ $params['right_actions'] .= Display::div('', array('id' => 'document_result_'.$course_info['real_id'].'_'.$course_info['id_session'], 'class'=>'document_preview_container'));
+ }
}
if (api_get_setting('display_coursecode_in_courselist') == 'true') {
@@ -3220,7 +3205,7 @@ class CourseManager {
}
if (api_get_setting('display_teacher_in_courselist') == 'true') {
- if (api_get_setting('use_session_mode') == 'true' && !$nosession) {
+ if (!$nosession) {
$teacher_list = CourseManager::get_teacher_list_from_course_code_to_string($course_info['code'], self::USER_SEPARATOR, true);
$course_coachs = CourseManager::get_coachs_from_course_to_string($course_info['id_session'], $course['code'], self::USER_SEPARATOR, true);
@@ -3228,7 +3213,7 @@ class CourseManager {
$params['teachers'] = $teacher_list;
}
if (($course_info['status'] == STUDENT && !empty($course_info['id_session'])) || ($is_coach && $course_info['status'] != COURSEMANAGER)) {
- $params['coaches'] = $course_coachs;
+ $params['coaches'] = $course_coachs;
}
} else {
$params['teachers'] = $teacher_list;
@@ -3238,7 +3223,9 @@ class CourseManager {
$session_title .= isset($course['special_course']) ? ' '.Display::return_icon('klipper.png', get_lang('CourseAutoRegister')) : '';
// Display the "what's new" icons
- $session_title .= Display :: show_notification($course_info);
+ if ($course_visibility != COURSE_VISIBILITY_CLOSED) {
+ $session_title .= Display :: show_notification($course_info);
+ }
$params['title'] = $session_title;
$params['extra'] = '';
@@ -3246,7 +3233,7 @@ class CourseManager {
$html = self::course_item_html($params, true);
$session_category_id = null;
- if (api_get_setting('use_session_mode') == 'true' && !$nosession) {
+ if (!$nosession) {
$session = '';
$active = false;
if (!empty($course_info['session_name'])) {
@@ -3678,7 +3665,8 @@ class CourseManager {
}
}
- $table_course_access = Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS);
+ $table_course_access = Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS);
+ $table_course = Database::get_main_table(TABLE_MAIN_COURSE);
//@todo all dates in the tracking_course_access, last_access are in the DB time (NOW) not UTC
/*
@@ -3691,8 +3679,11 @@ class CourseManager {
//$table_course_access table uses the now() and interval ...
- $sql = "SELECT COUNT(course_access_id) course_count, course_code FROM $table_course_access
- WHERE login_course_date <= now() AND login_course_date > DATE_SUB(now(), INTERVAL $days DAY)
+ $sql = "SELECT COUNT(course_access_id) course_count, a.course_code, visibility FROM $table_course c INNER JOIN $table_course_access a
+ ON (c.code = a.course_code)
+ WHERE login_course_date <= now() AND
+ login_course_date > DATE_SUB(now(), INTERVAL $days DAY) AND
+ visibility <> '".COURSE_VISIBILITY_CLOSED."'
GROUP BY course_code
ORDER BY course_count DESC
LIMIT $limit";
@@ -3704,25 +3695,25 @@ class CourseManager {
$ajax_url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=add_course_vote';
foreach ($courses as &$my_course) {
- $course_info = api_get_course_info($my_course['course_code']);
+ $course_info = api_get_course_info($my_course['course_code']);
$my_course['extra_info'] = $course_info;
$my_course['extra_info']['go_to_course_button'] = '';
//Course visibility
if (api_is_platform_admin() || (
$course_info['visibility'] == COURSE_VISIBILITY_OPEN_WORLD ||
- ($course_info['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM && api_user_is_login()) || in_array($course_info['real_id'], $my_course_code_list) && $course_info['visibility'] != COURSE_VISIBILITY_CLOSED )
+ ($course_info['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM && api_user_is_login()) || in_array($course_info['real_id'], $my_course_code_list))
) {
- $my_course['extra_info']['go_to_course_button'] = Display::url(get_lang('GoToCourse'), api_get_path(WEB_COURSE_PATH).$my_course['extra_info']['path'].'/index.php', array('class' => 'btn btn-primary'));
+ $my_course['extra_info']['go_to_course_button'] = Display::url(get_lang('GoToCourse'), api_get_path(WEB_COURSE_PATH).$course_info['path'].'/index.php', array('class' => 'btn btn-primary'));
}
//Description
$my_course['extra_info']['description_button'] = '';
if ($course_info['visibility'] == COURSE_VISIBILITY_OPEN_WORLD || in_array($course_info['real_id'], $my_course_code_list) ) {
- $my_course['extra_info']['description_button'] = Display::url(get_lang('Description'), api_get_path(WEB_AJAX_PATH).'course_home.ajax.php?a=show_course_information&code='.$my_course['course_code'], array('class' => 'ajax btn'));
+ $my_course['extra_info']['description_button'] = Display::url(get_lang('Description'), api_get_path(WEB_AJAX_PATH).'course_home.ajax.php?a=show_course_information&code='.$course_info['code'], array('class' => 'ajax btn'));
}
- $my_course['extra_info']['teachers'] = CourseManager::get_teacher_list_from_course_code_to_string($my_course['course_code']);
+ $my_course['extra_info']['teachers'] = CourseManager::get_teacher_list_from_course_code_to_string($course_info['code']);
$point_info = self::get_course_ranking($course_info['real_id'], 0);
$my_course['extra_info']['rating_html'] = Display::return_rating_system('star_'.$course_info['real_id'], $ajax_url.'&course_id='.$course_info['real_id'], $point_info);
}
diff --git a/main/inc/lib/display.lib.php b/main/inc/lib/display.lib.php
index 77be3c31bc..1f25c123a2 100644
--- a/main/inc/lib/display.lib.php
+++ b/main/inc/lib/display.lib.php
@@ -1005,37 +1005,6 @@ class Display {
return $table->toHtml();
}
- /**
- * Display dashboard link
- *
- */
- /*function display_dashboard_link() {
- echo '
'.get_lang('Dashboard').'';
- }*/
-
- /**
- * Display edit course list links
- *
- */
- /*function display_edit_course_list_links() {
- echo '
'.get_lang('CourseManagement').'';
- }*/
-
- /**
- * Show history sessions
- *
- */
- /*
- function display_history_course_session() {
- if (api_get_setting('use_session_mode') == 'true') {
- if (isset($_GET['history']) && intval($_GET['history']) == 1) {
- echo '
'.get_lang('DisplayTrainingList').'';
- } else {
- echo '
'.get_lang('HistoryTrainingSessions').'';
- }
- }
- }*/
-
/**
* Returns the "what's new" icon notifications
*
@@ -1251,12 +1220,12 @@ class Display {
function get_session_title_box($session_id) {
global $nosession;
- if (api_get_setting('use_session_mode') == 'true' && !$nosession) {
+ if (!$nosession) {
global $now, $date_start, $date_end;
}
$output = array();
- if (api_get_setting('use_session_mode') == 'true' && !$nosession) {
+ if (!$nosession) {
$main_user_table = Database :: get_main_table(TABLE_MAIN_USER);
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
$tbl_session_category = Database :: get_main_table(TABLE_MAIN_SESSION_CATEGORY);
diff --git a/main/inc/lib/document.lib.php b/main/inc/lib/document.lib.php
index d5a830b108..bbc67c5544 100755
--- a/main/inc/lib/document.lib.php
+++ b/main/inc/lib/document.lib.php
@@ -797,11 +797,11 @@ class DocumentManager {
}
if (!empty($document_id)) {
- $sql= 'SELECT a.insert_user_id, b.readonly FROM '.$TABLE_PROPERTY.' a,'.$TABLE_DOCUMENT.' b
+ $sql= "SELECT a.insert_user_id, b.readonly FROM $TABLE_PROPERTY a, $TABLE_DOCUMENT b
WHERE
a.c_id = $course_id AND
b.c_id = $course_id AND
- a.ref = b.id and a.ref='.$document_id.' LIMIT 1';
+ a.ref = b.id and a.ref= $document_id LIMIT 1";
$resultans = Database::query($sql);
$doc_details = Database ::fetch_array($resultans, 'ASSOC');
@@ -1306,7 +1306,7 @@ class DocumentManager {
}
$sql='UPDATE '.$tbl_category.' SET document_id="'.Database::escape_string($document_id).'"
WHERE course_code="'.Database::escape_string($course_id).'" '.$sql_session;
- $rs=Database::query($sql);
+ Database::query($sql);
}
/**
@@ -1461,7 +1461,7 @@ class DocumentManager {
$default_certificate=self::get_default_certificate_id($course_id);
if ((int)$default_certificate==(int)$default_certificate_id) {
$tbl_category=Database :: get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY);
- $session_id=api_get_session_id();
+ $session_id = api_get_session_id();
if ($session_id==0 || is_null($session_id)) {
$sql_session='AND (session_id='.Database::escape_string($session_id).' OR isnull(session_id)) ';
} elseif ($session_id>0) {
@@ -1471,8 +1471,8 @@ class DocumentManager {
}
$sql='UPDATE '.$tbl_category.' SET document_id=null
- WHERE course_code="'.Database::escape_string($course_id).'" AND document_id="'.$default_certificate_id.'" '.$sql_session;
- $rs=Database::query($sql);
+ WHERE course_code="'.Database::escape_string($course_id).'" AND document_id="'.$default_certificate_id.'" '.$sql_session;
+ Database::query($sql);
}
}
diff --git a/main/inc/lib/fckeditor/editor/_source/internals/fck.js b/main/inc/lib/fckeditor/editor/_source/internals/fck.js
old mode 100755
new mode 100644
index f3553d091e..b5a4a9a912
--- a/main/inc/lib/fckeditor/editor/_source/internals/fck.js
+++ b/main/inc/lib/fckeditor/editor/_source/internals/fck.js
@@ -381,10 +381,10 @@ var FCK =
var oRegex ;
if ( sTags.length > 0 )
{
- oRegex = new RegExp( '<(' + sTags + ')(?!\w|:)', 'gi' ) ;
+ oRegex = new RegExp( '<(' + sTags + ')(?!\w|:)', 'gi' ) ;
html = html.replace( oRegex, '
', 'gi' ) ;
+ oRegex = new RegExp( '<\/(' + sTags + ')>', 'gi' ) ;
html = html.replace( oRegex, '<\/FCK:$1>' ) ;
}
@@ -398,8 +398,10 @@ var FCK =
sTags = 'META' ;
if ( FCKBrowserInfo.IsIE )
sTags += '|HR' ;
-
- oRegex = new RegExp( '<((' + sTags + ')(?=\\s|>|/)[\\s\\S]*?)/?>', 'gi' ) ;
+
+ //Fixes bug when editing meta tags see BT#4370
+ //oRegex = new RegExp( '<((' + sTags + ')(?=\\s|>|/)[\\s\\S]*?)/?>', 'gi' ) ;
+ oRegex = new RegExp( '<((' + sTags + ')(?=\s|>)[\s\S]*?)/?>', 'gi' ) ;
html = html.replace( oRegex, '' ) ;
return html ;
diff --git a/main/inc/lib/fckeditor/editor/fckeditor.original.html b/main/inc/lib/fckeditor/editor/fckeditor.original.html
old mode 100755
new mode 100644
index 07272aee09..4271a59cfb
--- a/main/inc/lib/fckeditor/editor/fckeditor.original.html
+++ b/main/inc/lib/fckeditor/editor/fckeditor.original.html
@@ -1,4 +1,4 @@
-
+
/g,/