Alex Aragón 5 years ago
parent
commit
8ad73c7338

+ 1 - 11
main/extra/myStudents.php

@@ -323,17 +323,7 @@ $isDrhOfCourse = CourseManager::isUserSubscribedInCourseAsDrh(
 
 if (api_is_drh() && !api_is_platform_admin()) {
     if (!empty($studentId)) {
-        if (api_drh_can_access_all_session_content()) {
-            //@todo securize drh with student id
-            /*$users = SessionManager::getAllUsersFromCoursesFromAllSessionFromStatus('drh_all', api_get_user_id());
-            $userList = [];
-            foreach ($users as $user) {
-                $userList[] = $user['user_id'];
-            }
-            if (!in_array($student_id, $userList)) {
-                api_not_allowed(true);
-            }*/
-        } else {
+        if (!api_drh_can_access_all_session_content()) {
             if (!($isDrhOfCourse)) {
                 if (api_is_drh() &&
                     !UserManager::is_user_followed_by_drh($studentId, api_get_user_id())

+ 5 - 5
main/gradebook/lib/be/exerciselink.class.php

@@ -57,10 +57,10 @@ class ExerciseLink extends AbstractLink
         // @todo
         $uploadPath = null;
 
-        $sql = 'SELECT id,title FROM '.$exerciseTable.'
+        $sql = 'SELECT iid, title FROM '.$exerciseTable.'
 				WHERE c_id = '.$this->course_id.' AND active=1  '.$session_condition;
 
-        $sqlLp = "SELECT e.id, e.title 
+        $sqlLp = "SELECT e.iid, e.title 
                   FROM $exerciseTable e 
                   INNER JOIN $lpItemTable i
                   ON (e.c_id = i.c_id AND e.id = i.path)
@@ -85,8 +85,8 @@ class ExerciseLink extends AbstractLink
                 ";
 
         require_once api_get_path(SYS_CODE_PATH).'exercise/hotpotatoes.lib.php';
-        $exerciseInLP = [];
 
+        $exerciseInLP = [];
         if (!$this->is_hp) {
             $result = Database::query($sql);
             $resultLp = Database::query($sqlLp);
@@ -99,7 +99,7 @@ class ExerciseLink extends AbstractLink
         if (isset($result)) {
             if (Database::num_rows($result) > 0) {
                 while ($data = Database::fetch_array($result)) {
-                    $cats[] = [$data['id'], $data['title']];
+                    $cats[] = [$data['iid'], $data['title']];
                 }
             }
         }
@@ -134,7 +134,7 @@ class ExerciseLink extends AbstractLink
         if (!empty($exerciseInLP)) {
             foreach ($exerciseInLP as $exercise) {
                 $cats[] = [
-                    $exercise['id'],
+                    $exercise['iid'],
                     $exercise['title'].' ('.get_lang('ToolLearnpath').')',
                 ];
             }

+ 14 - 12
main/inc/lib/sessionmanager.lib.php

@@ -5865,6 +5865,8 @@ SQL;
     }
 
     /**
+     * Return user id list or count of users depending of the $getCount parameter.
+     *
      * @param string $status
      * @param int    $userId
      * @param bool   $getCount
@@ -5896,7 +5898,8 @@ SQL;
         $studentIdList = [],
         $filterByStatus = null
     ) {
-        $filterByStatus = intval($filterByStatus);
+        $filterByStatus = (int) $filterByStatus;
+        $userId = (int) $userId;
 
         $tbl_user = Database::get_main_table(TABLE_MAIN_USER);
         $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
@@ -5909,12 +5912,11 @@ SQL;
 
         $direction = in_array(strtolower($direction), ['asc', 'desc']) ? $direction : 'asc';
         $column = Database::escape_string($column);
-        $userId = intval($userId);
 
         $limitCondition = '';
         if (isset($from) && isset($numberItems)) {
-            $from = intval($from);
-            $numberItems = intval($numberItems);
+            $from = (int) $from;
+            $numberItems = (int) $numberItems;
             $limitCondition = "LIMIT $from, $numberItems";
         }
 
@@ -5925,7 +5927,7 @@ SQL;
         $userConditions = '';
 
         if (isset($active)) {
-            $active = intval($active);
+            $active = (int) $active;
             $userConditions .= " AND active = $active";
         }
 
@@ -5954,7 +5956,7 @@ SQL;
             $studentListSql = "'".implode("','", $studentIdList)."'";
         }
         if (!empty($studentListSql)) {
-            $userConditionsFromDrh = " AND u.user_id IN (".$studentListSql.") ";
+            $userConditionsFromDrh = " AND u.user_id IN ($studentListSql) ";
         }
 
         switch ($status) {
@@ -5976,7 +5978,7 @@ SQL;
                     $sessionsListSql = "'".implode("','", $sessionIdList)."'";
                 }
                 if (!empty($sessionsListSql)) {
-                    $sessionConditions = " AND s.id IN (".$sessionsListSql.") ";
+                    $sessionConditions = " AND s.id IN ($sessionsListSql) ";
                 }
                 break;
             case 'session_admin':
@@ -5991,16 +5993,16 @@ SQL;
                 break;
         }
 
-        $select = "SELECT DISTINCT u.* ";
-        $masterSelect = "SELECT DISTINCT * FROM ";
+        $select = 'SELECT DISTINCT u.* ';
+        $masterSelect = 'SELECT DISTINCT user_id FROM ';
 
         if ($getCount) {
-            $select = "SELECT DISTINCT u.user_id ";
-            $masterSelect = "SELECT COUNT(DISTINCT(user_id)) as count FROM ";
+            $select = 'SELECT DISTINCT u.user_id ';
+            $masterSelect = 'SELECT COUNT(DISTINCT(user_id)) as count FROM ';
         }
 
         if (!empty($filterByStatus)) {
-            $userConditions .= " AND u.status = ".$filterByStatus;
+            $userConditions .= " AND u.status = $filterByStatus";
         }
 
         if (!empty($lastConnectionDate)) {

+ 2 - 0
main/mySpace/student.php

@@ -130,6 +130,8 @@ function get_users($from, $limit, $column, $direction)
     $all_datas = [];
     foreach ($students as $student_data) {
         $student_id = $student_data['user_id'];
+        $student_data = api_get_user_info($student_id);
+
         if (isset($_GET['id_session'])) {
             $courses = Tracking :: get_course_list_in_session_from_student($student_id, $sessionId);
         }

+ 1 - 0
main/mySpace/teachers.php

@@ -116,6 +116,7 @@ function get_users($from, $limit, $column, $direction)
     $url = api_get_path(WEB_CODE_PATH).'mySpace/myStudents.php';
     foreach ($students as $student_data) {
         $student_id = $student_data['user_id'];
+        $student_data = api_get_user_info($student_id);
         if (isset($_GET['id_session'])) {
             $courses = Tracking::get_course_list_in_session_from_student($student_id, $_GET['id_session']);
         }

+ 7 - 2
main/mySpace/users.php

@@ -127,8 +127,9 @@ function get_users($from, $limit, $column, $direction)
     $all_datas = [];
     foreach ($students as $student_data) {
         $student_id = $student_data['user_id'];
+        $student_data = api_get_user_info($student_id);
         if (isset($_GET['id_session'])) {
-            $courses = Tracking :: get_course_list_in_session_from_student($student_id, $sessionId);
+            $courses = Tracking::get_course_list_in_session_from_student($student_id, $sessionId);
         }
 
         $avg_time_spent = $avg_student_score = $avg_student_progress = 0;
@@ -139,7 +140,11 @@ function get_users($from, $limit, $column, $direction)
                 $courseId = $courseInfo['real_id'];
 
                 if (CourseManager::is_user_subscribed_in_course($student_id, $course_code, true)) {
-                    $avg_time_spent += Tracking::get_time_spent_on_the_course($student_id, $courseId, $_GET['id_session']);
+                    $avg_time_spent += Tracking::get_time_spent_on_the_course(
+                        $student_id,
+                        $courseId,
+                        $_GET['id_session']
+                    );
                     $my_average = Tracking::get_avg_student_score($student_id, $course_code);
                     if (is_numeric($my_average)) {
                         $avg_student_score += $my_average;

+ 1 - 1
main/social/home.php

@@ -144,7 +144,7 @@ $tpl->assign('social_auto_extend_link', $socialAutoExtendLink);
 $tpl->assign('search_friends_form', $formSearch->returnForm());
 $tpl->assign('social_friend_block', $friend_html);
 $tpl->assign('social_search_block', $social_search_block);
-$tpl->assign('social_skill_block', SocialManager::getSkillBlock($user_id,'vertical'));
+$tpl->assign('social_skill_block', SocialManager::getSkillBlock($user_id, 'vertical'));
 $tpl->assign('social_group_block', $social_group_block);
 $tpl->assign('session_list', $social_session_block);
 $social_layout = $tpl->get_template('social/home.tpl');