/**
  * Blogs from a certain category
  *
  * @param void
  * @return ViewModel
  **/
 public function blogsAction()
 {
     $query = $this->getRequest()->getQuery();
     $category = $this->_categoryService->getFromName($query->name);
     $posts = $this->_postService->getPagedFromCategory($category, $query->page);
     return new ViewModel(array('category' => $category, 'posts' => $posts));
 }
Example #2
0
 public function generateCache(PostService $postService)
 {
     $posts = $postService->getLastPost();
     $categories = $this->categoryService->getAllOrdered();
     $renderer = $this->getServiceLocator()->get('ViewRenderer');
     $view = $renderer->render('layout/sidebar', array('posts' => $posts, 'categories' => $categories));
     file_put_contents($this->getCacheDirectory() . '/sidebar.cache', $view);
 }
 /**
  * @return ResourceViewModel
  */
 public function post()
 {
     /** @var Post $post */
     $data = $this->validateIncomingData(PostInputFilter::class, ['header', 'body']);
     $post = $this->hydrateObject(ClassMethods::class, new Post(), $data);
     $post = $this->postService->create($post);
     return new ResourceViewModel(['post' => $post], ['template' => 'blog/post']);
 }
 /**
  * @param  array $params
  * @return ResourceViewModel
  * @throws NotFoundException
  */
 public function put(array $params)
 {
     if (!($post = $this->postService->get((int) $params['id']))) {
         throw new NotFoundException();
     }
     /** @var \Blog\Entity\Post $post */
     $data = $this->validateIncomingData(PostInputFilter::class);
     $post = $this->hydrateObject(ClassMethods::class, $post, $data);
     $post = $this->postService->update($post);
     return new ResourceViewModel(['post' => $post], ['template' => 'blog/post']);
 }
 /**
  * Returns AchiveList instance.
  *
  * @param ServiceLocatorInterface $serviceLocator
  * @return ArchiveList
  * @override
  **/
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     /* @var $serviceLocator Zend\View\HelperPluginManager */
     $sm = $serviceLocator->getServiceLocator();
     $em = $sm->get('em');
     $service = new PostService($em);
     $years = $service->getValidYears();
     $helper = new ArchiveList();
     $helper->setYears($years);
     return $helper;
 }
 /**
  * Returns RecentPostList instance.
  *
  * @param ServiceLocatorInterface $serviceLocator
  * @return RecentPostList
  * @override
  **/
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     /* @var $serviceLocator Zend\View\HelperPluginManager */
     $sm = $serviceLocator->getServiceLocator();
     $em = $sm->get('em');
     $service = new PostService($em);
     $posts = $service->getMostRecent(5);
     $helper = new RecentPostList();
     $helper->setPosts($posts);
     return $helper;
 }
Example #7
0
 /**
  * RSS feed of published blog posts
  *
  * @param void
  * @return FeedModel
  * @throws AccessProhibitedException
  **/
 public function rssAction()
 {
     $this->_checkAcl('rss');
     $feed = $this->_postService->getRssFeed();
     $feedModel = new FeedModel();
     $feedModel->setFeed($feed);
     return $feedModel;
 }
 /**
  * Returns SearchController instance.
  *
  * @param ServiceLocatorInterface $serviceLocator
  * @return BlogController
  * @override
  **/
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     /* @var $serviceLocator Zend\Mvc\Controller\ControllerManager */
     $sm = $serviceLocator->getServiceLocator();
     $em = $sm->get('em');
     $categoryService = new CategoryService($em);
     $categories = $categoryService->getPublishedWithCount();
     $postService = new PostService($em);
     $years = $postService->getValidYears();
     $form = new SearchForm();
     $form->setCategoryList($categories);
     $form->setYearList($years);
     $service = new SearchService($em);
     $service->setForm($form);
     $controller = new SearchController();
     $controller->setService($service);
     return $controller;
 }
Example #9
0
 public function addAction()
 {
     $request = $this->getRequest();
     $post = new Post();
     $this->addPostForm->bind($post);
     if ($request->isPost()) {
         $data = $request->getPost();
         $this->addPostForm->setData($data);
         if ($this->addPostForm->isValid()) {
             $post = $this->addPostForm->getData();
             $this->postService->addPost($post);
             $this->flashMessenger()->addSuccessMessage($this->getTranslation('FORM_SUCCESS_POST'));
             return $this->redirect()->toRoute('admin/posts/edit', array('id' => $post->getId()));
         } else {
             $this->flashMessenger()->addErrorMessage($this->getTranslation('FORM_ERROR_POST'));
         }
     }
     return new ViewModel(array('form' => $this->addPostForm));
 }
Example #10
0
 /**
  * The blogs from a certain year
  *
  * @param void
  * @return ViewModel
  **/
 public function blogsAction()
 {
     $query = $this->getRequest()->getQuery();
     $posts = $this->_postService->getPagedFromArchive($query->year, $query->page);
     return new ViewModel(array('year' => $query->year, 'posts' => $posts));
 }