/** * Process method for handler * @param Channel $channel * * @return boolean */ public function process(Channel $channel) { $this->form->setData($channel); if ($this->request->isMethod('POST')) { $this->form->bind($this->request); if ($this->form->isValid()) { $this->onSuccess($channel); return true; } } return false; }
/** * @param UserInterface $user * @return bool */ public function process(UserInterface $user) { $this->form->setData(new ChangePassword()); if ('POST' === $this->request->getMethod()) { $this->form->bind($this->request); if ($this->form->isValid()) { $this->onSuccess($user); return true; } } return false; }
/** * Process method for handler * @param AttributeGroup $group * * @return boolean */ public function process(AttributeGroup $group) { $this->form->setData($group); if ($this->request->isMethod('POST')) { $this->form->bind($this->request); if ($this->form->isValid()) { $this->onSuccess($group); return true; } } return false; }
public function process(FormInterface $form) { if ('POST' == $this->request->getMethod()) { $form->bind($this->request); if ($form->isValid()) { return $this->onSuccess($form->getData()); } } return false; }
/** * {@inheritDoc} */ public function isValid(FormInterface $form) { $request = $this->getRequest(); if ($request->isMethod('POST') && !in_array($this->getRequestedTransition(), array(self::TRANSITION_BACK, self::TRANSITION_RESET))) { $form->bind($request); if ($this->hasListeners(FormFlowEvents::POST_BIND_REQUEST)) { $event = new PostBindRequestEvent($this, $form->getData(), $this->currentStepNumber); $this->eventDispatcher->dispatch(FormFlowEvents::POST_BIND_REQUEST, $event); } if ($form->isValid()) { if ($this->hasListeners(FormFlowEvents::POST_VALIDATE)) { $event = new PostValidateEvent($this, $form->getData()); $this->eventDispatcher->dispatch(FormFlowEvents::POST_VALIDATE, $event); } return true; } } return false; }
private function doAuthentication(PhraseaApplication $app, Request $request, FormInterface $form, $redirector) { if (!is_callable($redirector)) { throw new InvalidArgumentException('Redirector should be callable'); } $context = new Context(Context::CONTEXT_NATIVE); $app['dispatcher']->dispatch(PhraseaEvents::PRE_AUTHENTICATE, new PreAuthenticate($request, $context)); $form->bind($request); if (!$form->isValid()) { $app->addFlash('error', $app->trans('An unexpected error occured during authentication process, please contact an admin')); throw new AuthenticationException(call_user_func($redirector)); } $params = []; if (null !== ($redirect = $request->get('redirect'))) { $params['redirect'] = ltrim($redirect, '/'); } try { $usr_id = $app['auth.native']->getUsrId($request->request->get('login'), $request->request->get('password'), $request); } catch (RequireCaptchaException $e) { $app->requireCaptcha(); $app->addFlash('warning', $app->trans('Please fill the captcha')); throw new AuthenticationException(call_user_func($redirector, $params)); } catch (AccountLockedException $e) { $app->addFlash('warning', $app->trans('login::erreur: Vous n\'avez pas confirme votre email')); $app->addUnlockAccountData($e->getUsrId()); throw new AuthenticationException(call_user_func($redirector, $params)); } if (null === $usr_id) { $app['session']->getFlashBag()->set('error', $app->trans('login::erreur: Erreur d\'authentification')); throw new AuthenticationException(call_user_func($redirector, $params)); } $user = $app['manipulator.user']->getRepository()->find($usr_id); $session = $this->postAuthProcess($app, $user); $response = $this->generateAuthResponse($app, $app['browser'], $request->request->get('redirect')); $response->headers->clearCookie('invite-usr-id'); if ($request->cookies->has('postlog') && $request->cookies->get('postlog') == '1') { if (!$user->isGuest() && $request->cookies->has('invite-usr_id')) { if ($user->getId() != ($inviteUsrId = $request->cookies->get('invite-usr_id'))) { $repo = $app['EM']->getRepository('Phraseanet:Basket'); $baskets = $repo->findBy(['usr_id' => $inviteUsrId]); foreach ($baskets as $basket) { $basket->setUser($user); $app['EM']->persist($basket); } } } } if ($request->request->get('remember-me') == '1') { $nonce = \random::generatePassword(16); $string = $app['browser']->getBrowser() . '_' . $app['browser']->getPlatform(); $token = $app['auth.password-encoder']->encodePassword($string, $nonce); $session->setToken($token)->setNonce($nonce); $response->headers->setCookie(new Cookie('persistent', $token)); $app['EM']->persist($session); $app['EM']->flush(); } $event = new PostAuthenticate($request, $response, $user, $context); $app['dispatcher']->dispatch(PhraseaEvents::POST_AUTHENTICATE, $event); return $event->getResponse(); }