示例#1
0
 public function executeForgotPassword()
 {
     if ($this->getRequest()->getMethod() == sfRequest::POST) {
         $prefix = "habbadabbado";
         $suffix = 'fao34r89aq3nr98awr9a8w3fu8w593yn5wal3u73nl4q32n89vun32592o;35w;35q3utrqw3;nr';
         $username = $this->getRequestParameter('username');
         $token = md5($prefix . $username . uniqid(null, true) . $suffix);
         sfPropelApprovableBehavior::disable();
         $user = sfGuardUserProfilePeer::retrieveByUsername($username);
         $user->setToken($token);
         sfPropelApprovableBehavior::disable();
         $user->save();
         sfPropelApprovableBehavior::disable();
         $this->getUser()->setAttribute('user_id', $user->getUuid());
         $this->message = "Instructions on resetting your password have been sent to " . $username;
         /*
            $conn   = new Swift_Connection_SMTP( sfConfig::get('app_sfswiftmailer_smtp_host') );
         
            // Need auth for SMTP
            $conn->setUsername( sfConfig::get('app_sfswiftmailer_smtp_user') );
            $conn->setPassword( sfConfig::get('app_sfswiftmailer_smtp_pass') );
         
            $mailer = new Swift($conn);
         
            // Get our message bodies
            $htmlBody = $this->getPresentationFor('messages', 'forgotPasswordHtml');
            $textBody = $this->getPresentationFor('messages', 'forgotPasswordText');
         
            //Create a message
            $message = new Swift_Message("It seems you may have forgotten your password for cothink.org. Here are some instructions for resetting it.");
         
            //Add some "parts"
            $message->attach(new Swift_Message_Part($textBody));
            $message->attach(new Swift_Message_Part($htmlBody, "text/html"));
         
          // Send out our mailer
          $mailer->send($message, $this->user->getUsername(), '*****@*****.**');
          $mailer->disconnect();
         */
         $this->username = $username;
         $this->setTemplate('passwordSent');
         return sfView::SUCCESS;
     }
 }