commit 5c8c2198145977a6194c23dc8d75666d244b7f94
parent 73b00b48efeb2189e564eac0340205a146d6d0cf
Author: Jan Dankert <develop@jandankert.de>
Date: Thu, 14 Nov 2019 01:22:06 +0100
New: CSV to HTML Filter.
Diffstat:
4 files changed, 51 insertions(+), 19 deletions(-)
diff --git a/modules/cms-publish/filter/Csv2HtmlFilter.class.php b/modules/cms-publish/filter/Csv2HtmlFilter.class.php
@@ -0,0 +1,42 @@
+<?php
+
+
+namespace cms\publish\filter;
+
+
+class Csv2HtmlFilter extends AbstractFilter
+{
+ public $withHeader = false;
+ public $delimiter = ';';
+ public $enclosure = '"';
+
+ public function filter( $value )
+ {
+ $outputRow = function( $line, $cellTag) {
+ return "<tr><$cellTag>".implode("</$cellTag><$cellTag>",str_getcsv( $line,$this->delimiter,$this->enclosure ))."</$cellTag></tr>";
+
+ };
+
+ $lines = explode("\n",$value );
+
+ $out = '';
+ $out .= '<table>';
+
+ if ( $this->withHeader && $lines )
+ {
+ $out .= '<thead>';
+ $out .= $outputRow( array_shift($lines),'th');
+ $out .= '</thead>';
+ }
+
+
+ $out .= '<tbody>';
+ foreach( $lines as $line )
+ $out .= $outputRow( $line,'td');
+ $out .= '</tbody>';
+
+ $out .= '</table>';
+
+ return $out;
+ }
+}+
\ No newline at end of file
diff --git a/modules/cms-publish/require.php b/modules/cms-publish/require.php
@@ -12,3 +12,4 @@ require_once( __DIR__.'/'.'filter/JavascriptMinifierFilter.class.php' );
require_once( __DIR__.'/'.'filter/LessFilter.class.php' );
require_once( __DIR__.'/'.'filter/Base64DecodeFilter.class.php' );
require_once( __DIR__.'/'.'filter/Base64EncodeFilter.class.php' );
+require_once( __DIR__.'/'.'filter/Csv2HtmlFilter.class.php' );
diff --git a/modules/cms-ui/themes/default/html/views/text/show.php b/modules/cms-ui/themes/default/html/views/text/show.php
@@ -1,14 +1 @@
-<?php if (!defined('OR_TITLE')) die('Forbidden'); ?>
- <tr>
- <td colspan="2">
- <iframe src="<?php echo $preview_url ?>"></iframe>
- <a class="action" target="_self" data-action="file" data-method="edit" data-id="<?php echo OR_ID ?>" data-extra="[]" href="./#/file/">
- <img src="./modules/cms-ui/themes/default/images/icon/icon/edit.png" />
- <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'menu_file_edit'.'')))); ?></span>
- </a>
- <a class="action" target="_self" data-action="file" data-method="editvalue" data-id="<?php echo OR_ID ?>" data-extra="[]" href="./#/file/">
- <img src="./modules/cms-ui/themes/default/images/icon/icon/editvalue.png" />
- <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'menu_file_editvalue'.'')))); ?></span>
- </a>
- </td>
- </tr>-
\ No newline at end of file
+<?php if (!defined('OR_TITLE')) die('Forbidden'); ?><?php echo $value; ?>+
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/html/views/text/show.tpl.src.xml b/modules/cms-ui/themes/default/html/views/text/show.tpl.src.xml
@@ -1,3 +1,4 @@
-<output xmlns="http://www.openrat.de/template"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openrat.de/template ../../../../../../template-engine/components/template.xsd"><dummy><window icon="folder"><row><column colspan="2"><insert url="var:preview_url"></insert><link class="action" action="file" subaction="edit"><image file="icon/edit"></image><text key="menu_file_edit"></text></link><link class="action" action="file" subaction="editvalue"><image file="icon/editvalue"></image><text key="menu_file_editvalue"></text></link></column></row></window></dummy></output>-
\ No newline at end of file
+<text xmlns="http://www.openrat.de/template"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.openrat.de/template ../../../../../../template-engine/components/template.xsd"
+ var="value" escape="false" type="none" newline="false"></text>+
\ No newline at end of file