diff --git a/languages/bg.lang b/languages/bg.lang index 22cf6496..f11bb96b 100644 --- a/languages/bg.lang +++ b/languages/bg.lang @@ -22,6 +22,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/ca.lang b/languages/ca.lang index 20727ffe..24272463 100644 --- a/languages/ca.lang +++ b/languages/ca.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/cn.lang b/languages/cn.lang index 33cafebd..15b3e3ea 100644 --- a/languages/cn.lang +++ b/languages/cn.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/cs.lang b/languages/cs.lang index 1d7b8ef7..5560051f 100644 --- a/languages/cs.lang +++ b/languages/cs.lang @@ -25,6 +25,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/da.lang b/languages/da.lang index a88a3b4e..1e1a1afb 100644 --- a/languages/da.lang +++ b/languages/da.lang @@ -24,6 +24,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/de.lang b/languages/de.lang index de18922b..2b408ea9 100644 --- a/languages/de.lang +++ b/languages/de.lang @@ -22,6 +22,7 @@ $PALANG['show'] = 'Anzeigen:'; $PALANG['all'] = 'Alle'; $PALANG['created'] = 'Erstellt'; $PALANG['unknown'] = 'unbekannt'; +$PALANG['download_csv'] = 'Diese Liste als CSV-Datei herunterladen'; $PALANG['missing_field'] = 'Das Feld %s fehlt'; $PALANG['must_be_numeric'] = '%s muss numerisch sein'; $PALANG['must_be_boolean'] = "%s muss ein Bool'scher Wert sein"; diff --git a/languages/en.lang b/languages/en.lang index 8047eef3..43182811 100644 --- a/languages/en.lang +++ b/languages/en.lang @@ -22,6 +22,7 @@ $PALANG['show'] = 'Show:'; $PALANG['all'] = 'All'; $PALANG['created'] = 'Created'; $PALANG['unknown'] = 'unknown'; +$PALANG['download_csv'] = 'Download this list as CSV file'; $PALANG['missing_field'] = 'Field %s is missing'; $PALANG['must_be_numeric'] = '%s must be numeric'; $PALANG['must_be_boolean'] = '%s must be boolean'; diff --git a/languages/es.lang b/languages/es.lang index 4c7cfe69..8efbc3fa 100644 --- a/languages/es.lang +++ b/languages/es.lang @@ -22,6 +22,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/et.lang b/languages/et.lang index c7db5485..3f6e7422 100644 --- a/languages/et.lang +++ b/languages/et.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/eu.lang b/languages/eu.lang index ed378525..bb301cd3 100644 --- a/languages/eu.lang +++ b/languages/eu.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/fi.lang b/languages/fi.lang index f1dcc433..d72be66e 100644 --- a/languages/fi.lang +++ b/languages/fi.lang @@ -22,6 +22,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/fo.lang b/languages/fo.lang index 866728d8..01f14d6f 100644 --- a/languages/fo.lang +++ b/languages/fo.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/fr.lang b/languages/fr.lang index 56f7ddb7..ab97d8ab 100644 --- a/languages/fr.lang +++ b/languages/fr.lang @@ -23,6 +23,7 @@ $PALANG['show'] = 'Afficher:'; $PALANG['all'] = 'Tous'; $PALANG['created'] = 'Créé'; $PALANG['unknown'] = 'inconnu'; +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Le champ %s est manquant'; $PALANG['must_be_numeric'] = '%s doit être numérique'; $PALANG['must_be_boolean'] = '%s doit être booléen'; diff --git a/languages/hr.lang b/languages/hr.lang index 3d1bd4b4..a76353ca 100644 --- a/languages/hr.lang +++ b/languages/hr.lang @@ -20,6 +20,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/hu.lang b/languages/hu.lang index 7aabccbd..08d0d7e6 100644 --- a/languages/hu.lang +++ b/languages/hu.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/is.lang b/languages/is.lang index 36041b41..b522e84a 100644 --- a/languages/is.lang +++ b/languages/is.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/it.lang b/languages/it.lang index bf7120b5..61b983e7 100644 --- a/languages/it.lang +++ b/languages/it.lang @@ -22,6 +22,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/ja.lang b/languages/ja.lang index 9efb7bc2..3ef38172 100644 --- a/languages/ja.lang +++ b/languages/ja.lang @@ -22,6 +22,7 @@ $PALANG['show'] = '閲覧:'; $PALANG['all'] = '全て'; $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/lt.lang b/languages/lt.lang index e9053609..5545137a 100644 --- a/languages/lt.lang +++ b/languages/lt.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Rodyti:'; $PALANG['all'] = 'Visi'; $PALANG['created'] = 'Sukurta'; $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/mk.lang b/languages/mk.lang index 152cf564..ea950e1a 100644 --- a/languages/mk.lang +++ b/languages/mk.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/nb.lang b/languages/nb.lang index 4dff1659..7969a917 100644 --- a/languages/nb.lang +++ b/languages/nb.lang @@ -23,6 +23,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/nl.lang b/languages/nl.lang index 918c86b9..44d923bc 100644 --- a/languages/nl.lang +++ b/languages/nl.lang @@ -22,6 +22,7 @@ $PALANG['show'] = 'Toon:'; $PALANG['all'] = 'Alle'; $PALANG['created'] = 'Aangemaakt'; #XXX $PALANG['unknown'] = 'onbekend'; #XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Veld %s is niet aanwezig'; #XXX $PALANG['must_be_numeric'] = '%s moet een getal zijn'; #XXX $PALANG['must_be_boolean'] = '%s moet een boolean zijn'; #XXX diff --git a/languages/nn.lang b/languages/nn.lang index 5a31bb18..7ae8daf6 100644 --- a/languages/nn.lang +++ b/languages/nn.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/pl.lang b/languages/pl.lang index 2938f58d..feb418ff 100644 --- a/languages/pl.lang +++ b/languages/pl.lang @@ -24,6 +24,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/pt-br.lang b/languages/pt-br.lang index e832eb42..aeaaf69d 100644 --- a/languages/pt-br.lang +++ b/languages/pt-br.lang @@ -22,6 +22,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/ru.lang b/languages/ru.lang index 808b991c..15cdb11d 100644 --- a/languages/ru.lang +++ b/languages/ru.lang @@ -23,6 +23,7 @@ $PALANG['show'] = 'Показать:'; $PALANG['all'] = 'Все'; $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/sk.lang b/languages/sk.lang index 62a0d1c4..bae21073 100644 --- a/languages/sk.lang +++ b/languages/sk.lang @@ -22,6 +22,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/sl.lang b/languages/sl.lang index 8dc15f8c..2ccba55d 100644 --- a/languages/sl.lang +++ b/languages/sl.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/sv.lang b/languages/sv.lang index 8a5586c0..ba8e7ac5 100644 --- a/languages/sv.lang +++ b/languages/sv.lang @@ -23,6 +23,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/tr.lang b/languages/tr.lang index 2f116fae..a0639a9c 100644 --- a/languages/tr.lang +++ b/languages/tr.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/languages/tw.lang b/languages/tw.lang index 511630b2..6a5d3a5d 100644 --- a/languages/tw.lang +++ b/languages/tw.lang @@ -21,6 +21,7 @@ $PALANG['show'] = 'Show:'; # XXX $PALANG['all'] = 'All'; # XXX $PALANG['created'] = 'Created'; # XXX $PALANG['unknown'] = 'unknown'; # XXX +$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX $PALANG['missing_field'] = 'Field %s is missing'; # XXX $PALANG['must_be_numeric'] = '%s must be numeric'; # XXX $PALANG['must_be_boolean'] = '%s must be boolean'; # XXX diff --git a/list.php b/list.php index 2dc4b5b1..48bea500 100644 --- a/list.php +++ b/list.php @@ -56,9 +56,46 @@ if ($is_admin) { $handler->getList(''); $items = $handler->result(); -$smarty->assign('admin_list', $list_admins); -$smarty->assign('admin_selected', $username); -#if ($is_superadmin) { +if (safeget('output') == 'csv') { + + $out = fopen('php://output', 'w'); + header( 'Content-Type: text/csv; charset=utf-8' ); + header( 'Content-Disposition: attachment;filename='.$table.'.csv'); + + print "\xEF\xBB\xBF"; # utf8 byte-order to indicate the file is utf8 encoded + # print "sep=;"; # hint that ; is used as seperator - breaks the utf8 flag in excel import! + print "\n"; + + if (!defined('ENT_HTML401')) { # for compability for PHP < 5.4.0 + define('ENT_HTML401', 0); + } + + # print column headers as csv + $header = array(); + $columns = array(); + foreach ($handler->getStruct() as $key => $field) { + if ($field['display_in_list'] && $field['label'] != '') { # don't show fields without a label + $header[] = html_entity_decode ( $field['label'], ENT_COMPAT | ENT_HTML401, 'UTF-8' ); + $columns[] = $key; + } + } + fputcsv($out, $header, ';'); + + # print items as csv + foreach ($items as $item) { + $fields = array(); + foreach ($columns as $column) { + $fields[] = $item[$column]; + } + fputcsv($out, $fields, ';'); + } + + fclose($out); + +} else { # HTML output + + $smarty->assign('admin_list', $list_admins); + $smarty->assign('admin_selected', $username); $smarty->assign('smarty_template', 'list'); $smarty->assign('struct', $handler->getStruct()); $smarty->assign('msg', $handler->getMsg()); @@ -66,11 +103,10 @@ $smarty->assign('admin_selected', $username); $smarty->assign('items', $items); $smarty->assign('id_field', $handler->getId_field()); $smarty->assign('formconf', $formconf); -#} else { -# $smarty->assign ('smarty_template', 'overview-get'); -#} -$smarty->display ('index.tpl'); + $smarty->display ('index.tpl'); + +} /* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */ ?> diff --git a/templates/list.tpl b/templates/list.tpl index 2c4f3529..2ea6243b 100644 --- a/templates/list.tpl +++ b/templates/list.tpl @@ -64,5 +64,7 @@
{$PALANG.{$formconf.create_button}}
+
+
{$PALANG.download_csv}