Example #1
0
 public function configureOptions(OptionsResolver $resolver)
 {
     $templates = $this->themeComponent->getTemplates();
     $templateChoices = array_combine(array_keys($templates), array_keys($templates));
     $resolver->setDefault('choices', $templateChoices);
     $resolver->setDefault('empty_data', reset($templates));
 }
 /**
  * Configure adapter options
  *
  * @param OptionsResolver $resolver
  * @throws \Symfony\Component\OptionsResolver\Exception\ExceptionInterface
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefined('digest_domains')->setAllowedTypes('digest_domains', 'string');
     $resolver->setDefined('nonce_timeout')->setAllowedTypes('nonce_timeout', 'int');
     $resolver->setDefault('use_opaque', false)->setAllowedTypes('use_opaque', 'bool');
     $resolver->setDefault('algorithm', 'MD5')->setAllowedTypes('algorithm', 'string');
 }
Example #3
0
 /**
  *
  * {@inheritdoc}
  *
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefaults(array('compound' => false, 'metadata' => null, 'icon' => 'fa fa-key', 'class' => null));
     $resolver->setDefault('prefixText', null);
     $resolver->setDefault('suffixIcon', null);
     $resolver->setDefault('suffixText', null);
 }
Example #4
0
 /**
  * Constructor.
  *
  * @param array|null $options
  */
 public function __construct(array $options = array())
 {
     $resolver = new OptionsResolver();
     $resolver->setRequired(['type', 'match']);
     $resolver->setDefault('type', function (Options $options, $value) {
         if (null === $value) {
             return;
         }
     });
     $resolver->setDefault('match', function (Options $options, $value) {
         if (null === $value) {
             return;
         }
     });
     $resolver->setAllowedValues('type', function ($value) {
         if (in_array($value, ['json', 'xml', 'html'])) {
             return true;
         }
         if (null == $value) {
             return true;
         }
     });
     $resolver->setAllowedTypes('type', ['string', 'null']);
     $options = $resolver->resolve($options);
     $this->type = $options['type'];
     $this->match = $options['match'];
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefault('connection', null)->setAllowedTypes('connection', ['string', 'null']);
     // To be removed when bumping symfony/form constraint to version 3.1+
     if (!in_array(DataTransformerInterface::class, class_implements(TextType::class))) {
         $resolver->setDefault('choices_as_values', true);
     }
 }
 protected function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefault('local_assets_dir', null);
     $resolver->setDefault('remote_assets_dir', '%remote_webapp_dir%');
     $resolver->setDefault('tags', []);
     $resolver->setRequired(['project_name', 'git_repository_url', 'git_target_branch', 'local_git_repository_dir', 'remote_git_repository_dir', 'local_webapp_dir', 'local_vendor_dir', 'remote_webapp_dir', 'remote_vendor_dir', 'remote_phpunit_configuration_xml_path', 'remote_symfony_console_path']);
     $resolver->setAllowedTypes('tags', 'array');
 }
 public function __construct(TokenRetrieveHelper $helper, array $config = [])
 {
     $this->config = $config;
     $this->helper = $helper;
     $this->optionsResolver = new OptionsResolver();
     $this->optionsResolver->setRequired(['client_id', 'client_secret', 'grant_type']);
     $this->optionsResolver->setDefault('grant_type', $this->getGrantType());
 }
Example #8
0
 /**
  * Get required options for the Billingo API to work
  * @param $opts
  * @return mixed
  */
 protected function resolveOptions($opts)
 {
     $resolver = new OptionsResolver();
     $resolver->setDefault('version', '2');
     $resolver->setDefault('host', 'https://www.billingo.hu/api/');
     // might be overridden in the future
     $resolver->setDefault('leeway', 60);
     $resolver->setRequired(['host', 'private_key', 'public_key', 'version', 'leeway']);
     return $resolver->resolve($opts);
 }
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefault('widget', 'compact');
     $resolver->setAllowedValues('widget', ['browser', 'compact']);
     $resolver->setDefault('root_node', '/');
     $resolver->setAllowedValues('root_node', function ($value) {
         return '/' === $value[0];
     });
     $resolver->setDefault('repository_name', 'default');
 }
