Example #1
0
 /**
  * Searches published blog posts
  *
  * @param void
  * @return ViewModel
  * @throws AccessProhibitedException
  **/
 public function indexAction()
 {
     $request = $this->getRequest();
     $viewVars = array();
     if ($request->isGet()) {
         $options = $request->getQuery()->toArray();
         $page = $request->getQuery('page');
         $viewVars['posts'] = $this->_service->pagedResults($options, $page);
     }
     $viewVars['form'] = $this->_service->getForm();
     $viewVars['messages'] = $this->_service->getMessages(SearchService::MSG_NOTICE);
     $viewVars['errors'] = $this->_service->getMessages(SearchService::MSG_ERROR);
     return new ViewModel($viewVars);
 }
 /**
  * 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;
 }