Browse Source

Merge remote-tracking branch 'origin/1.10.x' into 1.10.x

Yannick Warnier 9 years ago
parent
commit
808a65521f

+ 1 - 1
main/create_course/add_course.php

@@ -245,7 +245,7 @@ if ($form->validate()) {
     $course_values = $form->exportValues();
 
     $wanted_code = $course_values['wanted_code'];
-    $category_code = $course_values['category_code'];
+    $category_code = isset($course_values['category_code']) ? $course_values['category_code'] : '';
     $title = $course_values['title'];
     $course_language = $course_values['course_language'];
     $exemplary_content = !empty($course_values['exemplary_content']);

+ 43 - 38
main/inc/lib/add_course.lib.inc.php

@@ -491,73 +491,73 @@ class AddCourse
                     'course_create_active_tools',
                     'course_description'
                 )
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+            ) . "','0','squaregrey.gif', 0,'_self','authoring','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 2, '" . TOOL_CALENDAR_EVENT . "','calendar/agenda.php','agenda.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'agenda')
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage  (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 3, '" . TOOL_DOCUMENT . "','document/document.php','folder_document.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'documents')
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+            ) . "','0','squaregrey.gif',0,'_self','authoring','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 4, '" . TOOL_LEARNPATH . "','newscorm/lp_controller.php','scorms.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'learning_path')
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+            ) . "','0','squaregrey.gif',0,'_self','authoring','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
              VALUES ($course_id, 5, '" . TOOL_LINK . "','link/link.php','links.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'links')
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+            ) . "','0','squaregrey.gif',0,'_self','authoring','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage  (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES  ($course_id, 6, '" . TOOL_QUIZ . "','exercice/exercice.php','quiz.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'quiz')
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+            ) . "','0','squaregrey.gif',0,'_self','authoring','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 7, '" . TOOL_ANNOUNCEMENT . "','announcements/announcements.php','valves.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'announcements')
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+            ) . "','0','squaregrey.gif', 0,'_self','authoring','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 8, '" . TOOL_FORUM . "','forum/index.php','forum.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'forums')
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 9, '" . TOOL_DROPBOX . "','dropbox/index.php','dropbox.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'dropbox')
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 10, '" . TOOL_USER . "','user/user.php','members.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'users')
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 11, '" . TOOL_GROUP . "','group/group.php','group.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'groups')
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 12, '" . TOOL_CHAT . "','chat/chat.php','chat.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'chat')
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
@@ -566,49 +566,52 @@ class AddCourse
                     'course_create_active_tools',
                     'student_publications'
                 )
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 14, '" . TOOL_SURVEY . "','survey/survey_list.php','survey.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'survey')
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 15, '" . TOOL_WIKI . "','wiki/index.php','wiki.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'wiki')
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 16, '" . TOOL_GRADEBOOK . "','gradebook/index.php','gradebook.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'gradebook')
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+            ) . "','0','squaregrey.gif',0,'_self','authoring','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 17, '" . TOOL_GLOSSARY . "','glossary/index.php','glossary.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'glossary')
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+            ) . "','0','squaregrey.gif',0,'_self','authoring','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 18, '" . TOOL_NOTEBOOK . "','notebook/index.php','notebook.gif','" . self::string2binary(
                 api_get_setting('course_create_active_tools', 'notebook')
-            ) . "','0','squaregrey.gif','NO','_self','interaction','0')"
+            ) . "','0','squaregrey.gif',0,'_self','interaction','0')"
         );
+
+        $setting = intval(self::string2binary(
+            api_get_setting('course_create_active_tools', 'attendances')
+        ));
+
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
-            VALUES ($course_id, 19, '" . TOOL_ATTENDANCE . "','attendance/index.php','attendance.gif','" . self::string2binary(
-                api_get_setting('course_create_active_tools', 'attendances')
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+            VALUES ($course_id, 19, '" . TOOL_ATTENDANCE . "','attendance/index.php','attendance.gif','" . $setting. "','0','squaregrey.gif',0,'_self','authoring','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
             VALUES ($course_id, 20, '" . TOOL_COURSE_PROGRESS . "','course_progress/index.php','course_progress.gif','" . self::string2binary(
-                api_get_setting('course_create_active_tools', 'course_progress')
-            ) . "','0','squaregrey.gif','NO','_self','authoring','0')"
+                intval(api_get_setting('course_create_active_tools', 'course_progress'))
+            ) . "','0','squaregrey.gif',0,'_self','authoring','0')"
         );
 
         if (api_get_setting('service_visio', 'active') == 'true') {
@@ -633,28 +636,28 @@ class AddCourse
                         'course_create_active_tools',
                         'enable_search'
                     )
