Ejemplo n.º 1
0
 public function actionDefault()
 {
     $params = $this->request->getParameters();
     Nette\Utils\Validators::assertField($params, 'input', 'Symfony\\Component\\Console\\Input\\Input');
     Nette\Utils\Validators::assertField($params, 'output', 'Symfony\\Component\\Console\\Output\\OutputInterface');
     $this->sendResponse(new Kdyby\Console\CliResponse($this->console->run($params['input'], $params['output'])));
 }
 /**
  * @throws AssertionException
  */
 protected function validateConfigTypes(array $config)
 {
     Validators::assertField($config, 'isRecursive', 'bool');
     Validators::assertField($config, 'trait', 'type');
     Validators::assertField($config, 'userCallable', 'string');
     Validators::assertField($config, 'userEntity', 'null|string');
 }
Ejemplo n.º 3
0
 /**
  * @param array $config
  * @param string $tokenStorageDefinition
  * @param string|NULL $name
  * @return ServiceDefinition
  * @throws InvalidConfigException
  */
 private function configureClient(array $config, $tokenStorageDefinition, $name = NULL)
 {
     $name = $name !== NULL ? ".{$name}" : '';
     $builder = $this->getContainerBuilder();
     $message = 'parameter % in LogisticsExtension configuration';
     Validators::assertField($config, 'appId', 'string', $message);
     Validators::assertField($config, 'secret', 'string', $message);
     if (!$builder->parameters['debugMode']) {
         Validators::assertField($config, 'apiBaseUrl', 'url', $message);
         Validators::assertField($config, 'apiBaseUrl', 'pattern:https\\:\\/\\/.*', $message);
     }
     $consumerDefinition = $builder->addDefinition($this->prefix("consumer{$name}"))->setClass(Consumer::class, [$config['appId'], $config['secret']])->setAutowired(FALSE);
     if (!array_key_exists('requestFactory', $config)) {
         $requestFactoryDefinition = $builder->addDefinition($this->prefix("requestFactory{$name}"))->setClass(RequestFactory::class, [$config['apiBaseUrl']])->setAutowired(FALSE);
     } else {
         // touch reference to validate it
         if (!$builder->getServiceName($requestFactoryDefinition = $config['requestFactory'])) {
             throw new InvalidConfigException("Invalid reference to service implementing IRequestFactory given: {$config['requestFactory']}");
         }
     }
     $connectorDefinition = $builder->addDefinition($this->prefix("connector{$name}"))->setClass(Connector::class, [$consumerDefinition, $tokenStorageDefinition, $requestFactoryDefinition])->setAutowired(FALSE);
     $logisticsClientDefiniton = $builder->addDefinition($this->prefix("logisticsClient{$name}"))->setClass(LogisticsClient::class, [$connectorDefinition, $requestFactoryDefinition]);
     if ($name !== '') {
         $logisticsClientDefiniton->setAutowired(FALSE);
     }
     return $logisticsClientDefiniton;
 }
