/** * @param null|string $template * @param array $templateParameters * * @return array */ private function parseTemplateOptions($template, array $templateParameters) { if (!array_key_exists('language', $templateParameters) && $this->parameters->has('language')) { $templateParameters['language'] = $this->parameters->get('language'); } return ['template' => $template === null ? $this->parameters->get('template') : $template, 'parameters' => new ParameterBag($templateParameters)]; }
/** * @param QueryBuilder $query * @param ParameterBag $request * @return QueryBuilder */ public function map(QueryBuilder $query, ParameterBag $request) { if ($request->has('name')) { $query->andWhere('o.name LIKE :name')->setParameter('name', '%' . $request->get('name') . '%'); } if ($request->has('login')) { $query->andWhere('o.login = :login')->setParameter('login', $request->get('login')); } return $query; }
/** * Send the request with specified data * * @param mixed $data The data to send * * @return ResponseInterface * @throws InvalidRequestException */ public function sendData($data) { $this->verifySignature(); if ($this->params->has('notify_id')) { if ($this->verifyNotifyId) { $this->verifyNotifyId(); } } return $this->response = new LegacyNotifyResponse($this, $data); }
/** * @param OAuth2Provider $provider * @param ParameterBag $getParams * @return OAuth2Token * @throws OAuthException */ protected function retrieveToken(OAuth2Provider $provider, ParameterBag $getParams) { if ($getParams->has('error')) { throw OAuthException::createFromError($getParams->get('error'), $getParams->get('error_description')); } if (!$getParams->has('code')) { throw new GrantCodeNotFoundException('The grant code parameter was not found'); } return $provider->retrieveToken($getParams->get('code')); }
/** * @param QueryBuilder $query * @param ParameterBag $request * @return QueryBuilder */ public function map(QueryBuilder $query, ParameterBag $request) { if ($request->has('firstname')) { $query->andWhere('u.firstName LIKE :firstname')->setParameter('firstname', '%' . $request->get('firstname') . '%'); } if ($request->has('login')) { $query->andWhere('u.login = :login')->setParameter('login', $request->get('login')); } if ($request->has('lastname')) { $query->andWhere('u.lastName LIKE :lastname')->setParameter('lastname', '%' . $request->get('lastname') . '%'); } if ($request->has('name')) { $term = str_replace(' ', '%', trim($request->get('name'))); $query->andWhere('u.firstName LIKE :term OR u.lastName LIKE :term OR u.fullName LIKE :term')->setParameter('term', '%' . $term . '%'); } if ($request->has('branch')) { $query->andWhere('u.branch = :branch')->setParameter('branch', $request->get('branch')); } if ($request->has('level')) { $query->andWhere('u.niveau = :level')->setParameter('level', $request->get('level')); } if ($request->has('speciality')) { $query->andWhere('u.filiere = :speciality')->setParameter('speciality', $request->get('speciality')); } if ($request->has('is_student')) { $query->andWhere('u.isStudent = :is_student')->setParameter('is_student', (bool) $request->get('is_student')); } if ($request->has('bde_member') && $request->get('bde_member') == '1') { $query->andWhere('m.end > :now')->setParameter('now', new \DateTime('now')); } return $query; }
function it_creates_configuration_from_resource_metadata_and_request(MetadataInterface $metadata, Request $request, ParametersParser $parametersParser, ParameterBag $headersBag, ParameterBag $attributesBag) { $request->headers = $headersBag; $request->attributes = $attributesBag; $headersBag->has('Accept')->willReturn(false); $headersBag->has('Accept')->willReturn(false); $configuration = ['template' => ':Product:show.html.twig']; $attributesBag->get('_sylius', [])->shouldBeCalled()->willReturn($configuration); $parametersParser->parseRequestValues($configuration, $request)->willReturn($configuration); $this->create($metadata, $request)->shouldHaveType(RequestConfiguration::class); }
function it_can_find_specific_resource_with_slug_by_default(RequestConfiguration $requestConfiguration, Request $request, ParameterBag $requestAttributes, RepositoryInterface $repository, ResourceInterface $resource) { $requestConfiguration->getRepositoryMethod()->willReturn(null); $requestConfiguration->getRequest()->willReturn($request); $request->attributes = $requestAttributes; $requestAttributes->has('id')->willReturn(false); $requestAttributes->has('slug')->willReturn(true); $requestAttributes->get('slug')->willReturn('the-most-awesome-hat'); $repository->findOneBy(array('slug' => 'the-most-awesome-hat'))->willReturn($resource); $this->get($requestConfiguration, $repository)->shouldReturn($resource); }
/** * {@inheritdoc} */ public function determineAccessTokenInHeader(Request $request) { if ($request->headers->has('Authorization') === false) { return; } $header = $request->headers->get('Authorization'); if (substr($header, 0, 4) !== 'MAC ') { return; } // Find all the parameters expressed in the header $paramsRaw = explode(',', substr($header, 4)); $params = new ParameterBag(); array_map(function ($param) use(&$params) { $param = trim($param); preg_match_all('/([a-zA-Z]*)="([\\w=]*)"/', $param, $matches); // @codeCoverageIgnoreStart if (count($matches) !== 3) { return; } // @codeCoverageIgnoreEnd $key = reset($matches[1]); $value = trim(reset($matches[2])); if (empty($value)) { return; } $params->set($key, $value); }, $paramsRaw); // Validate parameters if ($params->has('id') === false || $params->has('ts') === false || $params->has('nonce') === false || $params->has('mac') === false) { return; } if ((int) $params->get('ts') !== time()) { return; } $accessToken = $params->get('id'); $timestamp = (int) $params->get('ts'); $nonce = $params->get('nonce'); $signature = $params->get('mac'); // Try to find the MAC key for the access token $macKey = $this->server->getMacStorage()->getByAccessToken($accessToken); if ($macKey === null) { return; } // Calculate and compare the signature $calculatedSignatureParts = [$timestamp, $nonce, strtoupper($request->getMethod()), $request->getUri(), $request->getHost(), $request->getPort()]; if ($params->has('ext')) { $calculatedSignatureParts[] = $params->get('ext'); } $calculatedSignature = base64_encode(hash_hmac('sha256', implode("\n", $calculatedSignatureParts), $macKey)); // Return the access token if the signature matches return $this->hash_equals($calculatedSignature, $signature) ? $accessToken : null; }
public function parseCookies(ParameterBag $cookies) { $this->setUtm(new Utm()); if ($cookies->has('__utmz')) { $this->utmz($cookies->get('__utmz')); } if ($cookies->has('__utmb')) { $this->utmb($cookies->get('__utmb')); } if ($cookies->has('__utma')) { $this->utma($cookies->get('__utma')); } return $this->getUtm(); }
protected function prepareRequestUri() { $requestUri = ''; if ($this->headers->has('X_REWRITE_URL')) { // check this first so IIS will catch $requestUri = $this->headers->get('X_REWRITE_URL'); } elseif ($this->server->get('IIS_WasUrlRewritten') == '1' && $this->server->get('UNENCODED_URL') != '') { // IIS7 with URL Rewrite: make sure we get the unencoded url (double slash problem) $requestUri = $this->server->get('UNENCODED_URL'); } elseif ($this->server->has('REQUEST_URI')) { $requestUri = $this->server->get('REQUEST_URI'); // HTTP proxy reqs setup request uri with scheme and host [and port] + the url path, only use url path $schemeAndHttpHost = $this->getScheme().'://'.$this->getHttpHost(); if (strpos($requestUri, $schemeAndHttpHost) === 0) { $requestUri = substr($requestUri, strlen($schemeAndHttpHost)); } } elseif ($this->server->has('ORIG_PATH_INFO')) { // IIS 5.0, PHP as CGI $requestUri = $this->server->get('ORIG_PATH_INFO'); if ($this->server->get('QUERY_STRING')) { $requestUri .= '?'.$this->server->get('QUERY_STRING'); } } return $requestUri; }
/** * Whether the request contains a Session which was started in one of the * previous requests. * * @return boolean * * @api */ public function hasPreviousSession() { // the check for $this->session avoids malicious users trying to fake a session cookie with proper name $sessionName = $this->hasSession() ? $this->session->getName() : null; return $this->cookies->has($sessionName) && $this->hasSession(); }
/** * Returns helper if it exists or null. * * @param [type] $method * * @return AHelper|null */ public function getHelper($method) { $helper = null; if (true === $this->helpers->has($method)) { $helper = $this->helpers->get($method); } return $helper; }
function it_throws_an_exception_when_a_required_object_is_not_found(FilterControllerEvent $event, Request $request, ParameterBag $attributes) { $event->getRequest()->willReturn($request); $request->attributes = $attributes; $attributes->get('_security', array())->willReturn(array(array('roles' => array('IS_OWNER'), 'subject' => 'group'))); $attributes->has('group')->willReturn(false); $this->shouldThrow('RuntimeException')->during('checkIfUserIsGranted', array($event)); }
/** * @return $this */ public function setupQuery() { if (!$this->requestQuery->has('q')) { return $this; } $this->nativeQueryGenerator->setQuery($this->requestQuery->get('q')); return $this; }
/** * Hash the parameters * @param ParameterBag $parameters */ public function setHash(ParameterBag &$parameters) { if ($parameters->has('secret')) { $secret = $this->parameters->get('secret'); $this->parameters->remove('secret'); $hash = md5(implode('', array_values($this->parameters->all())) . $secret); $this->parameters->set('hash', $hash); } }
/** * @param ParameterBag $params * @param ParamFetcherInterface $paramFetcher * @return array */ protected function getRouteParameters(ParameterBag $params, ParamFetcherInterface $paramFetcher) { $routeParameters = []; $requiredParameters = $this->getInternalParameters(); if ($params->has('_template') && $params->get('_template') instanceof View) { $requiredParameters = array_merge($params->get('_template')->getRouteParams()); } foreach ($requiredParameters as $routeParamName) { if ($params->has($routeParamName) && $params->get($routeParamName) instanceof ApiListableInterface) { $routeParameters[$routeParamName] = $params->get($routeParamName)->getId(); } elseif ($params->has($routeParamName)) { $routeParameters[$routeParamName] = $params->get($routeParamName); } elseif (null !== ($value = $paramFetcher->get($routeParamName))) { $routeParameters[$routeParamName] = $value; } } return $routeParameters; }
function it_renders_library_search_by_isbn_results(Request $request, ParameterBag $requestQueryParameters, LibraryInterface $library, SearchResults $searchResults, EngineInterface $templatingEngine, Response $response) { $request->query = $requestQueryParameters; $requestQueryParameters->has('isbn')->willReturn(true); $requestQueryParameters->get('isbn')->willReturn('978-1-56619-909-4'); $library->searchByIsbn(new Isbn('978-1-56619-909-4'))->willReturn($searchResults); $templatingEngine->renderResponse('search.html.twig', ['results' => $searchResults])->willReturn($response); $this->searchByIsbnAction($request)->shouldReturn($response); }
/** * @param ParameterBag $cookies * @return BreadCrumb[] */ private function readCrumbs(ParameterBag $cookies) { if (!$cookies->has(self::COOKIE_NAME)) { return []; } $serialized = json_decode($cookies->get(self::COOKIE_NAME), true); return array_map(function ($item) { return new BreadCrumb($item['caption'], $item['target']); }, (array) $serialized); }
function it_should_decrypt_a_cookie(GetResponseEvent $event, Request $request, ParameterBag $cookies) { $cookies->get('session')->willReturn('dGVzdA=='); $cookies->has('session')->willReturn(true); $cookies->set('session', 'test')->shouldBeCalled(); $request->cookies = $cookies; $event->getRequest()->willReturn($request); $event->getRequestType()->willReturn(HttpKernelInterface::MASTER_REQUEST); $this->onKernelRequest($event)->shouldReturn(null); }
/** * @param \Symfony\Component\HttpKernel\Event\GetResponseEvent $event * @param \Symfony\Component\HttpFoundation\Request $request * @param \Symfony\Component\HttpFoundation\ParameterBag $requestAttributes * @param \Symfony\Component\HttpFoundation\Session\Session $session */ function it_does_not_set_locale_if_request_alread_has_locale($event, $request, $requestAttributes, $session) { $request->attributes = $requestAttributes; $requestAttributes->has('_locale')->willReturn(true); $event->getRequest()->willReturn($request); $request->hasPreviousSession()->willReturn(true); $request->getSession()->willReturn($session); $request->setLocale(Argument::any())->shouldNotBeCalled(); $this->onKernelRequest($event); }
function it_should_properly_convert_parameter(Request $request, ParamConverter $paramConverter, Project $project, ProjectRepository $projectRepository, ParameterBag $parameterBag) { $parameterBag->has('projectSlug')->willReturn(true); $parameterBag->get('projectSlug')->willReturn('foobar'); $parameterBag->set(Argument::type('string'), Argument::any())->shouldBeCalled(); $request->attributes = $parameterBag; $projectRepository->findOneBy(['slug' => 'foobar'])->willReturn($project); $paramConverter->getClass()->willReturn('CiTron\\Project\\Entity\\Project'); $paramConverter->getName()->willReturn('project'); $this->apply($request, $paramConverter)->shouldReturn(true); }
/** * {@inheritdoc} */ public function decorate(ParameterBag $params, $collection) { if (!$collection instanceof CollectionRepresentation || !$params->has('_route')) { return $collection; } try { return new OffsetRepresentation($collection, $params->get('_route'), $this->getRouteParameters($params, $this->paramFetcher), $this->paramFetcher->get($this->offsetParameterName), $this->paramFetcher->get($this->limitParameterName), null, $this->offsetParameterName, $this->limitParameterName); } catch (InvalidArgumentException $exception) { return $collection; } }
/** * {@inheritdoc} */ public function transform(ParameterBag $item) { $transformer = new EmptyValueToNullTransformer(); // check for any default values that could be set foreach ($this->defaultValues as $key => $value) { // only set when it's not existing in the data or has no value if (!$item->has($key) || null === $transformer->transform($item->get($key), $key, $item) || $this->overwrite) { $item->set($key, $value); } } }
private function handleShows($path, ParameterBag $query) { if ($path == '/shows' && $query->has('showid')) { return $this->createShowResponseFromId($query->get('showid')); } elseif ($path == '/shows/view/person') { return $this->createPersonResponseFromId($query->get('person')); } else { $ref = substr($path, 7); return $this->createShowResponseFromRef($ref); } }
/** * Creates array of parameters with values from query. * * @param \Symfony\Component\HttpFoundation\ParameterBag $query * * @return \Symfony\Component\HttpFoundation\ParameterBag */ private function getParamsFromQuery(ParameterBag $query) { $params = new ParameterBag(); foreach ($this->preserve as $key) { if ($query->has($key)) { $val = htmlspecialchars($query->get($key)); $params->set($key, $val); } } return $params; }
/** * @param array $value * @param ParameterBag $item */ protected function expand(array $value, ParameterBag $item) { foreach ($value as $key => $val) { // if key already exists, check if we may overwrite it if ($item->has($key)) { if (!in_array($key, $this->overwriteExisting)) { continue; } } $item->set($key, $val); } }
/** * Extract managed extensions from rendererAdapter and store it. * * @param RendererAdapterInterface $rendererAdapter */ private function addManagedExtensions(RendererAdapterInterface $rendererAdapter) { $key = $this->getRendererAdapterKey($rendererAdapter); foreach ($rendererAdapter->getManagedFileExtensions() as $ext) { $rendererAdapters = array($key); if ($this->manageableExt->has($ext)) { $rendererAdapters = $this->manageableExt->get($ext); $rendererAdapters[] = $key; } $this->manageableExt->set($ext, $rendererAdapters); } }
/** * @param ParameterBag $item * @param array $keys */ protected function replace(ParameterBag $item, array $keys) { foreach ($keys as $key) { if (!$item->has($key)) { continue; } $value = $item->get($key); // if value is an array with a hash, that's a serialized node's text value if (is_array($value) && array_key_exists('#', $value)) { $item->set($key, $value['#']); } } }
/** * @return \Swift_Message */ public function createSwitfMessage() { $template = $this->loadTemplate(); $swiftMessage = \Swift_Message::newInstance(); if (!$this->templateOptions->has('subject')) { $this->templateOptions->set('subject', $template->renderBlock('subject', $this->getTemplateParameters())); } $this->setRecipients($swiftMessage); $swiftMessage->setSubject($this->templateOptions->get('subject')); $swiftMessage->setBody($template->render($this->getTemplateParameters()), 'text/html'); $swiftMessage->getHeaders()->addTextHeader('Content-language', $this->templateOptions->get('parameters')->get('language')); $swiftMessage->addPart($template->renderBlock('content_text', $this->getTemplateParameters()), 'text/plain'); return $swiftMessage; }
/** * @param ParameterBag $item * * @throws TransformationFailedException */ public function transform(ParameterBag $item) { if (!$item->has($this->field)) { return; } $value = $item->get($this->field); try { $newValue = $this->transformer->transform($value); $item->set($this->field, $newValue); } catch (TransformationFailedException $e) { // set the value to null as we couldn't transform it $item->set($this->field, null); throw new TransformationFailedException(sprintf('Transforming "%s" using "%s" failed with message: %s.', $this->field, get_class($this->transformer), $e->getMessage()), null, $e); } }