function do_url() { $page = $this->getcurrentPage(); if ($page->isexist()) { $html = convert_Page($page); if (keys_exists(Vars::$get, 'word', 'type')) { $list = mb_split('[\\s ]', Vars::$get['word']); $smarty = $this->getSmarty(); $smarty->assign('word', $list); $smarty->assign('type', Vars::$get['type']); $smarty->assign('body', Search::getinstance()->mark($html, $list, Vars::$get['type'])); $html = $smarty->fetch('highlight.tpl.htm'); } $ret['body'] = $html; $ret['title'] = $page->getpagename(); $ret['pagename'] = $page->getpagename(); $ret['lastmodified'] = $page->gettimestamp(); } else { $smarty = $this->getSmarty(); $smarty->assign('pagename', $page->getpagename()); $ret['body'] = $smarty->fetch('notexist.tpl.htm'); $ret['title'] = $page->getpagename() . ' は存在しません'; $ret['pagename'] = $page->getpagename(); } return $ret; }
function do_block($page, $param1, $param2) { $p = Page::getinstance($param1); if (!$p->isexist() || $p->isnull()) { return '<p class="warning">ページがありません。</p>'; } $smarty = $this->getSmarty(); $smarty->assign('title', $p->getpagename()); $smarty->assign('body', convert_Page($p)); return $smarty->fetch('include.tpl.htm'); }
public function do_url() { //numはフィードに含める項目数。 //GET引数でrecent(>0)が与えられればnumとして採用。そうでなければnum=15とする。 $num = isset(Vars::$get['recent']) && Vars::$get['recent'] > 0 ? (int) Vars::$get['recent'] : 15; $db = DataBase::getinstance(); $query = "SELECT pagename,timestamp FROM page"; //GET引数に正規表現exp(またはワイルドカードパターンinclude)が設定され、 //かつ空でないなら、exp(またはinclude)と一致するページだけを検索。 if (isset(Vars::$get['exp']) && trim(Vars::$get['exp']) != '') { $_inc = $db->escape(Vars::$get['exp']); $query .= " WHERE php('mb_ereg', '{$_inc}', pagename)"; } else { if (isset(Vars::$get['include']) && trim(Vars::$get['include']) != '') { $_inc = $db->escape(glob2ereg(Vars::$get['include'])); $query .= " WHERE php('mb_ereg', '{$_inc}', pagename)"; } } $query .= " ORDER BY timestamp DESC, pagename ASC LIMIT {$num}"; $result = $db->query($query); $list = array(); while ($row = $db->fetch($result)) { $item['timestamp'] = $row['timestamp']; $item['pagename'] = $row['pagename']; $_p = Page::getinstance($row['pagename']); $item['url'] = getURL($_p); $item['description'] = htmlspecialchars(convert_Page($_p)); $list[] = $item; } $smarty = $this->getSmarty(); $smarty->assign('list', $list); $smarty->assign('rssurl', SCRIPTURL . '?' . htmlspecialchars($_SERVER['QUERY_STRING'])); $smarty->assign('sitename', SITENAME); $smarty->assign('baseurl', SCRIPTURL); header('Content-Type: application/xml; charset=UTF-8'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $item['timestamp'][0]) . ' GMT'); $smarty->display('rss20.tpl.htm'); exit; }
function done() { $this->setbody(convert_Page(Page::getinstance('SideBar'))); }
/** * 指定したページを挿入する。Smartyプラグイン用。 * {includepage page="ページ名"} */ function includepage($param) { if (!isset($param['page'])) { return ''; } return convert_Page(Page::getinstance($param['page'])); }