From 9fb011b14ef82caf9adf266d81a4984b17280822 Mon Sep 17 00:00:00 2001
From: Silvio <silvio@devlet.com.br>
Date: Mon, 23 Aug 2010 16:21:12 -0300
Subject: Refactoring CSV app using IsisConnector

---
 classes/helpers/CinisisDisplayHelper.php | 72 +++++++++++++++++++++++++++++++-
 1 file changed, 70 insertions(+), 2 deletions(-)

(limited to 'classes/helpers')

diff --git a/classes/helpers/CinisisDisplayHelper.php b/classes/helpers/CinisisDisplayHelper.php
index 0a4b7f7..2f8fa65 100644
--- a/classes/helpers/CinisisDisplayHelper.php
+++ b/classes/helpers/CinisisDisplayHelper.php
@@ -11,8 +11,10 @@ class CinisisDisplayHelper {
    *   Page title;
    */
   function __construct($title) {
-    $this->header($title);
-    $this->title($title);
+    if ($title != NULL) {
+      $this->header($title);
+      $this->title($title);
+    }
   }
 
   /**
@@ -347,4 +349,70 @@ class CinisisDisplayHelper {
   protected static function cliDump($var) {
     print_r($var);
   }
+
+  /**
+   * Set the response helper.
+   *
+   * @param $mime
+   *   MIME type.
+   *
+   * @param $filename
+   *   File name.
+   */
+  protected static function webHttpHeader($mime, $filename) {
+    header("Content-type: $mime");
+    header("Content-Disposition: attachment; filename=$filename");
+    header("Pragma: no-cache");
+    header("Expires: 0");
+  }
+
+  /**
+   * Display a value with CSV format.
+   *
+   * @param $value
+   *   Value entry.
+   */
+  protected static function webCsv($value = NULL) {
+    echo '"'. preg_replace('/"/', '""', $value) .'",';
+  }
+
+  /**
+   * Display CSV titles.
+   *
+   * @param $format
+   *   ISIS database format.
+   */
+  protected static function webCsvTitles($format) {
+    // Format fields.
+    foreach ($format['fields'] as $field) {
+      self::csv($field['name']);
+      if (isset($field['subfields']) && is_array($field['subfields'])) {
+        foreach ($field['subfields'] as $key => $value) {
+          self::csv($field['name'] .': '. $value);
+        }
+      }
+    }
+  }
+
+  /**
+   * Display a new CSV row.
+   */
+  protected static function webCsvRow() {
+    echo "\n";
+  }
+  
+  /**
+   * Merge items in a CSV roll.
+   *
+   * @param $items
+   *   Array with items to be merged.
+   */
+  protected function webMergeCsvItems($items) {
+    if (!empty($items)) {
+      self::csv(implode(';', $items));
+    }
+    else {
+      self::csv();
+    }
+  }
 }
-- 
cgit v1.2.3