Example #10
0
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefaults(['label' => null, 'label_attr' => [], 'header_attr' => [], 'cell_attr' => [], 'label_translation_domain' => null, 'block_name' => null]);
     $resolver->setDefault('parent_column', null);
     $resolver->setDefault('data_provider', null);
     $resolver->setAllowedTypes('label', ['string', 'null']);
     $resolver->setAllowedTypes('label_attr', 'array');
     $resolver->setAllowedTypes('header_attr', 'array');
     $resolver->setAllowedTypes('cell_attr', 'array');
     $resolver->setAllowedTypes('data_provider', ['Closure', 'null', 'string', PropertyPath::class]);
 }
 /**
  * The Place Autocomplete service is a web service that returns place predictions in response to an HTTP request.
  * The request specifies a textual search string and optional geographic bounds. The service can be used to provide
  * autocomplete functionality for text-based geographic searches, by returning places such as businesses, addresses
  * and points of interest as a user types.
  *
  * @param array $parameters
  * @see https://developers.google.com/places/web-service/autocomplete
  * @return GeocodeResult
  */
 public function getGeocode(array $parameters)
 {
     // Required and optional parameters for this function call
     $options = new OptionsResolver();
     $options->setDefault('output', 'json');
     $options->setDefault('language', 'en');
     $options->setDefined(['latlng', 'place_id']);
     $options = $options->resolve($parameters);
     // Place the call
     $uri = $this->buildUri(sprintf('%s/%s', static::GEOCODE_BASE_URL, $options['output']), $this->options['key'], $parameters);
     $request = $this->client->request('GET', $uri);
     return new GeocodeResult($request, $options['language']);
 }
Example #12
0
 /**
  * @param array $options
  */
 public function setOptions($options = array())
 {
     $resolver = new OptionsResolver();
     $resolver->setDefaults(array());
     $resolver->setRequired('slider_id');
     $resolver->setAllowedTypes('slider_id', 'string');
     $resolver->setRequired('start');
     $resolver->setAllowedTypes('start', 'array');
     $resolver->setRequired('range_min');
     $resolver->setAllowedTypes('range_min', 'numeric');
     $resolver->setRequired('range_max');
     $resolver->setAllowedTypes('range_max', 'numeric');
     $resolver->setDefined('range_steps');
     $resolver->setAllowedTypes('range_steps', 'array');
     $resolver->setDefined('step');
     $resolver->setAllowedTypes('step', 'numeric');
     $resolver->setDefined('connect');
     $resolver->setAllowedTypes('connect', 'string');
     $resolver->setAllowedValues('connect', array('lower', 'upper', 'true', 'false'));
     $resolver->setDefault('connect', 'false');
     $resolver->setDefined('margin');
     $resolver->setAllowedTypes('margin', 'numeric');
     $resolver->setDefined('limit');
     $resolver->setAllowedTypes('margin', 'numeric');
     $resolver->setDefined('orientation');
     $resolver->setAllowedTypes('orientation', 'string');
     $resolver->setAllowedValues('orientation', array('vertical', 'horizontal'));
     $resolver->setDefault('orientation', 'horizontal');
     $resolver->setDefined('slider_dimension');
     $resolver->setAllowedTypes('slider_dimension', 'array');
     $resolver->setDefined('direction');
     $resolver->setAllowedTypes('direction', 'string');
     $resolver->setAllowedValues('direction', array('ltr', 'rtl'));
     $resolver->setDefault('direction', 'ltr');
     $resolver->setDefined('animate');
     $resolver->setAllowedTypes('animate', 'boolean');
     $resolver->setDefault('animate', true);
     $resolver->setDefined('animation_duration');
     $resolver->setAllowedTypes('animation_duration', 'numeric');
     $resolver->setDefined('tooltips');
     $resolver->setAllowedTypes('tooltips', 'array');
     //events
     $resolver->setDefined('update_event');
     $resolver->setDefined('change_event');
     $resolver->setDefined('set_event');
     $resolver->setDefined('slide_event');
     $resolver->setDefined('start_event');
     $resolver->setDefined('end_event');
     $this->options = $resolver->resolve($options);
 }
 /**
  * Once you have a place_id or a reference from a Place Search, you can request more details about a particular
  * establishment or point of interest by initiating a Place Details request. A Place Details request returns more
  * comprehensive information about the indicated place such as its complete address, phone number, user
  * rating and reviews.
  * @param array $parameters
  * @see https://developers.google.com/places/web-service/details
  * @return PlaceResult
  */
 public function getPlaceDetails(array $parameters)
 {
     // Required and optional parameters for this function call
     $options = new OptionsResolver();
     $options->setDefault('output', 'json');
     $options->setDefault('language', 'en');
     $options->setRequired(['placeid']);
     $options->setDefined(['extensions', 'language']);
     $options = $options->resolve($parameters);
     // Place the call
     $uri = $this->buildUri(sprintf('%s/%s', static::PLACE_DETAILS_BASE_URL, $options['output']), $this->options['key'], $parameters);
     $request = $this->client->request('GET', $uri);
     return new PlaceResult($request, $options['language']);
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     // This is a child of the choice type so its possible to change the the choice list data. This
     // is something that is not wanted since this a choice type specifically made to list the current
     // channels. So the choice_loader is force to a ChannelChoiceLoader no mather the options that
     // are supplied.
     $choiceLoaderNormalizer = function (Options $options) {
         return new ChannelChoiceLoader($this->repository, $this->factory);
     };
     $resolver->setNormalizer('choice_loader', $choiceLoaderNormalizer);
     $resolver->setDefault('choice_data', 'object');
     $resolver->setDefault('choice_value', 'id');
     $resolver->setDefault('choice_label', 'name');
     $resolver->setAllowedValues('choice_data', ['object', 'scalar']);
 }
