コード例 #1
1
 /**
  * Handle the request stack
  */
 protected function handleRequestStack()
 {
     $currentRequest = $this->requestStack->getCurrentRequest();
     if ($currentRequest) {
         $this->add('request.locale', $currentRequest->getLocale());
     }
 }
 public function __construct(TranslatorInterface $translator, Router $router, LocaleManager $localeManager, RequestStack $requestStack)
 {
     $this->translator = $translator;
     $this->router = $router;
     $this->localeManager = $localeManager;
     $this->request = $requestStack->getCurrentRequest();
 }
コード例 #3
0
 /**
  * @param RequestStack $requestStack
  * @param EntityManager $entityManager
  * @param $securityContext
  * @param $acl
  */
 public function __construct(RequestStack $requestStack, EntityManager $entityManager, SecurityContext $securityContext, $acl)
 {
     $this->securityContext = $securityContext;
     $this->request = $requestStack->getCurrentRequest();
     $this->em = $entityManager;
     $this->acl = $acl;
 }
コード例 #4
0
 public function createMainMenu(RequestStack $requestStack)
 {
     $menu = $this->_factory->createItem('root');
     $items = $this->_manager->getRepository('MenuBundle:Menu')->findAll();
     $currentRoute = $requestStack->getMasterRequest()->attributes->get('_route');
     $westItems = array_slice($items, 0, 2);
     $eastItems = array_slice($items, 2, 2);
     foreach ($westItems as $item) {
         $menu->addChild($item->getTitle(), ['route' => $item->getRoute()])->setAttribute('class', 'touch-hover');
         if ($item->getRoute() === str_replace("_default", "", $currentRoute)) {
             $menu[$item->getTitle()]->setCurrent(TRUE);
         }
     }
     // $menu
     //     ->addChild(NULL, [
     //         'route' => 'index', 'routeParameters' => [
     //             '_locale' => $requestStack->getMasterRequest()->attributes->get('_locale')
     //         ]
     //     ])
     //     ->setAttribute('class', 'logo-holder')
     //     ->setLinkAttribute('class', 'logo')
     // ;
     foreach ($eastItems as $item) {
         $menu->addChild($item->getTitle(), ['route' => $item->getRoute()])->setAttribute('class', 'touch-hover');
         if ($item->getRoute() === str_replace("_default", "", $currentRoute)) {
             $menu[$item->getTitle()]->setCurrent(TRUE);
         }
     }
     return $menu;
 }
コード例 #5
0
 /**
  * @param IntegrationHelper            $integrationHelper
  * @param UserPasswordEncoderInterface $encoder
  * @param EventDispatcherInterface     $dispatcher
  * @param RequestStack                 $requestStack
  */
 public function __construct(IntegrationHelper $integrationHelper, UserPasswordEncoderInterface $encoder, EventDispatcherInterface $dispatcher, RequestStack $requestStack)
 {
     $this->encoder = $encoder;
     $this->dispatcher = $dispatcher;
     $this->integrationHelper = $integrationHelper;
     $this->request = $requestStack->getCurrentRequest();
 }
コード例 #6
0
 /**
  * @DI\InjectParams({
  *     "container"       = @DI\Inject("service_container"),
  *     "httpKernel"      = @DI\Inject("http_kernel"),
  *     "requestStack"    = @DI\Inject("request_stack"),
  *     "resourceManager" = @DI\Inject("claroline.manager.resource_manager")
  * })
  */
 public function __construct(ContainerInterface $container, HttpKernelInterface $httpKernel, RequestStack $requestStack, ResourceManager $resourceManager)
 {
     $this->container = $container;
     $this->httpKernel = $httpKernel;
     $this->request = $requestStack->getCurrentRequest();
     $this->resourceManager = $resourceManager;
 }
コード例 #7
0
 function it_throws_a_channel_not_found_exception_if_channel_with_given_code_was_not_found(FakeChannelCodeProviderInterface $fakeChannelCodeProvider, ChannelRepositoryInterface $channelRepository, RequestStack $requestStack, Request $request)
 {
     $requestStack->getMasterRequest()->willReturn($request);
     $fakeChannelCodeProvider->getCode($request)->willReturn('CHANNEL_CODE');
     $channelRepository->findOneByCode('CHANNEL_CODE')->willReturn(null);
     $this->shouldThrow(ChannelNotFoundException::class)->during('getChannel');
 }
