public function testConstruction() { $kirby = $this->kirbyInstance(); $site = $this->siteInstance($kirby); $page = new Page($site, '1-a'); $this->assertInstanceOf('Kirby', $page->kirby()); $this->assertEquals($kirby, $page->kirby()); $this->assertInstanceOf('Site', $page->site()); $this->assertEquals($site, $page->site()); $this->assertInstanceOf('Site', $page->parent()); $this->assertEquals($site, $page->parent()); $this->assertEquals('1-a', $page->dirname()); $this->assertEquals(1, $page->depth()); $this->assertEquals($kirby->roots()->content() . DS . '1-a', $page->root()); $this->assertEquals('1', $page->num()); $this->assertEquals('a', $page->uid()); $this->assertEquals('a', $page->id()); $this->assertEquals('1-a', $page->diruri()); $this->assertEquals('/a', $page->url()); $this->assertTrue($page->isCachable()); $this->assertEquals('a', $page->slug()); $this->assertTrue($page->is($page)); $this->assertTrue($page->equals($page)); $this->assertFalse($page->isSite()); $this->assertFalse($page->isActive()); $this->assertFalse($page->isOpen()); $this->assertTrue($page->isVisible()); $this->assertFalse($page->isInvisible()); $this->assertFalse($page->isHomePage()); $this->assertFalse($page->isErrorPage()); $this->assertEquals($page->id(), (string) $page); }
public function save($slug, Request $request) { if (Auth::check() && Auth::user()->id == Page::slug($slug)->user->id) { $page = Page::slug($slug); $page->content = $request->content; $page->save(); } return Redirect::intended('/page/' . $slug); }
return Response::create(new Template('404'), 404); } // search templating vars Registry::set('page', $page); Registry::set('page_offset', $offset); Registry::set('search_term', $term); Registry::set('search_results', new Items($posts)); Registry::set('total_posts', $total); return new Template('search'); }); Route::post('search', function () { // search and save search ID $term = filter_var(Input::get('term', ''), FILTER_SANITIZE_STRING); // replace spaces with double-dash to pass through url $term = str_replace(' ', '--', $term); Session::put(slug($term), $term); return Response::redirect('search/' . slug($term)); }); /** * View pages */ Route::get('(:all)', function ($uri) { if (!($page = Page::slug($slug = basename($uri)))) { return Response::create(new Template('404'), 404); } if ($page->redirect) { return Response::redirect($page->redirect); } Registry::set('page', $page); return new Template('page'); });
default: $whatSearch = 'all'; break; } return Response::redirect('search/' . $whatSearch . '/' . $term); }); /** * View pages */ Route::get('(:all)', function ($uri) { $parts = explode('/', $uri); $page = false; if ($parts > 0) { foreach ($parts as $uri) { $last = $page; if (!($page = Page::slug($uri))) { return Response::create(new Template('404'), 404); } if ($page->parent and !$last or $page->parent and $last->id != $page->parent) { return Response::create(new Template('404'), 404); } } } if ($page->redirect) { return Response::redirect($page->redirect); } Registry::set('page', $page); if ($page->status != 'published') { if (!Auth::user()) { Registry::set('page', false); return Response::create(new Template('404'), 404);
$vars['page_fields']['bioimage'] = Extend::field('page', 'bioimage', $biopage->id); $vars['page_fields']['biofirstpart'] = Extend::field('page', 'biofirstpart', $biopage->id); $vars['page_fields']['biosecondpart'] = Extend::field('page', 'biosecondpart', $biopage->id); $vars['page_fields']['biothirdpart'] = Extend::field('page', 'biothirdpart', $biopage->id); $vars['statuses'] = array('published' => __('global.published'), 'draft' => __('global.draft'), 'archived' => __('global.archived')); $vars['categories'] = Category::dropdown(); return View::create('accueil/editBio_en', $vars)->partial('header', 'partials/header')->partial('footer', 'partials/footer'); }); Route::post(array('admin/accueil/editBio'), function () { $page = Page::slug('biographie'); Extend::process('page', $page->id); Notify::success(__('accueil.updated_bio')); return Response::redirect('admin/accueil'); }); Route::post(array('admin/accueil/editBio_en'), function () { $page = Page::slug('biographie'); Extend::process('page', $page->id); Notify::success(__('accueil.updated_bio')); return Response::redirect('admin/accueil'); }); /** * Person infos */ Route::get('admin/accueil/editInfo/(:any)', function ($key) { $vars['messages'] = Notify::read(); $vars['token'] = Csrf::token(); $vars['variableInfo'] = Query::table(Base::table('meta'))->where('key', '=', $key)->fetch(); return View::create('accueil/editInfo', $vars)->partial('header', 'partials/header')->partial('footer', 'partials/footer'); }); Route::post('admin/accueil/editInfo/(:any)', function ($key) { $input = Input::get(array('value'));
/** * Get related posts * * <code> * echo Blog::getRelatedPosts(); * </code> * * @return string */ public static function getRelatedPosts($limit = null) { $related_posts = array(); $tags = Blog::getTagsArray(Page::slug()); foreach ($tags as $tag) { $query = '[parent="' . Blog::$parent_page_name . '" and status="published" and contains(tags, "' . $tag . '") and slug!="' . Page::slug() . '"]'; if ($result = Arr::subvalSort(Pages::$pages->select($query, $limit == null ? 'all' : (int) $limit), 'date', 'DESC')) { $related_posts = $result; } } // Display view return View::factory('blog/views/frontend/related_posts')->assign('related_posts', $related_posts)->render(); }