public function editPasswordAction() { $account = new Default_Model_Users(); $account->find(Zend_Registry::get('user')->getId()); $form = new Default_Form_EditPassword(); $form->editPassword(); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/users/edit-password.phtml')))); $this->view->form = $form; if ($this->getRequest()->isPost()) { if ($form->isValid($this->getRequest()->getPost())) { $post = $this->getRequest()->getPost(); if (md5($post['oldPassword']) == $account->getPassword()) { $account->setPassword(md5($post['password'])); if ($account->save()) { $this->_flashMessenger->addMessage("<div class='success canhide'><p>" . Zend_Registry::get('translate')->_('password_change_success_message') . "</p><a href='javascript:;'></a></div>"); } else { $this->_flashMessenger->addMessage("<div class='failure canhide'><p>" . Zend_Registry::get('translate')->_('administrators_edit_password_error_message') . "</p><a href='javascript:;'></a></div>"); } } else { $this->_flashMessenger->addMessage("<div class='failure canhide'><p>" . Zend_Registry::get('translate')->_('administrators_invalid_old_password') . "</p><a href='javascript:;'></a></div>"); } $this->_redirect(WEBROOT . 'settings/edit-password'); } } }
public function forgotPasswordAction() { $form = new Default_Form_ForgotPassword(); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/forgot-password.phtml')))); $this->view->formForgotPassword = $form; $model = new Default_Model_Users(); if ($this->getRequest()->isPost()) { if ($form->isValid($this->getRequest()->getPost())) { $model->setOptions($form->getValues()); $select = $model->getMapper()->getDbTable()->select()->from(array('u' => 'users'), array('u.*'))->where("NOT u.deleted")->where("u.email=?", $model->getEmail()); $result = $model->fetchRow($select); if (count($result) != 0) { $newpass = ''; $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789"; for ($i = 0; $i < 8; $i++) { $n = rand(0, count($alphabet) - 1); $pass[$i] = $alphabet[$n]; $newpass .= $pass[$i]; } $newpassMd5 = md5($newpass); $model->setPassword($newpassMd5); $savedPass = $model->save(); $emailArray = array(); $emailArray['subject'] = 'Resetare Parola'; $emailArray['content'] = 'Noua dumneavoastra parola este: ' . $newpass; $emailArray['toEmail'] = $model->getEmail(); $emailArray['fromEmail'] = "*****@*****.**"; $emailArray['fromName'] = "Resetare Parola"; $emailArray['SMTP_USERNAME'] = SMTP_USERNAME; $emailArray['SMTP_PASSWORD'] = SMTP_PASSWORD; $emailArray['SMTP_PORT'] = SMTP_PORT; $emailArray['SMTP_URL'] = SMTP_URL; $sent = Needs_Tools::sendEmail($emailArray); if ($sent && $savedPass) { $this->_flashMessenger->addMessage("<div class='success canhide'><p>The password was successfully changed!</p><a href='javascript:;'></a></div>"); } else { $this->_flashMessenger->addMessage("<div class='error canhide'><p>The password was not changed!<a href='javascript:;'></a></p></div>"); } } else { $this->_flashMessenger->addMessage("<div class='error canhide'><p>The email was not found in the database!<a href='javascript:;'></a></p></div>"); } $this->_redirect('/auth/forgot-password/'); } } }
public function editPasswordAction() { $accountId = new Default_Model_Users(); $accountId->find(Zend_Registry::get('user')->getId()); $form = new Default_Form_EditPassword(); $form->editUserPassword(); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/users/edit-password.phtml')))); $this->view->form = $form; if ($this->getRequest()->isPost()) { if ($form->isValid($this->getRequest()->getPost())) { $post = $this->getRequest()->getPost(); if ($accountId->getPassword()) { $accountId->setPassword(md5($post['password'])); if ($accountId->save()) { $this->_flashMessenger->addMessage("<div class='success canhide'><p>Password successfully changed!<a href='javascript:;'>Close</a></p></div>"); } else { $this->_flashMessenger->addMessage("<div class='failure canhide'><p>Password was not changed!<a href='javascript:;'>Close</a></p></div>"); } } else { $this->_flashMessenger->addMessage("<div class='failure canhide'><p>Invalid old password!<a href='javascript:;'>Close</a></p></div>"); } $this->_redirect('users'); } } }