/** * 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)); }
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; }
/** * 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; }
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)); }
/** * 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)); }