コード例 #1
0
ファイル: show.inc.php プロジェクト: kaz6120/BitWiki
 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;
 }
コード例 #2
0
ファイル: bbsres.inc.php プロジェクト: riaf/kinowiki
 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;
 }
コード例 #3
0
ファイル: comment.inc.php プロジェクト: kaz6120/BitWiki
 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;
 }
コード例 #4
0
ファイル: edit.inc.php プロジェクト: kaz6120/BitWiki
 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();
     }
 }
コード例 #5
0
ファイル: tracker.inc.php プロジェクト: kaz6120/BitWiki
 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('\\[', '&#x5b;', $_data, 'm');
             $_data = mb_ereg_replace('\\]', '&#x5d;', $_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);
 }
コード例 #6
0
ファイル: search.inc.php プロジェクト: kaz6120/BitWiki
 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;
 }
コード例 #7
0
ファイル: clip.inc.php プロジェクト: kaz6120/BitWiki
 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(':', '&#x3a;', $title) . ':' . $url;
     $source[] = mb_ereg_replace("[\r\n]+", "\n", $comment);
     $page->write($page->getsource() . "\n" . linetrim(join("\n", $source)));
     redirect($page);
 }