<?php /** * Wrap an OpenDocument spreadsheet row * * Requires PHP 5.3 * * @license CeCILL 2.0 * @copyright 2005-2012 Ouest Systemes Informatiques */ namespace OSInet\Open_Document\Calc; class Row { /** * @var DOMElement $row */ protected $row; /** * Analyze a spreadsheet row and return the cells as an array of Calc_Cell * * @return array */ function getCells () { $cellNodeList = $this->row->childNodes; $cells = array(); $iCell = 0; for ($icol = 0 ; $icol < $cellNodeList->length ; $icol++) { $cellElement = $cellNodeList->item($icol); $count = NULL; if (is_object($cellElement)) { $count = $cellElement->getAttributeNS(Reader::NS_TABLE, 'number-columns-repeated'); } if (empty($count)) { $count = 1; } for ($j = 0 ; $j < $count ; $j++) { $cells[$iCell++] = new Cell($cellElement); } } return $cells; } /** * Construct a Row from the DOMElement representing it. * * This DOMElement must bear a table:table-row tag * * @param \DOMNodeList $row * @return void */ function __construct(\DOMElement $row) { if ((!($row instanceof \DOMElement)) || ($row->tagName != 'table:table-row')) { die('Row::__construct() needs a DOMElement parameter for a table-row element '); } $this->row = $row; } }