-                ) . "','0','search.gif','NO','_self','authoring','0')"
+                ) . "','0','search.gif',0,'_self','authoring','0')"
             );
         }
 
         $sql = "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
-                VALUES ($course_id, 24,'" . TOOL_BLOGS . "','blog/blog_admin.php','blog_admin.gif','" . self::string2binary(
-                api_get_setting('course_create_active_tools', 'blogs')
-            ) . "','1','squaregrey.gif','NO','_self','admin','0')";
+                VALUES ($course_id, 24,'" . TOOL_BLOGS . "','blog/blog_admin.php','blog_admin.gif','" . intval(self::string2binary(
+                api_get_setting('course_create_active_tools', 'blogs'))
+            ) . "','1','squaregrey.gif',0,'_self','admin','0')";
         Database::query($sql);
 
         /*  Course homepage tools for course admin only  */
         Database::query(
             "INSERT INTO $tbl_course_homepage  (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
-            VALUES ($course_id, 25, '" . TOOL_TRACKING . "','tracking/courseLog.php','statistics.gif','$visible_for_course_admin','1','', 'NO','_self','admin','0')"
+            VALUES ($course_id, 25, '" . TOOL_TRACKING . "','tracking/courseLog.php','statistics.gif','$visible_for_course_admin','1','', 0,'_self','admin','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
-            VALUES ($course_id, 26, '" . TOOL_COURSE_SETTING . "','course_info/infocours.php','reference.gif','$visible_for_course_admin','1','', 'NO','_self','admin','0')"
+            VALUES ($course_id, 26, '" . TOOL_COURSE_SETTING . "','course_info/infocours.php','reference.gif','$visible_for_course_admin','1','', 0,'_self','admin','0')"
         );
         Database::query(
             "INSERT INTO $tbl_course_homepage (c_id, id, name, link, image, visibility, admin, address, added_tool, target, category, session_id)
-            VALUES ($course_id, 27, '" . TOOL_COURSE_MAINTENANCE . "','course_info/maintenance.php','backup.gif','$visible_for_course_admin','1','','NO','_self', 'admin','0')"
+            VALUES ($course_id, 27, '" . TOOL_COURSE_MAINTENANCE . "','course_info/maintenance.php','backup.gif','$visible_for_course_admin','1','',0,'_self', 'admin','0')"
         );
 
         $defaultEmailExerciseAlert = 1;
@@ -667,7 +670,7 @@ class AddCourse
 
         /* course_setting table (courseinfo tool)   */
         $settings = [
-            'email_alert_manager_on_new_doc' => ['default' => 0, 'category' => 'work'],
+            'email_alert_manager_on_new_doc' => ['title' => '', 'default' => 0, 'category' => 'work'],
             'email_alert_on_new_doc_dropbox' => ['default' => 0, 'category' => 'dropbox'],
             'allow_user_edit_agenda' => ['default' => 0, 'category' => 'agenda'],
             'allow_user_edit_announcement' => ['default' => 0, 'category' => 'announcement'],
@@ -691,9 +694,10 @@ class AddCourse
 
         $counter = 1;
         foreach ($settings as $variable => $setting) {
+            $title = isset($setting['title']) ? $setting['title'] : '';
             Database::query(
-                "INSERT INTO $TABLESETTING (id, c_id, variable, value, category)
-                 VALUES ($counter, $course_id, '".$variable."', '".$setting['default']."', '".$setting['category']."')"
+                "INSERT INTO $TABLESETTING (id, c_id, title, variable, value, category)
+                 VALUES ($counter, $course_id, '".$title."', '".$variable."', '".$setting['default']."', '".$setting['category']."')"
             );
             $counter++;
         }
@@ -703,8 +707,8 @@ class AddCourse
         /* Group tool */
 
         Database::query(
-            "INSERT INTO $TABLEGROUPCATEGORIES  (c_id, id, title , description, max_student, self_reg_allowed, self_unreg_allowed, groups_per_user, display_order)
-             VALUES ($course_id, '2', '" . self::lang2db(get_lang('DefaultGroupCategory')) . "', '', '8', '0', '0', '0', '0');"
+            "INSERT INTO $TABLEGROUPCATEGORIES (c_id, id, title , description, max_student, self_reg_allowed, self_unreg_allowed, groups_per_user, display_order, doc_state,calendar_state, work_state ,announcements_state, forum_state, wiki_state, chat_state)
+             VALUES ($course_id, '2', '" . self::lang2db(get_lang('DefaultGroupCategory')) . "', '', '8', '0', '0', '0', '0', 1, 1 ,1 ,1 ,1, 1, 1);"
         );
 
         /*    Example Material  */
@@ -1133,8 +1137,8 @@ class AddCourse
 
         $now = api_get_utc_datetime();
 
-        $sql = "INSERT INTO $tableDocument (id, c_id, path,title,filetype,size)
-                VALUES ($counter, $course_id, '".$file['path']."', '".$file['title']."', '".$file['filetype']."', '".$file['size']."')";
+        $sql = "INSERT INTO $tableDocument (id, c_id, path,title,filetype,size, readonly, session_id)
+                VALUES ($counter, $course_id, '".$file['path']."', '".$file['title']."', '".$file['filetype']."', '".$file['size']."', 0, 0)";
         Database::query($sql);
         $docId = Database:: insert_id();
 
@@ -1319,7 +1323,6 @@ class AddCourse
                         $user_id,
                         $code
                     );
-
                     if (!empty($user_id)) {
                         $sql = "INSERT INTO " . $TABLECOURSUSER . " SET
                                 c_id     = '" . $course_id . "',
@@ -1327,6 +1330,7 @@ class AddCourse
                                 status          = '1',
                                 is_tutor        = '0',
                                 sort            = '" . ($i_course_sort) . "',
+                                relation_type = 0,
                                 user_course_cat = '0'";
                         Database::query($sql);
                     }
@@ -1350,6 +1354,7 @@ class AddCourse
                             status          = '1',
                             is_tutor        = '0',
                             sort            = '" . ($sort + 1) . "',
+                            relation_type = 0,
                             user_course_cat = '0'";
                         Database::query($sql);
                     }