コード例 #8
0
 /**
  * Constructs a PageRedirect object.
  *
  * @param array $configuration
  *   A configuration array containing information about the plugin instance.
  * @param string $plugin_id
  *   The plugin ID for the plugin instance.
  * @param mixed $plugin_definition
  *   The plugin implementation definition.
  * @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger_factory
  *   The logger factory service.
  * @param \Drupal\Core\Path\CurrentPathStack $current_path_stack
  *   The current path stack service.
  * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack
  *   The request stack service.
  */
 public function __construct(array $configuration, $plugin_id, $plugin_definition, LoggerChannelFactoryInterface $logger_factory, CurrentPathStack $current_path_stack, RequestStack $request_stack)
 {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
     $this->logger = $logger_factory->get('rules');
     $this->currentPathStack = $current_path_stack;
     $this->request = $request_stack->getCurrentRequest();
 }
コード例 #9
0
 protected function setUp()
 {
     /**
      * Add the test type to the factory and
      * the form to the container
      */
     $factory = new FormFactoryBuilder();
     $factory->addExtension(new CoreExtension());
     $factory->addType(new TestType());
     /**
      * Construct the container
      */
     $container = new Container();
     $container->set("thelia.form_factory_builder", $factory);
     $container->set("thelia.translator", new Translator($container));
     $container->setParameter("thelia.parser.forms", $definition = array("test_form" => "Thelia\\Tests\\Resources\\Form\\TestForm"));
     $request = new Request();
     $requestStack = new RequestStack();
     $requestStack->push($request);
     $request->setSession(new Session(new MockArraySessionStorage()));
     $container->set("request", $request);
     $container->set("request_stack", $requestStack);
     $container->set("thelia.forms.validator_builder", new ValidatorBuilder());
     $container->set("event_dispatcher", new EventDispatcher());
     $this->factory = new TheliaFormFactory($requestStack, $container, $definition);
 }
コード例 #10
0
 /**
  * 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;
 }
コード例 #11
0
 /**
  * {@inheritdoc}
  */
 public function getCurrentRequest()
 {
     if (null === $this->request) {
         $this->request = $this->requestStack->getMasterRequest();
     }
     return $this->request;
 }
 public function let(RequestStack $requestStack, Request $request, Session $session, ParameterBag $cookies)
 {
     $requestStack->getCurrentRequest()->willReturn($request);
     $request->getSession()->willReturn($session);
     $request->cookies = $cookies;
     $this->beConstructedWith($requestStack);
 }
コード例 #13
0
 /**
  * on kernel finish request.
  *
  * @param FinishRequestEvent $event
  */
 public function onKernelFinishRequest(FinishRequestEvent $event)
 {
     if (null === ($parentRequest = $this->requestStack->getParentRequest())) {
         return;
     }
     $this->setLocale($parentRequest);
 }
コード例 #14
0
 /**
  * @covers ::onPageContext
  */
 public function testOnPageContext()
 {
     $collection = new RouteCollection();
     $route_provider = $this->prophesize(RouteProviderInterface::class);
     $route_provider->getRoutesByPattern('/test_route')->willReturn($collection);
     $request = new Request();
     $request_stack = new RequestStack();
     $request_stack->push($request);
     $data_definition = new DataDefinition(['type' => 'entity:user']);
     $typed_data = $this->prophesize(TypedDataInterface::class);
     $this->typedDataManager->getDefaultConstraints($data_definition)->willReturn([]);
     $this->typedDataManager->create($data_definition, 'banana')->willReturn($typed_data->reveal());
     $this->typedDataManager->createDataDefinition('bar')->will(function () use($data_definition) {
         return $data_definition;
     });
     $page = $this->prophesize(PageInterface::class);
     $this->executable->expects($this->once())->method('getPage')->will($this->returnValue($page->reveal()));
     $page->getPath()->willReturn('/test_route');
     $this->executable->expects($this->at(1))->method('addContext')->with('foo', $this->isInstanceOf(Context::class));
     $this->executable->expects($this->at(2))->method('addContext')->with('baz', $this->isInstanceOf(Context::class));
     $collection->add('test_route', new Route('/test_route', [], [], ['parameters' => ['foo' => ['type' => 'bar'], 'baz' => ['type' => 'bop'], 'page' => ['type' => 'entity:page']]]));
     // Set up a request with one of the expected parameters as an attribute.
     $request->attributes->add(['foo' => 'banana']);
     $route_param_context = new RouteParamContext($route_provider->reveal(), $request_stack);
     $route_param_context->onPageContext($this->event);
 }
コード例 #15
0
 /**
  * {@inheritdoc}
  */
 public function getLocale()
 {
     if ($request = $this->requestStack->getCurrentRequest()) {
         return $request->getLocale();
     }
     return $this->defaultLocale;
 }
