Repository URL to install this package:
|
Version:
3.4.1 ▾
|
<?php
namespace Evsmash\News\Http;
use Evsmash\Core\Http\Base;
use Evsmash\Core\Dec\Thumb;
use Evsmash\Core\Input\Flash;
use Evsmash\Core\Input\Route;
use Evsmash\Core\Simpy\Element;
use Evsmash\Core\System\Trans;
use Evsmash\News\News as NewsModel;
use Evsmash\News\NewsType;
class News extends Base {
// index
public function index() {
// element
$elements = NewsModel::params()->published()->orderBy('created_at', 'desc')->paginate($this->settings->limit);
// trans
Trans::get($elements, 'news');
// view
$this->breadcrumbs('News');
$this->view(compact(['elements']));
}
// type
public function type() {
// type
$type = Element::check(new NewsType);
// element
$elements = NewsModel::params()->published()->where('type_id', $type->id)->orderBy('created_at', 'desc')->paginate($this->settings->limit);
// trans
Trans::get($type, 'news_types');
Trans::get($elements, 'news');
// flash
Flash::set('type', $type->id);
// view
$this->breadcrumbs($type);
$this->viewTitle($type->name);
$this->view(compact(['elements']), 'evsmash/news/news/index');
}
// promoted
public function promoted() {
// element
$elements = NewsModel::params()->published()->promoted()->orderBy('created_at', 'desc')->paginate($this->settings->limit);
// trans
Trans::get($elements, 'news');
// view
$this->breadcrumbs();
$this->viewTitle('Promoted');
$this->view(compact(['elements']), 'evsmash/news/news/index');
}
// albums
public function albums() {
// element
$elements = NewsModel::params()->published()->orderBy('created_at', 'desc')->paginate($this->settings->limit);
// trans
Trans::get($elements, 'news');
// view
$this->breadcrumbs();
$this->viewTitle('Albums');
$this->view(compact(['elements']), 'evsmash/news/news/index');
}
// show
public function show() {
// element
$element = Element::check(new NewsModel);
// allowed
Element::allowed($element, 'published');
// stats
Element::stats($element);
// trans
Trans::get($element, 'news');
// flash
Flash::set('description', $element->sneak);
Flash::set('type', $element->type_id);
Flash::set('photo', Thumb::url($element->photo, '1000xauto', ['upsize' => true]));
// view
$this->breadcrumbs($element);
$this->viewTitle($element->name);
$this->view(compact(['element']));
}
}