From dcb0ba260da88e4bfe15b38d584adddd9b67fdc5 Mon Sep 17 00:00:00 2001
Message-Id: <dcb0ba260da88e4bfe15b38d584adddd9b67fdc5.1340099126.git.dmitriy.trt@gmail.com>
From: "Dmitriy.trt" <dmitriy.trt@gmail.com>
Date: Tue, 19 Jun 2012 16:45:21 +0700
Subject: [PATCH] Issue #1646596: Add support for "Hide if empty" field option

---
 theme/views_data_export.theme.inc |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/theme/views_data_export.theme.inc b/theme/views_data_export.theme.inc
index b26e8cd..7a12f81 100644
--- a/theme/views_data_export.theme.inc
+++ b/theme/views_data_export.theme.inc
@@ -462,7 +462,7 @@ function _views_data_export_header_shared_preprocess(&$vars) {
 /**
  * Shared helper function for export preprocess functions.
  */
-function _views_data_export_body_shared_preprocess(&$vars) {
+function _views_data_export_body_shared_preprocess(&$vars, $hide_empty_support = FALSE) {
   $view     = $vars['view'];
   $fields   = &$view->field;
 
@@ -475,7 +475,15 @@ function _views_data_export_body_shared_preprocess(&$vars) {
 
     foreach ($keys as $id) {
       if (empty($fields[$id]->options['exclude'])) {
-        $vars['themed_rows'][$num][$id] = $view->style_plugin->rendered_fields[$num][$id];
+        $content = $view->style_plugin->rendered_fields[$num][$id];
+
+        if ($hide_empty_support && !empty($fields[$id]->options['hide_empty'])) {
+          if ($content !== 0 && empty($content)) {
+            continue;
+          }
+        }
+
+        $vars['themed_rows'][$num][$id] = $content;
       }
     }
   }
-- 
1.7.10

