/** * @return \Zend\Http\Response|ViewModel */ public function loginAction() { $data = $this->getRequest()->getPost(); $form = new Form\LoginForm(null, $this->getServiceLocator()); $flashMessenger = new FlashMessenger(); if ($this->getRequest()->isPost()) { // If you used another name for the authentication service, change it here $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { /** * @var \User\Service\Auth $userAuth */ $userAuth = $this->getServiceLocator()->get('\\User\\Service\\Auth'); try { $userAuth->authenticateEquals($data['email'], $data['password']); $flashMessenger->addSuccessMessage('You\'re successfully logged in'); $session = new Container('location'); $location = $session->location; if ($location) { $session->getManager()->getStorage()->clear('location'); return $this->redirect()->toUrl($location); } return $this->redirect()->toRoute('home'); } catch (AuthException $exception) { $flashMessenger->addErrorMessage($exception->getMessage()); } } } return new ViewModel(array('form' => $form, 'serviceLocator' => $this->getServiceLocator())); }
public function seedMessages() { $helper = new FlashMessenger(); $helper->setSessionManager($this->session); $helper->addMessage('foo'); $helper->addMessage('bar'); $helper->addInfoMessage('bar-info'); $helper->addSuccessMessage('bar-success'); $helper->addErrorMessage('bar-error'); unset($helper); }
/** * @return \Zend\Http\Response|ViewModel */ public function changePasswordAction() { $currentPasswordElement = false; if ($this->identity()->getUser()->getEmail()) { $form = new ChangePasswordForm(null, ['serviceLocator' => $this->getServiceLocator()]); $currentPasswordElement = true; } else { $form = new ChangePasswordAndEmailForm(null, ['serviceLocator' => $this->getServiceLocator()]); } $request = $this->getRequest(); if ($request->isPost()) { $form->setData($request->getPost()); if ($form->isValid()) { $flashMessenger = new FlashMessenger(); /** @var \User\Service\Auth $userAuth */ $userAuth = $this->getServiceLocator()->get('\\User\\Service\\Auth'); try { $objectManager = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); /** @var \User\Entity\User $user */ $user = $objectManager->getRepository('User\\Entity\\User')->find($this->identity()->getUser()->getId()); if ($this->identity()->getUser()->getEmail()) { $userAuth->checkCredentials($this->identity()->getUser()->getEmail(), $form->getData()['currentPassword']); } else { $user->setEmail($form->getData()['email']); } $objectManager->persist($user); $objectManager->flush(); $userAuth->generateEquals($user, $form->getData()['password']); $flashMessenger->addSuccessMessage("You have successfully changed your password!"); return $this->redirect()->toRoute('home'); } catch (AuthException $exception) { $flashMessenger->addErrorMessage($exception->getMessage()); } } } return new ViewModel(['form' => $form, 'currentPasswordElement' => $currentPasswordElement]); }
/** * @return \Zend\Http\Response|ViewModel * @throws \Exception */ public function addAction() { $form = $this->getServiceLocator()->get('Comment\\Service\\Comment')->createForm(); // for POST data if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); // for GET (or query string) data if ($this->getRequest()->getQuery('alias') && ($entityId = intval($this->getRequest()->getQuery('id')))) { $data->set('alias', $this->getRequest()->getQuery('alias')); $data->set('entityId', $this->getRequest()->getQuery('id')); } if (!isset($data['alias']) || !isset($data['entityId'])) { $this->getResponse()->setStatusCode(400); throw new \Exception('Bad request'); } $comment = $this->getServiceLocator()->get('Comment\\Service\\Comment')->add($form, $data); $flashMessenger = new FlashMessenger(); if ($comment) { $flashMessenger->addSuccessMessage('Comment created'); if (!$this->getRequest()->isXmlHttpRequest()) { if ($this->getRequest()->getHeader('Referer')) { return $this->redirect()->toUrl($this->getRequest()->getHeader('Referer')->getUri()); } else { return $this->redirect()->toUrl('/'); } } return; } else { $flashMessenger->addErrorMessage('Comment is not created'); } } $viewModel = new ViewModel(['form' => $form, 'title' => 'Add comment']); $viewModel->setTerminal($this->getRequest()->isXmlHttpRequest()); return $viewModel; }