From fa182cd88e4cbaf3bdd09888913dabeed2c515ee Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Tue, 26 Oct 2010 23:09:47 +0200 Subject: [PATCH] Drop Horde_File_Csv. fgetcsv() is sufficiently capable these days that a whole library is no longer justified. Add a light wrapper to Horde_Util instead. --- framework/Data/lib/Horde/Data.php | 2 +- framework/Data/lib/Horde/Data/Csv.php | 55 +- framework/Data/test/Horde/Data/AllTests.php | 36 + framework/Data/test/Horde/Data/CsvTest.php | 38 + .../Data/test/Horde/Data/csv_importFile_01.phpt | 90 -- .../test/Horde/Data/{ => fixtures}/simple_dos.csv | 0 .../test/Horde/Data/{ => fixtures}/simple_unix.csv | 0 framework/File_Csv/lib/Horde/File/Csv.php | 531 ------------ .../File_Csv/lib/Horde/File/Csv/Exception.php | 20 - .../File_Csv/lib/Horde/File/Csv/Translation.php | 50 -- framework/File_Csv/locale/Horde_File_Csv.pot | 27 - .../locale/ar/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/ar/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/bg/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/bg/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/bs/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/bs/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/ca/LC_MESSAGES/Horde_File_Csv.mo | Bin 664 -> 0 bytes .../locale/ca/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/cs/LC_MESSAGES/Horde_File_Csv.mo | Bin 740 -> 0 bytes .../locale/cs/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/da/LC_MESSAGES/Horde_File_Csv.mo | Bin 687 -> 0 bytes .../locale/da/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/de/LC_MESSAGES/Horde_File_Csv.mo | Bin 696 -> 0 bytes .../locale/de/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/el/LC_MESSAGES/Horde_File_Csv.mo | Bin 426 -> 0 bytes .../locale/el/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/en/LC_MESSAGES/Horde_File_Csv.mo | Bin 684 -> 0 bytes .../locale/en/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/es/LC_MESSAGES/Horde_File_Csv.mo | Bin 714 -> 0 bytes .../locale/es/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/et/LC_MESSAGES/Horde_File_Csv.mo | Bin 675 -> 0 bytes .../locale/et/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/eu/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/eu/LC_MESSAGES/Horde_File_Csv.po | 16 - .../locale/fa/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/fa/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/fi/LC_MESSAGES/Horde_File_Csv.mo | Bin 698 -> 0 bytes .../locale/fi/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/fr/LC_MESSAGES/Horde_File_Csv.mo | Bin 706 -> 0 bytes .../locale/fr/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/gl/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/gl/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/he/LC_MESSAGES/Horde_File_Csv.mo | Bin 426 -> 0 bytes .../locale/he/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/hr/LC_MESSAGES/Horde_File_Csv.mo | Bin 749 -> 0 bytes .../locale/hr/LC_MESSAGES/Horde_File_Csv.po | 28 - .../locale/hu/LC_MESSAGES/Horde_File_Csv.mo | Bin 692 -> 0 bytes .../locale/hu/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/id/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/id/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/is/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/is/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/it/LC_MESSAGES/Horde_File_Csv.mo | Bin 705 -> 0 bytes .../locale/it/LC_MESSAGES/Horde_File_Csv.po | 28 - .../locale/ja/LC_MESSAGES/Horde_File_Csv.mo | Bin 715 -> 0 bytes .../locale/ja/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/km/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/km/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/ko/LC_MESSAGES/Horde_File_Csv.mo | Bin 419 -> 0 bytes .../locale/ko/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/lt/LC_MESSAGES/Horde_File_Csv.mo | Bin 769 -> 0 bytes .../locale/lt/LC_MESSAGES/Horde_File_Csv.po | 29 - .../locale/lv/LC_MESSAGES/Horde_File_Csv.mo | Bin 461 -> 0 bytes .../locale/lv/LC_MESSAGES/Horde_File_Csv.po | 28 - .../locale/mk/LC_MESSAGES/Horde_File_Csv.mo | Bin 383 -> 0 bytes .../locale/mk/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/nb/LC_MESSAGES/Horde_File_Csv.mo | Bin 426 -> 0 bytes .../locale/nb/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/nl/LC_MESSAGES/Horde_File_Csv.mo | Bin 426 -> 0 bytes .../locale/nl/LC_MESSAGES/Horde_File_Csv.po | 17 - .../locale/nn/LC_MESSAGES/Horde_File_Csv.mo | Bin 426 -> 0 bytes .../locale/nn/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/pl/LC_MESSAGES/Horde_File_Csv.mo | Bin 484 -> 0 bytes .../locale/pl/LC_MESSAGES/Horde_File_Csv.po | 28 - .../locale/pt/LC_MESSAGES/Horde_File_Csv.mo | Bin 709 -> 0 bytes .../locale/pt/LC_MESSAGES/Horde_File_Csv.po | 28 - .../locale/pt_BR/LC_MESSAGES/Horde_File_Csv.mo | Bin 708 -> 0 bytes .../locale/pt_BR/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/ro/LC_MESSAGES/Horde_File_Csv.mo | Bin 472 -> 0 bytes .../locale/ro/LC_MESSAGES/Horde_File_Csv.po | 28 - .../locale/ru/LC_MESSAGES/Horde_File_Csv.mo | Bin 500 -> 0 bytes .../locale/ru/LC_MESSAGES/Horde_File_Csv.po | 28 - .../locale/sk/LC_MESSAGES/Horde_File_Csv.mo | Bin 733 -> 0 bytes .../locale/sk/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/sl/LC_MESSAGES/Horde_File_Csv.mo | Bin 745 -> 0 bytes .../locale/sl/LC_MESSAGES/Horde_File_Csv.po | 28 - .../locale/sv/LC_MESSAGES/Horde_File_Csv.mo | Bin 565 -> 0 bytes .../locale/sv/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/tr/LC_MESSAGES/Horde_File_Csv.mo | Bin 702 -> 0 bytes .../locale/tr/LC_MESSAGES/Horde_File_Csv.po | 27 - .../locale/uk/LC_MESSAGES/Horde_File_Csv.mo | Bin 857 -> 0 bytes .../locale/uk/LC_MESSAGES/Horde_File_Csv.po | 28 - .../locale/zh_CN/LC_MESSAGES/Horde_File_Csv.mo | Bin 640 -> 0 bytes .../locale/zh_CN/LC_MESSAGES/Horde_File_Csv.po | 26 - .../locale/zh_TW/LC_MESSAGES/Horde_File_Csv.mo | Bin 669 -> 0 bytes .../locale/zh_TW/LC_MESSAGES/Horde_File_Csv.po | 26 - framework/File_Csv/package.xml | 552 ------------ framework/File_Csv/test/Horde/Csv/001.phpt | 84 -- framework/File_Csv/test/Horde/Csv/002.phpt | 84 -- framework/File_Csv/test/Horde/Csv/003.phpt | 67 -- framework/File_Csv/test/Horde/Csv/004.phpt | 67 -- framework/File_Csv/test/Horde/Csv/005.phpt | 67 -- framework/File_Csv/test/Horde/Csv/bug_3839.phpt | 110 --- framework/File_Csv/test/Horde/Csv/bug_4025.csv | 3 - framework/File_Csv/test/Horde/Csv/bug_4025.phpt | 131 --- framework/File_Csv/test/Horde/Csv/bug_6311.phpt | 413 --------- framework/File_Csv/test/Horde/Csv/bug_6370.phpt | 411 --------- framework/File_Csv/test/Horde/Csv/bug_6372.phpt | 412 --------- framework/File_Csv/test/Horde/Csv/columns.phpt | 98 --- framework/File_Csv/test/Horde/Csv/common.php | 36 - framework/File_Csv/test/Horde/Csv/linebreak.phpt | 110 --- framework/File_Csv/test/Horde/Csv/multiline.phpt | 52 -- framework/File_Csv/test/Horde/Csv/quotes.phpt | 110 --- framework/File_Csv/test/Horde/Csv/simple_cr.csv | 1 - framework/Util/lib/Horde/Util.php | 51 ++ framework/Util/test/Horde/Util/CsvTest.php | 956 +++++++++++++++++++++ .../Csv => Util/test/Horde/Util/fixtures}/001.csv | 0 .../Csv => Util/test/Horde/Util/fixtures}/002.csv | 0 .../Csv => Util/test/Horde/Util/fixtures}/003.csv | 0 .../Csv => Util/test/Horde/Util/fixtures}/004.csv | 0 .../Csv => Util/test/Horde/Util/fixtures}/005.csv | 2 +- .../test/Horde/Util/fixtures}/bug_3839.csv | 6 +- .../Util/test/Horde/Util/fixtures/bug_4025.csv | 3 + .../test/Horde/Util/fixtures}/bug_6311.csv | 0 .../test/Horde/Util/fixtures}/bug_6370.csv | 0 .../test/Horde/Util/fixtures}/bug_6372.csv | 0 .../test/Horde/Util/fixtures}/columns1.csv | 0 .../test/Horde/Util/fixtures}/columns2.csv | 0 .../test/Horde/Util/fixtures}/multiline1.csv | 2 +- .../test/Horde/Util/fixtures}/notrailing_crlf.csv | 0 .../test/Horde/Util/fixtures}/notrailing_lf.csv | 0 .../test/Horde/Util/fixtures}/quote1.csv | 0 .../test/Horde/Util/fixtures}/quote2.csv | 0 .../test/Horde/Util/fixtures}/quote3.csv | 1 - .../test/Horde/Util/fixtures}/quote4.csv | 1 - .../test/Horde/Util/fixtures}/quote5.csv | 0 .../Util/test/Horde/Util/fixtures/simple_cr.csv | 1 + .../test/Horde/Util/fixtures}/simple_crlf.csv | 0 .../test/Horde/Util/fixtures}/simple_lf.csv | 0 140 files changed, 1106 insertions(+), 4713 deletions(-) create mode 100644 framework/Data/test/Horde/Data/AllTests.php create mode 100644 framework/Data/test/Horde/Data/CsvTest.php delete mode 100644 framework/Data/test/Horde/Data/csv_importFile_01.phpt rename framework/Data/test/Horde/Data/{ => fixtures}/simple_dos.csv (100%) rename framework/Data/test/Horde/Data/{ => fixtures}/simple_unix.csv (100%) delete mode 100644 framework/File_Csv/lib/Horde/File/Csv.php delete mode 100644 framework/File_Csv/lib/Horde/File/Csv/Exception.php delete mode 100644 framework/File_Csv/lib/Horde/File/Csv/Translation.php delete mode 100644 framework/File_Csv/locale/Horde_File_Csv.pot delete mode 100644 framework/File_Csv/locale/ar/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/ar/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/bg/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/bg/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/bs/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/bs/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/ca/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/ca/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/cs/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/cs/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/da/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/da/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/de/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/de/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/el/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/el/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/en/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/en/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/es/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/es/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/et/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/et/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/eu/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/eu/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/fa/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/fa/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/fi/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/fi/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/fr/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/fr/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/gl/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/gl/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/he/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/he/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/hr/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/hr/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/hu/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/hu/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/id/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/id/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/is/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/is/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/it/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/it/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/ja/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/ja/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/km/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/km/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/ko/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/ko/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/lt/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/lt/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/lv/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/lv/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/mk/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/mk/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/nb/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/nb/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/nl/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/nl/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/nn/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/nn/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/pl/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/pl/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/pt/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/pt/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/pt_BR/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/pt_BR/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/ro/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/ro/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/ru/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/ru/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/sk/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/sk/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/sl/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/sl/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/sv/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/sv/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/tr/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/tr/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/uk/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/uk/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/zh_CN/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/zh_CN/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/locale/zh_TW/LC_MESSAGES/Horde_File_Csv.mo delete mode 100644 framework/File_Csv/locale/zh_TW/LC_MESSAGES/Horde_File_Csv.po delete mode 100644 framework/File_Csv/package.xml delete mode 100644 framework/File_Csv/test/Horde/Csv/001.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/002.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/003.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/004.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/005.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/bug_3839.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/bug_4025.csv delete mode 100644 framework/File_Csv/test/Horde/Csv/bug_4025.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/bug_6311.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/bug_6370.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/bug_6372.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/columns.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/common.php delete mode 100644 framework/File_Csv/test/Horde/Csv/linebreak.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/multiline.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/quotes.phpt delete mode 100644 framework/File_Csv/test/Horde/Csv/simple_cr.csv create mode 100644 framework/Util/test/Horde/Util/CsvTest.php rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/001.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/002.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/003.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/004.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/005.csv (90%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/bug_3839.csv (91%) create mode 100644 framework/Util/test/Horde/Util/fixtures/bug_4025.csv rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/bug_6311.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/bug_6370.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/bug_6372.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/columns1.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/columns2.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/multiline1.csv (79%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/notrailing_crlf.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/notrailing_lf.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/quote1.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/quote2.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/quote3.csv (97%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/quote4.csv (97%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/quote5.csv (100%) create mode 100644 framework/Util/test/Horde/Util/fixtures/simple_cr.csv rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/simple_crlf.csv (100%) rename framework/{File_Csv/test/Horde/Csv => Util/test/Horde/Util/fixtures}/simple_lf.csv (100%) diff --git a/framework/Data/lib/Horde/Data.php b/framework/Data/lib/Horde/Data.php index 840ebb798..07d36e9f1 100644 --- a/framework/Data/lib/Horde/Data.php +++ b/framework/Data/lib/Horde/Data.php @@ -58,7 +58,7 @@ class Horde_Data * @return Horde_Data_Driver The newly created concrete instance. * @throws Horde_Data_Exception */ - public function factory($format, array $params = array()) + static public function factory($format, array $params = array()) { $format = ucfirst(strtolower(basename($format))); $class = __CLASS__ . '_' . $format; diff --git a/framework/Data/lib/Horde/Data/Csv.php b/framework/Data/lib/Horde/Data/Csv.php index 1afac3f90..fca36d00c 100644 --- a/framework/Data/lib/Horde/Data/Csv.php +++ b/framework/Data/lib/Horde/Data/Csv.php @@ -31,7 +31,7 @@ class Horde_Data_Csv extends Horde_Data_Base * * @var string */ - protected $_contentType = 'text/comma-separated-values'; + protected $_contentType = 'application/csv'; /** * File extension. @@ -62,23 +62,6 @@ class Horde_Data_Csv extends Horde_Data_Base } /** - * Tries to discover the CSV file's parameters. - * - * @param string $filename The name of the file to investigate. - * - * @return array An associative array with the following possible keys: - *
-     * 'sep':    The field separator
-     * 'quote':  The quoting character
-     * 'fields': The number of fields (columns)
-     * 
- */ - public function discoverFormat($filename) - { - return Horde_File_Csv::discoverFormat($filename); - } - - /** * Imports and parses a CSV file. * * @param string $filename The name of the file to parse. @@ -93,7 +76,7 @@ class Horde_Data_Csv extends Horde_Data_Base * @return array A two-dimensional array of all imported data rows. If * $header was true the rows are associative arrays with the * field/column names as the keys. - * @throws Horde_File_Csv_Exception + * @throws Horde_Data_Exception */ public function importFile($filename, $header = false, $sep = ',', $quote = '', $fields = null, @@ -105,23 +88,29 @@ class Horde_Data_Csv extends Horde_Data_Base } $conf = array( - 'crlf' => $crlf, - 'fields' => $fields, + 'length' => $fields, 'quote' => $quote, - 'sep' => $sep + 'separator' => $sep ); - /* Strip and keep the first line if it contains the field - * names. */ + $fp = @fopen($filename, 'r'); + if (!$fp) { + throw new Hode_Data_Exception('Cannot open file'); + } + + /* Strip and keep the first line if it contains the field names. */ if ($header) { - $head = Horde_File_Csv::read($filename, $conf); + $head = Horde_Util::getCsv($fp, $conf); + if (!$head) { + return array(); + } if (!empty($charset)) { $head = Horde_String::convertCharset($head, $charset, $this->_charset); } } $data = array(); - while ($line = Horde_File_Csv::read($filename, $conf)) { + while ($line = Horde_Util::getCsv($fp, $conf)) { if (!empty($charset)) { $line = Horde_String::convertCharset($line, $charset, $this->_charset); } @@ -141,13 +130,6 @@ class Horde_Data_Csv extends Horde_Data_Base } } - $fp = Horde_File_Csv::getPointer($filename, $conf); - if ($fp) { - rewind($fp); - } - - $this->_warnings = Horde_File_Csv::warning(); - return $data; } @@ -243,13 +225,6 @@ class Horde_Data_Csv extends Horde_Data_Base } $_SESSION['import_data']['file_name'] = $file_name; - /* Try to discover the file format ourselves. */ - $conf = $this->discoverFormat($file_name); - if (!$conf) { - $conf = array('sep' => ','); - } - $_SESSION['import_data'] = array_merge($_SESSION['import_data'], $conf); - /* Check if charset was specified. */ $_SESSION['import_data']['charset'] = $this->_vars->charset; diff --git a/framework/Data/test/Horde/Data/AllTests.php b/framework/Data/test/Horde/Data/AllTests.php new file mode 100644 index 000000000..dcf46c606 --- /dev/null +++ b/framework/Data/test/Horde/Data/AllTests.php @@ -0,0 +1,36 @@ + + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @category Horde + * @package Data + * @subpackage UnitTests + */ + +/** + * Define the main method + */ +if (!defined('PHPUnit_MAIN_METHOD')) { + define('PHPUnit_MAIN_METHOD', 'Horde_Data_AllTests::main'); +} + +/** + * Prepare the test setup. + */ +require_once 'Horde/Test/AllTests.php'; + +/** + * @package Horde_Data + * @subpackage UnitTests + */ +class Horde_Data_AllTests extends Horde_Test_AllTests +{ +} + +Horde_Data_AllTests::init('Horde_Data', __FILE__); + +if (PHPUnit_MAIN_METHOD == 'Horde_Data_AllTests::main') { + Horde_Data_AllTests::main(); +} diff --git a/framework/Data/test/Horde/Data/CsvTest.php b/framework/Data/test/Horde/Data/CsvTest.php new file mode 100644 index 000000000..626a7893f --- /dev/null +++ b/framework/Data/test/Horde/Data/CsvTest.php @@ -0,0 +1,38 @@ + + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @category Horde + * @package Data + * @subpackage UnitTests + */ + +class Horde_Data_CsvTest extends PHPUnit_Framework_TestCase +{ + public function testImportFile() + { + $data = new Horde_Data_Csv(); + + $expected = array(array(0 => 'one', + 1 => 'two', + 2 => 'three four', + 3 => 'five'), + array(0 => 'six', + 1 => 'seven', + 2 => 'eight nine', + 3 => 'ten')); + $this->assertEquals($expected, + $data->importFile(dirname(__FILE__) . '/fixtures/simple_dos.csv', false, ',', '', 4)); + $this->assertEquals($expected, + $data->importFile(dirname(__FILE__) . '/fixtures/simple_unix.csv', false, ',', '', 4)); + + $expected = array(array('one' => 'six', + 'two' => 'seven', + 'three four' => 'eight nine', + 'five' => 'ten')); + $this->assertEquals($expected, + $data->importFile(dirname(__FILE__) . '/fixtures/simple_dos.csv', true, ',', '', 4)); + $this->assertEquals($expected, + $data->importFile(dirname(__FILE__) . '/fixtures/simple_unix.csv', true, ',', '', 4)); + } +} diff --git a/framework/Data/test/Horde/Data/csv_importFile_01.phpt b/framework/Data/test/Horde/Data/csv_importFile_01.phpt deleted file mode 100644 index 7999b3df0..000000000 --- a/framework/Data/test/Horde/Data/csv_importFile_01.phpt +++ /dev/null @@ -1,90 +0,0 @@ ---TEST-- -Simple CSV files ---FILE-- -importFile(dirname(__FILE__) . '/simple_dos.csv', false, '', '', 4)); -var_dump($data->importFile(dirname(__FILE__) . '/simple_unix.csv', false, '', '', 4)); -var_dump($data->importFile(dirname(__FILE__) . '/simple_dos.csv', true, '', '', 4)); -var_dump($data->importFile(dirname(__FILE__) . '/simple_unix.csv', true, '', '', 4)); - -?> ---EXPECT-- -array(2) { - [0]=> - array(4) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(10) "three four" - [3]=> - string(4) "five" - } - [1]=> - array(4) { - [0]=> - string(3) "six" - [1]=> - string(5) "seven" - [2]=> - string(10) "eight nine" - [3]=> - string(4) " ten" - } -} -array(2) { - [0]=> - array(4) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(10) "three four" - [3]=> - string(4) "five" - } - [1]=> - array(4) { - [0]=> - string(3) "six" - [1]=> - string(5) "seven" - [2]=> - string(10) "eight nine" - [3]=> - string(4) " ten" - } -} -array(1) { - [0]=> - array(4) { - ["one"]=> - string(3) "six" - ["two"]=> - string(5) "seven" - ["three four"]=> - string(10) "eight nine" - ["five"]=> - string(4) " ten" - } -} -array(1) { - [0]=> - array(4) { - ["one"]=> - string(3) "six" - ["two"]=> - string(5) "seven" - ["three four"]=> - string(10) "eight nine" - ["five"]=> - string(4) " ten" - } -} \ No newline at end of file diff --git a/framework/Data/test/Horde/Data/simple_dos.csv b/framework/Data/test/Horde/Data/fixtures/simple_dos.csv similarity index 100% rename from framework/Data/test/Horde/Data/simple_dos.csv rename to framework/Data/test/Horde/Data/fixtures/simple_dos.csv diff --git a/framework/Data/test/Horde/Data/simple_unix.csv b/framework/Data/test/Horde/Data/fixtures/simple_unix.csv similarity index 100% rename from framework/Data/test/Horde/Data/simple_unix.csv rename to framework/Data/test/Horde/Data/fixtures/simple_unix.csv diff --git a/framework/File_Csv/lib/Horde/File/Csv.php b/framework/File_Csv/lib/Horde/File/Csv.php deleted file mode 100644 index b680f67a4..000000000 --- a/framework/File_Csv/lib/Horde/File/Csv.php +++ /dev/null @@ -1,531 +0,0 @@ - - * Copyright 2005-2010 The Horde Project (http://www.horde.org/) - * - * This source file is subject to version 2.0 of the PHP license, that is - * bundled with this package in the file LICENSE, and is available at through - * the world-wide-web at http://www.php.net/license/2_02.txt. If you did not - * receive a copy of the PHP license and are unable to obtain it through the - * world-wide-web, please send a note to license@php.net so we can mail you a - * copy immediately. - * - * @author Tomas Von Veschler Cox - * @author Jan Schneider - * @category Horde - * @package Horde_File_Csv - */ -class Horde_File_Csv -{ - /** Mode to use for reading from files */ - const MODE_READ = 'rb'; - - /** Mode to use for truncating files, then writing */ - const MODE_WRITE = 'wb'; - - /** Mode to use for appending to files */ - const MODE_APPEND = 'ab'; - - /** - * Discovers the format of a CSV file (the number of fields, the - * separator, the quote string, and the line break). - * - * We can't use the auto_detect_line_endings PHP setting, because it's not - * supported by fgets() contrary to what the manual says. - * - * @param string $file The CSV file name - * @param array $extraSeps Extra separators that should be checked for. - * - * @return array The format hash. - * @throws Horde_File_Csv_Exception - */ - static public function discoverFormat($file, $extraSeps = array()) - { - if (!$fp = @fopen($file, 'r')) { - throw new Horde_File_Csv_Exception('Could not open file: ' . $file); - } - - $seps = array("\t", ';', ':', ',', '~'); - $seps = array_merge($seps, $extraSeps); - $conf = $matches = array(); - $crlf = null; - - /* Take the first 10 lines and store the number of ocurrences for each - * separator in each line. */ - for ($i = 0; ($i < 10) && ($line = fgets($fp));) { - /* Do we have Mac line endings? */ - $lines = preg_split('/\r(?!\n)/', $line, 10); - $j = 0; - $c = count($lines); - if ($c > 1) { - $crlf = "\r"; - } - while ($i < 10 && $j < $c) { - $line = $lines[$j]; - if (!isset($crlf)) { - foreach (array("\r\n", "\n") as $c) { - if (substr($line, -strlen($c)) == $c) { - $crlf = $c; - break; - } - } - } - ++$i; - ++$j; - foreach ($seps as $sep) { - $matches[$sep][$i] = substr_count($line, $sep); - } - } - } - - if (isset($crlf)) { - $conf['crlf'] = $crlf; - } - - /* Group the results by amount of equal occurrences. */ - $amount = $fields = array(); - foreach ($matches as $sep => $lines) { - $times = array(0 => 0); - foreach ($lines as $num) { - if ($num > 0) { - $times[$num] = (isset($times[$num])) ? $times[$num] + 1 : 1; - } - } - arsort($times); - $fields[$sep] = key($times); - $amount[$sep] = $times[key($times)]; - } - arsort($amount); - $sep = key($amount); - - $conf['fields'] = $fields[$sep] + 1; - $conf['sep'] = $sep; - - /* Test if there are fields with quotes around in the first 10 - * lines. */ - $quotes = '"\''; - $quote = ''; - rewind($fp); - for ($i = 0; ($i < 10) && ($line = fgets($fp)); ++$i) { - if (preg_match("|$sep([$quotes]).*([$quotes])$sep|U", $line, $match)) { - if ($match[1] == $match[2]) { - $quote = $match[1]; - break; - } - } - if (preg_match("|^([$quotes]).*([$quotes])$sep|", $line, $match) || - preg_match("|([$quotes]).*([$quotes])$sep\s$|Us", $line, $match)) { - if ($match[1] == $match[2]) { - $quote = $match[1]; - break; - } - } - } - $conf['quote'] = $quote; - - fclose($fp); - - // XXX What about trying to discover the "header"? - return $conf; - } - - /** - * Reads a row from a CSV file and returns it as an array. - * - * This method normalizes linebreaks to single newline characters (0x0a). - * - * @param string $file The name of the CSV file. - * @param array $conf The configuration for the CSV file. - * - * @return array|boolean The CSV data or false if no more data available. - * @throws Horde_File_Csv_Exception - */ - static public function read($file, &$conf) - { - $fp = self::getPointer($file, $conf, self::MODE_READ); - - $line = fgets($fp); - $line_length = strlen($line); - - /* Use readQuoted() if we have Mac line endings. */ - if (preg_match('/\r(?!\n)/', $line)) { - fseek($fp, -$line_length, SEEK_CUR); - return self::readQuoted($file, $conf); - } - - /* Normalize line endings. */ - $line = str_replace("\r\n", "\n", $line); - if (!strlen(trim($line))) { - return false; - } - - self::_line(self::_line() + 1); - - if ($conf['fields'] == 1) { - return array($line); - } - - $fields = explode($conf['sep'], $line); - if ($conf['quote']) { - $last = ltrim($fields[count($fields) - 1]); - /* Fallback to read the line with readQuoted() if we assume that - * the simple explode won't work right. */ - $last_len = strlen($last); - if (($last_len && - $last[$last_len - 1] == "\n" && - $last[0] == $conf['quote'] && - $last[strlen(rtrim($last)) - 1] != $conf['quote']) || - (count($fields) != $conf['fields']) - // XXX perhaps there is a separator inside a quoted field - // preg_match("|{$conf['quote']}.*{$conf['sep']}.*{$conf['quote']}|U", $line) - ) { - fseek($fp, -$line_length, SEEK_CUR); - return self::readQuoted($file, $conf); - } else { - foreach ($fields as $k => $v) { - $fields[$k] = self::unquote(trim($v), $conf['quote']); - } - } - } else { - foreach ($fields as $k => $v) { - $fields[$k] = trim($v); - } - } - - if (count($fields) < $conf['fields']) { - self::warning(sprintf(Horde_File_Csv_Translation::t("Wrong number of fields in line %d. Expected %d, found %d."), self::_line(), $conf['fields'], count($fields))); - $fields = array_merge($fields, array_fill(0, $conf['fields'] - count($fields), '')); - } elseif (count($fields) > $conf['fields']) { - self::warning(sprintf(Horde_File_Csv_Translation::t("More fields found in line %d than the expected %d."), self::_line(), $conf['fields'])); - array_splice($fields, $conf['fields']); - } - - return $fields; - } - - /** - * Reads a row from a CSV file and returns it as an array. - * - * This method is able to read fields with multiline data and normalizes - * linebreaks to single newline characters (0x0a). - * - * @param string $file The name of the CSV file. - * @param array $conf The configuration for the CSV file. - * - * @return array|boolean The CSV data or false if no more data available. - * @throws Horde_File_Csv_Exception - */ - static public function readQuoted($file, &$conf) - { - $fp = self::getPointer($file, $conf, self::MODE_READ); - - /* A buffer with all characters of the current field read so far. */ - $buff = ''; - /* The current character. */ - $c = null; - /* The read fields. */ - $ret = false; - /* The number of the current field. */ - $i = 0; - /* Are we inside a quoted field? */ - $in_quote = false; - /* Did we just process an escaped quote? */ - $quote_escaped = false; - /* Is the last processed quote the first of a field? */ - $first_quote = false; - - while (($ch = fgetc($fp)) !== false) { - /* Normalize line breaks. */ - if ($ch == $conf['crlf']) { - $ch = "\n"; - } elseif (strlen($conf['crlf']) == 2 && $ch == $conf['crlf'][0]) { - $next = fgetc($fp); - if (!$next) { - break; - } - if ($next == $conf['crlf'][1]) { - $ch = "\n"; - } - } - - /* Previous character. */ - $prev = $c; - /* Current character. */ - $c = $ch; - - /* Simple character. */ - if ($c != $conf['quote'] && - $c != $conf['sep'] && - $c != "\n") { - $buff .= $c; - if (!$i) { - $i = 1; - } - $first_quote = $quote_escaped = false; - continue; - } - - if ($c == $conf['quote'] && !$in_quote) { - /* Quoted field begins. */ - $in_quote = true; - $buff = ''; - if (!$i) { - $i = 1; - } - } elseif ($in_quote) { - /* We do NOT check for the closing quote immediately, but when - * we got the character AFTER the closing quote. */ - if ($c == $conf['quote'] && $prev == $conf['quote'] && - !$quote_escaped) { - /* Escaped (double) quotes. */ - $first_quote = $quote_escaped = true; - $prev = null; - /* Simply skip the second quote. */ - continue; - } elseif ($c == $conf['sep'] && $prev == $conf['quote']) { - /* Quoted field ends with a delimiter. */ - $in_quote = $quote_escaped = false; - $first_quote = true; - } elseif ($c == "\n") { - /* We have a linebreak inside the quotes. */ - if (strlen($buff) == 1 && - $buff[0] == $conf['quote'] && - $quote_escaped && $first_quote) { - /* A line break after a closing quote of an empty - * field, field and row end here. */ - $in_quote = false; - } elseif (strlen($buff) >= 1 && - $buff[strlen($buff) - 1] == $conf['quote'] && - !$quote_escaped && !$first_quote) { - /* A line break after a closing quote, field and row - * end here. This is NOT the closing quote if we - * either process an escaped (double) quote, or if the - * quote before the line break was the opening - * quote. */ - $in_quote = false; - } else { - /* Only increment the line number. Line breaks inside - * quoted fields are part of the field content. */ - self::_line(self::_line() + 1); - } - $quote_escaped = false; - $first_quote = true; - } - } - - if (!$in_quote && - ($c == $conf['sep'] || $c == "\n")) { - /* End of line or end of field. */ - if ($c == $conf['sep'] && - (count($ret) + 1) == $conf['fields']) { - /* More fields than expected. Forward the line pointer to - * the EOL and drop the remainder. */ - while ($c !== false && $c != "\n") { - $c = fgetc($fp); - } - self::warning(sprintf('More fields found in line %d than the expected %d.', self::_line(), $conf['fields'])); - } - - if ($c == "\n" && - $i != $conf['fields']) { - /* Less fields than expected. */ - if ($i == 0) { - /* Skip empty lines. */ - return $ret; - } - self::warning(sprintf('Wrong number of fields in line %d. Expected %d, found %d.', self::_line(), $conf['fields'], $i)); - - $ret[] = self::unquote($buff, $conf['quote']); - return array_merge($ret, array_fill(0, $conf['fields'] - $i, '')); - } - - /* Remove surrounding quotes from quoted fields. */ - $ret[] = ($buff == '"') - ? '' - : self::unquote($buff, $conf['quote']); - if (count($ret) == $conf['fields']) { - return $ret; - } - - $buff = ''; - ++$i; - continue; - } - $buff .= $c; - } - - return $ret; - } - - /** - * Writes a hash into a CSV file. - * - * @param string $file The name of the CSV file. - * @param array $fields The CSV data. - * @param array $conf The configuration for the CSV file. - * - * @throws Horde_File_Csv_Exception - */ - static public function write($file, $fields, &$conf) - { - $fp = self::getPointer($file, $conf, self::MODE_WRITE); - - if (count($fields) != $conf['fields']) { - throw new Horde_File_Csv_Exception(sprintf('Wrong number of fields. Expected %d, found %d.', $conf['fields'], count($fields))); - } - - $write = ''; - for ($i = 0; $i < count($fields); ++$i) { - $write .= (!is_numeric($fields[$i]) && $conf['quote']) - ? $conf['quote'] . $fields[$i] . $conf['quote'] - : $fields[$i]; - $write .= ($i < (count($fields) - 1)) - ? $conf['sep'] - : $conf['crlf']; - } - - if (!fwrite($fp, $write)) { - throw new Horde_File_Csv_Exception(sprintf('Cannot write to file "%s"', $file)); - } - - fclose($fp); - } - - /** - * Removes surrounding quotes from a string and normalizes linebreaks. - * - * @param string $field The string to unquote. - * @param string $quote The quote character. - * @param string $crlf The linebreak character. - * - * @return string The unquoted data. - */ - static public function unquote($field, $quote, $crlf = null) - { - /* Skip empty fields (form: ;;) */ - if (!strlen($field)) { - return $field; - } - - if ($quote && $field[0] == $quote && - $field[strlen($field) - 1] == $quote) { - /* Normalize only for BC. */ - if ($crlf) { - $field = str_replace($crlf, "\n", $field); - } - return substr($field, 1, -1); - } - - return $field; - } - - /** - * Sets or gets the current line being parsed. - * - * @param integer $line If specified, the current line. - * - * @return integer The current line. - */ - static protected function _line($line = null) - { - static $current_line = 0; - - if (!is_null($line)) { - $current_line = $line; - } - - return $current_line; - } - - /** - * Adds a warning to or retrieves and resets the warning stack. - * - * @param string A warning string. If not specified, the existing - * warnings will be returned instead and the warning stack - * gets emptied. - * - * @return array If no parameter has been specified, the list of existing - * warnings. - */ - static public function warning($warning = null) - { - static $warnings = array(); - - if (is_null($warning)) { - $return = $warnings; - $warnings = array(); - return $return; - } - - $warnings[] = $warning; - } - - /** - * Returns or creates the file descriptor associated with a file. - * - * @param string $file The name of the file - * @param array $conf The configuration - * @param string $mode The open mode. self::MODE_READ or - * self::MODE_WRITE. - * - * @return resource The file resource. - * - * @throws Horde_File_Csv_Exception - */ - static public function getPointer($file, &$conf, $mode = self::MODE_READ) - { - static $resources = array(); - static $config = array(); - - if (isset($resources[$file])) { - $conf = $config[$file]; - return $resources[$file]; - } - - if (!is_array($conf)) { - throw new Horde_File_Csv_Exception('Invalid configuration.'); - } - - if (!isset($conf['fields']) || !is_numeric($conf['fields'])) { - throw new Horde_File_Csv_Exception('The number of fields must be numeric.'); - } - - if (isset($conf['sep'])) { - if (strlen($conf['sep']) != 1) { - throw new Horde_File_Csv_Exception('The separator must be one single character.'); - } - } elseif ($conf['fields'] > 1) { - throw new Horde_File_Csv_Exception('No separator specified.'); - } - - if (!empty($conf['quote'])) { - if (strlen($conf['quote']) != 1) { - throw new Horde_File_Csv_Exception('The quote character must be one single character.'); - } - } else { - $conf['quote'] = ''; - } - - if (!isset($conf['crlf'])) { - $conf['crlf'] = "\n"; - } - - $config[$file] = $conf; - - $fp = @fopen($file, $mode); - if (!is_resource($fp)) { - throw new Horde_File_Csv_Exception(sprintf('Cannot open file "%s".', $file)); - } - $resources[$file] = $fp; - self::_line(0); - - if (($mode == self::MODE_READ) && !empty($conf['header'])) { - self::read($file, $conf); - } - - return $fp; - } - -} diff --git a/framework/File_Csv/lib/Horde/File/Csv/Exception.php b/framework/File_Csv/lib/Horde/File/Csv/Exception.php deleted file mode 100644 index ed5bb5be1..000000000 --- a/framework/File_Csv/lib/Horde/File/Csv/Exception.php +++ /dev/null @@ -1,20 +0,0 @@ - - * @category Horde - * @package Horde_File_Csv - */ -class Horde_File_Csv_Exception extends Horde_Exception -{ -} diff --git a/framework/File_Csv/lib/Horde/File/Csv/Translation.php b/framework/File_Csv/lib/Horde/File/Csv/Translation.php deleted file mode 100644 index f62abe10e..000000000 --- a/framework/File_Csv/lib/Horde/File/Csv/Translation.php +++ /dev/null @@ -1,50 +0,0 @@ - - * @package File_Csv - */ -class Horde_File_Csv_Translation extends Horde_Translation -{ - /** - * Returns the translation of a message. - * - * @var string $message The string to translate. - * - * @return string The string translation, or the original string if no - * translation exists. - */ - static public function t($message) - { - self::$_domain = 'Horde_File_Csv'; - self::$_directory = '@data_dir@' == '@'.'data_dir'.'@' ? '../../../../locale' : '@data_dir@/File_Csv/locale'; - return parent::t($message); - } - - /** - * Returns the plural translation of a message. - * - * @param string $singular The singular version to translate. - * @param string $plural The plural version to translate. - * @param integer $number The number that determines singular vs. plural. - * - * @return string The string translation, or the original string if no - * translation exists. - */ - static public function ngettext($singular, $plural, $number) - { - self::$_domain = 'Horde_File_Csv'; - self::$_directory = '@data_dir@' == '@'.'data_dir'.'@' ? '../../../../locale' : '@data_dir@/File_Csv/locale'; - return parent::ngettext($singular, $plural, $number); - } -} diff --git a/framework/File_Csv/locale/Horde_File_Csv.pot b/framework/File_Csv/locale/Horde_File_Csv.pot deleted file mode 100644 index cb74dd891..000000000 --- a/framework/File_Csv/locale/Horde_File_Csv.pot +++ /dev/null @@ -1,27 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Horde Project -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" diff --git a/framework/File_Csv/locale/ar/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/ar/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 951c6148f47b28a3ce30bcfda20152435ff820d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383 zcmaKnF;BxV5QU3i%E-*%fekJ=VIUYG0VNfcT2WPjwKB=!8l`q+Un2TL_?&;q1_wmu!h;_i6FsIBRbIuGZn39**{0^R9ErS2Rnqb<%D~4#jQ{u^o23Hf? z;%XfGWQkiJ2?&;q1_wmu!h;_i6FsIBRbIuGZn39**{0^R9ErS2Rnqb<%D~4#jQ{u^o23Hf? z;%XfGWQkiJ2?&;q1_wmu!h;_i6FsIBRbIuGZn39**{0^R9ErS2Rnqb<%D~4#jQ{u^o23Hf? z;%XfGWQkiJ2^rA+pVay3spD3v3TRztdU~}+gY{m0T01} zr|6wW;92}L2$!N=TPf^@Ri-U>JdTt^sTo%~}?`%tU z=vM5>t^ZW->I$0e@*n(`O_j&qeS(fSQsO=Ppq;JgweyNk54GXbY1rl`+&dq|BD7kG zS3?^_?J82deQ9)vq1dGK!ud8oep`#FXBiY9kQ58VqQk?Z<499nZsI&5FCH)x$SI)#_U3Owpbg-0DX zZyjQ3tY-sPNWq?0g<~U=g24GxC7pNSw4sN_7OmmIh;=M-PcrNU_n1Nw#Sv@P4n%R9 zJh&GnQA9*`h;!Mr`!BE0oo6GVsL@gz(du(uRJ=eoLOx4D z#%=x2bc6jtcYVk>j9ML|J!dWZrEd*YWw~NKV`nY}U9Lix?d-wDHrvu!7T<*@5J3uC`f--P<|gPz*>01JDVglG zf>#{Qzt&4}QZ+X{UMK^aEBt`kz`Q=o5lW-#v!9>v1T>!i0Ml&i<(%vKdp=#ggwAv^ crihsI&tEOLDjveYWof-6@eQ%P?$o@BKQ&_H5dZ)H diff --git a/framework/File_Csv/locale/cs/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/cs/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 7b30673b8..000000000 --- a/framework/File_Csv/locale/cs/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Czech translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "Na řádku %d bylo nalezeno více políček než očekávaných %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Chybný počet políček na řádku %d. Očekáváno %d, nalezeno %d." diff --git a/framework/File_Csv/locale/da/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/da/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 21549c8ae4b4a145c1f8d3528cd0eb3488fd201a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 687 zcmaJ;O>fgc5H(*HA31Xv4oDzaV;c~`QN%}@sFe~CRR)e_n;km~n^|jj9ku_X{agG5 zeoJSQRz4uH^7D8{@4Xr8{eArKI^pwx@r3b~@rbct#PgF;G9=>z8SR75Hj$oL*QTqlwU|1Tfo;T*3|K*#7rBVf8_0{QeE%{p^PGv|6n8p~`!8=H zeGs*i2Y0M?GNa%QsN*9vaUbZM|l-mk)F`|FATb?Xu!%r4jo=zB{s@8ZozS>nosc zfAy1c42RFjbAqQ6C|-=yWNt9VizaYX4X29%bc|Q;^F@w3wi@epyc(+5%@Vf$jV^$s UAkCe6kY&JxfzJU;Qem&W0T8dr0RR91 diff --git a/framework/File_Csv/locale/da/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/da/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index b2872f8fe..000000000 --- a/framework/File_Csv/locale/da/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Danish translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "Flere felter fundet i linie %d end det forventede %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Forkert antal felter i linie %d. Forventede %d, fandt %d." diff --git a/framework/File_Csv/locale/de/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/de/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 4fe90cdb439b0b4c6dfea37b0e146d1c7c6e5c23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 696 zcmaJfjN5Dj0K9656s4oD#CkOZVIS*>VUHlor-tf~bhF2#)}iII04+0M4*cfjA` zC-7UCbg34Egq7!sM{nLt^8EAu-R}{vJB$a67mRz1C1YHl8975TUNXKh`dd--gX1CN z)$J%c;&{Q4)7Ls2B0la`WgSAJ(I^j%9Y}#DFq#k^DF~e;-VpGz$2y?mWDVgKSZ(QEm#**@XU?t~#j}`;W|$ zG@e@uNZjG7=TQS*hG)Hznx;^9(s>NC_v=zj_PlYD2Ax$ev8&sKU-c$>y?C?9V6U-#i*CjR&RKS9c*@K%Q&Nw%G6m gKuV&L2{rqEOkZVZfN#N0g#J`X#+n<2gTDoS0UzYc=l}o! diff --git a/framework/File_Csv/locale/de/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/de/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 4f258e00f..000000000 --- a/framework/File_Csv/locale/de/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# German translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "Mehr Felder in Zeile %d als die erwarteten %d gefunden." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Falsche Anzahl an Feldern in Zeile %d. %d erwartet, %d gefunden." diff --git a/framework/File_Csv/locale/el/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/el/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 686556476b73026301bcbe31e9ea638f965b8ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmaKn!Ab)$6h$k#nx$(O5nL$xYGzzGrVOaHMWMw~Mz7T+k? zh2SNJB;@k$&FB8!M~}2a91usuE^$V5%87;^uW0W)znXdXhE;@z8lKSy?W|z;&eymY zYlDknSSNFAoR2UKO4o4PssN=Etj6`V(IJNZva|P{SIO+LgrP?nX$;)Sh=OH2<7@-uM&|{)X`@@w{7M?LVG1pJim8){w5pW~p+vb7 zOsBd1({B1O9c@3E_IWaNHln43O+!^9zQ^;%NNoqKT1p=<7Ek3E@~y9H@`@ftwsN($ mO0fJz$7E(&FAa>HUj@Nz^L-6PHef%;;@Gmof~6;er1u5P=6i1d diff --git a/framework/File_Csv/locale/el/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/el/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 10f2a79a9..000000000 --- a/framework/File_Csv/locale/el/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Greek translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" diff --git a/framework/File_Csv/locale/en/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/en/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index ebf492e3089c8f524d070c76ba252da759dbf2f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 684 zcmchU!EVz)5Qbe^E6h{#)Ar+AlHEN^wShm@TvuHDG&90;NJ=)je z5qOr4o1z>l_1KZW9q;I$f5!5^S9`aK#IEpK_#(U%#zGgrg;LPMH{nKTc9P_;aNe%?OYH%LWNHI&!*;5VFt}cyUr>5KjNcCMx7xC>#2fYo(*0cS%(*cuue~~@f_78)YhmUZ5`Ci zS72~`;B1H?TXyoybDd6)XKKKxqu8jQI${N7UgWBKK0{tq<<}2+ndc%@C%CrVxF>aE z9ip1Crr>n+T)|-*{Yw1j+PQ0}k&tDKNynP%R@bOzs8Y7Q9tho^(lXshcsSs<$+&AqWySFnF+V>)#$Yp0GpuR;aX Z++Rb#?7`->|Bm2IABy+AG9g=`VNmcRFZN*A0R7-*5;>Od|$g#uNskUcc0Um${ z;03t$&Li+FOj=fzKw{+2V~=LOZ>;gJqnlqNwi}Gwj7N-Hj0vN&4~(248BZ8r7|pdP z`pJICczQjG#_T_{=kSh)UBuVDO&uXDH5%n%=~}BmTQJ%p94iPbX?a7y%LdDUii1h? zo}8_~w)FxD-14gWP?x~ykbm-rwyT_x`^Y@vOo?|$UOQXBOGgSX#@gV;(68fjY#aqK z^_5oQMO%3>cLgY1KQr0~pRBs{#8DN`UeCplPzI(Er!rsxd77o7TMr@4iv02YG*44b z6z90so!o!(CejBnCuzNr!BGLv+u&;EFQqXXsL&#@jEX1HR;{d1%u&__=&Wb|>27*9 z9UUH-C22f#HlSsNO~b7QybKQ-Bem^Axsv2D4BpPiqIbyaI$0u#ku9Clwkn{v&>^0g zmZTA5N3}1&HoL1IqifMMI1-WW9BvUkeM@m{9tkhnRm=jrnwhISDXjT z`}gyURhJXv2~J8XG+uQ#CP$E8tZ~s_)1Cf zsja*yZ2^+H4_f))lWi|gtgGVXmr_g|VPG5a83PrNr&%ic=M|(`k-vSB=4r}8v7%1( z?f$EqqYt8VXuQT?T>&54U~BeYqt=&Dks-%zWIRVxwOElT3F`t>HZ=cCw>Vi$4?meD zX*{tekl_xO4UZb=BD`!gDl>xh7M-Us{#wq&@Sy7_*^m=cv$j&1s(|5{3h`364z-wB zSNj4?vp@QAK7yOi@iPNY#*jT9#nFn;_lwk|f&yo^JF21k^IM;{uxk|%?;Qhn`@P3{EBIiXmF&s+7S@lZ zgLNLpXa&9V$g7}D%kKvrcVZ7^1zz}aHd+fZ9md`cMJt(9z{6Qf|mWo91X)c*a zWO{WbQX$C5S1_6>?qAu;3}CjTXx4L22MMsI6os z$?TtYRaq7LPbRU5a%T}NCG2{titvdSeW#4QVa-PQ0C+op$;)!@o0`0X=Y?%tYpj+m Jdovi#egMl%ZGZp( diff --git a/framework/File_Csv/locale/eu/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/eu/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 06a990e6d..000000000 --- a/framework/File_Csv/locale/eu/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,16 +0,0 @@ -# Basque translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ASCII\n" -"Content-Transfer-Encoding: 8bit\n" diff --git a/framework/File_Csv/locale/fa/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/fa/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 951c6148f47b28a3ce30bcfda20152435ff820d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383 zcmaKnF;BxV5QU3i%E-*%fekJ=VIUYG0VNfcT2WPjwKB=!8l`q+Un2TL_?&;q1_wmu!h;_i6FsIBRbIuGZn39**{0^R9ErS2Rnqb<%D~4#jQ{u^o23Hf? z;%XfGWQkiJ2qt;cRrjV-tJ@KJiXuD~LX|_MswAR4SsH*M8!VPyrnlEn} ro}E*Ukf_;>_;S11ZaiNxalg1D`_|IzEEBlci!|$x)bU-3cGkZEis{z~ diff --git a/framework/File_Csv/locale/fi/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/fi/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 1b1961c8d..000000000 --- a/framework/File_Csv/locale/fi/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Finnish translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "Riviltä %d löytyi enemmän kenttiä kuin odotettu %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Väärä määrä kenttiä rivillä %d. Odotettiin %d, löytyi %d." diff --git a/framework/File_Csv/locale/fr/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/fr/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 9022f5a02d8168fb97d0ebfbe4ec210a882a7fb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 706 zcmaJfgc5M915K62(T7o=8nUE3fL9HpY9iKvu7R2evyO?KieTJKuB>!>~OFX)|X ze@E{81bz#%NvlX8G4k_xS8v`tYv%XU$2W}P5#br(72yeCLWuE|P!I&+4dDmDK49z@ z<&%hqjGa;bPMNN^I+Pe4cQLgNVX06{4@=t_3Ce(02I0Acuo8w|2zb@vBA}$plznm5 z)L^=1jt=bdzItDm!f4Mwx|5BSGiSe%4nLRtGdi!VDdD|!5--O}vf zu2pRJU*1Icz$+(=*CJR~!f6+5L;4G$^)=LJ&`}$iOoXXBQ6sNVG$p9KXZ~?FJ)e&D zKbfalGPEY3p$^wASq*pBC|roX0TuRE>FW&x=l$==jJitW>5hp*L3{nd#06 z&BxX?z68^5kA6_}VfQ&WFmM9-VLxHRm1tTIzH3{(xoxPsP!2r=XS?<0*2Cr}XhGwy uck@0Ffh@|-)0_`e_Q5uD+75})VH8s2#5tPaUxjI0miyYH?dIHdNZB9l{L~Ks diff --git a/framework/File_Csv/locale/fr/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/fr/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 0b596ce6a..000000000 --- a/framework/File_Csv/locale/fr/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# French translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "Champs supplémentaires trouvés à la ligne %d (attendus %d)." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Nombre de champs incorrect à la ligne %d. %d attendus, %d trouvés." diff --git a/framework/File_Csv/locale/gl/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/gl/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 951c6148f47b28a3ce30bcfda20152435ff820d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383 zcmaKnF;BxV5QU3i%E-*%fekJ=VIUYG0VNfcT2WPjwKB=!8l`q+Un2TL_?&;q1_wmu!h;_i6FsIBRbIuGZn39**{0^R9ErS2Rnqb<%D~4#jQ{u^o23Hf? z;%XfGWQkiJ27T+k? zh2SNJB;@k$&FB8!M~}2a91usuE^$V5%87;^uW0W)znXdXhE;@z8lKSy?W|z;&eymY zYlDknSSNFAoR2UKO4o4PssN=Etj6`V(IJNZva|P{SIO+LgrP?nX$;)Sh=OH2<7@-uM&|{)X`@@w{7M?LVG1pJim8){w5pW~p+vb7 zOsBd1({B1O9c@3E_IWaNHln43O+!^9zQ^;%NNoqKT1p=<7Ek3E@~y9H@`@ftwsN($ mO0fJz$7E(&FAa>HUj@Nz^L-6PHef%;;@Gmof~6;er1u5P=6i1d diff --git a/framework/File_Csv/locale/he/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/he/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index c08caa03c..000000000 --- a/framework/File_Csv/locale/he/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Hebrew translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" diff --git a/framework/File_Csv/locale/hr/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/hr/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 491979c81f8fa1515aeacb014fe649b10446d3da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 749 zcmaJ<&2AGh5MKT+d+eFRaA-wEym+@2giRL;ArTdc8dWJAixW>aE*pDgdsnU07vR7F z2_Ar#;J~?Dc?6z?*`!epNR0OL%-G*IGb{Vg*4=Lb*&V`t!am_1VL)i?10f*@!ZX5G z!p~bl@SA*#@ac9CJR$#sJZ&%QkP9eX+0a;onZiOkn3+mTP#OxQ5w<1xxzMyA;6;g3 zkCHZ{;Jr0E2VE^DXu-_Z>Wwaf-iF`0DcdMV)|^uvb|l$5v`!hF!W&~Hp7m9MXI)o^ zCs-Qm+0f-mvR75^*w~~Xu|6!6^Dde<^vKve9378Y*P`%LhP@UZQ%HEsS@Z1ykJIGo zBc5>BM+Q-{lvM)i2%AD4wtx&za>unv88I_|UfhSy9oL(6)4YNXP6 z3hjyV;i#yrC|KXvg-bz~%hY9i9ax3gL%kjIEQ?`h2bz#S$l@4Y00*K|{ya<8M+ez{ z6D}3}Am(s&wUQ8r?~*1aO|shwgHy05tL9Otg@9W9`i@YV;#`1{V6H#oM^y{0=F1oI e)~Z^;gl_wWQ?1nz9Iv^Cs4dXq`U~nNj)K2d9M(qw diff --git a/framework/File_Csv/locale/hr/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/hr/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 4f17deca2..000000000 --- a/framework/File_Csv/locale/hr/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,28 +0,0 @@ -# Croatian translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" -"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "U redu %d ima viÅ¡e polja od očekivanih %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Krivi broj polja u redu %d. Očekivano %d, nađeno %d." diff --git a/framework/File_Csv/locale/hu/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/hu/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 5d391997ab6c44606e6174414bd5e0036dc72e08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 692 zcmaKp&yLeD5XQs5OOBj53pkj*C-IQiEehwiE5{TOh#$ z^d)$KiYt%6voL8v6+&W^UnXOH-*}?=dH?R$fZ`7EfOt;aBj!XOABdFT#7p7}(cB7x zAC!-XSGR-Ul(L~r$Gbk10xI{hFczVdsDy*kv|51Fprl54B*3q^rWXQUHMsI9=r9W2 zTcaz`ZC#)RQ~q%ud=X3!`oZtEy>n^JN9x1Q1iL`%q|q6?F;?K^Oe(ybxGp@$##ql5 zu9AYiZY#%flYzkQSV`wywC?4Ru~oQyo3n{U?x_tsNv} zJI7A;*Zo&F=gza-a_toN#%6HRdQ(&X6<6vSD%5D{8WGO9u3BCp%aPX^$YiMhnQn2m zm>zyIiQ;f#v`0-hTsJhT$18u-C@%E~R%>n@`tiGb#)b!7KS_y}P4&tMsjCczh4kT4 zwU#S3Gq!da=w?^CaXNzi=lHRPhhs>djKbigUl=%Ji++*YZ$$w$-hBTIol$-OwbULs tblZ*fyVd@s*I1LfDp8>#3*TEmfxFpmY97HwZ_CIx0MFHSqjp6U`~rND&LjW; diff --git a/framework/File_Csv/locale/hu/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/hu/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index aedf160d6..000000000 --- a/framework/File_Csv/locale/hu/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Hungarian translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "A %d. sorban több mező volt, mint a várt %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "A %d. sorban nem megfelelő a mezők száma. Várt: %d, talált: %d." diff --git a/framework/File_Csv/locale/id/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/id/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index bdfbb14faf2daa88db387143953bd531c823c714..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383 zcmaKnF;BxV5QU3i%E-*%fejp-Fc6H8C?SYQji^e*TAAc3{EBIiXmF&s+7S@lZ zgLNLpXa&9V$g7}D%kKvrcVZ7^1zz}aHd+fZ9md`cMJt(9z{6Qf|mWo91X)c*a zWO{WbQX$C5S1_6>?qAu;3}CjTXx4L22MMsI6os z$?TtYRaq7LPbRU5a%T}NCG2{titvdSeW#4QVa-PQ0C+op$;)!@o0`0X=Y?%tYpj+m Jdovi#egMl%ZGZp( diff --git a/framework/File_Csv/locale/id/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/id/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 2d043c965..000000000 --- a/framework/File_Csv/locale/id/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,26 +0,0 @@ -# Indonesian translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ASCII\n" -"Content-Transfer-Encoding: 8bit\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" diff --git a/framework/File_Csv/locale/is/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/is/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 951c6148f47b28a3ce30bcfda20152435ff820d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383 zcmaKnF;BxV5QU3i%E-*%fekJ=VIUYG0VNfcT2WPjwKB=!8l`q+Un2TL_?&;q1_wmu!h;_i6FsIBRbIuGZn39**{0^R9ErS2Rnqb<%D~4#jQ{u^o23Hf? z;%XfGWQkiJ2&lB!~%+rmmMRI38V#T!pkBgYP7r`o>9@-Upa z^9Vc(<91OGNR0Bu9{Zbb#xuVk-v6Gk-D5mrJZC&$%ox$WF!~J1c*(e7w0Dx^*RB8R zZj!v^{gzig-s$j?u)DXpBZQSkqdcr!XBB7*Mq7lQg0PmBe+YQpVii#FVU~O*XKS!s zbA<$M^*8zum%-$~Ke?5SkqdHPSx1~J@d?RmXG?hJNa5vF8@wF*O?rW?qafzK)=IqT zYA=?q1cjSZqkZt%I?^*ob-MVl6k|deSVo-5fF<x~SKN_gD`*RXyijoCtt7KziSbS7=x$r{BHWmAGK2KJxo=I8Ut;gLm_ zr(hYt^WA~D%rFel!k8|8l%Bth2Bfj waMV-BS@OPXkR2xMnU!Nc_a!ookwCiMsUmStT(+RtVZQCD6A0uskr_w+2k}YJjsO4v diff --git a/framework/File_Csv/locale/it/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/it/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index e9c797ca8..000000000 --- a/framework/File_Csv/locale/it/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,28 +0,0 @@ -# Italian translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "La linea %d contiene più campi di quelli necessari (%d)." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" -"Numeri di campi compilati nella riga %d errato.Previsti %d, trovati %d." diff --git a/framework/File_Csv/locale/ja/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/ja/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 4c12f21dc30090132e919c773aaf934c782cf2a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 715 zcmaKp&x_MQ6vyMQOOBpB%*B&VO{!o`DXex|TxhW_Rgddz^O}yNGi7E{wzo}XS&@PV zt)d=Q5%C~a!HX#PC-^6LnOg0C;Y;gMLGY1pUgpjBecpume)9O(!8nFGg}Q(`fvTah zxQ)uA80r%05sDvioNt)dP=%w8a~<;lGnN+|Ob#xWQI`rxn?oFG(w2z`2^S>h0?6r* zm<|*80s=cdXc-8xm~(C^DIy}0?lveQ+lSq&z8tBn{Ad4Qv(AQ+caTFjLV6RF=28UY zs#GCtRe20sW!-l-p(mB0bsh1LUP&TNn=&9F^w(mpjm~v4drqpzZCq>8vI1rhL)V#s zfaE>jquFzwcz%$-c*e_n9vbN;^m#V!zrGsNhBg%wI%Y>|I#;&?zJ5TI~O z=+>Bs5*7h%0_z5Z`vvjO>FOKx%IYWmoadIMFd%Tkpod2_uw%~kV#Y<0v^q>_Fr^#K zDlM#h*-6@w@n!UpcQXkm#JyPv%Ivef(m^`y+9wPAo2OMq?&;q1_wmu!h;_i6FsIBRbIuGZn39**{0^R9ErS2Rnqb<%D~4#jQ{u^o23Hf? z;%XfGWQkiJ2UBg|g0+dd$8oL{#Lkz=BZy!3ZlI3FwV~;Y@7`T@a1i2s{hpgenIlM*ciIyWe~>UeE8_H@^gAHwbqK4+*yjJwk0C2nj(D9uqzj zzF!N1U*sEvkJp3XHTfUpX?vqXE}(F0eQglN605?(SbJ4~R8UEUuvdVa2t_XhJfGvp zVL_Ww@ZM-ug7UK=8qnjb>|I_2ogM%1uWX$;F#3#i*m1$$p|Mh{6kcgl;AvM@c-pp$ z@C4`DIM%nNEZ7TQT9)e+3S2y^q;)o$)bvQ3G90|gS=*p+B*R_`hbbgH=B$1iz~eM| zbe|`j6Oo=2 && (n%" -"100<10 || n%100>=20) ? 1 : 2);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "Eilutėje %d rasta daugiau laukų nei tikėtasi %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" -"%d eilutė sudaryta iÅ¡ neteisingo laukų skaičiaus. Turi bÅ«ti %d, o yra %d." diff --git a/framework/File_Csv/locale/lv/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/lv/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 95975537498d04beae63c14151f2ae427b3e4e3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 461 zcmaJ+!Ab)$6jb!IN6#K!L5rfP$@bv7WvNb1n(=QgrUmLyy3cZk2|xA<1U z9t4LBnMZ~+4cE?>fuI-Z8caW)CSFSd^aDusi87hL8)+ zn$ra?;_&i}hn$m<&2g=oxPN^U={!rV)UK4?*cfhVZ&tKFlV!Pq0ySES$%Bd1MJ)?t zDaut0N<{ikyXkm3+?&;q1_wmu!h;_i6FsIBRbIuGZn39**{0^R9ErS2Rnqb<%D~4#jQ{u^o23Hf? z;%XfGWQkiJ27T+k? zh2SNJB;@k$&FB8!M~}2a91usuE^$V5%87;^uW0W)znXdXhE;@z8lKSy?W|z;&eymY zYlDknSSNFAoR2UKO4o4PssN=Etj6`V(IJNZva|P{SIO+LgrP?nX$;)Sh=OH2<7@-uM&|{)X`@@w{7M?LVG1pJim8){w5pW~p+vb7 zOsBd1({B1O9c@3E_IWaNHln43O+!^9zQ^;%NNoqKT1p=<7Ek3E@~y9H@`@ftwsN($ mO0fJz$7E(&FAa>HUj@Nz^L-6PHef%;;@Gmof~6;er1u5P=6i1d diff --git a/framework/File_Csv/locale/nb/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/nb/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 4e6543f2c..000000000 --- a/framework/File_Csv/locale/nb/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Norwegian Bokmal translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" diff --git a/framework/File_Csv/locale/nl/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/nl/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 52e3760941174dc9015771bd595b9ddf2ee5fc6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmaKnK}*9h7=|Z$>d~`@2p$y8OzXj#QE=7`3mcYMypGs@W|1r@NjlsQ@$dOt{Hov% zf-iYULSDZ2&FA64#{jj593dyjK5~KdN|6>HZ*cEDzbc)5gF4Wnq0ivFvWAlf>l#>2 zm4;>RH_-xG>jIs7sTz9MNlz=wNduc(t$gsqRc{|!C!_MQqPYVRa16Z{0XRum%xJ%^ z2#a}gea;fb&`1}sQGMLMzM1fWR!$hNMX-*OaTn|w=hs5(Es7T+k? zh2SNJB;@k$&FB8!M~}2a91usuE^$V5%87;^uW0W)znXdXhE;@z8lKSy?W|z;&eymY zYlDknSSNFAoR2UKO4o4PssN=Etj6`V(IJNZva|P{SIO+LgrP?nX$;)Sh=OH2<7@-uM&|{)X`@@w{7M?LVG1pJim8){w5pW~p+vb7 zOsBd1({B1O9c@3E_IWaNHln43O+!^9zQ^;%NNoqKT1p=<7Ek3E@~y9H@`@ftwsN($ mO0fJz$7E(&FAa>HUj@Nz^L-6PHef%;;@Gmof~6;er1u5P=6i1d diff --git a/framework/File_Csv/locale/nn/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/nn/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index d1381fac5..000000000 --- a/framework/File_Csv/locale/nn/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Norwegian Nynorsk translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" diff --git a/framework/File_Csv/locale/pl/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/pl/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 53bf142cc8d671c9efaa5dfb18f6a32752f66669..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 484 zcmaJ+O-}+b5Y^~ukDfjBpai1D?qcFvSicY=2}D9xucYpdOU=@fwo4@8Z}=ztQT`UE zn8?Azm%em5^JeDt>tO$52eFGhL>?jckf%tG82O3COT4}27h|K}Aait((`PVNYQ@Qe zHaSfDvV>{ZE`tdyv~hG~3z^fqs<1TGoaC^)DW!F`IrH+SHbpRgOljAEa5#qE3kRG; zEM(N57GWWeE>2j)7z*hGmeQ~LS2q;a(bNcKOX0NP8Bz}=D7?+h1CGBf7x16ZO=4q2woBV`HT_s6Kt_dSpJ`UMc5|LVM6Lykw aAJ%=EbwWng>rLKkSOa@P?1>ufVCNgE^oOtj diff --git a/framework/File_Csv/locale/pl/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/pl/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 4ee2672e1..000000000 --- a/framework/File_Csv/locale/pl/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,28 +0,0 @@ -# Polish translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" diff --git a/framework/File_Csv/locale/pt/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/pt/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 9add19c2a27b94b8e25c19601689df95a19ae6b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 709 zcmaJ<&5qMB5H^389QVv&I3R&ohcqBjQdRtPTT!WnY8BwPc;jhml-ObHRJ-Ce;AOaS z=Mi`o#@(%ogv2Oc#-4oN%-ECPN4LKVwp)z5jHiq{j0GdwCq~XtjOUDRjP8aIzu1o$ zFK!AkXaAKwhj)3{3Ep1W(h(U2ioQ3yrY|_cer#viw58iw>)RnuDqMNY2(^ z`}Q0O+>(LJb`Rbud6qFzp5oTT za{uKmln=5bWqqT9qXJ&_!L^*fQcZISHCiMtqmzZQb+2laC91XnGZ@-`x?9ed)59SL zX_ic!4QRQ-Wyh@syaU`e zj#^)U?RHx~&PQ;y96zvdZw!NnqeMih4WzX5&?@7hQfz2YFN67>e|RMuJ6FzrVjXd;#CvpJTPoqTbqY@x+TiKTZ_^X(tqY>^tybdY z(0WnZ5)^Kq8|{P7Hj$oL*QTqtwU{}Sfn~%i8L)&=UgRP^k0CG0(bI?dD9@QFPH?N^ zxc~B&(g#sHN#4j{T?sFSU^~`tq%jxJBBA3kDqTuy2ic;iQFbNhVod*RR~=XL{YMsA zp3W=NiclAPy_q@2t8l9L^W0j`1gz=dU>BeS#w>9!%1tlG;NfyWV<0R-xde;xox;@kU0EKMx2N=*RaCo!uE7 kIXk1@TopC9I)}ls57%;kNU+_$=U)?*57gmblcMXt0Si>q7XSbN diff --git a/framework/File_Csv/locale/pt_BR/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/pt_BR/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index f3d6ec72a..000000000 --- a/framework/File_Csv/locale/pt_BR/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Portuguese translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "Mais campos encontrados na linha %d que o número experado %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Número incorreto de campos na linha %d. Esperados %d, encontrados %d." diff --git a/framework/File_Csv/locale/ro/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/ro/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 2ac2769c7e0bacf4f5056284a1bee28e12492fd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmaKo!A=4(5Qa5++M{O=b5J7DViyi#aaBZ!BoGM_ucWf$Qd8PZ+a;3l8eV-gpT${8 z&5CnSa`^gZ+;kie1tn>4>yPIwO_QBz@B5CG92i8zX1ma28lUWzXomvPQsz zbtz7JO5?QSm(dt=>jE44Or`9u$UK`^0VytTwerE&<|SUUE{jHw6V`Dk1GQoIGN6Du zk2xz>19&Xz7pJ_=Ie~19OI6za%MGLtY~rNxS_bO`w2NRD)PE+mUO|Qi9oeMOK$@(O z8L|n=g#Z;d&7bLp{b6_e$hgL%jx_-dIjnLTHQ;+V&$U#h1+%$y9z)W8>h$|tuAJl* z9qXEzO_j+6G+$JRM!IlPvz~PeFTmtKrB50y*rbU`k{E7)gMbstIjq-|9LJo)HJw%} Suqm$Szp7OtV 0 && n%100 < " -"20)) ? 1 : 2;\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" diff --git a/framework/File_Csv/locale/ru/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/ru/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 0430c6818588c4de2c14b0c247c1eeb11113d24f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmaKn&rSj{5XLcj+M{O=W1>W&#da|f7uJ6WkwhXPt5;Ilaj98a(iS2Kui?x1Fg}a3 z5anRvq+dFd{=S*%*Y3_oiDHYiM>-&FlTJuQ)JdQ8ctLl;{6^oJHynA^P1!SAr;Lu^ z-q;j}9hKv-<>tWvr^b5LbD2un?JRRFF%hIVzs{BOt~xI8sKm@u zyb&7&LXJ4C?E9mnUy)~7&~zh=;^9-ajgOCG(OUYg2%Cdav6%0@5e&G6>uP& h>dQF%d1}UIMY?kErr@w#t}Vpy3V8&1!b&43eFINminag% diff --git a/framework/File_Csv/locale/ru/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/ru/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index f227fd1d2..000000000 --- a/framework/File_Csv/locale/ru/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,28 +0,0 @@ -# Russian translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" -"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "" diff --git a/framework/File_Csv/locale/sk/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/sk/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 04914ce6f775dba056d4c2f232a39251ad143738..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 733 zcmaJ;O>fgc5H(*HA31ZF3sn(aW4o0I4sL;vh)M~Ks!${@Wn)jAZ8p2s?%Ha81L_S9 z9DC%zPvDfE`3d|M#!bNoBu0K7&)YX|#@b)^?|$(p?hqaj_6YX~LqZcD2{C~ao)JD1 zKHc)XpOp6rA8vbIkMdW_L|^+*@~GUzNE?KiK$%;Z=}P4w6iA^E9_HZYT+s^w&r8f4 z=0pbGd!tnWs#;FbfSZu_b|)-R;6&Ia>F9%xheYwdKhogS`lTi@*J*^xnny@NqRfp&9Nh!HdUC8F#Saj*T$$)iQU9-sy4eP5+=Ry?; zbf&`jV_6w4*+846O+b~`rA>Fcu=z~4RhmYR-~d8MU|a2{F>GytdYx#y{t8r1soEJwBek^S44f^VWFV>ee-<&pA`4(+yh*B%kU0tBN Vk=Lzl07q@#H=48acSchM-f#De-vIys diff --git a/framework/File_Csv/locale/sk/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/sk/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index e162ddd6a..000000000 --- a/framework/File_Csv/locale/sk/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Slovak translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "V riadku %d bolo nájdených viac polí ako očakávaných %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Nesprávny počet polí v riadku %d. Očakávané %d, nájdené %d." diff --git a/framework/File_Csv/locale/sl/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/sl/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 9dc6c897c1d1cd74e2b347a121397ef829a2739e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 745 zcmaJ;&5qMB5DtHr9658COC=ENkffC;sVZ1XD^_ZuT9xIvc~@1a~)zj>-QZPuqJPauJ0Gn;DC+lBk4(m8rD=sX6lx~)rK-13k9%7)6hH5<}lCxV@!b<*ep-Wn_Ld?FQ|k6aUzUy z$WF15q1}IZQ|>%lSgxJo-q-?;Yj3uszvN0?L5UhIwGr`@>$2u0vIX*O0W$0Bf2NzA z%*O2@vm}j2MtjuM;i{rhJzn}}mEuwlV7cbjp&x!&Ojy6=g-KRu*;p@)kh(0Oe<6K5 zSGDDeO^n^T0(7+x-LN-+!*cjocd|4c4l{TODG=ol<`iaa*oEus+fsmcZP~ S-3|Y28XnX-;;5Al3V#4_p4o2z diff --git a/framework/File_Csv/locale/sl/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/sl/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 3ced84950..000000000 --- a/framework/File_Csv/locale/sl/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,28 +0,0 @@ -# Slovenian translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "V vrsti %d je najdenih več polj od predvidenih %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Napačno Å¡tevilo polj v %d vrsti. Pričakovanih %d, najdenih %d." diff --git a/framework/File_Csv/locale/sv/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/sv/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index a9364014a594e6fa1a37bbc275d773b350e04d92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 565 zcmaKp!H&~F3_t^dOOBj5m;(}sPDsjul2QpMjdrE2D60U+)ojN}2TeVZXHxBc1LysN z_qq_ zzUbkdn4^4QPc2Zty+j7zKx5IF0G7a6LU?R4SX_0uj%XwpLF0QGyewI<|0?I|)TqzM z!Fnp;#IwPR$~wH5hh2J(o#&{Qp|wW6>)W7eUxLBi8)rid*=9)3Jh$oUL#^hFI!YP! zUPmlpoENzo^abQaIez&pALqFws&m}gq1}J;&UA>XW=+BA=(&Wqee_$Yzt+xOLyLqg zZA^NmsqJ-(sz$vn!4?zxXS(I-a&i1*k>%;!Q$&&u*PVg4W(xYD<`0+L*3f&)TWV^EQ+~-60IK@f7~JvnK?PW>7qxrb&ekG)3*8 h+26Vd-TphUJ}d*O{SV&lZ{^kuOB=z)#=m}+{03w!rRo3x diff --git a/framework/File_Csv/locale/sv/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/sv/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 94094b49f..000000000 --- a/framework/File_Csv/locale/sv/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Swedish translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Fel antal fält pÃ¥ rad %d. Förväntade %d, hittade %d." diff --git a/framework/File_Csv/locale/tr/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/tr/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 68a94b83b739f955a667a38f26f9aa2c3f8aeadc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 702 zcmaJ<&5qMB5H^389658C3n$hgDM*x5mDugJVo@uqrND8S)|1rW+L7&4Tb=_Rr0>u( zkHE7qX%_W>#3*0pC*OQCk^TGe!=Hlf0pkhdCF2oe%4qEiqsKtTYsL?Tz9+;l_64JV zUx;_?1A8tXb=V0`JDWLAP--$NKRHyyGA7Dv+Uj=P ze|b|3Q7$~%U@$sgzn; oeJioXh~}{8+U~ID99g+*XJV(XcYG+#S$kuSUzd&Hi`1mz5B?3*od5s; diff --git a/framework/File_Csv/locale/tr/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/tr/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 1bffca297..000000000 --- a/framework/File_Csv/locale/tr/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,27 +0,0 @@ -# Turkish translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "Alanda beklenenden fazla satır var. Satır:%d Beklenen:%d" - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "%d satırında hatalı sayıda alan var. %d bekleniyordu, %d alan bulundu." diff --git a/framework/File_Csv/locale/uk/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/uk/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 76c2e97ff57bbafdef3005748f50bd66ce1352b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 857 zcmaJ<%T5$Q6m4IdS-N&{T|gvKWA#8HHngvii6l%UWYnElOxH9`da5SXH3SkChzm6# zaih30{(=zk0RjHNRR4f$Kf}|FWD-rN)aiR~)w$=~PU_d?i|;+G3&0g%9JmC`0>yd` z)Bpk80^R}p=REHx;xpjQdC%)1{zk-cse|C5JXuX`By|#*Mj3To*J!UQvL3tG^9JH-Gja=O%M2^e`Sl#Iir`M!)7A(M4BwoDxinj zL~@~#q;jF2tyJb^PaDgcS)4@dem~AwO9vFmmAh$@*{r%$(5u?SmAOYPRyR^u$gl^( z%7ALz=d9Rc#QmUl^E$6_4kDYED@kE@CT~_`mbHvfSt_hH0p06c-GzQzr0E*PQb_}w zs4^>5+!wKAEh)MICH{o^Z@T78b9(TTewA11T3M;!u-3zlG;ncWYUI@ zTMafb;1!c}q+!#lt)oQ60Zl9>wlbIYjYwHTn{F16>Xl^{j!n`@8eUUFJ`Y2mhKH$0 z`PI<(=?-xM9rf+7c6v1xju&a!!KZvq>+2^i;P4Uj_~@yPOjbPi!5zBK?uYy0_K+Qs z+sU`xLB5s0c6;QG-4Tjyw@cXhM*bGO{rn}~%P6@+Tzn;Wl)plPQ@0DH1Jp0_En?-H wavvdkoNwS_*L^Q^3p)b4G$|t3o8X^eRVDWcs+;iNc01*irT@2oMlYV?A5W$@I{*Lx diff --git a/framework/File_Csv/locale/uk/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/uk/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index c9f0ea420..000000000 --- a/framework/File_Csv/locale/uk/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,28 +0,0 @@ -# Ukrainian translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" -"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "Знайдено більше полів в рядку %d, ніж очікувалось - %d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "Неправильна кількість полів в рядку %d. Потрібно %d, знайдено %d." diff --git a/framework/File_Csv/locale/zh_CN/LC_MESSAGES/Horde_File_Csv.mo b/framework/File_Csv/locale/zh_CN/LC_MESSAGES/Horde_File_Csv.mo deleted file mode 100644 index 08ff515ca0df800e40d821f2b0157c0860c898d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 640 zcmaKp&ui2`6vxM3mmI~Thj-~oC(W*cYl@(5w^-Q4QlcK~bmwh$Bs;UrOqTXmqz47@ z)FRdeQ9O8PZ7+gI@lWti@M4p;C;tUsw7LhuM?QJU%lCcX3-j&#*-b`qhPX&vCC(9T zqKbz^oe;!zVuNU%V(csBY2w0Z#%3tbQl|1RA4-f~e@Dkygr34oI_Q~POHdjzr4gni z_`c9|L%@|Gc0EcehU|egIt85%meGRg{pp_ch0vPlFQ3>}oeS1HA|F04`F*rb86CqN zV)7>&Qr$|6NALj%}hD(!hR(WjZK4vy9sYv6rODOtne5^ zJ*q{#x~@P}i|f}eMfE5mAz#Fis>c0S*A~w6#0u>);f;;qR_@J!{JSE{Rv|@=md41S zEp(cT6nTPT5QC~U^gr8m<~yy)Pu9XHXd3NN(}dL_t?F^bPY*Mp^bB`) zG0|0<^w9E_?i#6d8bf1Q`G6JU_lMit)%hH~c~(CCQasr!-fbOxet!IRy&S);J{)eX y7dtP?4#QiB#f z*oy}I1)>r~deBnPKfyo2Q+E^p3*Q(esL;oL_A!s|`@T23-;W;N@-Pk|$C1;>5u}c| zxQUbzhMYwnBeesb_YJeFA3NxIOPH@<#_}&8OdcL5(NG#lOF+sEX{k(dA|y$L1Tw>k zZ8M24Ah6nnrUj10z`LQ9Oo+@nE1-#L{pp_e1*A6B&;GV`oeNssLLWNM>2=UXC>fEf zN^@AA6DcfLP0wG1uF{q^Od>eFlqH77Dk2T_Xud&^U(s zbtaRHB|u|fors81MgF&4W4=+FUa}N~epN{e5+|&6aa9Ye_GC9@LY^bdHq!>|`K5S{ zR;D_)NeeWs$)@5$CK0Ku2y#QE*}6W7`N M;k(J8zsiC46KFc>NB{r; diff --git a/framework/File_Csv/locale/zh_TW/LC_MESSAGES/Horde_File_Csv.po b/framework/File_Csv/locale/zh_TW/LC_MESSAGES/Horde_File_Csv.po deleted file mode 100644 index 7d04162b9..000000000 --- a/framework/File_Csv/locale/zh_TW/LC_MESSAGES/Horde_File_Csv.po +++ /dev/null @@ -1,26 +0,0 @@ -# Chinese translations for Horde_File_Csv module. -# Copyright (C) 2010 Horde Project -# This file is distributed under the same license as the Horde_File_Csv module. -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: Horde_File_Csv\n" -"Report-Msgid-Bugs-To: dev@lists.horde.org\n" -"POT-Creation-Date: 2010-10-13 01:27+0200\n" -"PO-Revision-Date: 2010-10-13 01:27+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: i18n@lists.horde.org\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: lib/Horde/File/Csv.php:202 -#, php-format -msgid "More fields found in line %d than the expected %d." -msgstr "在第%d行找到的欄位數目已超出預期%d." - -#: lib/Horde/File/Csv.php:199 -#, php-format -msgid "Wrong number of fields in line %d. Expected %d, found %d." -msgstr "第 %d 行的欄位數目不正確. 應該要有 %d 個欄位,只找到 %d 個欄位." diff --git a/framework/File_Csv/package.xml b/framework/File_Csv/package.xml deleted file mode 100644 index eb5d7dfea..000000000 --- a/framework/File_Csv/package.xml +++ /dev/null @@ -1,552 +0,0 @@ - - - File_Csv - pear.horde.org - Reads and writes CSV files - This package allows reading and creating of CSV data and files. It -is a fork of the File_CSV class of PEAR's File package. - - Jan Schneider - jan - jan@horde.org - yes - - 2010-10-22 - - - 0.2.0 - 0.2.0 - - - beta - beta - - PHP - -* Initial Horde 4 Package - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5.2.0 - - - 1.5.0 - - - PEAR - pear.php.net - - - Translation - pear.horde.org - - - pcre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.1.0 - 0.1.0 - - - beta - beta - - 2004-01-01 - PHP - -First release. - - - - 2006-05-08 - - - 0.1.1 - 0.1.1 - - - beta - beta - - PHP - -* Converted to package.xml 2.0 for pear.horde.org -* Close Horde bug #6372 (ritaselsky@gmail.com) - - - - - 0.2.0 - 0.2.0 - - - beta - beta - - 2010-10-22 - PHP - -* Initial Horde 4 Package - - - - diff --git a/framework/File_Csv/test/Horde/Csv/001.phpt b/framework/File_Csv/test/Horde/Csv/001.phpt deleted file mode 100644 index 29fcba56a..000000000 --- a/framework/File_Csv/test/Horde/Csv/001.phpt +++ /dev/null @@ -1,84 +0,0 @@ ---TEST-- -Horde_File_Csv Test Case 001: Fields count less than expected ---FILE-- - ---EXPECT-- -array(4) { - ["crlf"]=> - string(1) " -" - ["fields"]=> - int(4) - ["sep"]=> - string(1) "," - ["quote"]=> - string(1) """ -} -array(4) { - [0]=> - array(4) { - [0]=> - string(9) "Field 1-1" - [1]=> - string(9) "Field 1-2" - [2]=> - string(9) "Field 1-3" - [3]=> - string(9) "Field 1-4" - } - [1]=> - array(4) { - [0]=> - string(9) "Field 2-1" - [1]=> - string(9) "Field 2-2" - [2]=> - string(9) "Field 2-3" - [3]=> - string(0) "" - } - [2]=> - array(4) { - [0]=> - string(9) "Field 3-1" - [1]=> - string(9) "Field 3-2" - [2]=> - string(0) "" - [3]=> - string(0) "" - } - [3]=> - array(4) { - [0]=> - string(9) "Field 4-1" - [1]=> - string(0) "" - [2]=> - string(0) "" - [3]=> - string(0) "" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/002.phpt b/framework/File_Csv/test/Horde/Csv/002.phpt deleted file mode 100644 index e0d293d98..000000000 --- a/framework/File_Csv/test/Horde/Csv/002.phpt +++ /dev/null @@ -1,84 +0,0 @@ ---TEST-- -Horde_File_Csv Test Case 002: Fields count more than expected ---FILE-- - ---EXPECT-- -array(4) { - ["crlf"]=> - string(1) " -" - ["fields"]=> - int(4) - ["sep"]=> - string(1) "," - ["quote"]=> - string(1) """ -} -array(4) { - [0]=> - array(4) { - [0]=> - string(9) "Field 1-1" - [1]=> - string(9) "Field 1-2" - [2]=> - string(9) "Field 1-3" - [3]=> - string(9) "Field 1-4" - } - [1]=> - array(4) { - [0]=> - string(9) "Field 2-1" - [1]=> - string(9) "Field 2-2" - [2]=> - string(9) "Field 2-3" - [3]=> - string(9) "Field 2-4" - } - [2]=> - array(4) { - [0]=> - string(9) "Field 3-1" - [1]=> - string(9) "Field 3-2" - [2]=> - string(0) "" - [3]=> - string(0) "" - } - [3]=> - array(4) { - [0]=> - string(9) "Field 4-1" - [1]=> - string(0) "" - [2]=> - string(0) "" - [3]=> - string(0) "" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/003.phpt b/framework/File_Csv/test/Horde/Csv/003.phpt deleted file mode 100644 index f179fc19c..000000000 --- a/framework/File_Csv/test/Horde/Csv/003.phpt +++ /dev/null @@ -1,67 +0,0 @@ ---TEST-- -Horde_File_Csv Test Case 003: Windows EOL ---FILE-- - ---EXPECT-- -Format: -Array -( - [crlf] => - - [fields] => 4 - [sep] => , - [quote] => " -) - -Data: -Array -( - [0] => Array - ( - [0] => Field 1-1 - [1] => Field 1-2 - [2] => Field 1-3 - [3] => Field 1-4 - ) - - [1] => Array - ( - [0] => Field 2-1 - [1] => Field 2-2 - [2] => Field 2-3 - [3] => I'm multiline -Field - ) - - [2] => Array - ( - [0] => Field 3-1 - [1] => Field 3-2 - [2] => Field 3-3 - [3] => - ) - -) diff --git a/framework/File_Csv/test/Horde/Csv/004.phpt b/framework/File_Csv/test/Horde/Csv/004.phpt deleted file mode 100644 index 5d34c98d7..000000000 --- a/framework/File_Csv/test/Horde/Csv/004.phpt +++ /dev/null @@ -1,67 +0,0 @@ ---TEST-- -Horde_File_Csv Test Case 004: Unix EOL ---FILE-- - ---EXPECT-- -Format: -Array -( - [crlf] => - - [fields] => 4 - [sep] => , - [quote] => " -) - -Data: -Array -( - [0] => Array - ( - [0] => Field 1-1 - [1] => Field 1-2 - [2] => Field 1-3 - [3] => Field 1-4 - ) - - [1] => Array - ( - [0] => Field 2-1 - [1] => Field 2-2 - [2] => Field 2-3 - [3] => I'm multiline -Field - ) - - [2] => Array - ( - [0] => Field 3-1 - [1] => Field 3-2 - [2] => Field 3-3 - [3] => - ) - -) diff --git a/framework/File_Csv/test/Horde/Csv/005.phpt b/framework/File_Csv/test/Horde/Csv/005.phpt deleted file mode 100644 index d55a6f39d..000000000 --- a/framework/File_Csv/test/Horde/Csv/005.phpt +++ /dev/null @@ -1,67 +0,0 @@ ---TEST-- -Horde_File_Csv Test Case 005: Mac EOL ---FILE-- - ---EXPECT-- -Format: -Array -( - [crlf] => - [fields] => 4 - [sep] => , - [quote] => " -) - -Data: -Array -( - [0] => Array - ( - [0] => Field 1-1 - [1] => Field 1-2 - [2] => Field 1-3 - [3] => Field 1-4 - ) - - [1] => Array - ( - [0] => Field 2-1 - [1] => Field 2-2 - [2] => Field 2-3 - [3] => I'm multiline -Field - ) - - [2] => Array - ( - [0] => Field 3-1 - [1] => Field 3-2 - [2] => Field 3-3 - [3] => - ) - -) diff --git a/framework/File_Csv/test/Horde/Csv/bug_3839.phpt b/framework/File_Csv/test/Horde/Csv/bug_3839.phpt deleted file mode 100644 index a7b3443f2..000000000 --- a/framework/File_Csv/test/Horde/Csv/bug_3839.phpt +++ /dev/null @@ -1,110 +0,0 @@ ---TEST-- -Horde_File_Csv: test for Bug #3839 ---FILE-- - ---EXPECT-- -array(2) { - [0]=> - array(12) { - [0]=> - string(7) "Subject" - [1]=> - string(10) "Start Date" - [2]=> - string(10) "Start Time" - [3]=> - string(8) "End Date" - [4]=> - string(8) "End Time" - [5]=> - string(13) "All day event" - [6]=> - string(15) "Reminder on/off" - [7]=> - string(13) "Reminder Date" - [8]=> - string(13) "Reminder Time" - [9]=> - string(8) "Category" - [10]=> - string(11) "Description" - [11]=> - string(8) "Priority" - } - [1]=> - array(12) { - [0]=> - string(41) "Inservice on new resource: "CPNP Toolkit"" - [1]=> - string(10) "2004-11-08" - [2]=> - string(8) "10:30 AM" - [3]=> - string(10) "2004-11-08" - [4]=> - string(8) "11:30 AM" - [5]=> - string(5) "FALSE" - [6]=> - string(5) "FALSE" - [7]=> - string(0) "" - [8]=> - string(0) "" - [9]=> - string(8) "Training" - [10]=> - string(1109) "CPN Program ... -Inservice on new resource: "CPNP Toolkit" - -Registration Deadline: October 27, 2004, noon - - - Session Evaluation - Eligibility for Prize! - - - Dial In Numbers for Sites Registered - - - Poster and Registration Form - -Facilitator: Manager - -preblurb preblurb preblurb preblurb preblurb preblurb preblurb preblurb preblurb "CPNP Toolkit". postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb . - -postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb - -Come check out the new resource!" - [11]=> - string(6) "Normal" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/bug_4025.csv b/framework/File_Csv/test/Horde/Csv/bug_4025.csv deleted file mode 100644 index cd65cc0c4..000000000 --- a/framework/File_Csv/test/Horde/Csv/bug_4025.csv +++ /dev/null @@ -1,3 +0,0 @@ -"Betreff","Beginnt am","Beginnt um","Endet am","Endet um","Ganztägiges Ereignis","Erinnerung Ein/Aus","Erinnerung am","Erinnerung um","Besprechungsplanung","Erforderliche Teilnehmer","Optionale Teilnehmer","Besprechungsressourcen","Abrechnungsinformationen","Beschreibung","Kategorien","Ort","Priorität","Privat","Reisekilometer","Vertraulichkeit","Zeitspanne zeigen als" -"Burger Download Session","2.5.2006","11:50:00","2.5.2006","13:00:00","Aus","Ein","2.5.2006","11:35:00","Haas, Jörg","Kuhl, Oliver",,,," -",,"Burger Upload Station (Burger King)","Normal","Aus",,"Normal","1" diff --git a/framework/File_Csv/test/Horde/Csv/bug_4025.phpt b/framework/File_Csv/test/Horde/Csv/bug_4025.phpt deleted file mode 100644 index d12313bbf..000000000 --- a/framework/File_Csv/test/Horde/Csv/bug_4025.phpt +++ /dev/null @@ -1,131 +0,0 @@ ---TEST-- -Horde_File_Csv: test for Bug #4025 ---FILE-- - ---EXPECT-- -array(2) { - [0]=> - array(22) { - [0]=> - string(7) "Betreff" - [1]=> - string(10) "Beginnt am" - [2]=> - string(10) "Beginnt um" - [3]=> - string(8) "Endet am" - [4]=> - string(8) "Endet um" - [5]=> - string(20) "Ganztägiges Ereignis" - [6]=> - string(18) "Erinnerung Ein/Aus" - [7]=> - string(13) "Erinnerung am" - [8]=> - string(13) "Erinnerung um" - [9]=> - string(19) "Besprechungsplanung" - [10]=> - string(24) "Erforderliche Teilnehmer" - [11]=> - string(20) "Optionale Teilnehmer" - [12]=> - string(22) "Besprechungsressourcen" - [13]=> - string(24) "Abrechnungsinformationen" - [14]=> - string(12) "Beschreibung" - [15]=> - string(10) "Kategorien" - [16]=> - string(3) "Ort" - [17]=> - string(9) "Priorität" - [18]=> - string(6) "Privat" - [19]=> - string(14) "Reisekilometer" - [20]=> - string(15) "Vertraulichkeit" - [21]=> - string(21) "Zeitspanne zeigen als" - } - [1]=> - array(22) { - [0]=> - string(23) "Burger Download Session" - [1]=> - string(8) "2.5.2006" - [2]=> - string(8) "11:50:00" - [3]=> - string(8) "2.5.2006" - [4]=> - string(8) "13:00:00" - [5]=> - string(3) "Aus" - [6]=> - string(3) "Ein" - [7]=> - string(8) "2.5.2006" - [8]=> - string(8) "11:35:00" - [9]=> - string(10) "Haas, Jörg" - [10]=> - string(12) "Kuhl, Oliver" - [11]=> - string(0) "" - [12]=> - string(0) "" - [13]=> - string(0) "" - [14]=> - string(1) " -" - [15]=> - string(0) "" - [16]=> - string(35) "Burger Upload Station (Burger King)" - [17]=> - string(6) "Normal" - [18]=> - string(3) "Aus" - [19]=> - string(0) "" - [20]=> - string(6) "Normal" - [21]=> - string(1) "1" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/bug_6311.phpt b/framework/File_Csv/test/Horde/Csv/bug_6311.phpt deleted file mode 100644 index 216297969..000000000 --- a/framework/File_Csv/test/Horde/Csv/bug_6311.phpt +++ /dev/null @@ -1,413 +0,0 @@ ---TEST-- -Horde_File_Csv: test for Bug #6311 ---FILE-- - ---EXPECT-- -array(2) { - [0]=> - array(92) { - [0]=> - string(5) "Title" - [1]=> - string(10) "First Name" - [2]=> - string(11) "Middle Name" - [3]=> - string(9) "Last Name" - [4]=> - string(6) "Suffix" - [5]=> - string(7) "Company" - [6]=> - string(10) "Department" - [7]=> - string(9) "Job Title" - [8]=> - string(15) "Business Street" - [9]=> - string(17) "Business Street 2" - [10]=> - string(17) "Business Street 3" - [11]=> - string(13) "Business City" - [12]=> - string(14) "Business State" - [13]=> - string(20) "Business Postal Code" - [14]=> - string(23) "Business Country/Region" - [15]=> - string(11) "Home Street" - [16]=> - string(13) "Home Street 2" - [17]=> - string(13) "Home Street 3" - [18]=> - string(9) "Home City" - [19]=> - string(10) "Home State" - [20]=> - string(16) "Home Postal Code" - [21]=> - string(19) "Home Country/Region" - [22]=> - string(12) "Other Street" - [23]=> - string(14) "Other Street 2" - [24]=> - string(14) "Other Street 3" - [25]=> - string(10) "Other City" - [26]=> - string(11) "Other State" - [27]=> - string(17) "Other Postal Code" - [28]=> - string(20) "Other Country/Region" - [29]=> - string(17) "Assistant's Phone" - [30]=> - string(12) "Business Fax" - [31]=> - string(14) "Business Phone" - [32]=> - string(16) "Business Phone 2" - [33]=> - string(8) "Callback" - [34]=> - string(9) "Car Phone" - [35]=> - string(18) "Company Main Phone" - [36]=> - string(8) "Home Fax" - [37]=> - string(10) "Home Phone" - [38]=> - string(12) "Home Phone 2" - [39]=> - string(4) "ISDN" - [40]=> - string(12) "Mobile Phone" - [41]=> - string(9) "Other Fax" - [42]=> - string(11) "Other Phone" - [43]=> - string(5) "Pager" - [44]=> - string(13) "Primary Phone" - [45]=> - string(11) "Radio Phone" - [46]=> - string(13) "TTY/TDD Phone" - [47]=> - string(5) "Telex" - [48]=> - string(7) "Account" - [49]=> - string(11) "Anniversary" - [50]=> - string(16) "Assistant's Name" - [51]=> - string(19) "Billing Information" - [52]=> - string(8) "Birthday" - [53]=> - string(23) "Business Address PO Box" - [54]=> - string(10) "Categories" - [55]=> - string(8) "Children" - [56]=> - string(16) "Directory Server" - [57]=> - string(14) "E-mail Address" - [58]=> - string(11) "E-mail Type" - [59]=> - string(19) "E-mail Display Name" - [60]=> - string(16) "E-mail 2 Address" - [61]=> - string(13) "E-mail 2 Type" - [62]=> - string(21) "E-mail 2 Display Name" - [63]=> - string(16) "E-mail 3 Address" - [64]=> - string(13) "E-mail 3 Type" - [65]=> - string(21) "E-mail 3 Display Name" - [66]=> - string(6) "Gender" - [67]=> - string(20) "Government ID Number" - [68]=> - string(5) "Hobby" - [69]=> - string(19) "Home Address PO Box" - [70]=> - string(8) "Initials" - [71]=> - string(18) "Internet Free Busy" - [72]=> - string(8) "Keywords" - [73]=> - string(8) "Language" - [74]=> - string(8) "Location" - [75]=> - string(14) "Manager's Name" - [76]=> - string(7) "Mileage" - [77]=> - string(5) "Notes" - [78]=> - string(15) "Office Location" - [79]=> - string(24) "Organizational ID Number" - [80]=> - string(20) "Other Address PO Box" - [81]=> - string(8) "Priority" - [82]=> - string(7) "Private" - [83]=> - string(10) "Profession" - [84]=> - string(11) "Referred By" - [85]=> - string(11) "Sensitivity" - [86]=> - string(6) "Spouse" - [87]=> - string(6) "User 1" - [88]=> - string(6) "User 2" - [89]=> - string(6) "User 3" - [90]=> - string(6) "User 4" - [91]=> - string(8) "Web Page" - } - [1]=> - array(92) { - [0]=> - string(0) "" - [1]=> - string(4) "John" - [2]=> - string(0) "" - [3]=> - string(5) "Smith" - [4]=> - string(0) "" - [5]=> - string(17) "International Inc" - [6]=> - string(0) "" - [7]=> - string(0) "" - [8]=> - string(0) "" - [9]=> - string(0) "" - [10]=> - string(0) "" - [11]=> - string(0) "" - [12]=> - string(0) "" - [13]=> - string(0) "" - [14]=> - string(0) "" - [15]=> - string(0) "" - [16]=> - string(0) "" - [17]=> - string(0) "" - [18]=> - string(0) "" - [19]=> - string(0) "" - [20]=> - string(0) "" - [21]=> - string(0) "" - [22]=> - string(0) "" - [23]=> - string(0) "" - [24]=> - string(0) "" - [25]=> - string(0) "" - [26]=> - string(0) "" - [27]=> - string(0) "" - [28]=> - string(0) "" - [29]=> - string(0) "" - [30]=> - string(14) "(123) 555-1111" - [31]=> - string(14) "(123) 555-2222" - [32]=> - string(0) "" - [33]=> - string(0) "" - [34]=> - string(0) "" - [35]=> - string(0) "" - [36]=> - string(0) "" - [37]=> - string(0) "" - [38]=> - string(0) "" - [39]=> - string(0) "" - [40]=> - string(14) "(123) 555-3333" - [41]=> - string(0) "" - [42]=> - string(0) "" - [43]=> - string(0) "" - [44]=> - string(0) "" - [45]=> - string(0) "" - [46]=> - string(0) "" - [47]=> - string(0) "" - [48]=> - string(0) "" - [49]=> - string(6) "0/0/00" - [50]=> - string(0) "" - [51]=> - string(0) "" - [52]=> - string(6) "0/0/00" - [53]=> - string(0) "" - [54]=> - string(11) "Programming" - [55]=> - string(0) "" - [56]=> - string(0) "" - [57]=> - string(16) "john@example.com" - [58]=> - string(4) "SMTP" - [59]=> - string(29) "John Smith (john@example.com)" - [60]=> - string(0) "" - [61]=> - string(0) "" - [62]=> - string(0) "" - [63]=> - string(0) "" - [64]=> - string(0) "" - [65]=> - string(0) "" - [66]=> - string(11) "Unspecified" - [67]=> - string(0) "" - [68]=> - string(0) "" - [69]=> - string(0) "" - [70]=> - string(4) "J.S." - [71]=> - string(0) "" - [72]=> - string(0) "" - [73]=> - string(0) "" - [74]=> - string(0) "" - [75]=> - string(0) "" - [76]=> - string(0) "" - [77]=> - string(16) "PHP -Perl -Python -" - [78]=> - string(0) "" - [79]=> - string(0) "" - [80]=> - string(0) "" - [81]=> - string(6) "Normal" - [82]=> - string(5) "False" - [83]=> - string(0) "" - [84]=> - string(0) "" - [85]=> - string(6) "Normal" - [86]=> - string(0) "" - [87]=> - string(0) "" - [88]=> - string(0) "" - [89]=> - string(0) "" - [90]=> - string(0) "" - [91]=> - string(0) "" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/bug_6370.phpt b/framework/File_Csv/test/Horde/Csv/bug_6370.phpt deleted file mode 100644 index 0f58993cc..000000000 --- a/framework/File_Csv/test/Horde/Csv/bug_6370.phpt +++ /dev/null @@ -1,411 +0,0 @@ ---TEST-- -Horde_File_Csv: test for Bug #6370 ---FILE-- - ---EXPECT-- -array(2) { - [0]=> - array(92) { - [0]=> - string(5) "Title" - [1]=> - string(10) "First Name" - [2]=> - string(11) "Middle Name" - [3]=> - string(9) "Last Name" - [4]=> - string(6) "Suffix" - [5]=> - string(7) "Company" - [6]=> - string(10) "Department" - [7]=> - string(9) "Job Title" - [8]=> - string(15) "Business Street" - [9]=> - string(17) "Business Street 2" - [10]=> - string(17) "Business Street 3" - [11]=> - string(13) "Business City" - [12]=> - string(14) "Business State" - [13]=> - string(20) "Business Postal Code" - [14]=> - string(23) "Business Country/Region" - [15]=> - string(11) "Home Street" - [16]=> - string(13) "Home Street 2" - [17]=> - string(13) "Home Street 3" - [18]=> - string(9) "Home City" - [19]=> - string(10) "Home State" - [20]=> - string(16) "Home Postal Code" - [21]=> - string(19) "Home Country/Region" - [22]=> - string(12) "Other Street" - [23]=> - string(14) "Other Street 2" - [24]=> - string(14) "Other Street 3" - [25]=> - string(10) "Other City" - [26]=> - string(11) "Other State" - [27]=> - string(17) "Other Postal Code" - [28]=> - string(20) "Other Country/Region" - [29]=> - string(17) "Assistant's Phone" - [30]=> - string(12) "Business Fax" - [31]=> - string(14) "Business Phone" - [32]=> - string(16) "Business Phone 2" - [33]=> - string(8) "Callback" - [34]=> - string(9) "Car Phone" - [35]=> - string(18) "Company Main Phone" - [36]=> - string(8) "Home Fax" - [37]=> - string(10) "Home Phone" - [38]=> - string(12) "Home Phone 2" - [39]=> - string(4) "ISDN" - [40]=> - string(12) "Mobile Phone" - [41]=> - string(9) "Other Fax" - [42]=> - string(11) "Other Phone" - [43]=> - string(5) "Pager" - [44]=> - string(13) "Primary Phone" - [45]=> - string(11) "Radio Phone" - [46]=> - string(13) "TTY/TDD Phone" - [47]=> - string(5) "Telex" - [48]=> - string(7) "Account" - [49]=> - string(11) "Anniversary" - [50]=> - string(16) "Assistant's Name" - [51]=> - string(19) "Billing Information" - [52]=> - string(8) "Birthday" - [53]=> - string(23) "Business Address PO Box" - [54]=> - string(10) "Categories" - [55]=> - string(8) "Children" - [56]=> - string(16) "Directory Server" - [57]=> - string(14) "E-mail Address" - [58]=> - string(11) "E-mail Type" - [59]=> - string(19) "E-mail Display Name" - [60]=> - string(16) "E-mail 2 Address" - [61]=> - string(13) "E-mail 2 Type" - [62]=> - string(21) "E-mail 2 Display Name" - [63]=> - string(16) "E-mail 3 Address" - [64]=> - string(13) "E-mail 3 Type" - [65]=> - string(21) "E-mail 3 Display Name" - [66]=> - string(6) "Gender" - [67]=> - string(20) "Government ID Number" - [68]=> - string(5) "Hobby" - [69]=> - string(19) "Home Address PO Box" - [70]=> - string(8) "Initials" - [71]=> - string(18) "Internet Free Busy" - [72]=> - string(8) "Keywords" - [73]=> - string(8) "Language" - [74]=> - string(8) "Location" - [75]=> - string(14) "Manager's Name" - [76]=> - string(7) "Mileage" - [77]=> - string(5) "Notes" - [78]=> - string(15) "Office Location" - [79]=> - string(24) "Organizational ID Number" - [80]=> - string(20) "Other Address PO Box" - [81]=> - string(8) "Priority" - [82]=> - string(7) "Private" - [83]=> - string(10) "Profession" - [84]=> - string(11) "Referred By" - [85]=> - string(11) "Sensitivity" - [86]=> - string(6) "Spouse" - [87]=> - string(6) "User 1" - [88]=> - string(6) "User 2" - [89]=> - string(6) "User 3" - [90]=> - string(6) "User 4" - [91]=> - string(8) "Web Page" - } - [1]=> - array(92) { - [0]=> - string(0) "" - [1]=> - string(0) "" - [2]=> - string(0) "" - [3]=> - string(0) "" - [4]=> - string(0) "" - [5]=> - string(0) "" - [6]=> - string(0) "" - [7]=> - string(0) "" - [8]=> - string(37) "Big Tower'", 1" Floor -123 Main Street" - [9]=> - string(0) "" - [10]=> - string(0) "" - [11]=> - string(0) "" - [12]=> - string(0) "" - [13]=> - string(0) "" - [14]=> - string(0) "" - [15]=> - string(0) "" - [16]=> - string(0) "" - [17]=> - string(0) "" - [18]=> - string(0) "" - [19]=> - string(0) "" - [20]=> - string(0) "" - [21]=> - string(0) "" - [22]=> - string(0) "" - [23]=> - string(0) "" - [24]=> - string(0) "" - [25]=> - string(0) "" - [26]=> - string(0) "" - [27]=> - string(0) "" - [28]=> - string(0) "" - [29]=> - string(0) "" - [30]=> - string(0) "" - [31]=> - string(0) "" - [32]=> - string(0) "" - [33]=> - string(0) "" - [34]=> - string(0) "" - [35]=> - string(0) "" - [36]=> - string(0) "" - [37]=> - string(0) "" - [38]=> - string(0) "" - [39]=> - string(0) "" - [40]=> - string(0) "" - [41]=> - string(0) "" - [42]=> - string(0) "" - [43]=> - string(0) "" - [44]=> - string(0) "" - [45]=> - string(0) "" - [46]=> - string(0) "" - [47]=> - string(0) "" - [48]=> - string(0) "" - [49]=> - string(6) "0/0/00" - [50]=> - string(0) "" - [51]=> - string(0) "" - [52]=> - string(6) "0/0/00" - [53]=> - string(0) "" - [54]=> - string(0) "" - [55]=> - string(0) "" - [56]=> - string(0) "" - [57]=> - string(0) "" - [58]=> - string(0) "" - [59]=> - string(0) "" - [60]=> - string(0) "" - [61]=> - string(0) "" - [62]=> - string(0) "" - [63]=> - string(0) "" - [64]=> - string(0) "" - [65]=> - string(0) "" - [66]=> - string(11) "Unspecified" - [67]=> - string(0) "" - [68]=> - string(0) "" - [69]=> - string(0) "" - [70]=> - string(0) "" - [71]=> - string(0) "" - [72]=> - string(0) "" - [73]=> - string(0) "" - [74]=> - string(0) "" - [75]=> - string(0) "" - [76]=> - string(0) "" - [77]=> - string(1) "" - [78]=> - string(0) "" - [79]=> - string(0) "" - [80]=> - string(0) "" - [81]=> - string(6) "Normal" - [82]=> - string(5) "False" - [83]=> - string(0) "" - [84]=> - string(0) "" - [85]=> - string(6) "Normal" - [86]=> - string(0) "" - [87]=> - string(0) "" - [88]=> - string(0) "" - [89]=> - string(0) "" - [90]=> - string(0) "" - [91]=> - string(0) "" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/bug_6372.phpt b/framework/File_Csv/test/Horde/Csv/bug_6372.phpt deleted file mode 100644 index d1d28b004..000000000 --- a/framework/File_Csv/test/Horde/Csv/bug_6372.phpt +++ /dev/null @@ -1,412 +0,0 @@ ---TEST-- -Horde_File_Csv: test for Bug #6372 ---FILE-- - ---EXPECT-- -array(2) { - [0]=> - array(92) { - [0]=> - string(5) "Title" - [1]=> - string(10) "First Name" - [2]=> - string(11) "Middle Name" - [3]=> - string(9) "Last Name" - [4]=> - string(6) "Suffix" - [5]=> - string(7) "Company" - [6]=> - string(10) "Department" - [7]=> - string(9) "Job Title" - [8]=> - string(15) "Business Street" - [9]=> - string(17) "Business Street 2" - [10]=> - string(17) "Business Street 3" - [11]=> - string(13) "Business City" - [12]=> - string(14) "Business State" - [13]=> - string(20) "Business Postal Code" - [14]=> - string(23) "Business Country/Region" - [15]=> - string(11) "Home Street" - [16]=> - string(13) "Home Street 2" - [17]=> - string(13) "Home Street 3" - [18]=> - string(9) "Home City" - [19]=> - string(10) "Home State" - [20]=> - string(16) "Home Postal Code" - [21]=> - string(19) "Home Country/Region" - [22]=> - string(12) "Other Street" - [23]=> - string(14) "Other Street 2" - [24]=> - string(14) "Other Street 3" - [25]=> - string(10) "Other City" - [26]=> - string(11) "Other State" - [27]=> - string(17) "Other Postal Code" - [28]=> - string(20) "Other Country/Region" - [29]=> - string(17) "Assistant's Phone" - [30]=> - string(12) "Business Fax" - [31]=> - string(14) "Business Phone" - [32]=> - string(16) "Business Phone 2" - [33]=> - string(8) "Callback" - [34]=> - string(9) "Car Phone" - [35]=> - string(18) "Company Main Phone" - [36]=> - string(8) "Home Fax" - [37]=> - string(10) "Home Phone" - [38]=> - string(12) "Home Phone 2" - [39]=> - string(4) "ISDN" - [40]=> - string(12) "Mobile Phone" - [41]=> - string(9) "Other Fax" - [42]=> - string(11) "Other Phone" - [43]=> - string(5) "Pager" - [44]=> - string(13) "Primary Phone" - [45]=> - string(11) "Radio Phone" - [46]=> - string(13) "TTY/TDD Phone" - [47]=> - string(5) "Telex" - [48]=> - string(7) "Account" - [49]=> - string(11) "Anniversary" - [50]=> - string(16) "Assistant's Name" - [51]=> - string(19) "Billing Information" - [52]=> - string(8) "Birthday" - [53]=> - string(23) "Business Address PO Box" - [54]=> - string(10) "Categories" - [55]=> - string(8) "Children" - [56]=> - string(16) "Directory Server" - [57]=> - string(14) "E-mail Address" - [58]=> - string(11) "E-mail Type" - [59]=> - string(19) "E-mail Display Name" - [60]=> - string(16) "E-mail 2 Address" - [61]=> - string(13) "E-mail 2 Type" - [62]=> - string(21) "E-mail 2 Display Name" - [63]=> - string(16) "E-mail 3 Address" - [64]=> - string(13) "E-mail 3 Type" - [65]=> - string(21) "E-mail 3 Display Name" - [66]=> - string(6) "Gender" - [67]=> - string(20) "Government ID Number" - [68]=> - string(5) "Hobby" - [69]=> - string(19) "Home Address PO Box" - [70]=> - string(8) "Initials" - [71]=> - string(18) "Internet Free Busy" - [72]=> - string(8) "Keywords" - [73]=> - string(8) "Language" - [74]=> - string(8) "Location" - [75]=> - string(14) "Manager's Name" - [76]=> - string(7) "Mileage" - [77]=> - string(5) "Notes" - [78]=> - string(15) "Office Location" - [79]=> - string(24) "Organizational ID Number" - [80]=> - string(20) "Other Address PO Box" - [81]=> - string(8) "Priority" - [82]=> - string(7) "Private" - [83]=> - string(10) "Profession" - [84]=> - string(11) "Referred By" - [85]=> - string(11) "Sensitivity" - [86]=> - string(6) "Spouse" - [87]=> - string(6) "User 1" - [88]=> - string(6) "User 2" - [89]=> - string(6) "User 3" - [90]=> - string(6) "User 4" - [91]=> - string(8) "Web Page" - } - [1]=> - array(92) { - [0]=> - string(0) "" - [1]=> - string(0) "" - [2]=> - string(0) "" - [3]=> - string(0) "" - [4]=> - string(0) "" - [5]=> - string(0) "" - [6]=> - string(0) "" - [7]=> - string(0) "" - [8]=> - string(28) "123, 12th Floor, -Main Street" - [9]=> - string(0) "" - [10]=> - string(0) "" - [11]=> - string(0) "" - [12]=> - string(0) "" - [13]=> - string(0) "" - [14]=> - string(0) "" - [15]=> - string(0) "" - [16]=> - string(0) "" - [17]=> - string(0) "" - [18]=> - string(0) "" - [19]=> - string(0) "" - [20]=> - string(0) "" - [21]=> - string(0) "" - [22]=> - string(0) "" - [23]=> - string(0) "" - [24]=> - string(0) "" - [25]=> - string(0) "" - [26]=> - string(0) "" - [27]=> - string(0) "" - [28]=> - string(0) "" - [29]=> - string(0) "" - [30]=> - string(0) "" - [31]=> - string(0) "" - [32]=> - string(0) "" - [33]=> - string(0) "" - [34]=> - string(0) "" - [35]=> - string(0) "" - [36]=> - string(0) "" - [37]=> - string(0) "" - [38]=> - string(0) "" - [39]=> - string(0) "" - [40]=> - string(0) "" - [41]=> - string(0) "" - [42]=> - string(0) "" - [43]=> - string(0) "" - [44]=> - string(0) "" - [45]=> - string(0) "" - [46]=> - string(0) "" - [47]=> - string(0) "" - [48]=> - string(0) "" - [49]=> - string(6) "0/0/00" - [50]=> - string(0) "" - [51]=> - string(0) "" - [52]=> - string(6) "0/0/00" - [53]=> - string(0) "" - [54]=> - string(0) "" - [55]=> - string(0) "" - [56]=> - string(0) "" - [57]=> - string(0) "" - [58]=> - string(0) "" - [59]=> - string(0) "" - [60]=> - string(0) "" - [61]=> - string(0) "" - [62]=> - string(0) "" - [63]=> - string(0) "" - [64]=> - string(0) "" - [65]=> - string(0) "" - [66]=> - string(11) "Unspecified" - [67]=> - string(0) "" - [68]=> - string(0) "" - [69]=> - string(0) "" - [70]=> - string(0) "" - [71]=> - string(0) "" - [72]=> - string(0) "" - [73]=> - string(0) "" - [74]=> - string(0) "" - [75]=> - string(0) "" - [76]=> - string(0) "" - [77]=> - string(1) " -" - [78]=> - string(0) "" - [79]=> - string(0) "" - [80]=> - string(0) "" - [81]=> - string(6) "Normal" - [82]=> - string(5) "False" - [83]=> - string(0) "" - [84]=> - string(0) "" - [85]=> - string(6) "Normal" - [86]=> - string(0) "" - [87]=> - string(0) "" - [88]=> - string(0) "" - [89]=> - string(0) "" - [90]=> - string(0) "" - [91]=> - string(0) "" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/columns.phpt b/framework/File_Csv/test/Horde/Csv/columns.phpt deleted file mode 100644 index 40edea29b..000000000 --- a/framework/File_Csv/test/Horde/Csv/columns.phpt +++ /dev/null @@ -1,98 +0,0 @@ ---TEST-- -Horde_File_Csv: column count tests ---FILE-- - ---EXPECT-- -array(4) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(5) "three" - } - [1]=> - array(3) { - [0]=> - string(4) "four" - [1]=> - string(4) "five" - [2]=> - string(0) "" - } - [2]=> - array(3) { - [0]=> - string(3) "six" - [1]=> - string(5) "seven" - [2]=> - string(5) "eight" - } - [3]=> - array(3) { - [0]=> - string(4) "nine" - [1]=> - string(3) "ten" - [2]=> - string(6) "eleven" - } -} -array(2) { - [0]=> - string(54) "Wrong number of fields in line 2. Expected 3, found 2." - [1]=> - string(48) "More fields found in line 4 than the expected 3." -} -array(4) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(5) "three" - } - [1]=> - array(3) { - [0]=> - string(4) "four" - [1]=> - string(4) "five" - [2]=> - string(0) "" - } - [2]=> - array(3) { - [0]=> - string(3) "six" - [1]=> - string(5) "seven" - [2]=> - string(5) "eight" - } - [3]=> - array(3) { - [0]=> - string(4) "nine" - [1]=> - string(3) "ten" - [2]=> - string(6) "eleven" - } -} -array(2) { - [0]=> - string(54) "Wrong number of fields in line 2. Expected 3, found 2." - [1]=> - string(48) "More fields found in line 4 than the expected 3." -} diff --git a/framework/File_Csv/test/Horde/Csv/common.php b/framework/File_Csv/test/Horde/Csv/common.php deleted file mode 100644 index 2e36f2cfe..000000000 --- a/framework/File_Csv/test/Horde/Csv/common.php +++ /dev/null @@ -1,36 +0,0 @@ - ---EXPECT-- -array(2) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(5) "three" - } - [1]=> - array(3) { - [0]=> - string(4) "four" - [1]=> - string(4) "five" - [2]=> - string(3) "six" - } -} -array(2) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(5) "three" - } - [1]=> - array(3) { - [0]=> - string(4) "four" - [1]=> - string(4) "five" - [2]=> - string(3) "six" - } -} -array(2) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(5) "three" - } - [1]=> - array(3) { - [0]=> - string(4) "four" - [1]=> - string(4) "five" - [2]=> - string(3) "six" - } -} -array(2) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(5) "three" - } - [1]=> - array(3) { - [0]=> - string(4) "four" - [1]=> - string(4) "five" - [2]=> - string(3) "six" - } -} -array(2) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(5) "three" - } - [1]=> - array(3) { - [0]=> - string(4) "four" - [1]=> - string(4) "five" - [2]=> - string(3) "six" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/multiline.phpt b/framework/File_Csv/test/Horde/Csv/multiline.phpt deleted file mode 100644 index 47c6c757f..000000000 --- a/framework/File_Csv/test/Horde/Csv/multiline.phpt +++ /dev/null @@ -1,52 +0,0 @@ ---TEST-- -Horde_File_Csv: multiline tests ---FILE-- - ---EXPECT-- -array(4) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(10) "three -four" - } - [1]=> - array(3) { - [0]=> - string(4) "five" - [1]=> - string(9) "six -seven" - [2]=> - string(5) "eight" - } - [2]=> - array(3) { - [0]=> - string(4) "nine" - [1]=> - string(3) "ten" - [2]=> - string(14) "eleven -twelve" - } - [3]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(11) "three - four" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/quotes.phpt b/framework/File_Csv/test/Horde/Csv/quotes.phpt deleted file mode 100644 index 4fce81197..000000000 --- a/framework/File_Csv/test/Horde/Csv/quotes.phpt +++ /dev/null @@ -1,110 +0,0 @@ ---TEST-- -Horde_File_Csv: quote tests ---FILE-- - ---EXPECT-- -array(2) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(5) "three" - } - [1]=> - array(3) { - [0]=> - string(4) "four" - [1]=> - string(8) "five six" - [2]=> - string(5) "seven" - } -} -array(2) { - [0]=> - array(3) { - [0]=> - string(3) "one" - [1]=> - string(3) "two" - [2]=> - string(5) "three" - } - [1]=> - array(3) { - [0]=> - string(4) "four" - [1]=> - string(8) "five six" - [2]=> - string(5) "seven" - } -} -array(2) { - [0]=> - array(3) { - [0]=> - string(7) "one two" - [1]=> - string(11) "three, four" - [2]=> - string(4) "five" - } - [1]=> - array(3) { - [0]=> - string(3) "six" - [1]=> - string(6) "seven " - [2]=> - string(5) "eight" - } -} -array(2) { - [0]=> - array(3) { - [0]=> - string(7) "one two" - [1]=> - string(11) "three, four" - [2]=> - string(4) "five" - } - [1]=> - array(3) { - [0]=> - string(3) "six" - [1]=> - string(6) "seven " - [2]=> - string(5) "eight" - } -} -array(2) { - [0]=> - array(3) { - [0]=> - string(7) "one two" - [1]=> - string(11) "three, four" - [2]=> - string(4) "five" - } - [1]=> - array(3) { - [0]=> - string(3) "six" - [1]=> - string(6) "seven " - [2]=> - string(5) "eight" - } -} diff --git a/framework/File_Csv/test/Horde/Csv/simple_cr.csv b/framework/File_Csv/test/Horde/Csv/simple_cr.csv deleted file mode 100644 index beb72ce15..000000000 --- a/framework/File_Csv/test/Horde/Csv/simple_cr.csv +++ /dev/null @@ -1 +0,0 @@ -one,two,three four,five,six \ No newline at end of file diff --git a/framework/Util/lib/Horde/Util.php b/framework/Util/lib/Horde/Util.php index 1606cd5d9..38c6b985b 100644 --- a/framework/Util/lib/Horde/Util.php +++ b/framework/Util/lib/Horde/Util.php @@ -455,6 +455,57 @@ class Horde_Util } /** + * Wrapper around fgetcsv(). + * + * Empty lines will be skipped. If the 'length' parameter is provided, all + * rows are filled up with empty strings up to this length, or stripped + * down to this length. + * + * @param resource $file A file pointer. + * @param array $params Optional parameters. Possible values: + * - 'separator': The field delimiter. + * - 'quote': The quote character. + * - 'escape': The escape character. + * - 'length': The expected number of fields. + * + * @return array|boolean A row from the CSV file or false on error or end + * of file. + */ + static public function getCsv($file, $params = array()) + { + $params += array('separator' => ',', 'quote' => '"', 'escape' => '\\'); + + // Detect Mac line endings. + $old = ini_get('auto_detect_line_endings'); + ini_set('auto_detect_line_endings', 1); + + do { + // fgetcsv() throws a warning if the quote character is empty. + if (!strlen($params['quote']) && $params['escape'] != '\\') { + $params['quote'] = '"'; + } + if (!strlen($params['quote'])) { + $row = fgetcsv($file, 0, $params['separator']); + } else { + $row = fgetcsv($file, 0, $params['separator'], $params['quote'], $params['escape']); + } + } while ($row && $row[0] === null); + + ini_set('auto_detect_line_endings', $old); + + if ($row && !empty($params['length'])) { + $length = count($row); + if ($length < $params['length']) { + $row += array_fill($length, $params['length'] - $length, ''); + } elseif ($length > $params['length']) { + array_splice($row, $params['length']); + } + } + + return $row; + } + + /** * Returns the canonical path of the string. Like PHP's built-in * realpath() except the directory need not exist on the local server. * diff --git a/framework/Util/test/Horde/Util/CsvTest.php b/framework/Util/test/Horde/Util/CsvTest.php new file mode 100644 index 000000000..5e523afff --- /dev/null +++ b/framework/Util/test/Horde/Util/CsvTest.php @@ -0,0 +1,956 @@ + + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @category Horde + * @package Util + * @subpackage UnitTests + */ + +class Horde_Util_CsvTest extends PHPUnit_Framework_TestCase +{ + protected function readCsv($file, $conf = array()) + { + $fp = fopen(dirname(__FILE__) . '/fixtures/' . $file, 'r'); + $data = array(); + while ($res = Horde_Util::getCsv($fp, $conf)) { + $data[] = $res; + } + return $data; + } + + public function test001() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'Field 1-1', + 1 => 'Field 1-2', + 2 => 'Field 1-3', + 3 => 'Field 1-4', + ), + 1 => + array ( + 0 => 'Field 2-1', + 1 => 'Field 2-2', + 2 => 'Field 2-3', + 3 => '', + ), + 2 => + array ( + 0 => 'Field 3-1', + 1 => 'Field 3-2', + 2 => '', + 3 => '', + ), + 3 => + array ( + 0 => 'Field 4-1', + 1 => '', + 2 => '', + 3 => '', + ), + ), + $this->readCsv('001.csv', array('length' => 4))); + } + + public function test002() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'Field 1-1', + 1 => 'Field 1-2', + 2 => 'Field 1-3', + 3 => 'Field 1-4', + ), + 1 => + array ( + 0 => 'Field 2-1', + 1 => 'Field 2-2', + 2 => 'Field 2-3', + 3 => 'Field 2-4', + ), + 2 => + array ( + 0 => 'Field 3-1', + 1 => 'Field 3-2', + 2 => '', + 3 => '', + ), + 3 => + array ( + 0 => 'Field 4-1', + 1 => '', + 2 => '', + 3 => '', + ), + ), + $this->readCsv('002.csv', array('length' => 4))); + } + + public function test003() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'Field 1-1', + 1 => 'Field 1-2', + 2 => 'Field 1-3', + 3 => 'Field 1-4', + ), + 1 => + array ( + 0 => 'Field 2-1', + 1 => 'Field 2-2', + 2 => 'Field 2-3', + 3 => 'I\'m multiline +Field', + ), + 2 => + array ( + 0 => 'Field 3-1', + 1 => 'Field 3-2', + 2 => 'Field 3-3', + 3 => '', + ), + ), + $this->readCsv('003.csv', array('length' => 4))); + } + + public function test004() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'Field 1-1', + 1 => 'Field 1-2', + 2 => 'Field 1-3', + 3 => 'Field 1-4', + ), + 1 => + array ( + 0 => 'Field 2-1', + 1 => 'Field 2-2', + 2 => 'Field 2-3', + 3 => 'I\'m multiline +Field', + ), + 2 => + array ( + 0 => 'Field 3-1', + 1 => 'Field 3-2', + 2 => 'Field 3-3', + 3 => '', + ), + ), + $this->readCsv('004.csv', array('length' => 4))); + } + + public function testBug3839() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'Subject', + 1 => 'Start Date', + 2 => 'Start Time', + 3 => 'End Date', + 4 => 'End Time', + 5 => 'All day event', + 6 => 'Reminder on/off', + 7 => 'Reminder Date', + 8 => 'Reminder Time', + 9 => 'Category', + 10 => 'Description', + 11 => 'Priority', + ), + 1 => + array ( + 0 => 'Inservice on new resource: "CPNP Toolkit"', + 1 => '2004-11-08', + 2 => '10:30 AM', + 3 => '2004-11-08', + 4 => '11:30 AM', + 5 => 'FALSE', + 6 => 'FALSE', + 7 => '', + 8 => '', + 9 => 'Training', + 10 => 'CPN Program ... +Inservice on new resource: "CPNP Toolkit" + +Registration Deadline: October 27, 2004, noon + + + Session Evaluation - Eligibility for Prize! + + + Dial In Numbers for Sites Registered + + + Poster and Registration Form + +Facilitator: Manager + +preblurb preblurb preblurb preblurb preblurb preblurb preblurb preblurb preblurb "CPNP Toolkit". postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb . + +postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb + +Come check out the new resource!', + 11 => 'Normal', + ), + ), + $this->readCsv('bug_3839.csv', array('length' => 12, 'separator' => '~'))); + } + + public function testBug4025() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'Betreff', + 1 => 'Beginnt am', + 2 => 'Beginnt um', + 3 => 'Endet am', + 4 => 'Endet um', + 5 => 'Ganztägiges Ereignis', + 6 => 'Erinnerung Ein/Aus', + 7 => 'Erinnerung am', + 8 => 'Erinnerung um', + 9 => 'Besprechungsplanung', + 10 => 'Erforderliche Teilnehmer', + 11 => 'Optionale Teilnehmer', + 12 => 'Besprechungsressourcen', + 13 => 'Abrechnungsinformationen', + 14 => 'Beschreibung', + 15 => 'Kategorien', + 16 => 'Ort', + 17 => 'Priorität', + 18 => 'Privat', + 19 => 'Reisekilometer', + 20 => 'Vertraulichkeit', + 21 => 'Zeitspanne zeigen als', + ), + 1 => + array ( + 0 => 'Burger Download Session', + 1 => '2.5.2006', + 2 => '11:50:00', + 3 => '2.5.2006', + 4 => '13:00:00', + 5 => 'Aus', + 6 => 'Ein', + 7 => '2.5.2006', + 8 => '11:35:00', + 9 => 'Haas, Jörg', + 10 => 'Kuhl, Oliver', + 11 => '', + 12 => '', + 13 => '', + 14 => ' +', + 15 => '', + 16 => 'Burger Upload Station (Burger King)', + 17 => 'Normal', + 18 => 'Aus', + 19 => '', + 20 => 'Normal', + 21 => '1', + ), + ), + $this->readCsv('bug_4025.csv', array('length' => 22))); + } + + public function testBug6311() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'Title', + 1 => 'First Name', + 2 => 'Middle Name', + 3 => 'Last Name', + 4 => 'Suffix', + 5 => 'Company', + 6 => 'Department', + 7 => 'Job Title', + 8 => 'Business Street', + 9 => 'Business Street 2', + 10 => 'Business Street 3', + 11 => 'Business City', + 12 => 'Business State', + 13 => 'Business Postal Code', + 14 => 'Business Country/Region', + 15 => 'Home Street', + 16 => 'Home Street 2', + 17 => 'Home Street 3', + 18 => 'Home City', + 19 => 'Home State', + 20 => 'Home Postal Code', + 21 => 'Home Country/Region', + 22 => 'Other Street', + 23 => 'Other Street 2', + 24 => 'Other Street 3', + 25 => 'Other City', + 26 => 'Other State', + 27 => 'Other Postal Code', + 28 => 'Other Country/Region', + 29 => 'Assistant\'s Phone', + 30 => 'Business Fax', + 31 => 'Business Phone', + 32 => 'Business Phone 2', + 33 => 'Callback', + 34 => 'Car Phone', + 35 => 'Company Main Phone', + 36 => 'Home Fax', + 37 => 'Home Phone', + 38 => 'Home Phone 2', + 39 => 'ISDN', + 40 => 'Mobile Phone', + 41 => 'Other Fax', + 42 => 'Other Phone', + 43 => 'Pager', + 44 => 'Primary Phone', + 45 => 'Radio Phone', + 46 => 'TTY/TDD Phone', + 47 => 'Telex', + 48 => 'Account', + 49 => 'Anniversary', + 50 => 'Assistant\'s Name', + 51 => 'Billing Information', + 52 => 'Birthday', + 53 => 'Business Address PO Box', + 54 => 'Categories', + 55 => 'Children', + 56 => 'Directory Server', + 57 => 'E-mail Address', + 58 => 'E-mail Type', + 59 => 'E-mail Display Name', + 60 => 'E-mail 2 Address', + 61 => 'E-mail 2 Type', + 62 => 'E-mail 2 Display Name', + 63 => 'E-mail 3 Address', + 64 => 'E-mail 3 Type', + 65 => 'E-mail 3 Display Name', + 66 => 'Gender', + 67 => 'Government ID Number', + 68 => 'Hobby', + 69 => 'Home Address PO Box', + 70 => 'Initials', + 71 => 'Internet Free Busy', + 72 => 'Keywords', + 73 => 'Language', + 74 => 'Location', + 75 => 'Manager\'s Name', + 76 => 'Mileage', + 77 => 'Notes', + 78 => 'Office Location', + 79 => 'Organizational ID Number', + 80 => 'Other Address PO Box', + 81 => 'Priority', + 82 => 'Private', + 83 => 'Profession', + 84 => 'Referred By', + 85 => 'Sensitivity', + 86 => 'Spouse', + 87 => 'User 1', + 88 => 'User 2', + 89 => 'User 3', + 90 => 'User 4', + 91 => 'Web Page', + ), + 1 => + array ( + 0 => '', + 1 => 'John', + 2 => '', + 3 => 'Smith', + 4 => '', + 5 => 'International Inc', + 6 => '', + 7 => '', + 8 => '', + 9 => '', + 10 => '', + 11 => '', + 12 => '', + 13 => '', + 14 => '', + 15 => '', + 16 => '', + 17 => '', + 18 => '', + 19 => '', + 20 => '', + 21 => '', + 22 => '', + 23 => '', + 24 => '', + 25 => '', + 26 => '', + 27 => '', + 28 => '', + 29 => '', + 30 => '(123) 555-1111', + 31 => '(123) 555-2222', + 32 => '', + 33 => '', + 34 => '', + 35 => '', + 36 => '', + 37 => '', + 38 => '', + 39 => '', + 40 => '(123) 555-3333', + 41 => '', + 42 => '', + 43 => '', + 44 => '', + 45 => '', + 46 => '', + 47 => '', + 48 => '', + 49 => '0/0/00', + 50 => '', + 51 => '', + 52 => '0/0/00', + 53 => '', + 54 => 'Programming', + 55 => '', + 56 => '', + 57 => 'john@example.com', + 58 => 'SMTP', + 59 => 'John Smith (john@example.com)', + 60 => '', + 61 => '', + 62 => '', + 63 => '', + 64 => '', + 65 => '', + 66 => 'Unspecified', + 67 => '', + 68 => '', + 69 => '', + 70 => 'J.S.', + 71 => '', + 72 => '', + 73 => '', + 74 => '', + 75 => '', + 76 => '', + 77 => 'PHP +Perl +Python +', + 78 => '', + 79 => '', + 80 => '', + 81 => 'Normal', + 82 => 'False', + 83 => '', + 84 => '', + 85 => 'Normal', + 86 => '', + 87 => '', + 88 => '', + 89 => '', + 90 => '', + 91 => '', + ), + ), + $this->readCsv('bug_6311.csv', array('length' => 92))); + } + + public function testBug6370() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'Title', + 1 => 'First Name', + 2 => 'Middle Name', + 3 => 'Last Name', + 4 => 'Suffix', + 5 => 'Company', + 6 => 'Department', + 7 => 'Job Title', + 8 => 'Business Street', + 9 => 'Business Street 2', + 10 => 'Business Street 3', + 11 => 'Business City', + 12 => 'Business State', + 13 => 'Business Postal Code', + 14 => 'Business Country/Region', + 15 => 'Home Street', + 16 => 'Home Street 2', + 17 => 'Home Street 3', + 18 => 'Home City', + 19 => 'Home State', + 20 => 'Home Postal Code', + 21 => 'Home Country/Region', + 22 => 'Other Street', + 23 => 'Other Street 2', + 24 => 'Other Street 3', + 25 => 'Other City', + 26 => 'Other State', + 27 => 'Other Postal Code', + 28 => 'Other Country/Region', + 29 => 'Assistant\'s Phone', + 30 => 'Business Fax', + 31 => 'Business Phone', + 32 => 'Business Phone 2', + 33 => 'Callback', + 34 => 'Car Phone', + 35 => 'Company Main Phone', + 36 => 'Home Fax', + 37 => 'Home Phone', + 38 => 'Home Phone 2', + 39 => 'ISDN', + 40 => 'Mobile Phone', + 41 => 'Other Fax', + 42 => 'Other Phone', + 43 => 'Pager', + 44 => 'Primary Phone', + 45 => 'Radio Phone', + 46 => 'TTY/TDD Phone', + 47 => 'Telex', + 48 => 'Account', + 49 => 'Anniversary', + 50 => 'Assistant\'s Name', + 51 => 'Billing Information', + 52 => 'Birthday', + 53 => 'Business Address PO Box', + 54 => 'Categories', + 55 => 'Children', + 56 => 'Directory Server', + 57 => 'E-mail Address', + 58 => 'E-mail Type', + 59 => 'E-mail Display Name', + 60 => 'E-mail 2 Address', + 61 => 'E-mail 2 Type', + 62 => 'E-mail 2 Display Name', + 63 => 'E-mail 3 Address', + 64 => 'E-mail 3 Type', + 65 => 'E-mail 3 Display Name', + 66 => 'Gender', + 67 => 'Government ID Number', + 68 => 'Hobby', + 69 => 'Home Address PO Box', + 70 => 'Initials', + 71 => 'Internet Free Busy', + 72 => 'Keywords', + 73 => 'Language', + 74 => 'Location', + 75 => 'Manager\'s Name', + 76 => 'Mileage', + 77 => 'Notes', + 78 => 'Office Location', + 79 => 'Organizational ID Number', + 80 => 'Other Address PO Box', + 81 => 'Priority', + 82 => 'Private', + 83 => 'Profession', + 84 => 'Referred By', + 85 => 'Sensitivity', + 86 => 'Spouse', + 87 => 'User 1', + 88 => 'User 2', + 89 => 'User 3', + 90 => 'User 4', + 91 => 'Web Page', + ), + 1 => + array ( + 0 => '', + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + 8 => 'Big Tower\'", 1" Floor +123 Main Street', + 9 => '', + 10 => '', + 11 => '', + 12 => '', + 13 => '', + 14 => '', + 15 => '', + 16 => '', + 17 => '', + 18 => '', + 19 => '', + 20 => '', + 21 => '', + 22 => '', + 23 => '', + 24 => '', + 25 => '', + 26 => '', + 27 => '', + 28 => '', + 29 => '', + 30 => '', + 31 => '', + 32 => '', + 33 => '', + 34 => '', + 35 => '', + 36 => '', + 37 => '', + 38 => '', + 39 => '', + 40 => '', + 41 => '', + 42 => '', + 43 => '', + 44 => '', + 45 => '', + 46 => '', + 47 => '', + 48 => '', + 49 => '0/0/00', + 50 => '', + 51 => '', + 52 => '0/0/00', + 53 => '', + 54 => '', + 55 => '', + 56 => '', + 57 => '', + 58 => '', + 59 => '', + 60 => '', + 61 => '', + 62 => '', + 63 => '', + 64 => '', + 65 => '', + 66 => 'Unspecified', + 67 => '', + 68 => '', + 69 => '', + 70 => '', + 71 => '', + 72 => '', + 73 => '', + 74 => '', + 75 => '', + 76 => '', + 77 => '', + 78 => '', + 79 => '', + 80 => '', + 81 => 'Normal', + 82 => 'False', + 83 => '', + 84 => '', + 85 => 'Normal', + 86 => '', + 87 => '', + 88 => '', + 89 => '', + 90 => '', + 91 => '', + ), + ), + $this->readCsv('bug_6370.csv', array('length' => 92))); + } + + public function testBug6372() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'Title', + 1 => 'First Name', + 2 => 'Middle Name', + 3 => 'Last Name', + 4 => 'Suffix', + 5 => 'Company', + 6 => 'Department', + 7 => 'Job Title', + 8 => 'Business Street', + 9 => 'Business Street 2', + 10 => 'Business Street 3', + 11 => 'Business City', + 12 => 'Business State', + 13 => 'Business Postal Code', + 14 => 'Business Country/Region', + 15 => 'Home Street', + 16 => 'Home Street 2', + 17 => 'Home Street 3', + 18 => 'Home City', + 19 => 'Home State', + 20 => 'Home Postal Code', + 21 => 'Home Country/Region', + 22 => 'Other Street', + 23 => 'Other Street 2', + 24 => 'Other Street 3', + 25 => 'Other City', + 26 => 'Other State', + 27 => 'Other Postal Code', + 28 => 'Other Country/Region', + 29 => 'Assistant\'s Phone', + 30 => 'Business Fax', + 31 => 'Business Phone', + 32 => 'Business Phone 2', + 33 => 'Callback', + 34 => 'Car Phone', + 35 => 'Company Main Phone', + 36 => 'Home Fax', + 37 => 'Home Phone', + 38 => 'Home Phone 2', + 39 => 'ISDN', + 40 => 'Mobile Phone', + 41 => 'Other Fax', + 42 => 'Other Phone', + 43 => 'Pager', + 44 => 'Primary Phone', + 45 => 'Radio Phone', + 46 => 'TTY/TDD Phone', + 47 => 'Telex', + 48 => 'Account', + 49 => 'Anniversary', + 50 => 'Assistant\'s Name', + 51 => 'Billing Information', + 52 => 'Birthday', + 53 => 'Business Address PO Box', + 54 => 'Categories', + 55 => 'Children', + 56 => 'Directory Server', + 57 => 'E-mail Address', + 58 => 'E-mail Type', + 59 => 'E-mail Display Name', + 60 => 'E-mail 2 Address', + 61 => 'E-mail 2 Type', + 62 => 'E-mail 2 Display Name', + 63 => 'E-mail 3 Address', + 64 => 'E-mail 3 Type', + 65 => 'E-mail 3 Display Name', + 66 => 'Gender', + 67 => 'Government ID Number', + 68 => 'Hobby', + 69 => 'Home Address PO Box', + 70 => 'Initials', + 71 => 'Internet Free Busy', + 72 => 'Keywords', + 73 => 'Language', + 74 => 'Location', + 75 => 'Manager\'s Name', + 76 => 'Mileage', + 77 => 'Notes', + 78 => 'Office Location', + 79 => 'Organizational ID Number', + 80 => 'Other Address PO Box', + 81 => 'Priority', + 82 => 'Private', + 83 => 'Profession', + 84 => 'Referred By', + 85 => 'Sensitivity', + 86 => 'Spouse', + 87 => 'User 1', + 88 => 'User 2', + 89 => 'User 3', + 90 => 'User 4', + 91 => 'Web Page', + ), + 1 => + array ( + 0 => '', + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + 8 => '123, 12th Floor, +Main Street', + 9 => '', + 10 => '', + 11 => '', + 12 => '', + 13 => '', + 14 => '', + 15 => '', + 16 => '', + 17 => '', + 18 => '', + 19 => '', + 20 => '', + 21 => '', + 22 => '', + 23 => '', + 24 => '', + 25 => '', + 26 => '', + 27 => '', + 28 => '', + 29 => '', + 30 => '', + 31 => '', + 32 => '', + 33 => '', + 34 => '', + 35 => '', + 36 => '', + 37 => '', + 38 => '', + 39 => '', + 40 => '', + 41 => '', + 42 => '', + 43 => '', + 44 => '', + 45 => '', + 46 => '', + 47 => '', + 48 => '', + 49 => '0/0/00', + 50 => '', + 51 => '', + 52 => '0/0/00', + 53 => '', + 54 => '', + 55 => '', + 56 => '', + 57 => '', + 58 => '', + 59 => '', + 60 => '', + 61 => '', + 62 => '', + 63 => '', + 64 => '', + 65 => '', + 66 => 'Unspecified', + 67 => '', + 68 => '', + 69 => '', + 70 => '', + 71 => '', + 72 => '', + 73 => '', + 74 => '', + 75 => '', + 76 => '', + 77 => ' +', + 78 => '', + 79 => '', + 80 => '', + 81 => 'Normal', + 82 => 'False', + 83 => '', + 84 => '', + 85 => 'Normal', + 86 => '', + 87 => '', + 88 => '', + 89 => '', + 90 => '', + 91 => '', + ), + ), + $this->readCsv('bug_6372.csv', array('length' => 92))); + } + + public function testLineEndings() + { + foreach (array('simple_lf', 'simple_crlf', 'notrailing_lf', 'notrailing_crlf') as $test) { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'one', + 1 => 'two', + 2 => 'three', + ), + 1 => + array ( + 0 => 'four', + 1 => 'five', + 2 => 'six', + ), + ), + $this->readCsv($test . '.csv')); + } + } + + public function testMultiLine() + { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'one', + 1 => 'two', + 2 => 'three +four', + ), + 1 => + array ( + 0 => 'five', + 1 => 'six +seven', + 2 => 'eight', + ), + 2 => + array ( + 0 => 'nine', + 1 => 'ten', + 2 => 'eleven +twelve', + ), + 3 => + array ( + 0 => 'one', + 1 => 'two', + 2 => 'three + four', + ), + ), + $this->readCsv('multiline1.csv')); + } + + public function testQuotes() + { + for ($i = 1; $i <= 2; $i++) { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'one', + 1 => 'two', + 2 => 'three', + ), + 1 => + array ( + 0 => 'four', + 1 => 'five six', + 2 => 'seven', + ), + ), + $this->readCsv('quote' . $i . '.csv')); + } + + for ($i = 3; $i <= 5; $i++) { + $this->assertEquals(array ( + 0 => + array ( + 0 => 'one two', + 1 => 'three, four', + 2 => 'five', + ), + 1 => + array ( + 0 => 'six', + 1 => 'seven ', + 2 => 'eight', + ), + ), + $this->readCsv('quote' . $i . '.csv')); + } + } +} diff --git a/framework/File_Csv/test/Horde/Csv/001.csv b/framework/Util/test/Horde/Util/fixtures/001.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/001.csv rename to framework/Util/test/Horde/Util/fixtures/001.csv diff --git a/framework/File_Csv/test/Horde/Csv/002.csv b/framework/Util/test/Horde/Util/fixtures/002.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/002.csv rename to framework/Util/test/Horde/Util/fixtures/002.csv diff --git a/framework/File_Csv/test/Horde/Csv/003.csv b/framework/Util/test/Horde/Util/fixtures/003.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/003.csv rename to framework/Util/test/Horde/Util/fixtures/003.csv diff --git a/framework/File_Csv/test/Horde/Csv/004.csv b/framework/Util/test/Horde/Util/fixtures/004.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/004.csv rename to framework/Util/test/Horde/Util/fixtures/004.csv diff --git a/framework/File_Csv/test/Horde/Csv/005.csv b/framework/Util/test/Horde/Util/fixtures/005.csv similarity index 90% rename from framework/File_Csv/test/Horde/Csv/005.csv rename to framework/Util/test/Horde/Util/fixtures/005.csv index 3b26aa998..059ad6e66 100644 --- a/framework/File_Csv/test/Horde/Csv/005.csv +++ b/framework/Util/test/Horde/Util/fixtures/005.csv @@ -1 +1 @@ -"Field 1-1","Field 1-2","Field 1-3","Field 1-4" "Field 2-1","Field 2-2","Field 2-3","I'm multiline Field" "Field 3-1","Field 3-2","Field 3-3" \ No newline at end of file +"Field 1-1","Field 1-2","Field 1-3","Field 1-4" "Field 2-1","Field 2-2","Field 2-3","I'm multiline Field" "Field 3-1","Field 3-2","Field 3-3" \ No newline at end of file diff --git a/framework/File_Csv/test/Horde/Csv/bug_3839.csv b/framework/Util/test/Horde/Util/fixtures/bug_3839.csv similarity index 91% rename from framework/File_Csv/test/Horde/Csv/bug_3839.csv rename to framework/Util/test/Horde/Util/fixtures/bug_3839.csv index 7deda38f2..f3690f006 100644 --- a/framework/File_Csv/test/Horde/Csv/bug_3839.csv +++ b/framework/Util/test/Horde/Util/fixtures/bug_3839.csv @@ -1,5 +1,5 @@ Subject~Start Date~Start Time~End Date~End Time~All day event~Reminder on/off~Reminder Date~Reminder Time~Category~Description~Priority -"Inservice on new resource: ""CPNP Toolkit"""~2004-11-08~10:30 AM~2004-11-08~11:30 AM~FALSE~FALSE~~~Training~"CPN Program ... +"Inservice on new resource: ""CPNP Toolkit"""~2004-11-08~10:30 AM~2004-11-08~11:30 AM~FALSE~FALSE~~~Training~"CPN Program ... Inservice on new resource: ""CPNP Toolkit"" Registration Deadline: October 27, 2004, noon @@ -13,10 +13,10 @@ Inservice on new resource: ""CPNP Toolkit"" Poster and Registration Form -Facilitator: Manager +Facilitator: Manager preblurb preblurb preblurb preblurb preblurb preblurb preblurb preblurb preblurb ""CPNP Toolkit"". postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb . -postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb +postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb postblurb Come check out the new resource!"~Normal diff --git a/framework/Util/test/Horde/Util/fixtures/bug_4025.csv b/framework/Util/test/Horde/Util/fixtures/bug_4025.csv new file mode 100644 index 000000000..8748feda3 --- /dev/null +++ b/framework/Util/test/Horde/Util/fixtures/bug_4025.csv @@ -0,0 +1,3 @@ +"Betreff","Beginnt am","Beginnt um","Endet am","Endet um","Ganztägiges Ereignis","Erinnerung Ein/Aus","Erinnerung am","Erinnerung um","Besprechungsplanung","Erforderliche Teilnehmer","Optionale Teilnehmer","Besprechungsressourcen","Abrechnungsinformationen","Beschreibung","Kategorien","Ort","Priorität","Privat","Reisekilometer","Vertraulichkeit","Zeitspanne zeigen als" +"Burger Download Session","2.5.2006","11:50:00","2.5.2006","13:00:00","Aus","Ein","2.5.2006","11:35:00","Haas, Jörg","Kuhl, Oliver",,,," +",,"Burger Upload Station (Burger King)","Normal","Aus",,"Normal","1" diff --git a/framework/File_Csv/test/Horde/Csv/bug_6311.csv b/framework/Util/test/Horde/Util/fixtures/bug_6311.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/bug_6311.csv rename to framework/Util/test/Horde/Util/fixtures/bug_6311.csv diff --git a/framework/File_Csv/test/Horde/Csv/bug_6370.csv b/framework/Util/test/Horde/Util/fixtures/bug_6370.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/bug_6370.csv rename to framework/Util/test/Horde/Util/fixtures/bug_6370.csv diff --git a/framework/File_Csv/test/Horde/Csv/bug_6372.csv b/framework/Util/test/Horde/Util/fixtures/bug_6372.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/bug_6372.csv rename to framework/Util/test/Horde/Util/fixtures/bug_6372.csv diff --git a/framework/File_Csv/test/Horde/Csv/columns1.csv b/framework/Util/test/Horde/Util/fixtures/columns1.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/columns1.csv rename to framework/Util/test/Horde/Util/fixtures/columns1.csv diff --git a/framework/File_Csv/test/Horde/Csv/columns2.csv b/framework/Util/test/Horde/Util/fixtures/columns2.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/columns2.csv rename to framework/Util/test/Horde/Util/fixtures/columns2.csv diff --git a/framework/File_Csv/test/Horde/Csv/multiline1.csv b/framework/Util/test/Horde/Util/fixtures/multiline1.csv similarity index 79% rename from framework/File_Csv/test/Horde/Csv/multiline1.csv rename to framework/Util/test/Horde/Util/fixtures/multiline1.csv index 5e836a7df..a13807acd 100644 --- a/framework/File_Csv/test/Horde/Csv/multiline1.csv +++ b/framework/Util/test/Horde/Util/fixtures/multiline1.csv @@ -2,7 +2,7 @@ four" "five","six seven","eight" -"nine","ten","eleven +"nine","ten","eleven twelve" "one","two","three four" diff --git a/framework/File_Csv/test/Horde/Csv/notrailing_crlf.csv b/framework/Util/test/Horde/Util/fixtures/notrailing_crlf.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/notrailing_crlf.csv rename to framework/Util/test/Horde/Util/fixtures/notrailing_crlf.csv diff --git a/framework/File_Csv/test/Horde/Csv/notrailing_lf.csv b/framework/Util/test/Horde/Util/fixtures/notrailing_lf.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/notrailing_lf.csv rename to framework/Util/test/Horde/Util/fixtures/notrailing_lf.csv diff --git a/framework/File_Csv/test/Horde/Csv/quote1.csv b/framework/Util/test/Horde/Util/fixtures/quote1.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/quote1.csv rename to framework/Util/test/Horde/Util/fixtures/quote1.csv diff --git a/framework/File_Csv/test/Horde/Csv/quote2.csv b/framework/Util/test/Horde/Util/fixtures/quote2.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/quote2.csv rename to framework/Util/test/Horde/Util/fixtures/quote2.csv diff --git a/framework/File_Csv/test/Horde/Csv/quote3.csv b/framework/Util/test/Horde/Util/fixtures/quote3.csv similarity index 97% rename from framework/File_Csv/test/Horde/Csv/quote3.csv rename to framework/Util/test/Horde/Util/fixtures/quote3.csv index c44409128..323097efe 100644 --- a/framework/File_Csv/test/Horde/Csv/quote3.csv +++ b/framework/Util/test/Horde/Util/fixtures/quote3.csv @@ -1,3 +1,2 @@ "one two","three, four",five six,"seven ",eight - diff --git a/framework/File_Csv/test/Horde/Csv/quote4.csv b/framework/Util/test/Horde/Util/fixtures/quote4.csv similarity index 97% rename from framework/File_Csv/test/Horde/Csv/quote4.csv rename to framework/Util/test/Horde/Util/fixtures/quote4.csv index c44409128..323097efe 100644 --- a/framework/File_Csv/test/Horde/Csv/quote4.csv +++ b/framework/Util/test/Horde/Util/fixtures/quote4.csv @@ -1,3 +1,2 @@ "one two","three, four",five six,"seven ",eight - diff --git a/framework/File_Csv/test/Horde/Csv/quote5.csv b/framework/Util/test/Horde/Util/fixtures/quote5.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/quote5.csv rename to framework/Util/test/Horde/Util/fixtures/quote5.csv diff --git a/framework/Util/test/Horde/Util/fixtures/simple_cr.csv b/framework/Util/test/Horde/Util/fixtures/simple_cr.csv new file mode 100644 index 000000000..c19778fdf --- /dev/null +++ b/framework/Util/test/Horde/Util/fixtures/simple_cr.csv @@ -0,0 +1 @@ +one,two,three four,five,six \ No newline at end of file diff --git a/framework/File_Csv/test/Horde/Csv/simple_crlf.csv b/framework/Util/test/Horde/Util/fixtures/simple_crlf.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/simple_crlf.csv rename to framework/Util/test/Horde/Util/fixtures/simple_crlf.csv diff --git a/framework/File_Csv/test/Horde/Csv/simple_lf.csv b/framework/Util/test/Horde/Util/fixtures/simple_lf.csv similarity index 100% rename from framework/File_Csv/test/Horde/Csv/simple_lf.csv rename to framework/Util/test/Horde/Util/fixtures/simple_lf.csv -- 2.11.0