예제 #1
0
 /**
  * 
  * @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;
 }
예제 #2
0
    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'));