From 0883c95fb45d8199dc4a51a2d0c4c5401b39cef6 Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Tue, 15 Apr 2014 17:59:41 +0200 Subject: [PATCH] fix [PHRAS-75] csv user import is broken --- lib/Alchemy/Phrasea/Controller/Admin/Users.php | 4 ++-- .../Phrasea/Core/Provider/CSVServiceProvider.php | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/Users.php b/lib/Alchemy/Phrasea/Controller/Admin/Users.php index 01193e0ac4..5679af5159 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/Users.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/Users.php @@ -667,7 +667,7 @@ class Users implements ControllerProviderInterface if ($loginToAdd === "") { $out['errors'][] = sprintf(_("Login line %d is empty"), $nbLine + 1); } elseif (in_array($loginToAdd, $loginNew)) { - $out['errors'][] = sprintf(_("Login %s is already defined in the file at line %d"), $loginToAdd, $i); + $out['errors'][] = sprintf(_("Login %s is already defined in the file at line %d"), $loginToAdd, $nbLine + 1); } else { if (\User_Adapter::get_usr_id_from_login($app, $loginToAdd)) { $out['errors'][] = sprintf(_("Login %s already exists in database"), $loginToAdd); @@ -693,7 +693,7 @@ class Users implements ControllerProviderInterface $passwordToVerif = $value; if ($passwordToVerif === "") { - $out['errors'][] = sprintf(_("Password is empty at line %d"), $i); + $out['errors'][] = sprintf(_("Password is empty at line %d"), $nbLine + 1); } else { $pwdValid = true; } diff --git a/lib/Alchemy/Phrasea/Core/Provider/CSVServiceProvider.php b/lib/Alchemy/Phrasea/Core/Provider/CSVServiceProvider.php index be841339f3..c1be7977a4 100644 --- a/lib/Alchemy/Phrasea/Core/Provider/CSVServiceProvider.php +++ b/lib/Alchemy/Phrasea/Core/Provider/CSVServiceProvider.php @@ -27,7 +27,7 @@ class CSVServiceProvider implements ServiceProviderInterface $app['csv.exporter.config'] = $app->share(function () { $config = new ExporterConfig(); return $config - ->setDelimiter(",") + ->setDelimiter(";") ->setEnclosure('"') ->setEscape("\\") ->setToCharset('UTF-8') @@ -40,7 +40,14 @@ class CSVServiceProvider implements ServiceProviderInterface }); $app['csv.lexer.config'] = $app->share(function ($app) { - return new LexerConfig(); + $lexer = new LexerConfig(); + $lexer->setDelimiter(';') + ->setEnclosure('"') + ->setEscape("\\") + ->setToCharset('UTF-8') + ->setFromCharset('UTF-8'); + + return $lexer; }); $app['csv.lexer'] = $app->share(function ($app) {