changed user_id by username when you export mark learners from gradebook - see CT#258

skala
Cristian Fasanando 15 years ago
parent c019dd1c22
commit d59299cb98
  1. 153
      main/gradebook/gradebook_view_result.php
  2. 9
      main/gradebook/lib/be/result.class.php

@ -33,6 +33,7 @@ require_once ('lib/fe/dataform.class.php');
require_once (api_get_path(LIBRARY_PATH) . 'fileManage.lib.php');
require_once (api_get_path(LIBRARY_PATH) . 'export.lib.inc.php');
require_once (api_get_path(LIBRARY_PATH) . 'import.lib.php');
require_once (api_get_path(LIBRARY_PATH) . 'usermanager.lib.php');
require_once ('lib/results_data_generator.class.php');
require_once ('lib/fe/resulttable.class.php');
require_once ('lib/fe/exportgradebook.php');
@ -156,93 +157,96 @@ if (isset ($_GET['editres'])) {
}
}
if (isset ($_GET['import'])) {
$interbreadcrumb[]= array (
'url' => 'gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']),
'name' => get_lang('ViewResult'
));
$import_result_form = new DataForm(DataForm :: TYPE_IMPORT, 'import_result_form', null, api_get_self() . '?import=&selecteval=' . $_GET['selecteval']);
if (!$import_result_form->validate()) {
Display :: display_header(get_lang('Import'));
}
$interbreadcrumb[]= array (
'url' => 'gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']),
'name' => get_lang('ViewResult'
));
$import_result_form = new DataForm(DataForm :: TYPE_IMPORT, 'import_result_form', null, api_get_self() . '?import=&selecteval=' . Security::remove_XSS($_GET['selecteval']));
if (!$import_result_form->validate()) {
Display :: display_header(get_lang('Import'));
}
if ($_POST['formSent'] ) {
if (!empty ($_FILES['import_file']['name'])) {
$values= $import_result_form->exportValues();
$file_type= $_POST['file_type'];
$file_name= $_FILES['import_file']['tmp_name'];
if ($file_type == 'csv') {
$results= Import :: csv_to_array($file_name);
} else {
$results= parse_xml_data($file_name);
}
$nr_results_added= 0;
foreach ($results as $index => $importedresult) {
//check username & score
$added= '0';
foreach ($allresults as $allresult) {
if (($importedresult['user_id'] == $allresult->get_user_id())) {
if ($importedresult['score'] != $allresult->get_score()) {
if (!isset ($values['overwrite'])) {
header('Location: gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&import_score_error=' . $importedresult['user_id']);
exit;
break;
if ($_POST['formSent'] ) {
if (!empty ($_FILES['import_file']['name'])) {
$values= $import_result_form->exportValues();
$file_type= $_POST['file_type'];
$file_name= $_FILES['import_file']['tmp_name'];
if ($file_type == 'csv') {
$results= Import :: csv_to_array($file_name);
} else {
$results= parse_xml_data($file_name);
}
$nr_results_added= 0;
foreach ($results as $index => $importedresult) {
//check username & score
$importedresult['user_id'] = UserManager::get_user_id_from_username($importedresult['username']);
$added= '0';
foreach ($allresults as $allresult) {
if (($importedresult['user_id'] == $allresult->get_user_id())) {
if ($importedresult['score'] != $allresult->get_score()) {
if (!isset ($values['overwrite'])) {
header('Location: gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&import_score_error=' . $importedresult['user_id']);
exit;
break;
} else {
overwritescore($allresult->get_id(), $importedresult['score'], $eval[0]->get_max());
$overwritescore++;
$added= '1';
}
} else {
overwritescore($allresult->get_id(), $importedresult['score'], $eval[0]->get_max());
$overwritescore++;
$added= '1';
}
} else {
$added= '1';
}
}
}
if ($importedresult['user_id'] == null) {
header('Location: gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&incorrectdata=');
exit;
}
$userinfo= get_user_info_from_id($importedresult['user_id']);
if ($userinfo['lastname'] != $importedresult['lastname'] || $userinfo['firstname'] != $importedresult['firstname'] || $userinfo['official_code'] != $importedresult['official_code']) {
if (!isset ($values['ignoreerrors'])) {
header('Location: gradebook_view_result.php?selecteval=' .Security::remove_XSS($_GET['selecteval']) . '&import_user_error=' . $importedresult['user_id']);
exit;
}
}
if ($added != '1') {
if ($importedresult['score'] > $eval[0]->get_max()) {
header('Location: gradebook_view_result.php?selecteval=' .Security::remove_XSS($_GET['selecteval']) . '&overwritemax=');
if ($importedresult['user_id'] == null) {
header('Location: gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&incorrectdata=');
exit;
}
$result= new Result();
$result->set_user_id($importedresult['user_id']);
if (!empty ($importedresult['score'])) {
$result->set_score($importedresult['score']);
$userinfo= get_user_info_from_id($importedresult['user_id']);
if ($userinfo['lastname'] != $importedresult['lastname'] || $userinfo['firstname'] != $importedresult['firstname'] || $userinfo['official_code'] != $importedresult['official_code']) {
if (!isset ($values['ignoreerrors'])) {
header('Location: gradebook_view_result.php?selecteval=' .Security::remove_XSS($_GET['selecteval']) . '&import_user_error=' . $importedresult['user_id']);
exit;
}
}
if (!empty ($importedresult['date'])) {
$result->set_date(strtotime($importedresult['date']));
} else {
$result->set_date(time());
if ($added != '1') {
if ($importedresult['score'] > $eval[0]->get_max()) {
header('Location: gradebook_view_result.php?selecteval=' .Security::remove_XSS($_GET['selecteval']) . '&overwritemax=');
exit;
}
$result= new Result();
$result->set_user_id($importedresult['user_id']);
if (!empty ($importedresult['score'])) {
$result->set_score($importedresult['score']);
}
if (!empty ($importedresult['date'])) {
$result->set_date(strtotime($importedresult['date']));
} else {
$result->set_date(time());
}
$result->set_evaluation_id($_GET['selecteval']);
$result->add();
$nr_results_added++;
}
$result->set_evaluation_id($_GET['selecteval']);
$result->add();
$nr_results_added++;
}
} else {
header('Location: ' . api_get_self() . '?import=&selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&importnofile=');
exit;
}
} else {
header('Location: ' . api_get_self() . '?import=&selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&importnofile=');
exit;
}
if ($overwritescore != 0) {
header('Location: ' . api_get_self() . '?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&importoverwritescore=' . $overwritescore);
exit;
}
if ($nr_results_added == 0) {
header('Location: ' . api_get_self() . '?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&nothingadded=');
if ($overwritescore != 0) {
header('Location: ' . api_get_self() . '?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&importoverwritescore=' . $overwritescore);
exit;
}
if ($nr_results_added == 0) {
header('Location: ' . api_get_self() . '?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&nothingadded=');
exit;
}
header('Location: ' . api_get_self() . '?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&importok=');
exit;
}
header('Location: ' . api_get_self() . '?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&importok=');
exit;
}
}
if (isset ($_GET['export'])) {
$interbreadcrumb[]= array (
@ -262,7 +266,7 @@ if ($export_result_form->validate()) {
$data= array (); //when file type is csv, add a header to the output file
if ($file_type == 'csv') {
$alldata[]= array (
'user_id',
'username',
'official_code',
'lastname',
'firstname',
@ -345,9 +349,10 @@ if ($export_result_form->validate()) {
$pdf->ezStream();
exit;
}
foreach ($results as $result) {
$userinfo= get_user_info_from_id($result->get_user_id());
$data['user_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'];

@ -97,6 +97,7 @@ class Result
public function load ($id = null, $user_id = null, $evaluation_id = null) {
$tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
$tbl_course_rel_course = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$tbl_session_rel_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
if (is_null($id ) && is_null($user_id) && !is_null($evaluation_id)) {
$sql_verified_if_exist_evaluation='SELECT COUNT(*) AS count FROM '.$tbl_grade_results.' WHERE evaluation_id="'.Database::escape_string($evaluation_id).'";';
@ -104,7 +105,13 @@ class Result
$info_verified_if_exist_evaluation=Database::result($res_verified_if_exist_evaluation,0,0);
if ($info_verified_if_exist_evaluation!=0) {
$sql_course_rel_user='SELECT course_code,user_id,status FROM '.$tbl_course_rel_course.' WHERE status="5" AND course_code="'.api_get_course_id().'"; ';
$sql_course_rel_user= '';
if (api_get_session_id()) {
$sql_course_rel_user = 'SELECT course_code,id_user,status FROM '.$tbl_session_rel_course_user.' WHERE status=0 AND course_code="'.api_get_course_id().' AND id_session='.api_get_session_id().'"';
} else {
$sql_course_rel_user = 'SELECT course_code,user_id,status FROM '.$tbl_course_rel_course.' WHERE status="5" AND course_code="'.api_get_course_id().'"; ';
}
$res_course_rel_user=Database::query($sql_course_rel_user,__FILE__,__LINE__);
$list_user_course_list=array();

Loading…
Cancel
Save