openrat-cms

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

CSVTable.class.php (2039B)


      1 <?php
      2 // OpenRat Content Management System
      3 // Copyright (C) 2002-2012 Jan Dankert, cms@jandankert.de
      4 //
      5 // This program is free software; you can redistribute it and/or
      6 // modify it under the terms of the GNU General Public License
      7 // as published by the Free Software Foundation; either version 2
      8 // of the License, or (at your option) any later version.
      9 //
     10 // This program is distributed in the hope that it will be useful,
     11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
     12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13 // GNU General Public License for more details.
     14 //
     15 // You should have received a copy of the GNU General Public License
     16 // along with this program; if not, write to the Free Software
     17 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
     18 use cms\model\File;
     19 
     20 
     21 /**
     22  * Aus einer CSV-Datei wird eine HTML-Tabelle erstellt.
     23  *
     24  * @author Jan Dankert
     25  */
     26 class CSVList extends Macro
     27 {
     28 	/**
     29 	 * Id der Datei, welche die Werte enthält. 
     30 	 * @var unknown_type
     31 	 */
     32 	var $fileid                = 0;
     33 	
     34 	/**
     35 	 * CSS-Klasse der Tabelle.
     36 	 * @var unknown_type
     37 	 */
     38 	var $css_class             = 'table';
     39 	
     40 	/**
     41 	 * Trennzeichen (Default: Komma).
     42 	 * @var unknown_type
     43 	 */
     44 	var $seperator             = ',';
     45 	
     46 	/**
     47 	 * Bitte immer eine Beschreibung benutzen, dies ist fuer den Web-Developer hilfreich.
     48 	 * @type String
     49 	 */
     50 	var $description = 'Creates a HTML-table from a CSV-file';
     51 
     52 	
     53 	
     54 	function execute()
     55 	{
     56 		$this->output('<table class="'.$this->css_class.'">');
     57 		
     58 		// Datei lesen
     59 		$file = new File( $this->fileid );
     60 		$values = $file->loadValue();
     61 		
     62 		// In einzelne Zeilen zerlegen.
     63 		$lines = explode("\n",$values);
     64 		
     65 		foreach( $lines as $line )
     66 		{
     67 			$this->output('<tr>');
     68 			
     69 			// In einzelne Spalten zerlegen.
     70 			$columns = explode($seperator,$line);
     71 			foreach( $columns as $column )
     72 			{
     73 				$this->output('<td>' );
     74 				$this->output($column);
     75 				$this->output('</td>');
     76 			}
     77 			$this->output('</tr>');
     78 		}
     79 
     80 		$this->output('</table>');
     81 	}
     82 }
     83 
     84 
     85 ?>