/** * * @param User_Form_Recovery $form * @return boolean */ public function userRecovery(User_Form_Recovery $form) { $answer = false; $user = Doctrine_Query::create()->from('User_Model_Mapper_User u')->select('u.username')->addSelect('u.password')->where('u.username = ?', $form->getValue('username')); if ($user->count() != '0') { $userRecovery = $user->fetchOne(); $ranges = array(range('a', 'z'), range('A', 'Z'), range(1, 9)); $length = 8; $pass = ''; for ($i = 0; $i < $length; $i++) { $rkey = array_rand($ranges); $vkey = array_rand($ranges[$rkey]); $pass .= $ranges[$rkey][$vkey]; } $hash = sha1($pass); $userRecovery->password = $hash; $userRecovery->save(); $mail = new Zend_Mail(); $mail->setBodyHtml('<p>Your new password.</p><p>Password: '******'</p>'); $mail->setFrom('*****@*****.**', 'Administrator'); $mail->addTo($userRecovery->email, $userRecovery->username); $mail->setSubject('Test password recovery'); $mail->send(); $answer = true; } return $answer; }
return true; }, 'User_AuthController' => function ($sm) { $controller = $sm->get('controller'); $controller->setModel($sm->get('User_Auth')); $controller->setForm($sm->get('Login_Form')); return true; }, 'User_RegisterController' => function ($sm) { $controller = $sm->get('controller'); $controller->setModel($sm->get('User_Registration')); $controller->setFormRecovery($sm->get('Recovery_Form')); $controller->setFormRegistration($sm->get('Registration_Form')); return true; }, 'Login_Form' => function ($sm) { $loginForm = new User_Form_Login(); $loginForm->init(); return $loginForm; }, 'Recovery_Form' => function ($sm) { $recoveryForm = new User_Form_Recovery(); $recoveryForm->init(); return $recoveryForm; }, 'Registration_Form' => function ($sm) { $registrationForm = new User_Form_Registration(); $registrationForm->init(); return $registrationForm; }, 'ViewFormHelperManager' => function ($sm) { $manager = new \Zend\View\HelperPluginManager(new \Zend\Form\View\HelperConfig()); $renderer = new \Zend\View\Renderer\PhpRenderer(); $manager->setRenderer($renderer); $renderer->setHelperPluginManager($manager); return $manager; }), 'invokables' => array('User_Model' => 'User_Model_UserProfile', 'User_Auth' => 'User_Model_UserAuth', 'User_Registration' => 'User_Model_UserRegistration'));