Rev 2388 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** PHPExcel** Copyright (c) 2006 - 2013 PHPExcel** This library is free software; you can redistribute it and/or* modify it under the terms of the GNU Lesser General Public* License as published by the Free Software Foundation; either* version 2.1 of the License, or (at your option) any later version.** This library is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU* Lesser General Public License for more details.** You should have received a copy of the GNU Lesser General Public* License along with this library; if not, write to the Free Software* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA** @category PHPExcel* @package PHPExcel_Shared* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL* @version ##VERSION##, ##DATE##*/if (!defined('DATE_W3C')) {define('DATE_W3C', 'Y-m-d\TH:i:sP');}if (!defined('DEBUGMODE_ENABLED')) {define('DEBUGMODE_ENABLED', false);}/*** PHPExcel_Shared_XMLWriter** @category PHPExcel* @package PHPExcel_Shared* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)*/class PHPExcel_Shared_XMLWriter extends XMLWriter {/** Temporary storage method */const STORAGE_MEMORY = 1;const STORAGE_DISK = 2;/*** Temporary filename** @var string*/private $_tempFileName = '';/*** Create a new PHPExcel_Shared_XMLWriter instance** @param int $pTemporaryStorage Temporary storage location* @param string $pTemporaryStorageFolder Temporary storage folder*/public function __construct($pTemporaryStorage = self::STORAGE_MEMORY, $pTemporaryStorageFolder = NULL) {// Open temporary storageif ($pTemporaryStorage == self::STORAGE_MEMORY) {$this->openMemory();} else {// Create temporary filenameif ($pTemporaryStorageFolder === NULL)$pTemporaryStorageFolder = PHPExcel_Shared_File::sys_get_temp_dir();$this->_tempFileName = @tempnam($pTemporaryStorageFolder, 'xml');// Open storageif ($this->openUri($this->_tempFileName) === false) {// Fallback to memory...$this->openMemory();}}// Set default valuesif (DEBUGMODE_ENABLED) {$this->setIndent(true);}}/*** Destructor*/public function __destruct() {// Unlink temporary filesif ($this->_tempFileName != '') {@unlink($this->_tempFileName);}}/*** Get written data** @return $data*/public function getData() {if ($this->_tempFileName == '') {return $this->outputMemory(true);} else {$this->flush();return file_get_contents($this->_tempFileName);}}/*** Fallback method for writeRaw, introduced in PHP 5.2** @param string $text* @return string*/public function writeRawData($text){if (is_array($text)) {$text = implode("\n",$text);}if (method_exists($this, 'writeRaw')) {return $this->writeRaw(htmlspecialchars($text));}return $this->text($text);}}