diff options
author | Silvio <silvio@devlet.com.br> | 2010-08-18 12:00:21 -0300 |
---|---|---|
committer | Silvio <silvio@devlet.com.br> | 2010-08-18 12:00:21 -0300 |
commit | 70539fe94d67cb4bdde7edce8a26873343d3c240 (patch) | |
tree | 2009cc33ccafa6a6f7c3d66523e6000cca10677d /tests/csv.php | |
parent | f7b8ba01cb6cbf78d5e687bd17dc5c571fe6c85e (diff) | |
download | cinisis-70539fe94d67cb4bdde7edce8a26873343d3c240.tar.gz cinisis-70539fe94d67cb4bdde7edce8a26873343d3c240.tar.bz2 |
Moving tests to apps folder
Diffstat (limited to 'tests/csv.php')
-rw-r--r-- | tests/csv.php | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/tests/csv.php b/tests/csv.php deleted file mode 100644 index e50249b..0000000 --- a/tests/csv.php +++ /dev/null @@ -1,124 +0,0 @@ -<?php -/** - * Cinisis - Isis db reading tool. - * - * @TODO: check what happens if theres a field and subfields with repetition. - */ - -/** - * Format a value for CSV output. - * - * @param $field - * Field entry. - * - * @return - * Formatted CSV field. - */ -function csv($field = NULL) { - return '"'. preg_replace('/"/', '""', $field) .'",'; -} - -/** - * Apply filters into the result. - * - * @param $field - * Field entry. - */ -function filter(&$field = NULL) { - // Remove brackets from field content. - $field = str_replace('<', '', $field); - $field = str_replace('>', '', $field); -} - -/** - * Merge fields in a single cel. - * - * @param $data - * Array with field data. - * - * @param $field - * Field name. - * - * @return - * Cel with merged fields. - */ -function merge_fields($data, $field) { - $cel = ''; - $sep = (count($data) > 1) ? '; ': ''; - foreach ($data as $subkey => $subvalue) { - $cel = $cel . $data[$subkey][$field] . $sep; - } - - return $cel; -} - -// Import Cinisis Library. -require_once '../index.php'; - -// Get a db instance. -$isis = new CinisisDb(); - -// Test connection. -if ($isis->db) { - // Get format and number of entries. - $entries = $isis->db->entries(); - $format = $isis->db->format; - - // Prepare output. - header("Content-type: application/text/x-csv"); - header("Content-Disposition: attachment; filename=export.csv"); - header("Pragma: no-cache"); - header("Expires: 0"); - - // Format fields. - foreach ($format['fields'] as $field) { - echo csv($field['name']); - if (is_array($field['subfields'])) { - foreach ($field['subfields'] as $key => $value) { - echo csv($field['name'] .': '. $value); - } - } - } - - // New roll. - echo "\n"; - - // Format output. - for ($n = 1; $n <= $entries; $n++) { - $result = $isis->db->read($n); - - if ($result) { - // Filter results. - array_walk_recursive($result, 'filter'); - - foreach ($format['fields'] as $field) { - if (is_array($result[$field['name']])) { - // Print main field if needed. - if (is_array($result[$field['name']][0])) { - echo csv(); - } - else { - echo csv($result[$field['name']][0]); - } - } - else { - echo csv($result[$field['name']]); - } - if (is_array($field['subfields'])) { - foreach ($field['subfields'] as $key => $value) { - // Deals with subfield repetition. - if (isset($result[$field['name']][0][$value])) { - echo csv(merge_fields($result[$field['name']], $value)); - } - else { - echo csv($result[$field['name']][$value]); - } - } - } - } - - // New roll. - echo "\n"; - } - } -} |