Пример #1
0
 /**
  * Execute the controller.
  *
  * @return  mixed Return executed result.
  *
  * @throws  \LogicException
  * @throws  \RuntimeException
  */
 public function doExecute()
 {
     $format = $this->input->get('format', 'html');
     $model = new PostsModel();
     if ($format == 'feed') {
         $this->app->response->setMimeType('application/rss+xml');
         $view = new PostsFeedView($this->data);
         $limit = 50;
     } else {
         $view = new PostsHtmlView($this->data);
         $limit = 10;
     }
     $model['blog.id'] = $view['blog']->id;
     $model['blog.published'] = $view['user']->isNull();
     $model['list.page'] = $page = $this->input->getInt('page', 1);
     $model['list.limit'] = $limit;
     $model['list.start'] = ($model['list.page'] - 1) * $model['list.limit'];
     $model['list.ordering'] = 'id desc';
     $view['posts'] = $model->getItems();
     $view['pagination'] = $model->getPagination()->build();
     $view['page'] = $page;
     $view['type'] = $this->input->get('type', 'home');
     return $view->render();
 }
 /**
  * Execute the controller.
  *
  * @return  mixed Return executed result.
  *
  * @throws  \LogicException
  * @throws  \RuntimeException
  */
 public function execute()
 {
     $model = new PostsModel();
     $blog = Ioc::get('current.blog', 'front');
     $author = (new DataMapper('authors'))->findOne(['blog' => $blog->id, 'owner' => 1]);
     $user = (new DataMapper('users'))->findOne(['id' => $author->user]);
     $this->data['blog'] = $blog;
     $this->data['ownerUser'] = $user;
     $this->data['ownerAuthor'] = $author;
     $this->data['user'] = User::get();
     $this->data['author'] = Author::get($user->id, $blog->id);
     // Statics
     $model['blog.id'] = $blog->id;
     $model['list.start'] = null;
     $model['list.limit'] = null;
     $model['blog.published'] = true;
     $model['post.type'] = 'static';
     $model['post.ordering'] = 'id asc';
     $this->data['statics'] = $model->getItems();
     $this->data['blog']->link = 'http://' . $this->data['blog']->alias . '.windspeaker.co';
     $this->data['blog']->params = new Registry($this->data['blog']->params);
     $this->data['meta'] = new Data();
     return $this->doExecute();
 }