예제 #1
0
 /**
  * Зарегистрировать
  */
 public function executeCreate(sfWebRequest $request)
 {
     $this->executeSignup();
     $this->form->bind($request->getParameter($this->form->getName()));
     if ($this->form->isValid()) {
         $user = $this->form->save();
         $loginzaData = $this->getUser()->getAttribute('loginza.identity', false, 'loginza');
         // связываем юзера с идентификатором
         $identity = new Identity();
         $identity->setIdentity($loginzaData['identity']);
         $identity->setProvider($loginzaData['provider']);
         $identity->setUser($user);
         $identity->save();
         $this->getUser()->setAttribute('identity.id', $identity->getId());
         // авторизуем
         $this->getUser()->signin($user, true);
     }
     if (!$this->form->hasErrors()) {
         if ($request->isXmlHttpRequest()) {
             return $this->renderText("<script type='text/javascript'>window.location.href='/';</script>");
         } else {
             return $this->redirect('homepage');
         }
     }
     $this->setTemplate('signup');
 }