diff --git a/main/exercice/exercice_submit.php b/main/exercice/exercice_submit.php
index 3bf800bce8..4b7a4fc1e4 100755
--- a/main/exercice/exercice_submit.php
+++ b/main/exercice/exercice_submit.php
@@ -1,5 +1,5 @@
'; //jQuery
$htmlHeadXtra[] = '';
-if (api_get_setting('show_glossary_in_extra_tools') == 'true') {
- $htmlHeadXtra[] = ''; //Glossary
- $htmlHeadXtra[] = '';
-
+if (api_get_setting('show_glossary_in_extra_tools') == 'true') {
+ $htmlHeadXtra[] = ''; //Glossary
+ $htmlHeadXtra[] = '';
}
//This library is necessary for the time control feature
$htmlHeadXtra[] = ''; //jQuery
@@ -124,7 +123,6 @@ $error = '';
if (!isset ($exerciseType)) {
$exe_start_date = time();
$_SESSION['exercice_start_date'] = $exe_start_date;
- error_log($_SESSION['exercice_start_date']);
}
// if the user has clicked on the "Cancel" button
if ($buttonCancel) {
@@ -1227,19 +1225,20 @@ if ($_configuration['live_exercise_tracking'] == true && $exerciseFeedbackType !
} else {
$sql_fields = "";
$sql_fields_values = "";
- } error_log($exerciseType);
+ }
if ($exerciseType == 2) {
$sql = "INSERT INTO $stat_table($sql_fields exe_exo_id,exe_user_id,exe_cours_id,status,session_id,data_tracking,start_date,orig_lp_id,orig_lp_item_id)
VALUES($sql_fields_values '$exerciseId','" . api_get_user_id() . "','" . $_course['id'] . "','incomplete','" . api_get_session_id() . "','" . implode(',', $questionList) . "','" . date('Y-m-d H:i:s') . "',$safe_lp_id,$safe_lp_item_id)";
- error_log($sql);
+
Database::query($sql, __FILE__, __LINE__);
} else {
$sql = "INSERT INTO $stat_table ($sql_fields exe_exo_id,exe_user_id,exe_cours_id,status,session_id,start_date,orig_lp_id,orig_lp_item_id)
VALUES($sql_fields_values '$exerciseId','" . api_get_user_id() . "','" . $_course['id'] . "','incomplete','" . api_get_session_id() . "','" . date('Y-m-d H:i:s') . "',$safe_lp_id,$safe_lp_item_id)";
- error_log($sql);
+
Database::query($sql, __FILE__, __LINE__);
}
+
}
}
diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php
old mode 100644
new mode 100755
diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php
index 708b832dbd..12f2c8b2df 100644
--- a/main/inc/lib/usermanager.lib.php
+++ b/main/inc/lib/usermanager.lib.php
@@ -2786,6 +2786,66 @@ class UserManager
$code_special_courses = ' course.code IN ('.join($special_course_list, ',').') ';
}
+ // variable initialisation
+ $course_list_sql = '';
+ $course_list = array();
+ if(!empty($code_special_courses)){
+ $course_list_sql = "SELECT course.code k, course.directory d, course.visual_code c, course.db_name db, course.title i, course.tutor_name t, course.course_language l, course_rel_user.status s, course_rel_user.sort sort, course_rel_user.user_course_cat user_course_cat
+ FROM ".$tbl_course_user." course_rel_user
+ LEFT JOIN ".$tbl_course." course
+ ON course.code = course_rel_user.course_code
+ LEFT JOIN ".$tbl_user_course_category." user_course_category
+ ON course_rel_user.user_course_cat = user_course_category.id
+ $join_access_url
+ WHERE $code_special_courses $where_access_url
+ GROUP BY course.code
+ ORDER BY user_course_category.sort,course.title,course_rel_user.sort ASC";
+ $course_list_sql_result = api_sql_query($course_list_sql, __FILE__, __LINE__);
+ while ($result_row = Database::fetch_array($course_list_sql_result)) {
+ $course_list[] = $result_row;
+ }
+ }
+ return $course_list;
+ }
+ /**
+ * Gives a list of course auto-register (field special_course)
+ * @return array list of course
+ * @author Jhon Hinojosa
+ * @since Dokeos 1.8.6.2
+ */
+ public static function get_special_course_list() {
+ // Database Table Definitions
+ $tbl_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
+ $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE);
+ $tbl_course_field = Database :: get_main_table(TABLE_MAIN_COURSE_FIELD);
+ $tbl_course_field_value = Database :: get_main_table(TABLE_MAIN_COURSE_FIELD_VALUES);
+ $tbl_user_course_category = Database :: get_user_personal_table(TABLE_USER_COURSE_CATEGORY);
+
+ //we filter the courses from the URL
+ $join_access_url=$where_access_url='';
+ global $_configuration;
+ if ($_configuration['multiple_access_urls']==true) {
+ $access_url_id = api_get_current_access_url_id();
+ if($access_url_id!=-1) {
+ $tbl_url_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
+ $join_access_url= "LEFT JOIN $tbl_url_course url_rel_course ON url_rel_course.course_code= course.code";
+ $where_access_url=" AND access_url_id = $access_url_id ";
+ }
+ }
+
+ // Filter special courses
+ $sql_special_course = "SELECT course_code FROM $tbl_course_field_value tcfv INNER JOIN $tbl_course_field tcf ON " .
+ " tcfv.field_id = tcf.id WHERE tcf.field_variable = 'special_course' AND tcfv.field_value = 1 ";
+ $special_course_result = Database::query($sql_special_course, __FILE__, __LINE__);
+ $code_special_courses = '';
+ if(Database::num_rows($special_course_result)>0) {
+ $special_course_list = array();
+ while ($result_row = Database::fetch_array($special_course_result)) {
+ $special_course_list[] = '"'.$result_row['course_code'].'"';
+ }
+ $code_special_courses = ' course.code IN ('.join($special_course_list, ',').') ';
+ }
+
// variable initialisation
$course_list_sql = '';
$course_list = array();
diff --git a/user_portal.php b/user_portal.php
index c41d5591c9..d747298984 100644
--- a/user_portal.php
+++ b/user_portal.php
@@ -863,8 +863,7 @@ if (!empty ($_GET['include']) && preg_match('/^[a-zA-Z0-9_-]*\.html$/',$_GET['in
}
foreach ($courses_tree as $cat => $sessions) {
$courses_tree[$cat]['details'] = SessionManager::get_session_category($cat);
-
- if ($cat == 0) {
+ if ($cat == 0) {
$courses_tree[$cat]['courses'] = CourseManager::get_courses_list_by_user_id($_user['user_id'],false);
}
$courses_tree[$cat]['sessions'] = array_flip(array_flip($sessions));