openMemory(); } else { // Create temporary filename if ($pTemporaryStorageFolder === null) { $pTemporaryStorageFolder = File::sysGetTempDir(); } $this->tempFileName = @tempnam($pTemporaryStorageFolder, 'xml'); // Open storage if ($this->openUri($this->tempFileName) === false) { // Fallback to memory... $this->openMemory(); } } // Set default values if (DEBUGMODE_ENABLED) { $this->setIndent(true); } } /** * Destructor. */ public function __destruct() { // Unlink temporary files if ($this->tempFileName != '') { @unlink($this->tempFileName); } } /** * Get written data. * * @return $data */ public function getData() { if ($this->tempFileName == '') { return $this->outputMemory(true); } $this->flush(); return file_get_contents($this->tempFileName); } /** * Fallback method for writeRaw, introduced in PHP 5.2. * * @param string $text * * @return bool */ 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); } }