+ public function register_modifier($var, $callback)
+ {
+ if (!is_null($this->page)) {
+ $this->page->register_modifier($var, $callback);
+ }
+ }
+
+ public function register_function($var, $callback)
+ {
+ if (!is_null($this->page)) {
+ $this->page->register_function($var, $callback);
+ }
+ }
+
+ public function setWikiBody($wiki)
+ {
+ $this->wiki = $wiki;
+ }
+
+ private function processPage($with_html = true)
+ {
+ if (!is_null($this->page)) {
+ global $globals;
+ if (!($globals->debug & DEBUG_SMARTY)) {
+ $level = error_reporting(0);
+ }
+ $this->page->run('head'); // process page headers
+ $this->wiki = trim($this->page->run('wiki')); // get wiki
+ if (!$this->wiki) {
+ $this->setTxtBody($this->page->run('text'));
+ if ($with_html) {
+ $html = trim($this->page->run('html'));
+ if (!empty($html)) {
+ $this->setHtmlBody($html);
+ }
+ }
+ }
+ if (!($globals->debug & DEBUG_SMARTY)) {
+ error_reporting($level);
+ }
+ }
+ if ($this->wiki) {
+ $this->setTxtBody(MiniWiki::WikiToText($this->wiki, false, 0, 78));
+ if ($with_html) {
+ $this->setHtmlBody('<html><body>' . MiniWiki::WikiToHtml($this->wiki, true) . '</body></html>');
+ }
+ }
+ }