コード例 #16
0
 /**
  * @param DisplayMediaManager               $displayMediaManager
  * @param MediaRepositoryInterface          $mediaRepository
  * @param RequestStack                      $requestStack
  * @param MediaWithFormatExtractorInterface $mediaWithFormatExtractor
  */
 public function __construct(DisplayMediaManager $displayMediaManager, MediaRepositoryInterface $mediaRepository, RequestStack $requestStack, MediaWithFormatExtractorInterface $mediaWithFormatExtractor)
 {
     $this->displayMediaManager = $displayMediaManager;
     $this->mediaRepository = $mediaRepository;
     $this->request = $requestStack->getMasterRequest();
     $this->mediaWithFormatExtractor = $mediaWithFormatExtractor;
 }
コード例 #17
0
 /**
  * @param $page
  *
  * @return string
  */
 protected function getUriForPage($page)
 {
     $request = $this->requestStack->getCurrentRequest();
     $request->query->set('page', $page);
     $query = urldecode(http_build_query($request->query->all()));
     return $request->getSchemeAndHttpHost() . $request->getBaseUrl() . $request->getPathInfo() . '?' . $query;
 }
コード例 #18
0
 /**
  * @DI\InjectParams({
  *     "httpKernel"   = @DI\Inject("http_kernel"),
  *     "requestStack" = @DI\Inject("request_stack"),
  *     "router"       = @DI\Inject("router"),
  *     "translator"   = @DI\Inject("translator")
  * })
  */
 public function __construct(HttpKernelInterface $httpKernel, RequestStack $requestStack, UrlGeneratorInterface $router, TranslatorInterface $translator)
 {
     $this->httpKernel = $httpKernel;
     $this->request = $requestStack->getCurrentRequest();
     $this->router = $router;
     $this->translator = $translator;
 }
コード例 #19
0
 /**
  * @param EntityManagerInterface $em
  * @param EngineInterface $twigEngine
  * @param TranslatorInterface $translator
  * @param RequestStack $requestStack
  */
 public function __construct(EntityManagerInterface $em, EngineInterface $twigEngine, TranslatorInterface $translator, RequestStack $requestStack)
 {
     $this->em = $em;
     $this->translator = $translator;
     $this->render = $twigEngine;
     $this->request = $requestStack->getCurrentRequest();
 }
コード例 #20
0
 /**
  * @return RequestStack
  */
 private function createRequestStack()
 {
     $request = Request::create('/');
     $requestStack = new RequestStack();
     $requestStack->push($request);
     return $requestStack;
 }
コード例 #21
0
 /**
  * Contructor
  * @param RequestStack $request
  * @param EntityManager $em
  * @param ContainerInterface $container
  */
 public function __construct(RequestStack $request, EntityManager $em, ContainerInterface $container)
 {
     // Setting datas
     $this->request = $request->getCurrentRequest();
     $this->em = $em;
     $this->container = $container;
 }
コード例 #22
0
 private function getRemoteRequestToken()
 {
     if (!$this->requestStack->getCurrentRequest()) {
         return null;
     }
     return $this->requestStack->getCurrentRequest()->headers->get('X-Remote-Request-Token');
 }
コード例 #23
0
 /**
  * {@inheritdoc}
  *
  * Orders collection by properties. The order of the ordered properties is the same as the order specified in the
  * query.
  * For each property passed, if the resource does not have such property or if the order value is different from
  * `asc` or `desc` (case insensitive), the property is ignored.
  */
 public function apply(ResourceInterface $resource, QueryBuilder $queryBuilder)
 {
     $request = $this->requestStack->getCurrentRequest();
     if (null === $request) {
         return;
     }
     $properties = $this->extractProperties($request);
     foreach ($properties as $property => $order) {
         if (!$this->isPropertyEnabled($property) || !$this->isPropertyMapped($property, $resource)) {
             continue;
         }
         if (empty($order) && isset($this->properties[$property])) {
             $order = $this->properties[$property];
         }
         $order = strtoupper($order);
         if (!in_array($order, ['ASC', 'DESC'])) {
             continue;
         }
         $alias = 'o';
         $field = $property;
         if ($this->isPropertyNested($property)) {
             $propertyParts = $this->splitPropertyParts($property);
             $parentAlias = $alias;
             foreach ($propertyParts['associations'] as $association) {
                 $alias = QueryNameGenerator::generateJoinAlias($association);
                 $queryBuilder->leftJoin(sprintf('%s.%s', $parentAlias, $association), $alias);
                 $parentAlias = $alias;
             }
             $field = $propertyParts['field'];
         }
         $queryBuilder->addOrderBy(sprintf('%s.%s', $alias, $field), $order);
     }
 }
