CSV import, also from file, and more UX improvements

This commit is contained in:
2018-08-10 20:19:16 +02:00
parent 1e183f5059
commit a3df7a724c
18 changed files with 371 additions and 155 deletions
+19 -2
View File
@@ -1014,8 +1014,25 @@ class Utils
return $key;
}
public static function csvToArray(string $data)
/**
* @param \SplFileObject|string $data
* @return array
*/
public static function csvToArray($data)
{
return array_map('str_getcsv', explode("\n", $data));
if ($data instanceof \SplFileObject) {
$data->setFlags(\SplFileObject::SKIP_EMPTY | \SplFileObject::DROP_NEW_LINE);
$lines = [];
while (! $data->eof()) {
$line = $data->fgetcsv();
if ($line !== null) {
$lines[] = $line;
}
}
return $lines;
}
else {
return array_map('str_getcsv', explode("\n", $data));
}
}
}