Beispiel #1
0
 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'));
 }
Beispiel #2
0
 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)]);
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
 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]);
 }
Beispiel #5
0
 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)]);
 }
Beispiel #6
0
 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;
 }
Beispiel #7
0
 /**
  * @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()]);
 }
Beispiel #8
0
 /**
  * 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);
 }
Beispiel #9
0
 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()]);
 }
Beispiel #10
0
 public function index(Request $request)
 {
     return ['total' => Helpers::countAssets($request->input()), 'assets' => Helpers::getAssets($request->input())];
 }
Beispiel #11
0
<?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());
}]];
Beispiel #12
0
 public function getIndex(Request $request)
 {
     return Helpers::getPages($request->input());
 }
Beispiel #13
0
 public function getAssets()
 {
     return Helpers::getAssets($this->params);
 }
Beispiel #14
0
 public function getFeedItems()
 {
     return Helpers::getPages(['parentId' => $this->page->getId()]);
 }
Beispiel #15
0
 public function get()
 {
     $params = $this->request->input();
     return ['total' => Helpers::countAssets($params), 'html' => view($this->viewPrefix . 'thumbs', ['assets' => Helpers::getAssets($params)])->render()];
 }