コード例 #1
0
ファイル: User.php プロジェクト: ud223/yj
 /**
  * 当用户忘记了密码
  * @param string $email
  * @return boolean - true 发送给用户系统生成密码, false 没有发送系统生成密码,可能是email地址不正确
  */
 public function forgotPassword($email)
 {
     $result = false;
     $user = $this->isEmailExist($email, true);
     if (is_object($user)) {
         $password = substr(md5(uniqid(time(), true)), rand(0, 16), 8);
         $user->password = $password;
         $params = array("username" => $user->username, "password" => $password);
         $router = Zend_Controller_Front::getInstance()->getRouter();
         $params['url'] = $this->_bootstrap_options['site']['domainurl'] . $router->assemble(array(), 'login');
         Angel_Model_Email::setCompanyName($this->_bootstrap_options['site']['name']);
         $result = Angel_Model_Email::sendEmail($this->_container->get('email'), Angel_Model_Email::EMAIL_FORGOT_PASSWORD, $user->email, $params);
         if ($result) {
             $this->_dm->persist($user);
             $this->_dm->flush();
         }
     } else {
         throw new Angel_Exception_User(Angel_Exception_User::USER_NOT_FOUND);
     }
     return $result;
 }