+ 2 - 2
main/inc/lib/api.lib.php

@@ -6461,7 +6461,7 @@ function api_get_css($file, $media = 'screen') {
  */
 function api_get_jquery_js()
 {
-    return api_get_asset('jquery/dist/jquery.min.js');
+    return api_get_asset('jquery/jquery.min.js');
 }
 
 /**
@@ -6470,7 +6470,7 @@ function api_get_jquery_js()
  */
 function api_get_jquery_web_path()
 {
-    return api_get_path(WEB_PATH).'web/assets/jquery/dist/jquery.min.js';
+    return api_get_path(WEB_PATH).'web/assets/jquery/jquery.min.js';
 }
 
 /**

+ 13 - 10
main/inc/lib/course.lib.php

@@ -776,6 +776,7 @@ class CourseManager
             'user_id' => $user_id,
             'status' => $status,
             'sort' => $max_sort + 1,
+            'relation_type' => 0,
             'user_course_cat' => $userCourseCategoryId
         ];
         $insertId = Database::insert($course_user_table, $params);
@@ -2517,8 +2518,7 @@ class CourseManager
         if ($adminGetsAllCourses && UserManager::is_admin($user_id)) {
             // get the whole courses list
             $sql = "SELECT DISTINCT(course.code), course.id as real_id
-                FROM $tbl_course course";
-
+                    FROM $tbl_course course";
         } else {
 
             $with_special_courses = $without_special_courses = '';
@@ -2530,14 +2530,17 @@ class CourseManager
 
             if (!empty($with_special_courses)) {
                 $sql = "SELECT DISTINCT(course.code), course.id as real_id
-                    FROM    " . $tbl_course_user . " course_rel_user
-                    LEFT JOIN " . $tbl_course . " course
-                    ON course.id = course_rel_user.c_id
-                    LEFT JOIN " . $tbl_user_course_category . " user_course_category
-                    ON course_rel_user.user_course_cat = user_course_category.id
-                    WHERE  $with_special_courses
-                    GROUP BY course.code
-                    ORDER BY user_course_category.sort,course.title,course_rel_user.sort ASC";
+                        FROM $tbl_course_user  course_rel_user
+                        LEFT JOIN $tbl_course  course
+                        ON course.id = course_rel_user.c_id
+                        LEFT JOIN $tbl_user_course_category user_course_category
+                        ON course_rel_user.user_course_cat = user_course_category.id
+                        WHERE  $with_special_courses
+                        GROUP BY course.code
+                        ORDER BY user_course_category.sort, course.title, course_rel_user.sort ASC
+
+                    ";
+                //
                 $rs_special_course = Database::query($sql);
                 if (Database::num_rows($rs_special_course) > 0) {
                     while ($result_row = Database::fetch_array($rs_special_course)) {

+ 6 - 4
main/inc/lib/events.lib.php

@@ -107,14 +107,15 @@ class Event
         $now = api_get_utc_datetime();
         $courseId = api_get_course_int_id();
         $user_id = api_get_user_id();
+        $ip = api_get_real_ip();
 
         if ($user_id) {
             $user_id = "'".$user_id."'";
         } else {
             $user_id = "0"; // no one
         }
-        $sql = "INSERT INTO ".$TABLETRACK_ACCESS."  (access_user_id, c_id, access_date, access_session_id) VALUES
-                (".$user_id.", '".$courseId."', '".$now."','".$id_session."')";
+        $sql = "INSERT INTO ".$TABLETRACK_ACCESS."  (user_ip, access_user_id, c_id, access_date, access_session_id) VALUES
+                ('".$ip."', ".$user_id.", '".$courseId."', '".$now."','".$id_session."')";
 
         Database::query($sql);
 
@@ -1745,9 +1746,10 @@ class Event
         $courseId = intval($courseId);
         $user_id = intval($user_id);
         $session_id = intval($session_id);
+        $ip = api_get_real_ip();
 
-        $sql = "INSERT INTO $course_tracking_table(c_id, user_id, login_course_date, logout_course_date, counter, session_id)
-                VALUES('".$courseId."', '".$user_id."', '$time', '$time', '1', '".$session_id."')";
+        $sql = "INSERT INTO $course_tracking_table(c_id, user_ip, user_id, login_course_date, logout_course_date, counter, session_id)
+                VALUES('".$courseId."', '".$ip."', '".$user_id."', '$time', '$time', '1', '".$session_id."')";
         Database::query($sql);
 
         // Course catalog stats modifications see #4191

+ 1 - 1
main/inc/lib/template.lib.php

@@ -666,7 +666,7 @@ class Template
 
         $bowerJsFiles = [
             'modernizr/modernizr.js',
-            'jquery/dist/jquery.min.js',
+            'jquery/jquery.min.js',
             'bootstrap/dist/js/bootstrap.min.js',
             'jquery-ui/jquery-ui.min.js',
             'moment/min/moment-with-locales.min.js',

+ 3 - 2
main/inc/local.inc.php

@@ -1033,8 +1033,9 @@ if (isset($cidReset) && $cidReset) {
                                 WHERE course_access_id = ".intval($i_course_access_id)." AND session_id = ".api_get_session_id();
                         Database::query($sql);
                     } else {
-                        $sql="INSERT INTO $course_tracking_table (c_id, user_id, login_course_date, logout_course_date, counter, session_id)" .
-                            "VALUES('".$_course['real_id']."', '".$_user['user_id']."', '$time', '$time', '1','".api_get_session_id()."')";
+                        $ip = api_get_real_ip();
+                        $sql="INSERT INTO $course_tracking_table (c_id, user_ip, user_id, login_course_date, logout_course_date, counter, session_id)" .
+                            "VALUES('".$_course['real_id']."', '".$ip."', '".$_user['user_id']."', '$time', '$time', '1','".api_get_session_id()."')";
                         Database::query($sql);
                     }
                 }

+ 1 - 1
main/install/index.php

@@ -309,7 +309,7 @@ if ($encryptPassForm == '1') {
         @import "../../web/css/base.css";
         @import "../../web/css/themes/chamilo/default.css";
     </style>
-    <script type="text/javascript" src="../../web/assets/jquery/dist/jquery.min.js"></script>
+    <script type="text/javascript" src="../../web/assets/jquery/jquery.min.js"></script>
     <script type="text/javascript" src="../../web/assets/bootstrap/dist/js/bootstrap.min.js"></script>
     <script type="text/javascript" src="../inc/lib/javascript/bootstrap-select/js/bootstrap-select.min.js"></script>
     <script type="text/javascript">