More minor changes

skala
Julio Montoya 15 years ago
parent 035cf3f59c
commit 6da8f10639
  1. 345
      main/gradebook/gradebook_view_result.php
  2. 4
      main/gradebook/lib/fe/dataform.class.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 = '<hr />'.get_lang('Drh');
$f2 = '<hr />'.get_lang('Teacher');
$f3 = '<hr />'.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 = '<hr />'.get_lang('Drh');
$f2 = '<hr />'.get_lang('Teacher');
$f3 = '<hr />'.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[]= '<script type="text/javascript">
function confirmationuser ()
{
@ -394,18 +393,13 @@ if (isset ($_GET['deleteall'])) {
exit;
}
if ((!isset ($_GET['export'])) && (!isset ($_GET['import']))) {
if (!isset($_GET['selectcat'])) {
$interbreadcrumb[]= array (
'url' => $_SESSION['gradebook_dest'].'?selectcat=' .$currentcat[0]->get_id(),
'name' => get_lang('Details')
);
}
$interbreadcrumb[]= array (
'url' => 'gradebook_view_result.php'.'?selecteval='.Security::remove_XSS($_GET['selecteval']),
'name' => get_lang('ViewResult'
));
$interbreadcrumb[]= array ('url' => 'gradebook_view_result.php'.'?selecteval='.Security::remove_XSS($_GET['selecteval']),'name' => get_lang('ViewResult'));
Display :: display_header('');
}
if (isset ($_GET['addresultnostudents'])) {
@ -431,15 +425,12 @@ if (isset ($_GET['deleteresult'])) {
if (isset ($_GET['editallresults'])) {
Display :: display_confirmation_message(get_lang('AllResultsEdited'),false);
}
if (isset ($_GET['importok'])) {
Display :: display_confirmation_message(get_lang('FileUploadComplete'),false);
}
if (isset ($_GET['importnofile'])) {
Display :: display_warning_message(get_lang('ImportNoFile'),false);
}
if (isset ($_GET['incorrectdata'])) {
Display :: display_warning_message(get_lang('IncorrectData'),false);
}
@ -458,7 +449,6 @@ if (isset ($_GET['overwritemax'])) {
if (isset ($_GET['importoverwritescore'])) {
Display :: display_confirmation_message(get_lang('ImportOverWriteScore') . ' ' . $_GET['importoverwritescore']);
}
if (isset ($_GET['import_user_error'])) {
$userinfo= get_user_info_from_id($_GET['import_user_error']);
Display :: display_warning_message(get_lang('UserInfoDoesNotMatch') . ' ' . api_get_person_name($userinfo['firstname'], $userinfo['lastname']));
@ -466,28 +456,27 @@ if (isset ($_GET['import_user_error'])) {
if (isset ($_GET['allresdeleted'])) {
Display :: display_confirmation_message(get_lang('AllResultDeleted'));
}
if (isset ($_GET['import_score_error'])) {
$userinfo= get_user_info_from_id($_GET['import_score_error']);
Display :: display_warning_message(get_lang('ScoreDoesNotMatch') . ' ' . api_get_person_name($userinfo['firstname'], $userinfo['lastname']));
}
if ($file_type == null) { //show the result header
if (isset ($export_result_form) && !(isset ($edit_res_form))) {
echo '<div class ="normal-message">';
echo $export_result_form->display();
echo '</div>';
DisplayGradebook :: display_header_result($eval[0], $currentcat[0]->get_id(), 1);
} else {
if (isset ($import_result_form)){
echo '<div class ="normal-message">';
echo $import_result_form->display();
echo '</div>';
}
if (isset ($edit_res_form)) {
Display :: display_normal_message($edit_res_form->toHtml(),false);
}
DisplayGradebook :: display_header_result($eval[0], $currentcat[0]->get_id(), 1);
}
$resulttable->display();
Display :: display_footer();
}
if (isset ($export_result_form) && !(isset ($edit_res_form))) {
//echo '<div class ="normal-message">';
echo $export_result_form->display();
//echo '</div>';
DisplayGradebook :: display_header_result($eval[0], $currentcat[0]->get_id(), 1);
} else {
if (isset ($import_result_form)){
echo '<div class ="normal-message">';
echo $import_result_form->display();
echo '</div>';
}
if (isset ($edit_res_form)) {
Display :: display_normal_message($edit_res_form->toHtml(),false);
}
DisplayGradebook :: display_header_result($eval[0], $currentcat[0]->get_id(), 1);
}
$resulttable->display();
Display :: display_footer();
}

@ -45,7 +45,7 @@ class DataForm extends FormValidator {
protected function build_pdf_export_form() {
$renderer =& $this->defaultRenderer();
$renderer->setElementTemplate('<span>{element}</span> ');
$renderer->setElementTemplate('<span>{element}</span>');
$this->addElement('static','label','',get_lang('ChooseOrientation'));
$this->addElement('radio', 'orientation', null, get_lang('Portrait'), 'portrait');
$this->addElement('radio', 'orientation', null, get_lang('Landscape'), 'landscape');
@ -57,7 +57,7 @@ class DataForm extends FormValidator {
protected function build_export_form() {
$this->addElement('header','label',get_lang('ChooseFormat'));
$this->addElement('header','label', get_lang('ChooseFormat'));
$this->addElement('radio', 'file_type', get_lang('OutputFileType'), 'CSV (Comma-Separated Values)', 'csv');
$this->addElement('radio', 'file_type', null, 'XML (Extensible Markup Language)', 'xml');
$this->addElement('radio', 'file_type', null, 'PDF (Portable Document Format)', 'pdf');

Loading…
Cancel
Save