From b2915bdef2b97a29c8b64c99f9c371baa824dfa7 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Tue, 13 Aug 2019 10:27:19 +0200 Subject: [PATCH] Fix toolbar filter see BT#15972 --- main/exercise/exercise_report.php | 52 +++++++++++-------------------- 1 file changed, 19 insertions(+), 33 deletions(-) diff --git a/main/exercise/exercise_report.php b/main/exercise/exercise_report.php index 78561db2cd..4043231aca 100755 --- a/main/exercise/exercise_report.php +++ b/main/exercise/exercise_report.php @@ -44,8 +44,6 @@ $_course = api_get_course_info(); // document path $documentPath = api_get_path(SYS_COURSE_PATH).$_course['path']."/document"; $origin = api_get_origin(); -$path = isset($_GET['path']) ? Security::remove_XSS($_GET['path']) : null; - $is_allowedToEdit = api_is_allowed_to_edit(null, true) || api_is_drh() || api_is_student_boss() || @@ -57,7 +55,6 @@ $TBL_TRACK_ATTEMPT = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ATTEMPT); $TBL_TRACK_ATTEMPT_RECORDING = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ATTEMPT_RECORDING); $TBL_LP_ITEM_VIEW = Database::get_course_table(TABLE_LP_ITEM_VIEW); $allowCoachFeedbackExercises = api_get_setting('allow_coach_feedback_exercises') === 'true'; - $course_id = api_get_course_int_id(); $exercise_id = isset($_REQUEST['exerciseId']) ? (int) $_REQUEST['exerciseId'] : 0; $locked = api_resource_is_locked_by_gradebook($exercise_id, LINK_EXERCISE); @@ -153,11 +150,9 @@ if (!empty($_REQUEST['export_report']) && $_REQUEST['export_report'] == '1') { $objExerciseTmp = new Exercise(); $exerciseExists = $objExerciseTmp->read($exercise_id); -$courseInfo = api_get_course_info(); - //Send student email @todo move this code in a class, library if (isset($_REQUEST['comments']) && - $_REQUEST['comments'] == 'update' && + $_REQUEST['comments'] === 'update' && ($is_allowedToEdit || $is_tutor || $allowCoachFeedbackExercises) ) { // Filtered by post-condition @@ -167,7 +162,6 @@ if (isset($_REQUEST['comments']) && if (empty($track_exercise_info)) { api_not_allowed(); } - $test = $track_exercise_info['title']; $student_id = $track_exercise_info['exe_user_id']; $session_id = $track_exercise_info['session_id']; $lp_id = $track_exercise_info['orig_lp_id']; @@ -175,10 +169,6 @@ if (isset($_REQUEST['comments']) && $lp_item_view_id = (int) $track_exercise_info['orig_lp_item_view_id']; $exerciseId = $track_exercise_info['exe_exo_id']; $exeWeighting = $track_exercise_info['exe_weighting']; - - $url = api_get_path(WEB_CODE_PATH).'exercise/result.php?id='.$track_exercise_info['exe_id'].'&'.api_get_cidreq().'&show_headers=1&id_session='.$session_id; - - $my_post_info = []; $post_content_id = []; $comments_exist = false; @@ -186,14 +176,12 @@ if (isset($_REQUEST['comments']) && $my_post_info = explode('_', $key_index); $post_content_id[] = isset($my_post_info[1]) ? $my_post_info[1] : null; - if ($my_post_info[0] == 'comments') { + if ($my_post_info[0] === 'comments') { $comments_exist = true; } } $loop_in_track = $comments_exist === true ? (count($_POST) / 2) : count($_POST); - $array_content_id_exe = []; - if ($comments_exist === true) { $array_content_id_exe = array_slice($post_content_id, $loop_in_track); } else { @@ -349,7 +337,6 @@ if ($is_allowedToEdit && $origin != 'learnpath') { Display::return_icon('activity_monitor.png', get_lang('LiveResults'), '', ICON_SIZE_MEDIUM).''; $actions .= ''. Display::return_icon('statistics.png', get_lang('ReportByQuestion'), '', ICON_SIZE_MEDIUM).''; - $actions .= ''. Display::return_icon('save.png', get_lang('Export'), '', ICON_SIZE_MEDIUM).''; // clean result before a selected date icon @@ -397,7 +384,7 @@ if ($is_allowedToEdit && $origin != 'learnpath') { // Deleting an attempt if (($is_allowedToEdit || $is_tutor || api_is_coach()) && - isset($_GET['delete']) && $_GET['delete'] == 'delete' && + isset($_GET['delete']) && $_GET['delete'] === 'delete' && !empty($_GET['did']) && $locked == false ) { $exe_id = (int) $_GET['did']; @@ -420,7 +407,7 @@ if (($is_allowedToEdit || $is_tutor || api_is_coach()) && if ($is_allowedToEdit || $is_tutor) { $interbreadcrumb[] = [ - 'url' => "exercise.php?".api_get_cidreq(), + 'url' => 'exercise.php?'.api_get_cidreq(), 'name' => get_lang('Exercises'), ]; @@ -442,17 +429,17 @@ if ($is_allowedToEdit || $is_tutor) { } if (($is_allowedToEdit || $is_tutor || api_is_coach()) && - isset($_GET['a']) && $_GET['a'] == 'close' && + isset($_GET['a']) && $_GET['a'] === 'close' && !empty($_GET['id']) && $locked == false ) { // Close the user attempt otherwise left pending - $exe_id = intval($_GET['id']); + $exe_id = (int) $_GET['id']; $sql = "UPDATE $TBL_TRACK_EXERCISES SET status = '' WHERE exe_id = $exe_id AND status = 'incomplete'"; Database::query($sql); } -Display :: display_header($nameTools); +Display::display_header($nameTools); // Clean all results for this test before the selected date if (($is_allowedToEdit || $is_tutor || api_is_coach()) && @@ -512,7 +499,7 @@ $extra = ''; -$extra .= '
'; +$extra .= '
'; $form = new FormValidator( 'report', 'post', @@ -641,7 +628,7 @@ if ($is_allowedToEdit || $is_tutor) { ['name' => 'actions', 'index' => 'actions', 'width' => '60', 'align' => 'left', 'search' => 'false', 'sortable' => 'false'], ]; - if ($officialCodeInList == 'true') { + if ($officialCodeInList === 'true') { $officialCodeRow = ['name' => 'official_code', 'index' => 'official_code', 'width' => '50', 'align' => 'left', 'search' => 'true']; $column_model = array_merge([$officialCodeRow], $column_model); } @@ -650,7 +637,7 @@ if ($is_allowedToEdit || $is_tutor) { // add username as title in lastname filed - ref 4226 function action_formatter(cellvalue, options, rowObject) { // rowObject is firstname,lastname,login,... get the third word - var loginx = "'.api_htmlentities(sprintf(get_lang("LoginX"), ":::"), ENT_QUOTES).'"; + var loginx = "'.api_htmlentities(sprintf(get_lang('LoginX'), ':::'), ENT_QUOTES).'"; var tabLoginx = loginx.split(/:::/); // tabLoginx[0] is before and tabLoginx[1] is after ::: // may be empty string but is defined @@ -672,7 +659,6 @@ $extra_params['gridComplete'] = " "; $extra_params['beforeRequest'] = " -//console.log('beforeRequest'); var defaultGroupId = $('#gs_group_name').val(); // Load from group menu @@ -681,15 +667,17 @@ if (typeof defaultGroupId !== 'undefined') { } else { // get from cookies defaultGroupId = Cookies.get('default_group_".$exercise_id."'); - $('#gs_group_name').val(defaultGroupId); - //console.log('from cookies'); + $('#gs_group_name').val(defaultGroupId); } if (typeof defaultGroupId !== 'undefined') { var posted_data = $(\"#results\").jqGrid('getGridParam', 'postData'); - var defFilter = '{\"groupOp\":\"AND\",\"rules\":[{\"field\":\"group_id\",\"op\":\"eq\",\"data\":\"'+ defaultGroupId +'\"}]}'; - posted_data.filters = defFilter; - //console.log(posted_data); + var extraFilter = ',{\"field\":\"group_id\",\"op\":\"eq\",\"data\":\"'+ defaultGroupId +'\"}]}'; + // var defFilter = '{\"groupOp\":\"AND\",\"rules\": [{\"field\":\"group_id\",\"op\":\"eq\",\"data\":\"'+ defaultGroupId +'\"}] }'; + // posted_data.filters = defFilter; + var filters = posted_data.filters; + var stringObj = new String(filters); + stringObj.replace(']}', extraFilter); $(this).jqGrid('setGridParam', 'postData', posted_data); } "; @@ -715,7 +703,8 @@ $gridJs = Display::grid_js( var ii = 0; for (var i in data) { colNames[ii++] = i; - } // capture col names + } + // capture col names var html = ""; for (i = 0; i < mya.length; i++) { data = $("#results").getRowData(mya[i]); // get each row @@ -758,8 +747,6 @@ $gridJs = Display::grid_js( // Update group var defaultGroupId = Cookies.get('default_group_'); - //console.log('cookie GET defaultGroupId ' + defaultGroupId ); - $('#gs_group_name').val(defaultGroupId); // Adding search options var options = { @@ -776,7 +763,6 @@ $gridJs = Display::grid_js( }); } } - jQuery("#results").jqGrid('filterToolbar', options); sgrid.triggerToolbar(); $('#results').on('click', 'a.exercise-recalculate', function (e) {