Ejemplo n.º 4
0
 public function loadConfiguration()
 {
     $builder = $this->getContainerBuilder();
     $config = $this->getConfig($this->defaults);
     $builder->addDefinition($this->prefix('expressionLanguage'))->setClass('Zycon42\\Security\\Authorization\\ExpressionLanguage')->setInject(FALSE);
     Validators::assertField($config['decisionManager'], 'strategy', 'string');
     Validators::assertField($config['decisionManager'], 'allowIfAllAbstain', 'bool');
     Validators::assertField($config['decisionManager'], 'allowIfEqualGrantedDenied', 'bool');
     $builder->addDefinition($this->prefix('decisionManager'))->setImplementType('Zycon42\\Security\\Authorization\\IAccessDecisionManager')->setClass('Zycon42\\Security\\Authorization\\AccessDecisionManager', $config['decisionManager'])->setInject(FALSE);
     $builder->addDefinition($this->prefix('securityContext'))->setImplementType('Zycon42\\Security\\ISecurityContext')->setClass('Zycon42\\Security\\SecurityContext')->setInject(FALSE);
     $builder->addDefinition($this->prefix('expressionEvaluator'))->setClass('Zycon42\\Security\\Application\\ExpressionEvaluator')->setInject(FALSE);
     $builder->addDefinition($this->prefix('presenterRequirementsChecker'))->setClass('Zycon42\\Security\\Application\\PresenterRequirementsChecker')->setInject(FALSE);
     $roleHierarchyUsed = false;
     if ($config['roleHierarchy'] != FALSE) {
         Validators::assert($config['roleHierarchy'], 'array');
         $roleHierarchyUsed = true;
         // When there's string in roleHierarchy value convert it to array
         foreach ($config['roleHierarchy'] as $main => $roles) {
             if (!is_array($roles)) {
                 $config['roleHierarchy'][$main] = [$roles];
             }
         }
         $builder->addDefinition($this->prefix('roleHierarchy'))->setImplementType('Zycon42\\Security\\Role\\IRoleHierarchy')->setClass('Zycon42\\Security\\Role\\RoleHierarchy')->addSetup('setHierarchy', [$config['roleHierarchy']])->setInject(FALSE);
     }
     if ($config['voters'][self::VOTER_ROLE]) {
         $class = $roleHierarchyUsed ? 'RoleHierarchyVoter' : 'RoleVoter';
         $builder->addDefinition($this->prefix('voters.' . self::VOTER_ROLE))->setClass('Zycon42\\Security\\Authorization\\Voters\\' . $class)->addTag(self::TAG_VOTER)->setInject(FALSE);
     }
     if ($config['voters'][self::VOTER_EXPRESSION]) {
         $builder->addDefinition($this->prefix('voters.' . self::VOTER_EXPRESSION))->setClass('Zycon42\\Security\\Authorization\\Voters\\ExpressionVoter')->addTag(self::TAG_VOTER)->setInject(FALSE);
     }
     if ($config['voters'][self::VOTER_AUTHENTICATED]) {
         $builder->addDefinition($this->prefix('voters.' . self::VOTER_AUTHENTICATED))->setClass('Zycon42\\Security\\Authorization\\Voters\\AuthenticatedVoter')->addTag(self::TAG_VOTER)->setInject(FALSE);
     }
 }
 public function loadConfiguration()
 {
     $builder = $this->getContainerBuilder();
     $config = $this->getConfig($this->defaults);
     Validators::assertField($config, 'merchantId', 'string');
     Validators::assertField($config, 'shopName', 'string');
     Validators::assertField($config, 'productionMode', 'bool');
     Validators::assertField($config, 'returnMethod', 'string|pattern:(GET|POST)');
     $envConfig = $config['productionMode'] ? $config['production'] : $config['sandbox'];
     if (is_string($envConfig['privateKey'])) {
         $envConfig['privateKey'] = ['path' => $envConfig['privateKey'], 'password' => NULL];
     }
     if (empty($envConfig['privateKey']['path']) || !file_exists($envConfig['privateKey']['path'])) {
         throw new InvalidConfigException('Private key for not provided.');
     }
     $builder->addDefinition($this->prefix('config'))->setClass('Kdyby\\CsobPaymentGateway\\Configuration', [$config['merchantId'], $config['shopName']])->addSetup('setUrl', [$envConfig['url']])->addSetup('setReturnUrl', [$config['returnUrl']])->addSetup('setReturnMethod', [$config['returnMethod']]);
     $builder->addDefinition($this->prefix('httpClient'))->setClass('Kdyby\\CsobPaymentGateway\\IHttpClient')->setFactory('Kdyby\\CsobPaymentGateway\\Http\\GuzzleClient')->setAutowired(FALSE);
     $builder->addDefinition($this->prefix('signature'))->setClass('Kdyby\\CsobPaymentGateway\\Message\\Signature', [new Statement('Kdyby\\CsobPaymentGateway\\Certificate\\PrivateKey', [$envConfig['privateKey']['path'], $envConfig['privateKey']['password']]), new Statement('Kdyby\\CsobPaymentGateway\\Certificate\\PublicKey', [$envConfig['publicKey']])])->setAutowired(FALSE);
     $client = $builder->addDefinition($this->prefix('client'))->setClass('Kdyby\\CsobPaymentGateway\\Client', [$this->prefix('@config'), $this->prefix('@signature'), $this->prefix('@httpClient')]);
     if ($config['logging']) {
         if (!is_bool($config['logging']) && class_exists('Kdyby\\Monolog\\Logger')) {
             $client->addSetup('setLogger', [new Statement('@Kdyby\\Monolog\\Logger::channel', [$config['logging']])]);
         } else {
             $client->addSetup('setLogger');
             // autowire
         }
     }
     $builder->addDefinition($this->prefix('control'))->setImplement('Kdyby\\CsobPaygateNette\\UI\\ICsobControlFactory')->setArguments([$this->prefix('@client')]);
 }
