diff --git a/main/gradebook/gradebook_view_result.php b/main/gradebook/gradebook_view_result.php index dd66fa62b6..75e52bccb7 100755 --- a/main/gradebook/gradebook_view_result.php +++ b/main/gradebook/gradebook_view_result.php @@ -175,145 +175,143 @@ if (isset ($_GET['import'])) { } } if (isset ($_GET['export'])) { -$interbreadcrumb[]= array ( - 'url' => 'gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']), - 'name' => get_lang('ViewResult' -)); -$export_result_form= new DataForm(DataForm :: TYPE_EXPORT, 'export_result_form', null, api_get_self() . '?export=&selecteval=' . $_GET['selecteval'], '_blank'); -if (!$export_result_form->validate()) { - Display :: display_header(get_lang('Export')); -} - -if ($export_result_form->validate()) { - $export= $export_result_form->exportValues(); - $file_type= $export['file_type']; - $filename= 'export_results_' . gmdate('Y-m-d_H-i-s'); - $results= Result :: load(null, null, Security::remove_XSS($_GET['selecteval'])); - $data= array (); //when file type is csv, add a header to the output file - if ($file_type == 'csv') { - $alldata[]= array ( - 'username', - 'official_code', - 'lastname', - 'firstname', - 'score', - 'date' - ); - } - - // export results to pdf file - if ($file_type == 'pdf') { - $number_decimals = api_get_setting('gradebook_number_decimals'); - $datagen = new ResultsDataGenerator ($eval[0],$allresults); - - // set headers pdf - !empty($_user['official_code'])? $officialcode=$_user['official_code'].' - ':''; - - $h1 = array(get_lang('Teacher'),$officialcode.$_user['firstName'].', '.$_user['lastName']); - $h2 = array(get_lang('Score'),$eval[0]->get_max()); - $h3 = array(get_lang('Course'),$_course['name']); - $h4 = array(get_lang('Weight'),$eval[0]->get_weight()); - $h5 = array(get_lang('Session'),api_get_session_name(api_get_session_id())); - $date = date('d-m-Y H:i:s', time()); - $h6 = array(get_lang('DateTime'),api_convert_and_format_date($date, "%d/%m/%Y %H:%M")); - $header_pdf = array($h1, $h2, $h3, $h4, $h5, $h6); - - // set footer pdf - $f1 = '
'.get_lang('Drh'); - $f2 = '
'.get_lang('Teacher'); - $f3 = '
'.get_lang('Date'); - $footer_pdf = array($f1, $f2, $f3); - - // set title pdf - $title_pdf = $eval[0]->get_name(); - - // set headers data table - $head_ape_name = ''; - if (api_is_western_name_order()) { - $head_ape_name = get_lang('FirstName').', '.get_lang('LastName'); - } else { - $head_ape_name = get_lang('LastName').', '.get_lang('FirstName'); - } - - if ($number_decimals == null) { - $head_letter = get_lang('Letters'); - } - $head_table = array( - array('#',3), - array(get_lang('Code'),12), - array($head_ape_name, 40), - array(get_lang('Score'),12), - array($head_letter,15) - ); - - $head_display_score = ''; - $scoredisplay = ScoreDisplay :: instance(); - if ($scoredisplay->is_custom()) { - $head_display_score = get_lang('Display'); - $head_table[] = array($head_display_score,15); - } - - // get data table - if (api_sort_by_first_name()) { - $data_array = $datagen->get_data(ResultsDataGenerator :: RDG_SORT_FIRSTNAME, 0, null, true, true); - } else { - $data_array = $datagen->get_data(ResultsDataGenerator :: RDG_SORT_LASTNAME,0,null, true, true); - } - $data_table = array(); - foreach ($data_array as $data) { - $result = array(); - $user_info = api_get_user_info($data['id']); - $result[] = $user_info['username']; - if (api_is_western_name_order()) { - $result[] = $user_info['firstname'].', '.$user_info['lastname']; - } else { - $result[] = $user_info['lastname'].', '.$user_info['firstname']; - } + $interbreadcrumb[]= array ('url' => 'gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']),'name' => get_lang('ViewResult')); + + $export_result_form= new DataForm(DataForm :: TYPE_EXPORT, 'export_result_form', null, api_get_self() . '?export=&selecteval=' . $_GET['selecteval'], '_blank'); + if (!$export_result_form->validate()) { + Display :: display_header(get_lang('Export')); + } + + if ($export_result_form->validate()) { + $export= $export_result_form->exportValues(); + $file_type= $export['file_type']; + $filename= 'export_results_' . gmdate('Y-m-d_H-i-s'); + $results= Result :: load(null, null, Security::remove_XSS($_GET['selecteval'])); + $data= array (); //when file type is csv, add a header to the output file + if ($file_type == 'csv') { + $alldata[]= array ( + 'username', + 'official_code', + 'lastname', + 'firstname', + 'score', + 'date' + ); + } + + // export results to pdf file + if ($file_type == 'pdf') { + $number_decimals = api_get_setting('gradebook_number_decimals'); + $datagen = new ResultsDataGenerator ($eval[0],$allresults); + + // set headers pdf + !empty($_user['official_code'])? $officialcode=$_user['official_code'].' - ':''; + + $h1 = array(get_lang('Teacher'),$officialcode.$_user['firstName'].', '.$_user['lastName']); + $h2 = array(get_lang('Score'),$eval[0]->get_max()); + $h3 = array(get_lang('Course'),$_course['name']); + $h4 = array(get_lang('Weight'),$eval[0]->get_weight()); + $h5 = array(get_lang('Session'),api_get_session_name(api_get_session_id())); + $date = date('d-m-Y H:i:s', time()); + $h6 = array(get_lang('DateTime'),api_convert_and_format_date($date, "%d/%m/%Y %H:%M")); + $header_pdf = array($h1, $h2, $h3, $h4, $h5, $h6); + + // set footer pdf + $f1 = '
'.get_lang('Drh'); + $f2 = '
'.get_lang('Teacher'); + $f3 = '
'.get_lang('Date'); + $footer_pdf = array($f1, $f2, $f3); + + // set title pdf + $title_pdf = $eval[0]->get_name(); + + // set headers data table + $head_ape_name = ''; + if (api_is_western_name_order()) { + $head_ape_name = get_lang('FirstName').', '.get_lang('LastName'); + } else { + $head_ape_name = get_lang('LastName').', '.get_lang('FirstName'); + } + + if ($number_decimals == null) { + $head_letter = get_lang('Letters'); + } + $head_table = array( + array('#',3), + array(get_lang('Code'),12), + array($head_ape_name, 40), + array(get_lang('Score'),12), + array($head_letter,15) + ); - if (empty($data['score']) && !is_numeric($data['score'])) { - $result[] = get_lang('DidNotTakeTheExamAcronym'); - } else { - $result[] = $data['score']; + $head_display_score = ''; + $scoredisplay = ScoreDisplay :: instance(); + if ($scoredisplay->is_custom()) { + $head_display_score = get_lang('Display'); + $head_table[] = array($head_display_score,15); } - if (empty($data['scoreletter']) && !is_numeric($data['score'])) { - $result[] = get_lang('DidNotTakeTheExam'); - } else { - if ($number_decimals == null) { - $result[] = api_strtoupper(get_lang('Literal'.$data['scoreletter'])); + + // get data table + if (api_sort_by_first_name()) { + $data_array = $datagen->get_data(ResultsDataGenerator :: RDG_SORT_FIRSTNAME, 0, null, true, true); + } else { + $data_array = $datagen->get_data(ResultsDataGenerator :: RDG_SORT_LASTNAME,0,null, true, true); + } + $data_table = array(); + foreach ($data_array as $data) { + $result = array(); + $user_info = api_get_user_info($data['id']); + $result[] = $user_info['username']; + if (api_is_western_name_order()) { + $result[] = $user_info['firstname'].', '.$user_info['lastname']; + } else { + $result[] = $user_info['lastname'].', '.$user_info['firstname']; + } + + if (empty($data['score']) && !is_numeric($data['score'])) { + $result[] = get_lang('DidNotTakeTheExamAcronym'); } else { - $result[] = ''; + $result[] = $data['score']; } - } - if ($scoredisplay->is_custom()) { - $result[] = $data['display']; - } - $data_table[] = $result; - } - export_pdf_with_html($head_table, $data_table, $header_pdf, $footer_pdf, $title_pdf); - } - - // export results to xml or csv file - foreach ($results as $result) { - $userinfo= get_user_info_from_id($result->get_user_id()); - $data['username']= $userinfo['username']; //$result->get_user_id(); - $data['official_code']= $userinfo['official_code']; - $data['lastname']= $userinfo['lastname']; - $data['firstname']= $userinfo['firstname']; - $data['score']= $result->get_score(); - $data['date'] = api_format_date($result->get_date(), "%d/%m/%Y %R"); - $alldata[]= $data; - } - - switch ($file_type) { - case 'xml' : - Export :: export_table_xml($alldata, $filename, 'Result', 'XMLResults'); - exit; - break; - case 'csv' : - Export :: export_table_csv($alldata, $filename); - exit; - break; - } + if (empty($data['scoreletter']) && !is_numeric($data['score'])) { + $result[] = get_lang('DidNotTakeTheExam'); + } else { + if ($number_decimals == null) { + $result[] = api_strtoupper(get_lang('Literal'.$data['scoreletter'])); + } else { + $result[] = ''; + } + } + if ($scoredisplay->is_custom()) { + $result[] = $data['display']; + } + $data_table[] = $result; + } + export_pdf_with_html($head_table, $data_table, $header_pdf, $footer_pdf, $title_pdf); + } + + // export results to xml or csv file + foreach ($results as $result) { + $userinfo= get_user_info_from_id($result->get_user_id()); + $data['username']= $userinfo['username']; //$result->get_user_id(); + $data['official_code']= $userinfo['official_code']; + $data['lastname']= $userinfo['lastname']; + $data['firstname']= $userinfo['firstname']; + $data['score']= $result->get_score(); + $data['date'] = api_format_date($result->get_date(), "%d/%m/%Y %R"); + $alldata[]= $data; + } + + switch ($file_type) { + case 'xml' : + Export :: export_table_xml($alldata, $filename, 'Result', 'XMLResults'); + exit; + break; + case 'csv' : + Export :: export_table_csv($alldata, $filename); + exit; + break; + } } } if (isset ($_GET['resultdelete'])) { @@ -327,18 +325,18 @@ if (isset ($_POST['action'])) { if ($number_of_selected_items == '0') { Display :: display_warning_message(get_lang('NoItemsSelected'),false); } else { - switch ($_POST['action']) { - case 'delete' : - $number_of_deleted_results= 0; - foreach ($_POST['id'] as $indexstr) { - $result= Result :: load($indexstr); - $result[0]->delete(); - $number_of_deleted_results++; - } - header('Location: gradebook_view_result.php?massdelete=&selecteval=' .Security::remove_XSS($_GET['selecteval'])); - exit; - break; - } + switch ($_POST['action']) { + case 'delete' : + $number_of_deleted_results= 0; + foreach ($_POST['id'] as $indexstr) { + $result= Result :: load($indexstr); + $result[0]->delete(); + $number_of_deleted_results++; + } + header('Location: gradebook_view_result.php?massdelete=&selecteval=' .Security::remove_XSS($_GET['selecteval'])); + exit; + break; + } } } // TODO - what if selecteval not set ? @@ -370,8 +368,9 @@ if (isset ($_GET['print'])) { echo print_table($newarray, $header_names,get_lang('ViewResult'), $eval[0]->get_name()); exit; -} else +} else { $resulttable= new ResultTable($eval[0], $allresults, $iscourse, $addparams); +} $htmlHeadXtra[]= '