Example #15
0
 /**
  * LDAP constructor.
  * @param array $options
  */
 public function __construct(array $options)
 {
     $resolver = new OptionsResolver();
     $resolver->setDefault('anonymous', false);
     $resolver->setRequired(array('host', 'domain', 'username', 'password', 'base_dn'));
     $this->options = $resolver->resolve($options);
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $token = $this->tokenStorage->getToken();
     if ($token && $token->getUser() instanceof AccountUser) {
         $resolver->setDefault('grid_name', 'products-select-grid-frontend');
     }
 }
 /**
  * Option configuration.
  *
  * @param OptionsResolver $resolver
  */
 private function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefault('url', 'https://news.google.com/news?cf=all&hl=en&ned=us&topic=t&output=rss');
     $resolver->setAllowedTypes('url', array('string'));
     $resolver->setRequired(array('location_id'));
     $resolver->setAllowedTypes('location_id', array('int'));
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefaults(array('data_class' => $this->dataClass, 'translation_domain' => 'CmfSeoBundle', 'required' => false));
     if ($this->isOrm) {
         $resolver->setDefault('by_reference', false);
     }
 }
 public function configureOptions(OptionsResolver $resolver)
 {
     // Les valeurs par défault
     $resolver->setDefaults(array("host" => "smtp.example.org", "username" => "user", "password" => 'pa$$word', "port" => "25", 'encryption' => null));
     // Les options obligatoire
     $resolver->setRequired(array('host', 'username', 'password'));
     // Les type de valeur autorisé pour le port
     $resolver->setAllowedTypes("port", array("int"));
     // Les valeur autorisé pour l'username
     $resolver->setAllowedValues("username", array("john", "doe", "johndoe"));
     // On normalise le host en fornction de l'encryption ssl ou non
     $resolver->setNormalizer("host", function (Options $options, $value) {
         if (!in_array(substr($value, 0, 7), array("http://", "https://"))) {
             if ("ssl" === $options["encryption"]) {
                 $value = "https://" . $value;
             } else {
                 $value = "http://" . $value;
             }
             return $value;
         }
     });
     // On change la valeur par défault du port en fonction de l'encryption ssl ou non
     $resolver->setDefault("port", function (Options $options) {
         if ("ssl" === $options["encryption"]) {
             return 465;
         }
         return 25;
     });
 }
 public function testPostMaxSizeTranslation()
 {
     $translator = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface');
     $translator->expects($this->any())->method('trans')->with($this->equalTo('old max {{ max }}!'))->willReturn('translated max {{ max }}!');
     $extension = new UploadValidatorExtension($translator);
     $resolver = new OptionsResolver();
     $resolver->setDefault('post_max_size_message', 'old max {{ max }}!');
     $resolver->setDefault('upload_max_size_message', function (Options $options, $message) {
         return function () use($options) {
             return $options['post_max_size_message'];
         };
     });
     $extension->configureOptions($resolver);
     $options = $resolver->resolve();
     $this->assertEquals('translated max {{ max }}!', call_user_func($options['upload_max_size_message']));
 }