コード例 #24
0
ファイル: Render.php プロジェクト: vigourouxjulien/thelia
 protected function prepareRequest(array $params)
 {
     // Get action
     $action = $this->popParameter($params, "action");
     // Then get and filter query, request and method
     $query = $this->popParameter($params, "query");
     $query = $this->filterArrayStrParam($query);
     $request = $this->popParameter($params, "request");
     $request = $this->filterArrayStrParam($request);
     $method = strtoupper($this->popParameter($params, "method", "GET"));
     // Then build the request
     $requestObject = clone $this->requestStack->getCurrentRequest();
     $requestObject->query = new ParameterBag($query);
     $requestObject->request = new ParameterBag($request);
     $requestObject->attributes = new ParameterBag(["_controller" => $action]);
     // Apply the method
     if (!empty($request) && "GET" === $method) {
         $requestObject->setMethod("POST");
     } else {
         $requestObject->setMethod($method);
     }
     // Then all the attribute parameters
     foreach ($params as $key => $attribute) {
         $requestObject->attributes->set($key, $attribute);
     }
     return $requestObject;
 }
コード例 #25
0
ファイル: Provider.php プロジェクト: Turists/rss-reader
 public function __construct(Session $session, Doctrine $doctrine, AdminChecker $adminChecker, RequestStack $requestStack)
 {
     $this->session = $session;
     $this->doctrine = $doctrine;
     $this->adminChecker = $adminChecker;
     $this->request = $requestStack->getCurrentRequest();
 }
コード例 #26
0
 /**
  * The constructor for this service.
  *
  * @param ContainerInterface $container
  */
 public function __construct(RequestStack $requestStack, ContentManagerInterface $contentManager)
 {
     $this->routeCollection = new RouteCollection();
     $this->request = $requestStack->getCurrentRequest();
     $this->contentManager = $contentManager;
     $this->createRoutes();
 }
コード例 #27
0
 /**
  * @param Registry      $manager,
  * @param RequestStack  $requestStack,
  * @param ObjectManager $persistence
  *
  * @InjectParams({
  *     "manager"        = @Inject("doctrine"),
  *     "requestStack"   = @Inject("request_stack"),
  *     "persistence"    = @Inject("claroline.persistence.object_manager")
  * })
  */
 public function __construct(Registry $manager, RequestStack $requestStack, ObjectManager $persistence)
 {
     $this->manager = $persistence;
     $this->request = $requestStack->getCurrentRequest();
     $this->content = $manager->getRepository('ClarolineCoreBundle:Content');
     $this->translations = $manager->getRepository('ClarolineCoreBundle:ContentTranslation');
 }
コード例 #28
0
 /**
  * {@inheritdoc}
  */
 public function resolveForPreview($webspaceKey, $locale)
 {
     // take first portal url
     $portalInformation = $this->webspaceManager->getPortalInformations($this->environment);
     $portalUrl = array_keys($portalInformation)[0];
     return ['request' => ['webspaceKey' => $webspaceKey, 'locale' => $locale, 'defaultLocale' => $locale, 'portalUrl' => $portalUrl, 'resourceLocatorPrefix' => '', 'resourceLocator' => '', 'get' => $this->requestStack->getCurrentRequest()->query->all(), 'post' => $this->requestStack->getCurrentRequest()->request->all(), 'analyticsKey' => $this->previewDefaults['analyticsKey']]];
 }
コード例 #29
0
ファイル: BarProgress.php プロジェクト: scorpionx/vtt-bundle
 public function __construct(RequestStack $request)
 {
     $this->min = 0;
     $this->progressBar = 0;
     $this->idSession = $request->getCurrentRequest()->get('idAcessoBarProgress');
     $this->setPath();
 }
コード例 #30
0
 /**
  * Constructor.
  *
  * @param string                           $id
  * @param RequestStack                     $requestStack
  * @param AjaxChoiceLoaderInterface        $choiceLoader
  * @param AjaxChoiceListFormatterInterface $formatter
  * @param string                           $format
  */
 public function __construct($id, RequestStack $requestStack, AjaxChoiceLoaderInterface $choiceLoader, AjaxChoiceListFormatterInterface $formatter, $format = 'json')
 {
     parent::__construct($id, $format);
     $this->request = $requestStack->getMasterRequest();
     $this->choiceLoader = $choiceLoader;
     $this->formatter = $formatter;
 }