openrat-cms

# OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs

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:
modules/cms-publish/filter/Csv2HtmlFilter.class.php | 43+++++++++++++++++++++++++++++++++++++++++++
modules/cms-publish/require.php | 1+
modules/cms-ui/themes/default/html/views/text/show.php | 17++---------------
modules/cms-ui/themes/default/html/views/text/show.tpl.src.xml | 9+++++----
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