/** * executeRegister * * @access public * @return void */ public function executeRegister(sfWebRequest $request) { $this->form = new sfGuardFormRegister(); if ($request->isMethod(sfRequest::POST)) { $this->form->bind($request->getParameter($this->form->getName())); if ($this->form->isValid()) { $values = $this->form->getValues(); $sfGuardUser = new sfGuardUser(); $sfGuardUser->fromArray($values, BasePeer::TYPE_FIELDNAME); if (isset($values['email'])) { $sfGuardUser->setEmail($values['email']); } $sfGuardUser->setIsActive(false); $sfGuardUser->save(); $messageParams = array('sfGuardUser' => $sfGuardUser, 'password' => $values['password']); $body = $this->getComponent($this->getModuleName(), 'send_request_confirm', $messageParams); $from = sfConfig::get('app_sf_guard_extra_plugin_mail_from', '*****@*****.**'); $fromName = sfConfig::get('app_sf_guard_extra_plugin_name_from', 'noreply'); $to = $sfGuardUser->getEmail(); $toName = $sfGuardUser->getUsername(); $subject = sfConfig::get('app_sf_guard_extra_plugin_subject_confirm', 'Confirm Registration'); $mailer = $this->getMailer(); $message = $mailer->compose(array($from => $fromName), array($to => $toName), $subject, $body); $mailer->send($message); $this->getUser()->setFlash('values', $values); $this->getUser()->setFlash('sfGuardUser', $sfGuardUser); return $this->redirect('@sf_guard_do_register'); } } }