Skip to content
Snippets Groups Projects
Commit 166e5fed authored by Jared Hancock's avatar Jared Hancock
Browse files

Simplify header detection logic with outdent

parent 35b5d27b
Branches
Tags
No related merge requests found
...@@ -332,43 +332,42 @@ class User extends UserModel { ...@@ -332,43 +332,42 @@ class User extends UserModel {
if ($f->get('name')) if ($f->get('name'))
$named_fields[] = $f; $named_fields[] = $f;
if (($data = fgetcsv($stream, 1000, ","))) { if (!($data = fgetcsv($stream, 1000, ",")))
if (Validator::is_email($data[1])) { return 'Whoops. Perhaps you meant to send some CSV records';
$has_header = false; // We don't have an header!
} if (Validator::is_email($data[1])) {
else { $has_header = false; // We don't have an header!
$headers = array(); }
foreach ($data as $h) { else {
$found = false; $headers = array();
foreach ($all_fields as $f) { foreach ($data as $h) {
if (in_array(mb_strtolower($h), array( $found = false;
mb_strtolower($f->get('name')), mb_strtolower($f->get('label'))))) { foreach ($all_fields as $f) {
$found = true; if (in_array(mb_strtolower($h), array(
if (!$f->get('name')) mb_strtolower($f->get('name')), mb_strtolower($f->get('label'))))) {
return $h.': Field must have `variable` set to be imported'; $found = true;
if (!$f->get('name'))
return $h.': Field must have `variable` set to be imported';
$headers[$f->get('name')] = $f->get('label');
break;
}
}
if (!$found) {
$has_header = false;
if (count($data) == count($named_fields)) {
// Number of fields in the user form matches the number
// of fields in the data. Assume things line up
$headers = array();
foreach ($named_fields as $f)
$headers[$f->get('name')] = $f->get('label'); $headers[$f->get('name')] = $f->get('label');
break; break;
}
} }
if (!$found) { else {
$has_header = false; return $h.': Unable to map header to a user field';
if (count($data) == count($named_fields)) {
// Number of fields in the user form matches the number
// of fields in the data. Assume things line up
$headers = array();
foreach ($named_fields as $f)
$headers[$f->get('name')] = $f->get('label');
break;
}
else {
return $h.': Unable to map header to a user field';
}
} }
} }
} }
} }
else
return 'Whoops. Perhaps you meant to send some CSV records';
// 'name' and 'email' MUST be in the headers // 'name' and 'email' MUST be in the headers
if (!isset($headers['name']) || !isset($headers['email'])) if (!isset($headers['name']) || !isset($headers['email']))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment