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'); }
/** * * {@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); }
/** * 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()); }
/** * 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'); }
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']); }
/** * @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']); }
/** * 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'])); }
/** * 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); }
/** * {@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); }
/** * {@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.'; }); }
/** * 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']); }
/** * {@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'); }