Example #21
0
 /**
  * Configures the adapter's options.
  *
  * @param OptionsResolver $resolver An OptionsResolver instance
  */
 protected function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefaults(array('host' => 'localhost', 'version' => 3, 'connection_string' => null, 'encryption' => 'none', 'options' => array()));
     $resolver->setDefault('port', function (Options $options) {
         return 'ssl' === $options['encryption'] ? 636 : 389;
     });
     $resolver->setDefault('connection_string', function (Options $options) {
         return sprintf('ldap%s://%s:%s', 'ssl' === $options['encryption'] ? 's' : '', $options['host'], $options['port']);
     });
     $resolver->setAllowedTypes('host', 'string');
     $resolver->setAllowedTypes('port', 'numeric');
     $resolver->setAllowedTypes('connection_string', 'string');
     $resolver->setAllowedTypes('version', 'numeric');
     $resolver->setAllowedValues('encryption', array('none', 'ssl', 'tls'));
     $resolver->setAllowedTypes('options', 'array');
 }
 public function getModel($make, $model, array $options = [])
 {
     $resolver = new OptionsResolver();
     $resolver->setDefaults(['year' => 1990, 'view' => 'basic']);
     $resolver->setDefined('state');
     $resolver->setRequired(['state', 'view']);
     $resolver->setAllowedTypes('year', 'integer');
     $resolver->setAllowedValues('state', ['new', 'used']);
     $resolver->setDefault('state', function (Options $options, $previousValue) {
         if ($options['year'] >= 2015) {
             return 'new';
         }
         return $previousValue;
     });
     //        $resolver->isDefined('state');
     $options = $resolver->resolve($options);
     $client = new GuzzleHttp\Client();
     $queryParams = array_merge($options, ['fmt' => 'json', 'api_key' => $this->apiKey]);
     $query = GuzzleHttp\Psr7\build_query($queryParams);
     $request = new GuzzleHttp\Psr7\Request('GET', $this->apiEndpoint . $make . '/' . $model . '?' . $query);
     /** @var ResponseInterface $response */
     $response = $client->send($request);
     if ($this->dispatcher) {
         $this->dispatcher->dispatch(ApiCallEvent::EVENT_NAME, new GenericEvent($this, ['make' => $make, 'model' => $model, 'options' => $options]));
     }
     return $this->delegatingSerializer->deserialize($response->getBody(), 'json', ['type' => 'array']);
 }
 /**
  * {@inheritdoc}
  */
 protected function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefault('name', function (Options $options) {
         return $this->faker->words(3, true);
     })->setDefault('code', function (Options $options) {
         return StringInflector::nameToCode($options['name']);
     });
 }
 public function let(LdapManager $ldap, LdapQueryBuilder $qb, LdapQuery $query, LdapObjectCollection $collection)
 {
     $ldap->getDomainContext()->willReturn('foo.bar');
     $ldap->buildLdapQuery()->willReturn($qb);
     $qb->select(Argument::any())->willReturn($qb);
     $qb->from(Argument::any())->willReturn($qb);
     $qb->getLdapQuery()->willReturn($query);
     $query->getResult()->WillReturn($collection);
     $collection->toArray()->willReturn([]);
     $this->resolver = new OptionsResolver();
     if (Kernel::VERSION >= 2.6) {
         $this->resolver->setDefault('ldap_type', 'user');
     } else {
         $this->resolver->setDefaults(['ldap_type' => 'user']);
     }
     $this->beConstructedWith($ldap);
 }
