function do_block($page, $param1, $param2) { if (!mb_ereg('^\\s*(.+?)\\s*,\\s*(\\d+)\\s*$', $param1, $m) || $m[2] <= 0) { throw new PluginException('引数が正しくありません。', $this); } $home = $m[1]; $num = $m[2]; $p = isset(Vars::$get['p']) ? max(0, Vars::$get['p']) : 0; $datelist = Plugin_blognavi_DateList::getinstance($home); $collist = Plugin_blognavi_ColumnList::getinstance($datelist); $pagename = $collist->getlast(); for ($i = 0; $i < $num * $p; $i++) { $pagename = $collist->getprev($pagename); } $ret = array(); for ($i = 0; $i < $num; $i++) { if ($pagename == null) { break; } $ret[] = $this->includepage($pagename); $pagename = $collist->getprev($pagename); } $smarty = $this->getSmarty(); $smarty->assign('pagename', $page->getpagename()); if ($p > 0) { $smarty->assign('next', $p - 1); } $smarty->assign('prev', $p + 1); $smarty->assign('body', join("\n", $ret)); return $smarty->fetch('blogviewer.tpl.htm'); }
function do_block($page, $param1, $param2) { if (!mb_ereg('^(.+?)/\\d{4}-\\d{2}-\\d{2}', $page->getpagename(), $m)) { throw new PluginException('このページからは呼び出せません(1)', $this); } $home = $m[1]; $datelist = Plugin_blognavi_DateList::getinstance($home); $collist = Plugin_blognavi_ColumnList::getinstance($datelist); if ($datelist->isdatepage($page->getpagename())) { $prev = $datelist->getprev($page->getpagename()); $next = $datelist->getnext($page->getpagename()); } else { if ($collist->iscolumnpage($page->getpagename())) { $prev = $collist->getprev($page->getpagename()); $next = $collist->getnext($page->getpagename()); } else { throw new PluginException('このページからは呼び出せません(2)', $this); } } $str[] = '<div class="plugin_blognavi">'; if ($prev != null) { $str[] = '[' . makelink($prev, $this->prevmes) . ']'; } else { $str[] = '[' . htmlspecialchars($this->prevmes) . ']'; } if ($next != null) { $str[] = '[' . makelink($next, $this->nextmes) . ']'; } else { $str[] = '[' . htmlspecialchars($this->nextmes) . ']'; } $str[] = '[' . makelink($home, $this->homemes) . ']'; $str[] = '</div>'; return join("\n", $str); }