diff options
author | deva <deva> | 2009-04-14 13:21:29 +0000 |
---|---|---|
committer | deva <deva> | 2009-04-14 13:21:29 +0000 |
commit | 5cae40795a87c304724782d18d64a974d7c0a185 (patch) | |
tree | 50bcf4da1df5d8567ebab22de3625b788cddb069 /utils/pages.php | |
parent | 6ed9c968c48e68e1178e96e79fae146a774cceae (diff) |
Added pages as a module.
Diffstat (limited to 'utils/pages.php')
-rw-r--r-- | utils/pages.php | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/utils/pages.php b/utils/pages.php deleted file mode 100644 index 0ab52a8..0000000 --- a/utils/pages.php +++ /dev/null @@ -1,104 +0,0 @@ -<?php - -include_once("convert.php"); -include_once($UTIL_DIR . "/markdown.php"); -include_once($UTIL_DIR . "/modules.php"); - -class Page { - public $title; - public $content; - - public function write($fp) - { - fwrite($fp, " <page title=\"" . - htmlspecialchars($this->title, ENT_QUOTES, "UTF-8") . "\"\n"); - fwrite($fp, " content=\"" . - htmlspecialchars($this->content, ENT_QUOTES, "UTF-8") . "\">\n"); - fwrite($fp, " </page>\n"); - } - - public function show() - { - global $DATA_DIR, $modules; - - $str = Markdown($this->content); - - if(preg_match_all("/\[\[([\?,a-zA-Z0-9_]+)\]\]/", $str, $res)) { - - $modulecodes = array_unique($res[1]); - foreach($modulecodes as $modulecode) { - $m = explode("?", $modulecode); - $module = $m[0]; - $params = explode(",", $m[1]); - if($modules[$module]) { - $modulestr = $modules[$module]->run($params); - } else { - $modulestr = "<p><strong>CMS ERROR: Could not find module: [[" . $modulecode . "]]</strong></p>"; - } - - $str = str_replace("[[" . $modulecode . "]]", $modulestr, $str); - - } - } - - echo $str; - } - - public function Page($title, $content) - { - $this->title = $title; - $this->content = $content; - } -} - -class Pages { - - private $file; - private $pages = array(); - - public function getPage($title) - { - return $this->pages[$title]; - } - - public function add($page) { - $key = $page->title; - $this->pages[$key] = $page; - } - - public function write() - { - $fp = fopen($this->file, "w"); - fwrite($fp, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); - - fwrite($fp, "<pages>\n"); - foreach($this->pages as $page) { - $page->write($fp); - } - fwrite($fp, "</pages>\n"); - - fclose($fp); - } - - private function read() - { - $dom = new DomDocument; - $dom->preserveWhiteSpace = TRUE; - $dom->load($this->file); - $pages = $dom->getElementsByTagName('page'); - - foreach ($pages as $p) { - $page = new Page($p->getAttribute('title'), - $p->textContent); - $this->add($page); - } - } - - public function Pages($file) - { - $this->file = $file; - if(file_exists($file)) $this->read(); - } - -} -?> |