/** * pageActions::executePage() * * @param sfWebRequest $request * @return */ public function executePage(sfWebRequest $request) { // リクエストされたパスを取得する。 $path = strtolower($request->getPathInfo()); // 末尾がスラッシュなら、インデックスへ if (substr($path, -1, 1) === '/') { $this->forward('page', 'page_index'); } // パスに対応するページを取得する。 $page = PageTable::getFromPath($path); // 対応するページがなければトップへ $this->redirectUnless($page, 'top/index'); // ページのコミッターリストを取得する。 $this->committers = $page->getCommitters(); // ページのコミットリストを取得する。 $this->commits = $page->getCommits(); // ページの属するディレクトリ内のコンテンツ一覧を取得する。 $dir_path = preg_replace('/^(.*?)[^\\/]+$/i', '$1', $path); $this->dir_pages = PageTable::getListFromPath($dir_path, 'file', 'asc', -1, false); // このページのタイトルを設定する。 $this->getResponse()->setTitle($page->getTitle() . ' | 日本Symfonyユーザー会'); $this->page = $page; }
/** * topActions::postExecute() * * @return */ public function postExecute() { $this->docs_pages = PageTable::getListFromPath('/docs', 'commit', 'desc', 10); $this->banner = PageTable::getFromPath('/banner'); $this->release = PageTable::getFromPath('/release'); }
$t->ok($page1->getPath() === '/foo/bar' && $page2->getPath() === '/foo/bar2' && $page3->getPath() === '/foo/baz', '取得したレコードの順序(IDの昇順)'); $page_rec = PageTable::getListFromPath('/foo', 'id', 'desc'); $page1 = $page_rec[0]; $page2 = $page_rec[1]; $page3 = $page_rec[2]; $t->ok($page1->getPath() === '/foo/baz/test' && $page2->getPath() === '/foo/baz' && $page3->getPath() === '/foo/bar2', '取得したレコードの順序(IDの降順)'); $page = PageTable::getFromPath('/foo/bar'); $page->setCreatedAt('2010-01-01 01:02:03'); $page->save(); $page = PageTable::getFromPath('/foo/bar2'); $page->setCreatedAt('2010-01-01 01:02:04'); $page->save(); $page = PageTable::getFromPath('/foo/baz'); $page->setCreatedAt('2010-01-01 01:02:05'); $page->save(); $page = PageTable::getFromPath('/foo/baz/test'); $page->setCreatedAt('2010-01-01 01:02:06'); $page->save(); $page_rec = PageTable::getListFromPath('/foo', 'create', 'asc'); $page1 = $page_rec[0]; $page2 = $page_rec[1]; $page3 = $page_rec[2]; $t->ok($page1->getPath() === '/foo/bar' && $page2->getPath() === '/foo/bar2' && $page3->getPath() === '/foo/baz', '取得したレコードの順序(レコード作成日時の昇順)'); $page_rec = PageTable::getListFromPath('/foo', 'create', 'desc'); $page1 = $page_rec[0]; $page2 = $page_rec[1]; $page3 = $page_rec[2]; $t->ok($page1->getPath() === '/foo/baz/test' && $page2->getPath() === '/foo/baz' && $page3->getPath() === '/foo/bar2', '取得したレコードの順序(レコード作成日時の降順)'); $page_rec = PageTable::getListFromPath('/foo', 'com;mit'); $page1 = $page_rec[0]; $page2 = $page_rec[1];