165 Zeilen
		
	
	
	
		
			4,2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			165 Zeilen
		
	
	
	
		
			4,2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Zend Framework
 | |
|  *
 | |
|  * LICENSE
 | |
|  *
 | |
|  * This source file is subject to the new BSD license that is bundled
 | |
|  * with this package in the file LICENSE.txt.
 | |
|  * It is also available through the world-wide-web at this URL:
 | |
|  * http://framework.zend.com/license/new-bsd
 | |
|  * If you did not receive a copy of the license and are unable to
 | |
|  * obtain it through the world-wide-web, please send an email
 | |
|  * to license@zend.com so we can send you a copy immediately.
 | |
|  *
 | |
|  * @category   Zend
 | |
|  * @package    Zend_Wildfire
 | |
|  * @subpackage Plugin
 | |
|  * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
 | |
|  * @license    http://framework.zend.com/license/new-bsd     New BSD License
 | |
|  * @version    $Id$
 | |
|  */
 | |
| 
 | |
| /** Zend_Wildfire_Plugin_FirePhp */
 | |
| require_once 'Zend/Wildfire/Plugin/FirePhp.php';
 | |
| 
 | |
| /** Zend_Wildfire_Plugin_FirePhp_Message */
 | |
| require_once 'Zend/Wildfire/Plugin/FirePhp/Message.php';
 | |
| 
 | |
| /**
 | |
|  * A message envelope that can be updated for the duration of the requet before
 | |
|  * it gets flushed at the end of the request.
 | |
|  *
 | |
|  * @category   Zend
 | |
|  * @package    Zend_Wildfire
 | |
|  * @subpackage Plugin
 | |
|  * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
 | |
|  * @license    http://framework.zend.com/license/new-bsd     New BSD License
 | |
|  */
 | |
| class Zend_Wildfire_Plugin_FirePhp_TableMessage extends Zend_Wildfire_Plugin_FirePhp_Message
 | |
| {
 | |
|     /**
 | |
|      * The header of the table containing all columns
 | |
|      * @var array
 | |
|      */
 | |
|     protected $_header = null;
 | |
| 
 | |
|     /**
 | |
|      * The rows of the table
 | |
|      * $var array
 | |
|      */
 | |
|     protected $_rows = array();
 | |
| 
 | |
|     /**
 | |
|      * Constructor
 | |
|      *
 | |
|      * @param string $label The label of the table
 | |
|      */
 | |
|     function __construct($label)
 | |
|     {
 | |
|         parent::__construct(Zend_Wildfire_Plugin_FirePhp::TABLE, null);
 | |
|         $this->setLabel($label);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Set the table header
 | |
|      *
 | |
|      * @param array $header The header columns
 | |
|      * @return void
 | |
|      */
 | |
|     public function setHeader($header)
 | |
|     {
 | |
|         $this->_header = $header;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Append a row to the end of the table.
 | |
|      *
 | |
|      * @param array $row An array of column values representing a row.
 | |
|      * @return void
 | |
|      */
 | |
|     public function addRow($row)
 | |
|     {
 | |
|         $this->_rows[] = $row;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Get the actual message to be sent in its final format.
 | |
|      *
 | |
|      * @return mixed Returns the message to be sent.
 | |
|      */
 | |
|     public function getMessage()
 | |
|     {
 | |
|         $table = $this->_rows;
 | |
|         if($this->_header) {
 | |
|             array_unshift($table,$this->_header);
 | |
|         }
 | |
|         return $table;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Returns the row at the given index
 | |
|      *
 | |
|      * @param integer $index The index of the row
 | |
|      * @return array Returns the row
 | |
|      * @throws Zend_Wildfire_Exception
 | |
|      */
 | |
|     public function getRowAt($index)
 | |
|     {
 | |
|         $count = $this->getRowCount();
 | |
| 
 | |
|         if($index < 0 || $index > $count-1) {
 | |
|             require_once 'Zend/Wildfire/Exception.php';
 | |
|             throw new Zend_Wildfire_Exception('Row index('.$index.') out of bounds('.$count.')!');
 | |
|         }
 | |
| 
 | |
|         return $this->_rows[$index];
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the row on the given index to a new row
 | |
|      *
 | |
|      * @param integer $index The index of the row
 | |
|      * @param array $row The new data for the row
 | |
|      * @throws Zend_Wildfire_Exception
 | |
|      */
 | |
|     public function setRowAt($index, $row)
 | |
|     {
 | |
|         $count = $this->getRowCount();
 | |
| 
 | |
|         if($index < 0 || $index > $count-1) {
 | |
|             require_once 'Zend/Wildfire/Exception.php';
 | |
|             throw new Zend_Wildfire_Exception('Row index('.$index.') out of bounds('.$count.')!');
 | |
|         }
 | |
| 
 | |
|         $this->_rows[$index] = $row;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Returns the number of rows
 | |
|      *
 | |
|      * @return integer
 | |
|      */
 | |
|     public function getRowCount()
 | |
|     {
 | |
|         return count($this->_rows);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Returns the last row of the table
 | |
|      *
 | |
|      * @return array Returns the last row
 | |
|      * @throws Zend_Wildfire_Exception
 | |
|      */
 | |
|     public function getLastRow()
 | |
|     {
 | |
|         $count = $this->getRowCount();
 | |
| 
 | |
|         if($count==0) {
 | |
|             require_once 'Zend/Wildfire/Exception.php';
 | |
|             throw new Zend_Wildfire_Exception('Cannot get last row as no rows exist!');
 | |
|         }
 | |
| 
 | |
|         return $this->_rows[$count-1];
 | |
|     }
 | |
| }
 |