/** * @param $path * @param $alias * @param bool|false $isAbsolute * @return array * @throws \Exception */ public function getThumbnailInfo($path, $alias, $isAbsolute = false) { $filter = isset($this->settings['filters'][$alias]) ? $this->settings['filters'][$alias] : null; if (!$filter) { throw new \Exception(sprintf('Unknown thumbnail filter "%s"', $alias)); } if (!$path) { $default = null; if (isset($filter['default'])) { $defaultAlias = explode('.', $filter['default']); $default = $this->settings['defaults']; foreach ($defaultAlias as $defaultAliasName) { $default = $default[$defaultAliasName]; } } $src = $default; } else { $src = sprintf('/%s/%s', $this->settings['url_prefix'], $alias) . $path; } if ($isAbsolute || $this->settings['absolute']) { $host = $this->request->getMasterRequest()->getSchemeAndHttpHost(); $port = $this->request->getMasterRequest()->getPort(); if ($port != 80) { $host .= ':' . $port; } $src = $host . $src; } $width = $filter['width']; $height = $filter['height']; return ['src' => $src, 'width' => $width, 'height' => $height]; }
/** * If you have failed to login too many times, a log of this will be present * in your session and the databse (incase session is dropped the record remains). * * @access public * @return int */ public function vote() { $request = $this->requestStack->getMasterRequest(); if (($this->forceAccountRecovery['enabled'] || $this->blockPages['enabled']) && $request) { $route = $request->get('_route'); $ipAddress = $request->getClientIp(); $this->blockPages['routes'][] = $this->routeLogin['name']; if ($this->blockPages['enabled'] && in_array($route, $this->blockPages['routes'])) { // Get number of failed login attempts. $attempts = $this->loginFailureTracker->getAttempts($ipAddress, $this->blockPages['duration_in_minutes']); if (count($attempts) >= $this->blockPages['after_attempts']) { // You have too many failed login attempts, login access is temporarily blocked. return self::ACCESS_DENIED_BLOCK; } } $this->forceAccountRecovery['routes'][] = $this->routeLogin['name']; if ($this->forceAccountRecovery['enabled'] && in_array($route, $this->forceAccountRecovery['routes'])) { // Get number of failed login attempts. $attempts = $this->loginFailureTracker->getAttempts($ipAddress, $this->forceAccountRecovery['duration_in_minutes']); if (count($attempts) >= $this->forceAccountRecovery['after_attempts']) { // You have too many failed login attempts, login access is temporarily blocked, go recover your account. return self::ACCESS_DENIED_DEFER; } } } return self::ACCESS_ALLOWED; }
public function createAndHandle($name, $type, IEntity $entity) { $request = $this->request_stack->getMasterRequest(); $form = $this->form_factory->createNamed($name, $type, $entity, ['method' => 'POST']); $form->handleRequest($request); return $form; }
/** * {@inheritdoc} */ public function getCurrentRequest() { if (null === $this->request) { $this->request = $this->requestStack->getMasterRequest(); } return $this->request; }
/** * {@inheritdoc} */ public function render(GridViewInterface $grid, ColumnInterface $column, $sorting) { $definition = $grid->getDefinition(); $name = $column->getName(); if (!$definition->hasSort($name)) { return; } $sort = $sorting === SorterInterface::ASC ? $name : '-' . $name; $routeParameters = []; if (($request = $this->requestStack->getMasterRequest()) !== null) { $routeParameters = array_merge($request->attributes->get('_route_params', []), $request->query->all()); } if (!isset($routeParameters['grid']['reset']) && isset($routeParameters['grid']['sorting']) && $routeParameters['grid']['sorting'] === $sort) { return; } if ($definition->hasOption('persistent') && $definition->getOption('persistent')) { $filters = $this->filterManager->get($definition); if (isset($filters['sorting']) && $filters['sorting'] === $sort) { return; } } $routeParameters['grid']['sorting'] = $sort; unset($routeParameters['grid']['reset']); return $this->urlGenerator->generate($definition->getOption('grid_route'), $routeParameters); }
/** * {@inheritDoc} * * @param ObtainCreditCard $request */ public function execute($request) { RequestNotSupportedException::assertSupports($this, $request); $httpRequest = null; if ($this->httpRequest instanceof Request) { $httpRequest = $this->httpRequest; } else { if ($this->httpRequestStack instanceof RequestStack) { $httpRequest = $this->httpRequestStack->getMasterRequest(); } } if (false == $httpRequest) { throw new LogicException('The action can be run only when http request is set.'); } $form = $this->createCreditCardForm(); $form->handleRequest($httpRequest); if ($form->isSubmitted()) { /** @var CreditCardInterface $card */ $card = $form->getData(); $card->secure(); if ($form->isValid()) { $request->set($card); return; } } $renderTemplate = new RenderTemplate($this->templateName, array('model' => $request->getModel(), 'firstModel' => $request->getFirstModel(), 'form' => $form->createView(), 'actionUrl' => $request->getToken() ? $request->getToken()->getTargetUrl() : null)); $this->gateway->execute($renderTemplate); throw new HttpResponse(new Response($renderTemplate->getResult(), 200, array('Cache-Control' => 'no-store, no-cache, max-age=0, post-check=0, pre-check=0', 'X-Status-Code' => 200, 'Pragma' => 'no-cache'))); }
public function initializeTree(TreeInitializedEvent $event) { if ($masterRequest = $this->requestStack->getMasterRequest()) { if ($node = $event->getTree()->find($masterRequest->attributes->all())) { $node->setActive(); } } }
/** * @return Request */ private function getMasterRequest() { $masterRequest = $this->requestStack->getMasterRequest(); if (null === $masterRequest) { throw new \UnexpectedValueException('There are not any requests on request stack'); } return $masterRequest; }
/** * Get user's locale * * @return string */ protected function getLocale() { $request = $this->requestStack->getMasterRequest(); if (null === $request) { return 'en'; } return $request->getLocale(); }
/** * {@inheritdoc} */ protected function mergeDefaultParameters(array $parameters) { $parameters = parent::mergeDefaultParameters($parameters); $language = $this->requestStack->getMasterRequest()->headers->get('Accept-Language'); $parameters['headers'] = isset($parameters['headers']) ? $parameters['headers'] : []; $parameters['headers'] = array_merge($parameters['headers'], ['Accept-Language' => $language]); return $parameters; }
/** * @return Request */ public function getRequest() { if (null === $this->request) { return $this->requestStack->getMasterRequest(); } else { return $this->request; } }
/** * @return Request */ private function getMasterRequest() { $masterRequest = $this->requestStack->getMasterRequest(); if (null === $masterRequest) { throw new ChannelNotFoundException(); } return $masterRequest; }
public function addCurrent(ItemInterface $menu) { $currentRoute = $this->stack->getMasterRequest()->get('_route'); $route = $this->menu[$menu->getName()]['route']; if ($currentRoute == $route) { $menu->setCurrent(true); } }
/** * {@inheritdoc} */ public function getCurrentScopeId() { if (null === $this->requestStack->getMasterRequest()) { return null; } $sessionBag = $this->requestStack->getMasterRequest()->getSession(); $scope = $sessionBag->get($this->getSessionBagNamespace()); return isset($scope['id']) ? $scope['id'] : null; }
/** * @return null|Structure */ public function getCurrentItem() { $request = $this->requestStack->getMasterRequest(); if (empty($this->currentItem) && $request && $request->attributes->has(Structure::ROUTING_ID_NAME)) { $structureId = $request->attributes->get(Structure::ROUTING_ID_NAME); $this->currentItem = $this->entityManger->getRepository('OctavaStructureBundle:Structure')->getById($structureId); } return $this->currentItem; }
/** * Clumsily render the Drupal 7 toolbar inside a Twig page. */ public function renderToolbar() { if ($this->requestStack->getCurrentRequest() === $this->requestStack->getMasterRequest()) { $toolbar = array('#pre_render' => array('toolbar_pre_render', 'shortcut_toolbar_pre_render'), '#access' => user_access('access toolbar'), 'toolbar_drawer' => array()); $toolbar = array_merge($toolbar, toolbar_view()); $content = render($toolbar); return $content; } }
/** * @param Response $response * * @return string */ public function hash(Response $response) { $suffix = ''; // add cookies to ETag if ($this->request_stack->getMasterRequest()) { $suffix = self::ETAG_SEPARATOR . http_build_query($this->request_stack->getMasterRequest()->cookies->all()); } return hash($this->algorithm, $response->getLastModified()->format(\DateTime::ISO8601) . $suffix); }
/** * Marks users successfully authenticated to the firewall as online. * * @param OnFirewallAuthenticationEvent $event */ public function onFirewallLogin(OnFirewallAuthenticationEvent $event) { /** @var \AppBundle\Model\User\User $user */ $user = $event->getToken()->getUser(); $this->userIdProvider->addUserId($user->getId()); $user->setLastAction(new DateTime(sprintf('@%s', $this->requestStack->getMasterRequest()->server->get('REQUEST_TIME')))); $this->entityManager->persist($user); $this->entityManager->flush($user); }
/** * Builds sidebar menu. * * @return ItemInterface */ public function createSidebarMenu() { $menu = $this->factory->createItem('root', ['extras' => ['request' => $this->requestStack->getMasterRequest()]]); $tree = $this->adminMenuManager->getTree(); $this->generateMenu($menu, $tree); $event = new ConfigureMenuEvent($this->factory, $menu); $this->eventDispatcher->dispatch(ConfigureMenuEvent::SIDEBAR, $event); return $event->getMenu(); }
/** * @param int|null $nodeId * * @return bool */ public function isEditMode($nodeId = null) { $request = $this->requestStack->getMasterRequest(); $hasRequest = !!$request; if ($nodeId) { return $hasRequest && 1 === (int) $request->get('_jarves_editor') && $this->acl->isUpdatable('jarves/node', ['id' => $nodeId]); } return $hasRequest && 1 === (int) $request->get('_jarves_editor') && $this->pageStack->getCurrentPage() && $this->acl->isUpdatable('jarves/node', ['id' => $this->pageStack->getCurrentPage()->getId()]); }
/** * @return string */ public function getView() { $view = self::DEFAULT_VIEW; $request = $this->requestStack->getMasterRequest(); if (null !== $request && $request->attributes->has('view')) { $view = $request->attributes->get('view'); } return $view; }
/** * {@inheritdoc} */ public function getChannel() { $this->scheduleRefreshIfHostnameHaveChanged($this->requestStack->getMasterRequest()); if (false === $this->isFresh) { $this->channel = $this->channelResolver->resolve($this->latestHostname); $this->isFresh = true; } return $this->channel; }
/** * @param GenericEvent $event */ public function onPostUpdate(GenericEvent $event) { $user = $event->getSubject(); if ($user === $event->getArgument('current_user')) { $request = $this->requestStack->getMasterRequest(); $request->getSession()->set('_locale', $user->getUiLocale()->getCode()); $this->translator->setLocale($user->getUiLocale()->getCode()); } }
/** * {@inheritdoc} */ public function getAccount() { if (!isset($this->account)) { // Use the master request to prevent subrequests authenticating to a // different user. $this->setAccount($this->authenticationManager->authenticate($this->requestStack->getMasterRequest())); } return $this->account; }
public function testGetMasterRequest() { $requestStack = new RequestStack(); $this->assertNull($requestStack->getMasterRequest()); $masterRequest = Request::create('/foo'); $subRequest = Request::create('/bar'); $requestStack->push($masterRequest); $requestStack->push($subRequest); $this->assertSame($masterRequest, $requestStack->getMasterRequest()); }
/** * Configure response. * * Set $lifetime as < 0 for not set max-age * * @param Response $response * @param \DateTime $last_modified * @param int $lifetime * * @return Response */ public function configure(Response $response, \DateTime $last_modified, $lifetime) { $request = $this->request_stack->getMasterRequest(); if (!$request instanceof Request) { return $response; } // order is important $this->setPrivateCache($response, $request)->setLastModified($response, $last_modified)->setLifetime($response, $lifetime)->setEtag($response); return $response; }
/** * Returns info about IP * * @param null $ip * @return mixed */ public function getIpInfo($ip = null) { if (is_null($ip)) { $ip = $this->request_stack->getMasterRequest()->getClientIp(); } if (!isset($this->cache[$ip])) { $this->cache[$ip] = $this->findRange($ip); } return $this->cache[$ip]; }
/** * @return Request|null */ private function getRequest() { if ($this->requestStack instanceof RequestStack) { return $this->requestStack->getMasterRequest(); } elseif ($this->request instanceof Request) { return $this->request; } else { return null; } }
/** * Constructor * * @param \Twig_Environment $twig * @param FragmentHandler $fragmentHandler * @param ContentManager $contentManager * @param ContainerInterface $container */ public function __construct(\Twig_Environment $twig, FragmentHandler $fragmentHandler, ContainerInterface $container, RequestStack $requestStack) { $this->twig = $twig; $this->fragmentHandler = $fragmentHandler; $this->container = $container; $this->requestStack = $requestStack; if ($requestStack->getMasterRequest() !== null && $requestStack->getMasterRequest()->get('blockMode') === 'manage') { $this->blockMode = 'manage'; } }
public final function loginUser($firewallName, User $user, Response $response = null) { $this->userChecker->checkPostAuth($user); $token = $this->createToken($firewallName, $user); $request = $this->requestStack->getCurrentRequest(); if ($request == $this->requestStack->getMasterRequest()) { $this->sessionStrategy->onAuthentication($request, $token); } //TODO: implement rememberme $this->tokenStorage->setToken($token); }