Example #1
0
 public function passwordResetAction()
 {
     if ($this->_helper->member()) {
         $this->redirect(Config::get('routes')->profile);
     }
     $hash = trim($this->_getParam('hash'));
     if (empty($hash)) {
         $this->_helper->flashMessenger(['type' => 'danger', 'text' => $this->translate->_('member_password_reset_link_invalid')]);
         $this->redirect(Config::get('routes')->login);
     }
     $list = new Member\Listing();
     $list->setUnpublished(true);
     $list->setCondition('resetHash = ?', $hash);
     if (count($list) == 0) {
         $this->_helper->flashMessenger(['type' => 'danger', 'text' => $this->translate->_('member_password_reset_link_invalid')]);
         $this->redirect(Config::get('routes')->login);
     }
     if ($this->_request->isPost()) {
         $post = $this->_request->getPost();
         /** @var \Member $member */
         $member = $list->current();
         $result = $member->resetPassword($post);
         if ($result->isValid()) {
             $this->_helper->flashMessenger(['type' => 'success', 'text' => $this->translate->_('member_password_reset_success')]);
             $this->redirect(Config::get('routes')->login);
         }
         $this->view->errors = $result->getMessages();
     }
 }
Example #2
0
 /**
  * Returns true if and only if $value meets the validation requirements
  *
  * If $value fails validation, then this method returns false, and
  * getMessages() will return an array of messages that explain why the
  * validation failed.
  *
  * @param  mixed $value
  * @return boolean
  * @throws Zend_Validate_Exception If validation of $value is impossible
  */
 public function isValid($value)
 {
     $this->_setValue($value);
     /** @var Listing $list */
     $list = new Listing();
     $list->addConditionParam('email = ?', $value);
     $list->setUnpublished(true);
     if ($list->count() > 0) {
         $this->_error(self::EMAIL_EXIST);
         return false;
     }
     return true;
 }
Example #3
0
 public function confirmAction()
 {
     $hash = trim($this->_getParam('hash'));
     if (empty($hash)) {
         $this->_helper->flashMessenger(['type' => 'danger', 'text' => $this->translate->_('member_confirm_link_invalid')]);
         $this->redirect(Config::get('routes')->login);
     }
     $list = new Member\Listing();
     $list->setUnpublished(true);
     $list->setCondition('confirmHash = ?', $hash);
     if (count($list) == 0) {
         $this->_helper->flashMessenger(['type' => 'danger', 'text' => $this->translate->_('member_confirm_link_invalid')]);
         $this->redirect(Config::get('routes')->login);
     }
     $member = $list->current();
     $member->confirm();
     $this->_helper->flashMessenger(['type' => 'success', 'text' => $this->translate->_('member_confirm_success')]);
     $this->redirect(Config::get('routes')->login);
 }