Ejemplo n.º 6
0
 public function loadConfiguration()
 {
     $this->validateConfig($this->defaults);
     Validators::assertField($this->config, 'firewalls', 'array');
     foreach ($this->compiler->getExtensions('Arachne\\Security\\DI\\FirewallProviderInterface') as $extension) {
         $firewalls = $extension->getFirewalls();
         Validators::assert($firewalls, 'array');
         $this->config['firewalls'] = array_merge($this->config['firewalls'], $firewalls);
     }
     foreach ($this->config['firewalls'] as $firewall => $class) {
         if (!is_string($firewall)) {
             $this->addFirewall($class);
         } else {
             $this->addFirewall($firewall, $class);
         }
     }
     if ($extension = $this->getExtension('Arachne\\DIHelpers\\DI\\ResolversExtension', false)) {
         $extension->add(self::TAG_FIREWALL, 'Arachne\\Security\\Authentication\\FirewallInterface');
         $extension->add(self::TAG_AUTHORIZATOR, 'Arachne\\Security\\Authorization\\AuthorizatorInterface');
     } elseif ($extension = $this->getExtension('Arachne\\DIHelpers\\DI\\DIHelpersExtension', false)) {
         $extension->addResolver(self::TAG_FIREWALL, 'Arachne\\Security\\Authentication\\FirewallInterface');
         $extension->addResolver(self::TAG_AUTHORIZATOR, 'Arachne\\Security\\Authorization\\AuthorizatorInterface');
     } else {
         throw new AssertionException('Cannot add resolvers because arachne/di-helpers is not properly installed.');
     }
 }
Ejemplo n.º 7
0
 /**
  * @param string $name
  * @param array $config
  * @return Nette\DI\ServiceDefinition
  */
 protected function buildClient($name, $config)
 {
     $builder = $this->getContainerBuilder();
     $defaultConfig = $this->getConfig($this->clientDefaults);
     if ($parentName = Config\Helpers::takeParent($config)) {
         Nette\Utils\Validators::assertField($this->configuredClients, $parentName, 'array', "parent configuration '%', are you sure it's defined?");
         $defaultConfig = Config\Helpers::merge($this->configuredClients[$parentName], $defaultConfig);
     }
     $config = Config\Helpers::merge($config, $defaultConfig);
     $config = array_intersect_key(self::fixClientConfig($config), $this->clientDefaults);
     $client = $builder->addDefinition($clientName = $this->prefix(($name ? $name . '_' : '') . 'client'))->setClass('Kdyby\\Redis\\RedisClient', ['host' => $config['host'], 'port' => $config['port'], 'database' => $config['database'], 'timeout' => $config['timeout'], 'auth' => $config['auth'], 'persistent' => $config['persistent']]);
     if (empty($builder->parameters[$this->name]['defaultClient'])) {
         $builder->parameters[$this->name]['defaultClient'] = $clientName;
         $this->configuredClients['default'] = $config;
         $builder->addDefinition($this->prefix('default_client'))->setClass('Kdyby\\Redis\\RedisClient')->setFactory('@' . $clientName)->setAutowired(FALSE);
     } else {
         $client->setAutowired(FALSE);
     }
     $this->configuredClients[$name] = $config;
     $client->addSetup('setupLockDuration', [$config['lockDuration'], $config['lockAcquireTimeout']]);
     $client->addSetup('setConnectionAttempts', [$config['connectionAttempts']]);
     $client->addTag('redis.client');
     if (array_key_exists('debugger', $config) && $config['debugger']) {
         $builder->addDefinition($panelName = $clientName . '.panel')->setClass('Kdyby\\Redis\\Diagnostics\\Panel')->setFactory('Kdyby\\Redis\\Diagnostics\\Panel::register')->addSetup('$renderPanel', [$config['debugger'] !== self::PANEL_COUNT_MODE])->addSetup('$name', [$name ?: 'default']);
         $client->addSetup('setPanel', ['@' . $panelName]);
     }
     return $client;
 }
Ejemplo n.º 8
0
 /**
  * @param $config
  * @return void
  */
 public function configValidation($config)
 {
     Validators::assertField($config, 'authenticators', 'array');
     Validators::assertField($config, 'ips', 'array');
     Validators::assertField($config, 'referers', 'array');
     Validators::assertField($config, 'cors', 'array');
     Validators::assertField($config, 'systemSalt', 'string');
 }
Ejemplo n.º 9
0
 private function setupCompileTemplatesCommand(ContainerBuilder $builder, array $config)
 {
     $config = $this->validateConfig($this->compileTemplatesDefaults, $config, 'compileTemplates');
     Validators::assertField($config, 'source', 'string|array');
     $builder->addDefinition($this->prefix('compileTemplates'))->setClass(CompileTemplatesCommand::class, [array_map(function ($directory) use($builder) {
         Validators::assert($directory, 'string');
         return Helpers::expand($directory, $builder->parameters);
     }, (array) $config['source'])])->addTag(ConsoleExtension::TAG_COMMAND)->setAutowired(false);
 }
Ejemplo n.º 10
0
 private function getSection(array $data, $key, $file)
 {
     Validators::assertField($data, $key, 'array|null', "section '%' in file '{$file}'");
     $item = $data[$key];
     if ($parent = Helpers::takeParent($item)) {
         $item = Helpers::merge($item, $this->getSection($data, $parent, $file));
     }
     return $item;
 }
 public function loadConfiguration()
 {
     $builder = $this->getContainerBuilder();
     $config = $this->getConfig(array('enabled' => !$builder->expand('%debugMode%')));
     Nette\Utils\Validators::assertField($config, 'enabled');
     if ($builder->expand($config['enabled'])) {
         $builder->addDefinition($this->prefix('listener'))->setClass('Mishak\\NewRelicLogger\\NewRelicProfilingListener')->addTag(Kdyby\Events\DI\EventsExtension::SUBSCRIBER_TAG);
     }
 }
 /**
  * @throws AssertionException
  */
 private function validateConfigTypes(array $config)
 {
     Validators::assertField($config, 'isRecursive', 'bool');
     Validators::assertField($config, 'currentLocaleCallable', NULL | 'array');
     Validators::assertField($config, 'translatableTrait', 'type');
     Validators::assertField($config, 'translationTrait', 'type');
     Validators::assertField($config, 'translatableFetchMode', 'string');
     Validators::assertField($config, 'translationFetchMode', 'string');
 }
Ejemplo n.º 13
0
 /**
  * Creates service definitions according annotated services classes.
  */
 public function loadConfiguration()
 {
     $this->conf = $this->getConfig($this->defaults);
     Validators::assertField($this->conf, 'dirs', 'array');
     Validators::assertField($this->conf, 'allowedAnnotations', 'array');
     //Browse the directory and subdirectories and search services
     foreach ($this->conf['dirs'] as $dir) {
         $this->addServicesFromDir($dir);
     }
 }
Ejemplo n.º 14
0
 public function loadConfiguration()
 {
     $config = $this->validateConfig($this->defaults);
     $builder = $this->getContainerBuilder();
     Validators::assertField($config, 'goId', 'string|number');
     Validators::assertField($config, 'clientId', 'string|number');
     Validators::assertField($config, 'clientSecret', 'string');
     Validators::assertField($config, 'test', 'bool');
     $builder->addDefinition($this->prefix('client'))->setClass(Client::class, [new Statement(Config::class, [$config['goId'], $config['clientId'], $config['clientSecret'], $config['test'] !== FALSE ? Config::TEST : Config::PROD])]);
 }
