Beispiel #1
0
 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;
 }
Beispiel #2
0
 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');
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
 function done()
 {
     $this->setbody(convert_Page(Page::getinstance('SideBar')));
 }
Beispiel #5
0
 /**
  * 指定したページを挿入する。Smartyプラグイン用。
  * {includepage page="ページ名"}
  */
 function includepage($param)
 {
     if (!isset($param['page'])) {
         return '';
     }
     return convert_Page(Page::getinstance($param['page']));
 }