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_url() { if (!keys_exists(Vars::$post, 'num', 'pagename')) { throw new PluginException('パラメータが足りません。', $this); } if (trim(Vars::$post['text']) == '') { redirect(Page::getinstance(Vars::$post['pagename'])); } $page = Page::getinstance(Vars::$post['pagename']); $source = explode("\n", Page::getinstance(Vars::$post['pagename'])->getsource()); $count = 0; for ($i = 0; $i < count($source); $i++) { if (mb_ereg('^#bbsres(?:\\s|\\(|{|$)', $source[$i])) { if ($count == Vars::$post['num']) { $name = isset(Vars::$post['name']) ? trim(Vars::$post['name']) : ''; $smarty = $this->getSmarty(); $smarty->assign('name', $name); $smarty->assign('text', Vars::$post['text']); $smarty->assign('timestamp', time()); array_splice($source, $i, 0, $smarty->fetch('bbsres.tpl')); $page->write(join("\n", $source)); setcookie('name', trim($name), time() + 60 * 60 * 24 * 30); redirect($page); } $count++; } } $ret['title'] = 'error'; $smarty = $this->getSmarty(); $smarty->assign('text', Vars::$post['text']); $ret['body'] = $smarty->fetch('error.tpl.htm'); return $ret; }
function do_url() { if (!keys_exists(Vars::$post, 'num', 'type', 'pagename')) { throw new PluginException('パラメータが足りません。', $this); } if (trim(Vars::$post['text']) == '') { redirect(Page::getinstance(Vars::$post['pagename'])); } $page = Page::getinstance(Vars::$post['pagename']); $source = explode("\n", Page::getinstance(Vars::$post['pagename'])->getsource()); $count = 0; for ($i = 0; $i < count($source); $i++) { if (mb_ereg('^#comment(?:\\s|\\(|{|$)', $source[$i])) { if ($count == Vars::$post['num']) { $name = trim(Vars::$post['name']); $text = mb_ereg_replace('{', '&173;', Vars::$post['text']); $text = mb_ereg_replace('}', '&175;', $text); $time = date('Y-m-d H:i:s', time()); $str = ":[[{$name}>UserPage/{$name}]] &size(80%) {{$time}}:"; $str .= mb_ereg("\n", $str) ? "\n#block{{$text}}" : " {$text}"; $n = $i + (Vars::$post['type'] == 'below' ? 1 : 0); array_splice($source, $n, 0, $str); $page->write(join("\n", $source)); setcookie('name', $name, time() + 60 * 60 * 24 * 30); redirect($page); } $count++; } } $ret['title'] = 'error'; $smarty = $this->getSmarty(); $smarty->assign('text', Vars::$post['text']); $ret['body'] = $smarty->fetch('error.tpl.htm'); return $ret; }
function do_url() { if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (!keys_exists(Vars::$post, 'pagename', 'source', 'seed')) { throw new CommandException('パラメータが足りません。', $this); } if (Vars::$post['pagename'] == '') { throw new CommandException('ページ名に空文字列は使えません。', $this); } if (isset(Vars::$post['post'])) { return $this->write(); } else { if (isset(Vars::$post['preview'])) { return $this->preview(); } else { if (isset(Vars::$post['cancel'])) { return $this->cancel(); } else { throw new CommandException('パラメータが正しくありません。', 'edit'); } } } } else { return $this->edit(); } }
function do_url() { if (!keys_exists(Vars::$post, 'base', 'config')) { throw new PluginException('パラメータが足りません', $this); } $source = Page::getinstance(':config/plugin/tracker/' . Vars::$post['config'] . '/page')->getsource(); foreach (Vars::$post as $key => $data) { if (mb_strpos($key, 'param_') === 0) { $name = '[' . mb_substr($key, 6) . ']'; $_data = trim($data); $_data = mb_ereg_replace('\\[', '[', $_data, 'm'); $_data = mb_ereg_replace('\\]', ']', $_data, 'm'); $replace[$name] = $_data; } } $replace['[_date]'] = date('Y-m-d H:i:s'); $replace['[_base]'] = Vars::$post['base']; foreach ($replace as $name => $data) { $source = mb_ereg_replace(mb_ereg_quote($name), $data, $source, 'm'); } $db = DataBase::getinstance(); self::$sqlite_pattern = '^' . mb_ereg_quote(Vars::$post['base']) . '/(\\d+)'; $db->create_aggregate('plugin_tracker_maxnum', array('Plugin_tracker', 'sqlite_maxnum'), array('Plugin_tracker', 'sqlite_maxnum_finalize'), 1); $row = $db->fetch($db->query("SELECT plugin_tracker_maxnum(pagename) FROM page")); $num = $row[0] + 1; $title = isset(Vars::$post['param_title']) && trim(Vars::$post['param_title']) != '' ? '/' . trim(Vars::$post['param_title']) : ''; $page = Page::getinstance(Vars::$post['base'] . '/' . $num . $title); $page->write($source); redirect($page); }
protected function timesearch() { if (!keys_exists(Vars::$get, 'FromYear', 'FromMonth', 'FromDay', 'ToYear', 'ToMonth', 'ToDay')) { throw new CommandException('パラメータが足りません。', $this); } $from = mktime(0, 0, 0, Vars::$get['FromMonth'], Vars::$get['FromDay'], Vars::$get['FromYear']); $to = mktime(23, 59, 59, Vars::$get['ToMonth'], Vars::$get['ToDay'], Vars::$get['ToYear']); $search = Search::getinstance(); $smarty = $this->getSmarty(); $smarty->assign('fromdate', $from); $smarty->assign('todate', $to); $smarty->assign('list', $search->timesearch($from, $to)); $ret['title'] = '検索結果'; $ret['body'] = $smarty->fetch('timesearchresult.tpl.htm'); return $ret; }
private function write() { if (!keys_exists(Vars::$post, 'title', 'url', 'comment')) { return $this->makeerrormessage_url('引数が足りません。'); } $title = trim(Vars::$post['title']); $url = trim(Vars::$post['url']); $comment = trim(Vars::$post['comment']); if ($title == '') { $title = 'no title'; } $page = Page::getinstance($this->pagename_prefix . '/' . date('Y-m-d')); $source[] = ':' . mb_ereg_replace(':', ':', $title) . ':' . $url; $source[] = mb_ereg_replace("[\r\n]+", "\n", $comment); $page->write($page->getsource() . "\n" . linetrim(join("\n", $source))); redirect($page); }