From d1ef56810b70eaf2ee1be94f69e0ad09a78ce0c8 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 30 Dec 2020 16:47:35 +0100 Subject: [PATCH] Use iid instead of id, fix queries, fix templates, fix PHP errors. --- public/main/attendance/index.php | 4 +- public/main/dropbox/dropbox_functions.inc.php | 16 +++---- public/main/exercise/exercise.class.php | 2 +- public/main/forum/forumfunction.inc.php | 2 +- public/main/forum/index.php | 2 +- public/main/forum/viewforumcategory.php | 2 +- .../gradebook/lib/be/attendancelink.class.php | 38 +++++++--------- public/main/inc/lib/exercise.lib.php | 31 +++++-------- public/main/inc/lib/groupmanager.lib.php | 27 +++++------- public/main/inc/lib/myspace.lib.php | 21 ++++----- public/main/inc/lib/tracking.lib.php | 4 +- public/main/mySpace/admin_view.php | 3 +- .../partials/tracking_user_overview.html.twig | 44 ++++++++++++++----- public/main/tracking/courseLog.php | 4 +- public/main/tracking/course_log_tools.php | 6 +-- 15 files changed, 103 insertions(+), 103 deletions(-) diff --git a/public/main/attendance/index.php b/public/main/attendance/index.php index 2dd63e62e6..d9d56dd926 100644 --- a/public/main/attendance/index.php +++ b/public/main/attendance/index.php @@ -548,7 +548,7 @@ switch ($action) { $groupList = GroupManager::get_group_list(null, null, 1); $groupIdList = ['--']; foreach ($groupList as $group) { - $groupIdList[$group['id']] = $group['name']; + $groupIdList[$group['iid']] = $group['name']; } // calendar add form @@ -717,7 +717,7 @@ switch ($action) { $groupList = GroupManager::get_group_list(); $groupIdList = ['--']; foreach ($groupList as $group) { - $groupIdList[$group['id']] = $group['name']; + $groupIdList[$group['iid']] = $group['name']; } $content .= Display::page_subheader(get_lang('Calendar list of attendances')); diff --git a/public/main/dropbox/dropbox_functions.inc.php b/public/main/dropbox/dropbox_functions.inc.php index 2868fefc61..ac337324c4 100644 --- a/public/main/dropbox/dropbox_functions.inc.php +++ b/public/main/dropbox/dropbox_functions.inc.php @@ -386,7 +386,7 @@ function store_addcategory() ]; $id = Database::insert(Database::get_course_table(TABLE_DROPBOX_CATEGORY), $params); if ($id) { - $sql = "UPDATE ".Database::get_course_table(TABLE_DROPBOX_CATEGORY)." SET cat_id = iid + $sql = "UPDATE ".Database::get_course_table(TABLE_DROPBOX_CATEGORY)." SET cat_id = iid WHERE iid = $id"; Database::query($sql); } @@ -685,14 +685,14 @@ function display_add_form($viewReceivedCategory, $viewSentCategory, $view, $id = */ $allowGroups = api_get_setting('dropbox_allow_group'); if (($dropbox_person->isCourseTutor || $dropbox_person->isCourseAdmin) - && 'true' == $allowGroups || 'true' == $allowStudentToStudent + && 'true' == $allowGroups || 'true' === $allowStudentToStudent ) { $complete_group_list_for_dropbox = GroupManager::get_group_list(null, $course_info); if (count($complete_group_list_for_dropbox) > 0) { foreach ($complete_group_list_for_dropbox as $current_group) { if ($current_group['number_of_members'] > 0) { - $options['group_'.$current_group['id']] = 'G: '.$current_group['name'].' - '.$current_group['number_of_members'].' '.get_lang('Users'); + $options['group_'.$current_group['iid']] = 'G: '.$current_group['name'].' - '.$current_group['number_of_members'].' '.get_lang('Users'); } } } @@ -1217,13 +1217,13 @@ function user_can_download_file($id, $user_id) $id = (int) $id; $user_id = (int) $user_id; - $sql = "SELECT file_id + $sql = "SELECT file_id FROM ".Database::get_course_table(TABLE_DROPBOX_PERSON)." WHERE c_id = $course_id AND user_id = $user_id AND file_id = ".$id; $result = Database::query($sql); $number_users_who_see_file = Database::num_rows($result); - $sql = "SELECT file_id + $sql = "SELECT file_id FROM ".Database::get_course_table(TABLE_DROPBOX_POST)." WHERE c_id = $course_id AND dest_user_id = $user_id AND file_id = ".$id; $result = Database::query($sql); @@ -1239,13 +1239,13 @@ function check_if_file_exist($id) { $id = (int) $id; $course_id = api_get_course_int_id(); - $sql = "SELECT file_id + $sql = "SELECT file_id FROM ".Database::get_course_table(TABLE_DROPBOX_PERSON)." WHERE c_id = $course_id AND file_id = ".$id; $result = Database::query($sql); $number_users_who_see_file = Database::num_rows($result); - $sql = "SELECT file_id + $sql = "SELECT file_id FROM ".Database::get_course_table(TABLE_DROPBOX_POST)." WHERE c_id = $course_id AND file_id = ".$id; $result = Database::query($sql); @@ -1449,7 +1449,7 @@ function get_total_number_feedback() $course_id = api_get_course_int_id(); $sql = "SELECT COUNT(feedback_id) AS total, file_id FROM ".Database::get_course_table(TABLE_DROPBOX_FEEDBACK)." - WHERE c_id = $course_id + WHERE c_id = $course_id GROUP BY file_id"; $result = Database::query($sql); $return = []; diff --git a/public/main/exercise/exercise.class.php b/public/main/exercise/exercise.class.php index c3143984fd..e53273e600 100644 --- a/public/main/exercise/exercise.class.php +++ b/public/main/exercise/exercise.class.php @@ -8966,7 +8966,7 @@ class Exercise $lp_blocked = null; if (true == $exercise->exercise_was_added_in_lp) { $lp_blocked = Display::div( - get_lang('AddedToLPCannotBeAccessed'), + get_lang('This exercise has been included in a learning path, so it cannot be accessed by students directly from here. If you want to put the same exercise available through the exercises tool, please make a copy of the current exercise using the copy icon.'), ['class' => 'lp_content_type_label'] ); } diff --git a/public/main/forum/forumfunction.inc.php b/public/main/forum/forumfunction.inc.php index 9b07cfb759..d41b4d326e 100644 --- a/public/main/forum/forumfunction.inc.php +++ b/public/main/forum/forumfunction.inc.php @@ -418,7 +418,7 @@ function forumForm(CForumForum $forum = null, $lp_id) $groups = GroupManager::get_group_list(); $groups_titles[0] = get_lang('Not a group forum'); foreach ($groups as $key => $value) { - $groups_titles[$value['id']] = $value['name']; + $groups_titles[$value['iid']] = $value['name']; } $form->addElement('select', 'group_forum', get_lang('For Group'), $groups_titles); diff --git a/public/main/forum/index.php b/public/main/forum/index.php index f2b4d05318..de0935abcf 100644 --- a/public/main/forum/index.php +++ b/public/main/forum/index.php @@ -140,7 +140,7 @@ if (!api_is_anonymous()) { $all_groups = GroupManager::get_group_list(); if (is_array($all_groups)) { foreach ($all_groups as $group) { - $all_groups[$group['id']] = $group; + $all_groups[$group['iid']] = $group; } } } diff --git a/public/main/forum/viewforumcategory.php b/public/main/forum/viewforumcategory.php index f127ee0d94..b49a4189f0 100644 --- a/public/main/forum/viewforumcategory.php +++ b/public/main/forum/viewforumcategory.php @@ -155,7 +155,7 @@ if ('add' !== $action) { $groups = GroupManager::get_group_list(); if (is_array($groups)) { foreach ($groups as $group) { - $groups[$group['id']] = $group; + $groups[$group['iid']] = $group; } } diff --git a/public/main/gradebook/lib/be/attendancelink.class.php b/public/main/gradebook/lib/be/attendancelink.class.php index cf1fffb6ae..ab135c0baf 100644 --- a/public/main/gradebook/lib/be/attendancelink.class.php +++ b/public/main/gradebook/lib/be/attendancelink.class.php @@ -13,11 +13,7 @@ use Chamilo\CourseBundle\Entity\CAttendance; class AttendanceLink extends AbstractLink { private $attendance_table = null; - private $itemprop_table = null; - /** - * Constructor. - */ public function __construct() { parent::__construct(); @@ -64,7 +60,7 @@ class AttendanceLink extends AbstractLink att.active = 1 AND att.session_id = '.$sessionId; $result = Database::query($sql);*/ - + $cats = []; /** @var CAttendance $link */ foreach ($links as $link) { $title = $link->getAttendanceQualifyTitle(); @@ -75,7 +71,7 @@ class AttendanceLink extends AbstractLink } } - return isset($cats) ? $cats : []; + return $cats; } /** @@ -108,12 +104,10 @@ class AttendanceLink extends AbstractLink $sessionId = $this->get_session_id(); // get attendance qualify max - $sql = 'SELECT att.attendance_qualify_max - FROM '.$this->get_attendance_table().' att + $sql = 'SELECT attendance_qualify_max + FROM '.$this->get_attendance_table().' WHERE - att.c_id = '.$this->course_id.' AND - att.iid = '.$this->get_ref_id().' AND - att.session_id = '.$sessionId; + iid = '.$this->get_ref_id(); $query = Database::query($sql); $attendance = Database::fetch_array($query, 'ASSOC'); @@ -223,8 +217,8 @@ class AttendanceLink extends AbstractLink */ public function is_valid_link() { - $sql = 'SELECT count(att.iid) FROM '.$this->get_attendance_table().' att - WHERE att.c_id = '.$this->course_id.' AND att.iid = '.$this->get_ref_id(); + $sql = 'SELECT count(iid) FROM '.$this->get_attendance_table().' + WHERE iid = '.$this->get_ref_id(); $result = Database::query($sql); $number = Database::fetch_row($result); @@ -235,14 +229,15 @@ class AttendanceLink extends AbstractLink { // it was extracts the attendance id $sessionId = $this->get_session_id(); - $sql = 'SELECT * FROM '.$this->get_attendance_table().' att - WHERE att.c_id = '.$this->course_id.' AND att.iid = '.$this->get_ref_id(); + $sql = 'SELECT * FROM '.$this->get_attendance_table().' + WHERE iid = '.$this->get_ref_id(); $result = Database::query($sql); $row = Database::fetch_array($result, 'ASSOC'); - $attendance_id = $row['id']; - $url = api_get_path(WEB_PATH).'main/attendance/index.php?action=attendance_sheet_list&gradebook=view&attendance_id='.$attendance_id.'&'.api_get_cidreq_params($this->getCourseId(), $sessionId); + $id = $row['iid']; - return $url; + return api_get_path(WEB_CODE_PATH). + 'attendance/index.php?action=attendance_sheet_list&gradebook=view&attendance_id='.$id.'&'. + api_get_cidreq_params($this->getCourseId(), $sessionId); } /** @@ -268,12 +263,9 @@ class AttendanceLink extends AbstractLink */ private function get_attendance_data() { - $tbl_name = $this->get_attendance_table(); - if ('' == $tbl_name) { - return false; - } elseif (!isset($this->attendance_data)) { + if (!isset($this->attendance_data)) { $sql = 'SELECT * FROM '.$this->get_attendance_table().' att - WHERE att.c_id = '.$this->course_id.' AND att.iid = '.$this->get_ref_id(); + WHERE att.iid = '.$this->get_ref_id(); $query = Database::query($sql); $this->attendance_data = Database::fetch_array($query); } diff --git a/public/main/inc/lib/exercise.lib.php b/public/main/inc/lib/exercise.lib.php index d22c786615..885d44bcab 100644 --- a/public/main/inc/lib/exercise.lib.php +++ b/public/main/inc/lib/exercise.lib.php @@ -4185,28 +4185,21 @@ EOT; { // check the default value of option $tabSelected = [$default => " selected='selected' "]; - $res = ""; - $res .= ""; + $res .= ""; + $res .= ""; + $groups = GroupManager::get_group_list(); $currentCatId = 0; - $countGroups = count($tabGroups); + $countGroups = count($groups); for ($i = 0; $i < $countGroups; $i++) { - $tabCategory = GroupManager::get_category_from_group( - $tabGroups[$i]['iid'] - ); - if ($tabCategory["id"] != $currentCatId) { - $res .= ""; - $currentCatId = $tabCategory["id"]; + $category = GroupManager::get_category_from_group($groups[$i]['iid']); + if ($category['id'] != $currentCatId) { + $res .= ""; + $currentCatId = $category['id']; } - $res .= ""; } $res .= ""; diff --git a/public/main/inc/lib/groupmanager.lib.php b/public/main/inc/lib/groupmanager.lib.php index 9f3bbfbc37..0a8b7df5db 100644 --- a/public/main/inc/lib/groupmanager.lib.php +++ b/public/main/inc/lib/groupmanager.lib.php @@ -1250,12 +1250,12 @@ class GroupManager $group_user_table = Database::get_course_table(TABLE_GROUP_USER); $groupTable = Database::get_course_table(TABLE_GROUP); $user_table = Database::get_main_table(TABLE_MAIN_USER); - $group_id = intval($group_id); + $group_id = (int) $group_id; if (empty($courseId)) { $courseId = api_get_course_int_id(); } else { - $courseId = intval($courseId); + $courseId = (int) $courseId; } $select = ' SELECT u.id, firstname, lastname '; @@ -1265,12 +1265,12 @@ class GroupManager $sql = "$select FROM $group_user_table gu INNER JOIN $groupTable g - ON (gu.group_id = g.id and g.c_id = gu.c_id) + ON (gu.group_id = g.iid and g.c_id = gu.c_id) INNER JOIN $user_table u ON (u.id = gu.user_id) WHERE gu.c_id = $courseId AND - g.id = $group_id"; + g.iid = $group_id"; if (!empty($column) && !empty($direction)) { $column = Database::escape_string($column, null, false); @@ -1386,7 +1386,7 @@ class GroupManager ->createQuery(" SELECT u.id FROM ChamiloCoreBundle:User u INNER JOIN ChamiloCourseBundle:CGroupRelUser gu - WITH u.id = gu.user + WITH u.id = gu.user INNER JOIN ChamiloCourseBundle:CGroup g WITH gu.group = g.iid WHERE g.iid = :group @@ -2840,7 +2840,6 @@ class GroupManager } $groups = self::get_group_list(); - foreach ($groups as $groupInfo) { $groupId = $groupInfo['iid']; $categoryTitle = null; @@ -3020,30 +3019,28 @@ class GroupManager } else { $groups = self::get_group_list($category['id']); } - - $content .= ''; + } + $content .= ''; } - } + } // Check groups with no categories. $groups = self::get_group_list(null, api_get_course_info(), null, api_get_session_id(), false, true); if (!empty($groups)) { $content .= '

'.get_lang('NoCategorySelected').'

'; - $content .= ''; } return $content; diff --git a/public/main/inc/lib/myspace.lib.php b/public/main/inc/lib/myspace.lib.php index 2a6140c9ce..3e8628f2a3 100644 --- a/public/main/inc/lib/myspace.lib.php +++ b/public/main/inc/lib/myspace.lib.php @@ -217,7 +217,7 @@ class MySpace FROM '.$table.' WHERE user_id = '.$userId.' AND - c_id = '.$courseId.' + c_id = '.$courseId.' '.$sessionCondition.' ORDER BY login_course_date ASC'; $rs = Database::query($sql); @@ -343,7 +343,8 @@ class MySpace 'code' => $courseInfo['code'], 'real_id' => $courseInfo['real_id'], 'title' => $courseInfo['title'], - 'category' => $courseInfo['categoryName'], + 'category' => '', + //'category' => $courseInfo['categoryName'], // @todo show categories instead of 1 category 'image_small' => $courseInfo['course_image'], 'image_large' => $courseInfo['course_image_large'], 'time_spent' => api_time_to_hms(Tracking::get_time_spent_on_the_course($user_id, $courseId)), @@ -2310,8 +2311,8 @@ class MySpace $sql = "SELECT score, max_score FROM $table - WHERE - c_id = $courseId AND + WHERE + c_id = $courseId AND exe_user_id = $user_id"; $session_id = (int) $session_id; @@ -3219,7 +3220,7 @@ class MySpace [ 'placeholder' => get_lang('All'), 'url_function' => " - function () { + function () { var params = $.param({ a: 'search_user_by_course', session_id: $('#access_overview_session_id').val(), @@ -3433,9 +3434,9 @@ class MySpace $start_date = Database::escape_string($start_date); $end_date = Database::escape_string($end_date); $sessionCondition = api_get_session_condition($sessionId); - $sql = "SELECT - login_course_date, - logout_course_date, + $sql = "SELECT + login_course_date, + logout_course_date, TIMESTAMPDIFF(SECOND, login_course_date, logout_course_date) duration, user_ip FROM $table @@ -3499,8 +3500,8 @@ class MySpace FROM $table WHERE user_id = $user_id AND - c_id = $courseId $stringStartDate $stringEndDate - $sessionCondition + c_id = $courseId $stringStartDate $stringEndDate + $sessionCondition ORDER BY login_course_date ASC"; $rs = Database::query($sql); diff --git a/public/main/inc/lib/tracking.lib.php b/public/main/inc/lib/tracking.lib.php index 8666694fc1..20476d6c45 100644 --- a/public/main/inc/lib/tracking.lib.php +++ b/public/main/inc/lib/tracking.lib.php @@ -53,7 +53,7 @@ class Tracking return null; } $courseInfo = api_get_course_info_by_id($course_id); - if ('count' == $type) { + if ('count' === $type) { return GroupManager::get_group_list(null, $courseInfo, null, $sessionId, true); } @@ -61,7 +61,7 @@ class Tracking $parsedResult = []; if (!empty($groupList)) { foreach ($groupList as $group) { - $users = GroupManager::get_users($group['id'], true, null, null, false, $courseInfo['real_id']); + $users = GroupManager::get_users($group['iid'], true, null, null, false, $courseInfo['real_id']); $time = 0; $avg_student_score = 0; $avg_student_progress = 0; diff --git a/public/main/mySpace/admin_view.php b/public/main/mySpace/admin_view.php index d04e6fc389..08707c4f09 100644 --- a/public/main/mySpace/admin_view.php +++ b/public/main/mySpace/admin_view.php @@ -22,9 +22,8 @@ if (isset($_POST['display']) && $display == null) { $htmlHeadXtra[] = api_get_jqgrid_js(); $htmlHeadXtra[] = ' -