Skip to content

Commit

Permalink
MDL-18535:
Browse files Browse the repository at this point in the history
Adding checks for field name mismatches and "proper" error messages.

Merged from STABLE19
  • Loading branch information
thepurpleblob committed Mar 12, 2009
1 parent aa907a9 commit f24222e
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion mod/data/import.php
Expand Up @@ -102,10 +102,23 @@
$recordsadded = 0;

if (!$records = data_get_records_csv($filename, $fielddelimiter, $fieldenclosure)) {
print_error('get_records_csv failed to read data from the uploaded file. Please check file for field name typos and formatting errors.');
print_error('csvfailed','data',"{$CFG->wwwroot}/mod/data/edit.php?d={$data->id}");
} else {
$fieldnames = array_shift($records);

// check the fieldnames are valid
$fields = $DB->get_records('data_fields', array('dataid'=>$data->id), '', 'name, id, type');
$errorfield = '';
foreach ($fieldnames as $name) {
if (!isset($fields[$name])) {
$errorfield .= "'$name' ";
}
}

if (!empty($errorfield)) {
print_error('fieldnotmatched','data',"{$CFG->wwwroot}/mod/data/edit.php?d={$data->id}",$errorfield);
}

foreach ($records as $record) {
if ($recordid = data_add_record($data, 0)) { // add instance to data_record
$fields = $DB->get_records('data_fields', array('dataid'=>$data->id), '', 'name, id, type');
Expand Down Expand Up @@ -195,6 +208,7 @@ function my_file_get_contents($filename, $use_include_path = 0) {
function data_get_records_csv($filename, $fielddelimiter=',', $fieldenclosure="\n") {
global $DB;


if (empty($fielddelimiter)) {
$fielddelimiter = ',';
}
Expand Down

0 comments on commit f24222e

Please sign in to comment.