Ejemplo n.º 15
0
 public function loadConfiguration()
 {
     $this->defaults = Nette\Neon\Neon::decode(file_get_contents(__DIR__ . '/defaults.neon'))['hyperrow'];
     $config = $this->getConfig($this->defaults);
     Validators::assertField($config, 'nestedTransactions', 'bool');
     $builder = $this->getContainerBuilder();
     $builder->addDefinition($this->prefix('config'))->setClass(Config::class, [$config]);
     $builder->addDefinition($this->prefix('factory'))->setClass(Factory::class, [$config['classes']['selection']['mapping'], $config['classes']['row']['mapping']]);
     $builder->addDefinition($this->prefix('generator'))->setClass(Generator::class, [$config])->setAutowired(FALSE);
 }
 public function beforeCompile()
 {
     parent::beforeCompile();
     $containerBuilder = $this->getContainerBuilder();
     foreach ($containerBuilder->findByTag(static::TAG_CONTAINER_CONTROL_CONTROL) as $serviceName => $containerControlControlTags) {
         Validators::assertField($containerControlControlTags, 'name', 'string');
         Validators::assertField($containerControlControlTags, 'containerControl', 'string');
         $containerControlService = $containerBuilder->getDefinition($this->prefix($containerControlControlTags['containerControl'] . 'ContainerControlFactory'));
         $containerControlService->addSetup('?->registerControlFactory(?, ?)', ['@self', $containerControlControlTags['name'], '@' . $serviceName]);
     }
 }
Ejemplo n.º 17
0
 /**
  * @param array
  * @throws AssertionException
  * @throws \Exception
  */
 private function validateConfigParameters($config)
 {
     Validators::assertField($config, 'dir', 'string');
     Validators::assertField($config, 'table', 'string');
     if (!is_dir($config['dir'])) {
         throw new \Exception('Dir "' . $config['dir'] . '" not found! Create it.');
     }
     if (!is_writeable($config['dir'])) {
         throw new \Exception('Dir "' . $config['dir'] . '" is not writeable.');
     }
 }
 public function afterCompile(ClassType $class)
 {
     $config = $this->getConfig($this->defaults);
     Validators::assertField($config, 'enabled', 'boolean');
     if ($config['enabled']) {
         Validators::assertField($config, 'slackUrl', 'string');
         Validators::assertField($config, 'logUrl', 'string');
         $init = $class->getMethod('initialize');
         $init->addBody(Debugger::class . '::setLogger(new ' . SlackLogger::class . '(?, ?));', [$config['slackUrl'], $config['logUrl']]);
     }
 }
Ejemplo n.º 19
0
 public function loadConfiguration()
 {
     $builder = $this->getContainerBuilder();
     $config = $this->validateConfig($this->defaults);
     $builder->addDefinition($this->prefix('entropyProvider'))->setClass(IEntropyProvider::class)->setFactory(OpenSslEntropyProvider::class);
     Validators::assertField($config, 'appId', 'string');
     Validators::assertField($config, 'attestDir', 'string|null');
     $builder->addDefinition($this->prefix('config'))->setClass(Config::class, $config);
     $builder->addDefinition($this->prefix('server'))->setClass(Server::class);
     $builder->addDefinition($this->prefix('registrationRepository'))->setClass(IRegistrationRepository::class)->setFactory(CacheRegistrationRepository::class);
     $builder->addDefinition($this->prefix('dialogFactory'))->setClass(DialogFactory::class);
 }
Ejemplo n.º 20
0
 /**
  * @inheritdoc
  */
 public function loadConfiguration()
 {
     $builder = $this->getContainerBuilder();
     $config = $this->validateConfig($this->defaults);
     Validators::assertField($config, 'encryptionKey', 'string');
     Helpers::getEncryptionKey($config['encryptionKey']);
     Validators::assertField($config, 'signingKey', 'string');
     Helpers::getSigningKey($config['signingKey']);
     Validators::assertField($config, 'bcryptCost', 'int');
     Helpers::getBcryptCost($config['bcryptCost']);
     $builder->addDefinition($this->prefix('passwords'))->setClass('Ark8\\Passwords\\Passwords', [new Statement('Ark8\\Passwords\\Context', [$config['encryptionKey'], $config['signingKey'], $config['bcryptCost']])]);
 }
 public function loadConfiguration()
 {
     // Cause we don't want merge arrays (annotations, interfaces, etc..)
     $config = $this->getCustomConfig($this->defaults);
     // Validate config
     Validators::assertField($config, 'dirs', 'array');
     Validators::assertField($config, 'annotations', 'array|null');
     Validators::assertField($config, 'interfaces', 'array|null');
     Validators::assertField($config, 'decorator', 'array');
     // Expand config (cause %appDir% etc..)
     $this->config = Helpers::expand($config, $this->getContainerBuilder()->parameters);
 }
