public function createAction()
 {
     $newsForm = new NewsCreateForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $news = new News();
         $news->setNewsAuthor($this->identity());
         $news->setNewsContent(htmlspecialchars($request->getPost('news-content')));
         $news->setNewsDate(new \DateTime('now'));
         $news->setNewsTitle($request->getPost('news-title'));
         $news->setNewsSource($request->getPost('news-source'));
         $news->setNewsType($request->getPost('news-type'));
         if (isset($request->getPost()['btn-publish'])) {
             $news->setNewsPublished(true);
             $this->getEntityManager()->persist($news);
             $this->getEntityManager()->flush();
             $this->flashMessenger()->addSuccessMessage('Notícia Publicada com sucesso: ' . $news->getNewsTitle());
         } elseif (isset($request->getPost()['btn-save'])) {
             $news->setNewsPublished(false);
             $this->getEntityManager()->persist($news);
             $this->getEntityManager()->flush();
             $this->flashMessenger()->addInfoMessage('Notícia Salva com sucesso: ' . $news->getNewsTitle());
         }
         $this->redirect()->toRoute('news');
     }
     return new ViewModel(array('newsForm' => $newsForm));
 }
Пример #2
0
 /**
  * Add new News entry
  * @return array
  */
 public function addAction()
 {
     //Get current user id and data from db
     $user = new Container('user');
     $userId = $user->identity->getId();
     $currentUser = $this->getObjectManager()->getRepository('Application\\Entity\\User')->findOneBy(array('id' => $userId));
     //Prepare news object
     $news = new News();
     //Create form
     $formManager = $this->serviceLocator->get('FormElementManager');
     $form = $formManager->get('newsForm');
     $form->setInputFilter(new Form\NewsFilter($this->getObjectManager()));
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setData($request->getPost());
         if ($form->isValid()) {
             //Update news information
             $news->setTitle($request->getPost('title'));
             $news->setText($request->getPost('text'));
             $news->setCreated(new \DateTime("now"));
             $news->setLastModified(new \DateTime("now"));
             $news->setUserId($userId);
             //Track activity
             $activity = new Activity();
             $activity->setUserId($userId);
             $activity->setDescription('Removed News');
             $activity->setUri($request->getUriString());
             $activity->setQuery(var_export($request->getQuery(), true));
             $activity->setPost(var_export($request->getPost(), true));
             $activity->setObject(var_export($currentUser, true));
             $activity->setCreated(new \DateTime("now"));
             $this->getObjectManager()->persist($activity);
             //Store updated news to db
             $this->getObjectManager()->persist($news);
             $this->getObjectManager()->flush();
             //REDIRECT TO NEWS INDEX PAGE WHEN SAVED
             return $this->redirect()->toRoute('news');
         }
     }
     return array('form' => $form);
 }
Пример #3
0
 public function editAction()
 {
     $form = new \Admin\Form\NewsForm();
     $id = (int) $this->params()->fromRoute('id', 0);
     if ($id > 0) {
         $model = $this->getObjectManager()->find($this->_modelName, $id);
         $form->setData($model->toArray());
         $form->setAttribute('action', '/admin/' . $this->_modelAlias . '/edit/' . $id);
         $form->get('submit')->setAttribute('value', 'Edit');
         $model->setUpdatedDate(new \DateTime());
         $viewVariables['action'] = 'Edit';
     } else {
         $model = new News();
         $form->setAttribute('action', '/admin/' . $this->_modelAlias . '/add');
         $form->get('submit')->setAttribute('value', 'Add');
         $model->setUpdatedDate(new \DateTime());
         $model->setCreatedDate(new \DateTime());
         $viewVariables['action'] = 'Add';
     }
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setData($request->getPost());
         $model->populate($request->getPost());
         $model->setBody(stripslashes($model->getBody()));
         if ($form->isValid()) {
             $this->getObjectManager()->persist($model);
             $this->getObjectManager()->flush();
             return $this->redirect()->toUrl('/admin/' . $this->_modelAlias);
         }
     }
     $viewVariables['form'] = $form;
     $viewVariables['model'] = $model;
     $this->_view->setTemplate('admin/' . $this->_modelAlias . '/edit');
     $this->_view->setVariables($viewVariables);
     return $this->_view;
 }
 /**
  * {@inheritDoc}
  */
 public function setNewsAuthor($newsAuthor)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNewsAuthor', array($newsAuthor));
     return parent::setNewsAuthor($newsAuthor);
 }