Example #25
0
 /**
  * {@inheritdoc}
  */
 protected function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefault('email', function (Options $options) {
         return $this->faker->email;
     })->setDefault('username', function (Options $options) {
         return $this->faker->firstName . ' ' . $this->faker->lastName;
     })->setDefault('enabled', true)->setAllowedTypes('enabled', 'bool')->setDefault('password', 'password123')->setDefault('locale_code', $this->localeCode)->setDefault('api', false)->setDefined('first_name')->setDefined('last_name');
 }
 /**
  * @param $resolver
  */
 protected function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired([self::OPT_CONTENT, self::OPT_FIELD_IDENTIFIER]);
     $resolver->setDefaults([self::OPT_VERSION => null, self::OPT_DOWNLOAD_LANGUAGE => null, self::OPT_SITEACCESS_LANGUAGE => null, self::OPT_SITEACCESS => null]);
     $resolver->setAllowedTypes(self::OPT_CONTENT, 'eZ\\Publish\\API\\Repository\\Values\\Content\\Content');
     $resolver->setAllowedTypes(self::OPT_FIELD_IDENTIFIER, 'string');
     $resolver->setDefault(self::OPT_CONTENT_ID, function (Options $options) {
         return $options[self::OPT_CONTENT]->id;
     });
     $resolver->setDefault(self::OPT_DOWNLOAD_NAME, function (Options $options) {
         $field = $this->translationHelper->getTranslatedField($options[self::OPT_CONTENT], $options[self::OPT_FIELD_IDENTIFIER], $options[self::OPT_DOWNLOAD_LANGUAGE]);
         if (!$field instanceof Field) {
             throw new InvalidArgumentException(sprintf("The '%s' parameter did not match a known Field", self::OPT_FIELD_IDENTIFIER));
         }
         return $field->value->fileName;
     });
 }
 /**
  * In resolve() we count the options that are actually set (which may be
  * only a subset of the defined options). Outside of resolve(), it's not
  * clear what is counted.
  *
  * @expectedException \Symfony\Component\OptionsResolver\Exception\AccessException
  */
 public function testCountFailsOutsideResolve()
 {
     $this->resolver->setDefault('foo', 0);
     $this->resolver->setRequired('bar');
     $this->resolver->setDefined('bar');
     $this->resolver->setDefault('lazy1', function () {
     });
     count($this->resolver);
 }
Example #28
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefined('entityName');
     $resolver->setRequired('entityName');
     $resolver->setAllowedTypes('entityName', 'string');
     $resolver->setDefault('invalid_message', function (Options $options) {
         return 'This value is not valid.  Unable to find ' . $options['entityName'] . ' in the database.';
     });
 }
Example #29
0
 /**
  * Configure adapter options
  *
  * @param  OptionsResolver $resolver
  * @throws \Symfony\Component\OptionsResolver\Exception\AccessException
  * @throws \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired('table_name')->setAllowedTypes('table_name', ['string']);
     $resolver->setRequired('identity_column')->setAllowedTypes('identity_column', ['string']);
     $resolver->setRequired('credential_column')->setAllowedTypes('credential_column', ['string']);
     $resolver->setDefined('roles_column')->setAllowedTypes('roles_column', ['string', 'null']);
     $resolver->setDefined('salt_column')->setAllowedTypes('salt_column', ['string', 'null']);
     $resolver->setDefault('use_ambiguity_identity', false)->setAllowedTypes('use_ambiguity_identity', ['bool']);
 }
Example #30
0
 /**
  * {@inheritdoc}
  */
 protected function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefault('email', function (Options $options) {
         return $this->faker->email;
     })->setDefault('first_name', function (Options $options) {
         return $this->faker->firstName;
     })->setDefault('last_name', function (Options $options) {
         return $this->faker->lastName;
     })->setDefault('enabled', true)->setAllowedTypes('enabled', 'bool')->setDefault('password', 'password123');
 }