Ejemplo n.º 22
0
 public function loadConfiguration()
 {
     $config = $this->validateConfig($this->defaults);
     Validators::assertField($config, 'debugger', 'boolean');
     Validators::assertField($config, 'genDir', 'string');
     Validators::assertField($config, 'files', 'array');
     $builder = $this->getContainerBuilder();
     $wwwDir = $builder->parameters['wwwDir'];
     $genDir = $config['genDir'];
     if (!is_writable("{$wwwDir}/{$genDir}")) {
         throw new Nette\IOException("Directory '{$wwwDir}/{$genDir}' is not writable.");
     }
 }
 public function loadConfiguration()
 {
     $config = $this->getConfig($this->defaults);
     Validators::assertField($config, self::FRAKKIN_KEY, 'array');
     foreach ($this->compiler->getExtensions('Rixxi\\ComponentRegistry\\DI\\IComponentFactoriesProvider') as $provider) {
         /* @var IComponentFactoriesProvider $provider */
         $factories = $provider->getComponentFactories();
         Validators::assert($factories, 'array');
         $this->addComponentFactories($factories);
     }
     $this->addComponentFactories($config[self::FRAKKIN_KEY]);
     $this->getContainerBuilder()->addDefinition($this->prefix('service'))->setClass('Rixxi\\ComponentRegistry\\ComponentRegistry');
 }
Ejemplo n.º 24
0
 public function loadConfiguration()
 {
     $builder = $this->getContainerBuilder();
     $config = $this->getConfig($this->defaults);
     Validators::assertField($config, 'clientId');
     Validators::assertField($config, 'secret');
     Validators::assertField($config, 'sdkConfig', 'array');
     $builder->addDefinition($this->prefix('simplePaymentOperationFactory'))->setImplement('MetisFW\\PayPal\\Payment\\SimplePaymentOperationFactory');
     $builder->addDefinition($this->prefix('plainPaymentOperationFactory'))->setImplement('MetisFW\\PayPal\\Payment\\PlainPaymentOperationFactory');
     $builder->addDefinition($this->prefix('credentials'))->setClass('PayPal\\Auth\\OAuthTokenCredential', array($config['clientId'], $config['secret']));
     $builder->addDefinition($this->prefix('apiContext'))->setClass('PayPal\\Rest\\ApiContext', array($this->prefix('@credentials')));
     $builder->addDefinition($this->prefix('PayPal'))->setClass('MetisFW\\PayPal\\PayPalContext', array($this->prefix('@apiContext')))->addSetup('setConfig', array($config['sdkConfig']))->addSetup('setCurrency', array($config['currency']));
 }
 public function loadConfiguration()
 {
     $builder = $this->getContainerBuilder();
     $config = $this->getConfig($this->defaults);
     $reflectionReader = $builder->addDefinition($this->prefix('reflectionReader'))->setClass('Doctrine\\Common\\Annotations\\AnnotationReader')->setAutowired(FALSE);
     Validators::assertField($config, 'ignore', 'array');
     foreach ($config['ignore'] as $annotationName) {
         $reflectionReader->addSetup('addGlobalIgnoredName', array($annotationName));
     }
     $builder->addDefinition($this->prefix('reader'))->setClass('Doctrine\\Common\\Annotations\\Reader')->setFactory('Doctrine\\Common\\Annotations\\CachedReader', array($this->prefix('@reflectionReader'), Helpers::processCache($this, $config['cache'], 'annotations'), $config['debug']))->setInject(FALSE);
     // for runtime
     AnnotationRegistry::registerLoader("class_exists");
 }
 public function loadConfiguration()
 {
     $config = $this->getConfig($this->defaults);
     $builder = $this->getContainerBuilder();
     Validators::assertField($config, 'enabled', 'boolean');
     if ($config['enabled']) {
         Validators::assertField($config, 'messageFactory', 'string');
         Validators::assertField($config, 'slackUrl', 'string');
         Validators::assertField($config, 'logUrl', 'string');
         Validators::assertField($config, 'timeout', 'int');
         $builder->addDefinition($this->prefix('messageFactory'))->setClass($config['messageFactory'])->setArguments([$config['defaults'], $config['logUrl']]);
     }
 }
 /**
  * Processes configuration data. Intended to be overridden by descendant.
  * @return void
  */
 public function loadConfiguration()
 {
     $builder = $this->getContainerBuilder();
     $config = $this->validateConfig($this->defaults);
     Validators::assertField($config, 'dir', 'string');
     Validators::assertField($config, 'phpParams', 'array');
     $dbal = $this->getDbal($config['dbal']);
     $driver = $this->getDriver($config['driver'], $dbal);
     $params = [$driver, $config['dir'], $config['phpParams']];
     $builder->addExcludedClasses(['Nextras\\Migrations\\Bridges\\SymfonyConsole\\BaseCommand']);
     $builder->addDefinition($this->prefix('continueCommand'))->setClass('Nextras\\Migrations\\Bridges\\SymfonyConsole\\ContinueCommand')->setArguments($params)->addTag('kdyby.console.command');
     $builder->addDefinition($this->prefix('createCommand'))->setClass('Nextras\\Migrations\\Bridges\\SymfonyConsole\\CreateCommand')->setArguments($params)->addTag('kdyby.console.command');
     $builder->addDefinition($this->prefix('resetCommand'))->setClass('Nextras\\Migrations\\Bridges\\SymfonyConsole\\ResetCommand')->setArguments($params)->addTag('kdyby.console.command');
 }
