function do_url() { if (empty(Vars::$get['page']) || empty(Vars::$get['file'])) { exit; } if (!mb_ereg('\\.(.+?)$', Vars::$get['file'], $m) || empty(self::$type[$m[1]])) { exit; } $file = AttachedFile::getinstance(Vars::$get['file'], Page::getinstance(Vars::$get['page'])); header('Content-Type: ' . self::$type[$m[1]]); header('Content-Length: ' . $file->getsize()); echo $file->getdata(); exit; }
protected function show() { if (!isset(Vars::$get['page']) || !isset(Vars::$get['file'])) { throw new CommandException('パラメータが足りません。', $this); } $page = Page::getinstance(Vars::$get['page']); if ($page->isnull() || Vars::$get['file'] == '') { throw new CommandException('パラメータが正しくありません。', $this); } $smarty = $this->getSmarty(); $smarty->assign('filename', Vars::$get['file']); $smarty->assign('pagename', $page->getpagename()); $file = AttachedFile::getinstance(Vars::$get['file'], $page); $smarty->assign('size', $file->getsize()); $smarty->assign('count', $file->getcount()); $smarty->assign('timestamp', $file->gettimestamp()); $smarty->assign('md5', md5($file->getdata())); $ret['title'] = $page->getpagename() . ' の添付ファイル ' . Vars::$get['file']; $ret['pagename'] = Vars::$get['page']; $ret['body'] = $smarty->fetch('show.tpl.htm'); return $ret; }