public function testPubUsesNamespaceOfActivePageTemplate() { $template = new Template(['theme' => 'test']); $page = $this->getMock(Page::class, ['getTemplate']); $page->expects($this->once())->method('getTemplate')->willReturn($template); Editor::shouldReceive('getActivePage')->andReturn($page); $this->assertEquals('/vendor/boomcms/themes/test/file.png', Helpers::pub('file.png')); }
public function addItem(Rss $feed, Page $page) { $authors = (array) Helpers::getTags($page, 'Author'); foreach ($authors as &$author) { $author = $author->getName(); } $feed->item(['guid' => $page->url(), 'title' => $page->getTitle(), 'description|cdata' => $page->getDescription(), 'link' => $page->url(), 'pubDate' => $page->getVisibleFrom()->format('r'), 'author|cdata' => empty($authors) ? null : implode(',', $authors)]); }
public function getPages() { $results = []; $pages = Helpers::getPages($this->request->input()); foreach ($pages as $p) { $results[] = ['id' => $p->getId(), 'title' => $p->getTitle(), 'url' => (string) $p->url(), 'visible' => (int) $p->isVisible(), 'has_children' => (int) $p->hasChildren()]; } return $results; }
public function listTags() { $grouped = []; $tags = Helpers::getTags($this->page); foreach ($tags as $t) { $group = $t->getGroup() ?: ''; $grouped[$group][] = $t; } return view('boomcms::editor.page.settings.tags', ['tags' => $grouped]); }
public function addItem(Rss $feed, Page $page) { $tags = Helpers::getTags($page, 'Author'); $authors = []; if (count($tags)) { foreach ($tags as $tag) { $authors[] = $tag->getName(); } } $feed->item(['guid' => $page->url(), 'title' => $page->getTitle(), 'description|cdata' => $page->getDescription(), 'link' => $page->url(), 'pubDate' => $page->getVisibleFrom()->format('r'), 'author|cdata' => empty($authors) ? null : implode(',', $authors)]); }
function meta_og(Page $page = null) { $page = $page ?: Router::getActivePage(); $siteName = Settings::get('site.name'); $description = Helpers::description($page); $html = "<meta property='og:type' content='website'>\n <meta property='og:site_name' content='{$siteName}'>\n <meta property='og:url' content='{$page->url()}'>\n <meta property='og:title' content='{$page->getTitle()}'>\n <meta property='og:description' content='{$description}'"; if ($page->hasFeatureImage()) { $url = URL::route('asset', ['asset' => $page->getFeatureImage()]); $html .= "<meta property='og:image' content='{$url}'>"; } return $html; }
/** * @param Page $page */ public function view(Site $site, Page $page) { $this->auth($page); $all = TagFacade::findBySite($site); $grouped = []; foreach ($all as $t) { $group = $t->getGroup() ?: ''; $grouped[$group][] = $t; } $tags = Helpers::getTags($page)->map(function (Tag $tag) { return $tag->getId(); }); return view('boomcms::editor.page.settings.tags', ['all' => $grouped, 'tags' => $tags->toArray()]); }
/** * Display a list of pages which use a given template. */ public function pages(Template $template) { $pages = Helpers::getPages(['template' => $template, 'order' => 'title asc']); if ($this->request->route()->getParameter('format') !== 'csv') { return view($this->viewPrefix . '.pages', ['pages' => $pages, 'template' => $template]); } $headers = ['Content-type' => 'text/csv', 'Content-Disposition' => "attachment; filename=pages_with_template_{$template->getFilename()}.csv"]; $callback = function () use($pages) { $fh = fopen('php://output', 'w'); fputcsv($fh, ['Title', 'URL', 'Visible?', 'Last edited']); foreach ($pages as $p) { $data = ['title' => $p->getTitle(), 'url' => (string) $p->url(), 'visible' => $p->isVisible() ? 'Yes' : 'No', 'last_edited' => $p->getLastModified()->format('Y-m-d H:i:s')]; fputcsv($fh, $data); } fclose($fh); }; return Response::stream($callback, 200, $headers); }
public function index(BoomCMS $boomcms, Site $site) { return view('boomcms::dashboard.index', ['person' => auth()->user(), 'pages' => Helpers::getPages(['limit' => 20, 'order' => 'date desc']), 'approvals' => Gate::denies('managePages', $site) ? [] : Helpers::getPages(['pendingapproval' => true]), 'news' => $boomcms->getNews()]); }
public function index(Request $request) { return ['total' => Helpers::countAssets($request->input()), 'assets' => Helpers::getAssets($request->input())]; }
<?php use BoomCMS\Contracts\Models\Page; use BoomCMS\Support\Helpers; return ['viewHelpers' => ['analytics' => function () { return Helpers::analytics(); }, 'assetEmbed' => function ($asset, $height = null, $width = null) { return Helpers::assetEmbed($asset, $height, $width); }, 'assetURL' => function (array $params) { return Helpers::assetURL($params); }, 'countAssets' => function (array $params) { return Helpers::countAssets($params); }, 'countPages' => function (array $params) { return Helpers::countPages($params); }, 'getAssets' => function (array $params) { return Helpers::getAssets($params); }, 'getPages' => function (array $params) { return Helpers::getPages($params); }, 'next' => function (array $params = []) { return Helpers::next($params); }, 'prev' => function (array $params = []) { return Helpers::prev($params); }, 'getTags' => function () { return call_user_func_array([Helpers::class, 'getTags'], func_get_args()); }, 'getTagsInSection' => function (Page $page = null, $group = null) { return Helpers::getTagsInSection($page, $group); }, 'pub' => function () { return call_user_func_array([Helpers::class, 'pub'], func_get_args()); }, 'view' => function () { return call_user_func_array([Helpers::class, 'view'], func_get_args()); }]];
public function getIndex(Request $request) { return Helpers::getPages($request->input()); }
public function getAssets() { return Helpers::getAssets($this->params); }
public function getFeedItems() { return Helpers::getPages(['parentId' => $this->page->getId()]); }
public function get() { $params = $this->request->input(); return ['total' => Helpers::countAssets($params), 'html' => view($this->viewPrefix . 'thumbs', ['assets' => Helpers::getAssets($params)])->render()]; }