Julio Montoya %!s(int64=10) %!d(string=hai) anos
pai
achega
6b03937a06

+ 6 - 4
main/admin/session_course_edit.php

@@ -1,9 +1,11 @@
 <?php
 /* For licensing terms, see /license.txt */
+
 /**
  * Implements the edition of course-session settings
  * @package chamilo.admin
  */
+
 $cidReset = true;
 
 require_once '../inc/global.inc.php';
@@ -26,9 +28,9 @@ $course_info = api_get_course_info($_REQUEST['course_code']);
 $courseId = $course_info['real_id'];
 $tool_name = $course_info['name'];
 $sql = "SELECT s.name, c.title
-        FROM $tbl_session_course sc, $tbl_session s,$tbl_course c
+        FROM $tbl_session_course sc, $tbl_session s, $tbl_course c
         WHERE
-            sc.session_id=s.id AND
+            sc.session_id = s.id AND
             sc.c_id = c.id AND
             sc.session_id='$id_session' AND
             sc.c_id ='".$courseId."'";
@@ -98,8 +100,8 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
 }
 
 $order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username';
-global $_configuration;
-if ($_configuration['multiple_access_urls']) {
+
+if (api_is_multiple_url_enabled()) {
     $tbl_access_rel_user= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
     $access_url_id = api_get_current_access_url_id();
     $sql="SELECT u.user_id,lastname,firstname,username

+ 33 - 12
main/coursecopy/classes/CourseBuilder.class.php

@@ -213,12 +213,15 @@ class CourseBuilder
                 $session_condition = api_get_session_condition(
                     $session_id,
                     true,
-                    true
+                    true,
+                    'd.session_id'
                 );
             } else {
                 $session_condition = api_get_session_condition(
                     $session_id,
-                    true
+                    true,
+                    false,
+                    'd.session_id'
                 );
             }
 
@@ -436,22 +439,36 @@ class CourseBuilder
                 $session_condition = api_get_session_condition(
                     $session_id,
                     true,
-                    true
+                    true,
+                    'l.session_id'
                 );
             } else {
                 $session_condition = api_get_session_condition(
                     $session_id,
-                    true
+                    true,
+                    false,
+                    'l.session_id'
                 );
             }
             $sql = "SELECT  l.id, l.title, l.url, l.description, l.category_id, l.on_homepage
                     FROM $table l, $table_prop p
-                    WHERE l.c_id = $course_id AND p.c_id = $course_id AND p.ref=l.id AND p.tool = '".TOOL_LINK."' AND p.visibility != 2 $session_condition
+                    WHERE
+                        l.c_id = $course_id AND
+                        p.c_id = $course_id AND
+                        p.ref=l.id AND
+                        p.tool = '".TOOL_LINK."' AND
+                        p.visibility != 2 $session_condition
                     ORDER BY l.display_order";
         } else {
             $sql = "SELECT l.id, l.title, l.url, l.description, l.category_id, l.on_homepage
                     FROM $table l, $table_prop p
-                    WHERE l.c_id = $course_id AND p.c_id = $course_id AND p.ref=l.id AND p.tool = '".TOOL_LINK."' AND p.visibility != 2 AND l.session_id = 0
+                    WHERE
+                        l.c_id = $course_id AND
+                        p.c_id = $course_id AND
+                        p.ref=l.id AND
+                        p.tool = '".TOOL_LINK."' AND
+                        p.visibility != 2 AND
+                        l.session_id = 0
                     ORDER BY l.display_order";
         }
 
@@ -616,15 +633,17 @@ class CourseBuilder
 
         // Building normal tests.
         $sql = "SELECT * FROM $table_que WHERE c_id = $course_id ";
+        $result = Database::query($sql);
 
-        $db_result = Database::query($sql);
-        while ($obj = Database::fetch_object($db_result)) {
+        while ($obj = Database::fetch_object($result)) {
             // find the question category
+
             // @todo : need to be adapted for multi category questions in 1.10
             $question_category_id = TestCategory::getCategoryForQuestion(
                 $obj->id,
                 $course_id
             );
+
             // build the backup resource question object
             $question = new QuizQuestion(
                 $obj->id,
@@ -638,7 +657,9 @@ class CourseBuilder
                 $obj->extra,
                 $question_category_id
             );
-            $sql = 'SELECT * FROM '.$table_ans.' WHERE c_id = '.$course_id.' AND question_id = '.$obj->id;
+
+            $sql = 'SELECT * FROM '.$table_ans.'
+                    WHERE c_id = '.$course_id.' AND question_id = '.$obj->id;
             $db_result2 = Database::query($sql);
 
             while ($obj2 = Database::fetch_object($db_result2)) {
@@ -697,11 +718,11 @@ class CourseBuilder
                  )
         ";
 
-        $db_result = Database::query($sql);
-        if (Database::num_rows($db_result) > 0) {
+        $result = Database::query($sql);
+        if (Database::num_rows($result) > 0) {
             $build_orphan_questions = true;
             $orphanQuestionIds = array();
-            while ($obj = Database::fetch_object($db_result)) {
+            while ($obj = Database::fetch_object($result)) {
 
                 // Orphan questions
                 if (!empty($obj->question_id)) {

+ 4 - 1
main/inc/lib/course.lib.php

@@ -1100,6 +1100,9 @@ class CourseManager
         $condition_course = '';
         if (isset($course_code)) {
             $courseInfo = api_get_course_info($course_code);
+            if (empty($courseInfo)) {
+                return false;
+            }
             $courseId = $courseInfo['real_id'];
             $condition_course = ' AND c_id = ' . $courseId;
         }
@@ -1826,7 +1829,7 @@ class CourseManager
 
             $rs = Database::query($sql_query);
             while ($student = Database::fetch_array($rs)) {
-                $students[$student['id_user']] = $student;
+                $students[$student['user_id']] = $student;
             }
         }
 

+ 13 - 6
main/inc/lib/sessionmanager.lib.php

@@ -3713,14 +3713,15 @@ class SessionManager
      */
     public static function get_sessions_by_user($user_id, $ignore_visibility_for_admins = false)
     {
-        $session_categories = UserManager::get_sessions_by_category(
+        $sessionCategories = UserManager::get_sessions_by_category(
             $user_id,
             false,
             $ignore_visibility_for_admins
         );
-        $session_array = array();
-        if (!empty($session_categories)) {
-            foreach ($session_categories as $category) {
+
+        $sessionArray = array();
+        if (!empty($sessionCategories)) {
+            foreach ($sessionCategories as $category) {
                 if (isset($category['sessions'])) {
                     foreach ($category['sessions'] as $session) {
                         $session_array[] = $session;
@@ -3728,7 +3729,8 @@ class SessionManager
                 }
             }
         }
-        return $session_array;
+
+        return $sessionArray;
     }
 
     /**
@@ -3908,6 +3910,11 @@ class SessionManager
                         }
                     }
 
+                    $sessionCondition = '';
+                    if (!empty($session_category_id)) {
+                        $sessionCondition = "session_category_id = '$session_category_id',";
+                    }
+
                     // Creating the session.
                     $sql = "INSERT IGNORE INTO $tbl_session SET
                             name = '" . $session_name . "',
@@ -3915,7 +3922,7 @@ class SessionManager
                             date_start = '$date_start',
                             date_end = '$date_end',
                             visibility = '$visibilityAfterExpirationPerSession',
-                            session_category_id = '$session_category_id',
+                            $sessionCondition
                             session_admin_id = " . intval($defaultUserId) . $extraParameters . $extraSessionParameters;
                     Database::query($sql);