title, ENT_QUOTES, "UTF-8") . "\"\n"); fwrite($fp, " content=\"" . htmlspecialchars($this->content, ENT_QUOTES, "UTF-8") . "\">\n"); fwrite($fp, " \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 = "
CMS ERROR: Could not find module: [[" . $modulecode . "]]
"; } $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, "\n"); fwrite($fp, "