registerFormatName("Big-XHTML"); $this->setTitle("Index"); $this->setChunked(false); } public function __destruct() { $this->close(); } public function appendData($data) { if ($this->appendToBuffer) { $this->buffer .= $data; return; } if ($this->flags & Render::CLOSE) { fwrite($this->getFileStream(), $data); /* Append footer */ fwrite($this->getFileStream(), $this->footer()); $this->flags ^= Render::CLOSE; } elseif ($this->flags & Render::OPEN) { fwrite($this->getFileStream(), "\n".$data); $this->flags ^= Render::OPEN; } elseif ($data !== null) { fwrite($this->getFileStream(), $data); } } public function header() { $root = Format::getRootIndex(); $style = $this->createCSSLinks(); return <<
{$root["ldesc"]} {$style} HEADER; } public function footer($eof = false) { return !$eof ? "\n
\n" : "\n"; } public function close() { if ($this->getFileStream()) { fwrite($this->getFileStream(), $this->footer(true)); fclose($this->getFileStream()); } } public function update($event, $value = null) { switch($event) { case Render::CHUNK: $this->flags = $value; break; case Render::STANDALONE: if ($value) { $this->registerElementMap(parent::getDefaultElementMap()); $this->registerTextMap(parent::getDefaultTextMap()); } break; case Render::INIT: if ($value) { if (!is_resource($this->getFileStream())) { $filename = $this->config->outputDir; if ($this->config->outputFilename) { $filename .= $this->config->outputFilename; } else { $filename .= strtolower($this->getFormatName()) . $this->getExt(); } $this->postConstruct(); if ($this->config->css) { $this->fetchStylesheet(); } $this->setFileStream(fopen($filename, "w+")); fwrite($this->getFileStream(), $this->header()); } } break; case Render::VERBOSE: $this->outputHandler->v("Starting %s rendering", $this->getFormatName(), VERBOSE_FORMAT_RENDERING); break; } } public function createLink($for, &$desc = null, $type = self::SDESC) { $retval = '#' . $for; if (isset($this->indexes[$for])) { $result = $this->indexes[$for]; if ($type === self::SDESC) { $desc = $result["sdesc"] ?: $result["ldesc"]; } else { $desc = $result["ldesc"] ?: $result["sdesc"]; } } return $retval; } }