Ejemplo n.º 28
0
 public function loadConfiguration()
 {
     $builder = $this->getContainerBuilder();
     $config = $this->getConfig($this->defaults);
     Validators::assertField($config, 'account');
     Validators::assertField($config, 'username');
     Validators::assertField($config, 'password');
     Validators::assertField($config, 'signature');
     Validators::assertField($config, 'sandbox', 'bool');
     $client = $builder->addDefinition($this->prefix('client'))->setClass('Kdyby\\PayPalExpress\\PayPal')->setArguments(array($config))->addSetup('setCurrency', array($config['currency']));
     if ($config['sandbox'] === FALSE) {
         $client->addSetup('disableSandbox');
     }
 }
Ejemplo n.º 29
0
 /**
  * @return Webhooks\Data
  * @throws Utils\JsonException In case request body is not valid JSON
  * @throws Utils\AssertionException In case request body is missing required keys
  */
 public function create()
 {
     $data = Utils\Json::decode($this->request->getRawBody(), Utils\Json::FORCE_ARRAY);
     Utils\Validators::assert($data, 'array', 'request body');
     Utils\Validators::assertField($data, 'id', 'string', 'item % in request body');
     Utils\Validators::assertField($data, 'suspectId', 'string', 'item % in request body');
     Utils\Validators::assertField($data, 'externalId', 'string|null', 'item % in request body');
     Utils\Validators::assertField($data, 'user', 'array', 'item % in request body');
     Utils\Validators::assertField($data['user'], 'id', 'int', 'item % in user hash within request body');
     Utils\Validators::assertField($data['user'], 'salescode', 'string', 'item % in user hash within request body');
     Utils\Validators::assertField($data['user'], 'name', 'string', 'item % in user hash within request body');
     Utils\Validators::assertField($data, 'data', 'array', 'item % in request body');
     return new Webhooks\Data($id = $this->request->getHeader(Webhooks\Headers::IDENTIFIER), $interactionId = $data['id'], $suspectId = $data['suspectId'], $externalId = $data['externalId'], $campaignId = $this->request->getHeader(Webhooks\Headers::CAMPAIGN), $signature = $this->request->getHeader(Webhooks\Headers::SIGNATURE), $event = $this->request->getHeader(Webhooks\Headers::EVENT), $user = $data['user'], $suspectData = $data['data']);
 }
 public function loadConfiguration()
 {
     $config = $this->getConfig($this->defaults);
     Validators::assertField($config, 'tempDir');
     Validators::assertField($config, 'documentDir');
     Validators::assertField($config, 'encoding');
     Validators::assertField($config, 'img_dpi');
     Validators::assertField($config, 'size');
     Validators::assertField($config, 'orientation');
     Validators::assertField($config, 'margin');
     $builder = $this->getContainerBuilder();
     $builder->addDefinition($this->prefix('settings'))->setClass('Pixidos\\PdfDocumentCreator\\DocumentCreatorSetting', [$config]);
     $builder->addDefinition($this->prefix('default'))->setClass('Pixidos\\PdfDocumentCreator\\PdfDocumentCreatorProcesor');
 }