-
Notifications
You must be signed in to change notification settings - Fork 7
/
PageController.php
44 lines (33 loc) · 950 Bytes
/
PageController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
namespace BoomCMS\Http\Controllers;
use BoomCMS\Contracts\Models\Page;
use BoomCMS\Page\RssFeed;
use BoomCMS\Support\Facades\Router;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
class PageController extends Controller
{
public function show(Request $request)
{
$page = Router::getActivePage();
$format = $request->format();
if ($request->route() && $request->route()->parameter('format')) {
$format = $request->route()->parameter('format');
}
$method = 'as'.ucfirst($format);
if (method_exists($this, $method)) {
return $this->$method($page);
}
abort(406);
}
public function asHtml(Page $page)
{
$template = $page->getTemplate();
View::share('page', $page);
return $template->getView();
}
public function asRss(Page $page)
{
return new RssFeed($page);
}
}