From 41138b847ee523c2608b6bdaea704163b643dce2 Mon Sep 17 00:00:00 2001 From: Maksim Kotlyar Date: Thu, 25 Feb 2016 18:50:03 +0000 Subject: [PATCH] add support of symfony3, reuse builder from bridge, remove twig factory usage. --- composer.json | 5 +++-- src/Payum/Silex/PayumProvider.php | 29 +++++------------------------ 2 files changed, 8 insertions(+), 26 deletions(-) diff --git a/composer.json b/composer.json index 9d8363a..110ae68 100644 --- a/composer.json +++ b/composer.json @@ -21,8 +21,9 @@ ], "require": { "php": ">=5.5.2", - "silex/silex": "~1.2", - "payum/core": "^1.0" + "silex/silex": "^1.2", + "symfony/form": "^3", + "payum/core": "^1.2" }, "suggest": { "payum/payum": "If you want to install all supported gateways at once" diff --git a/src/Payum/Silex/PayumProvider.php b/src/Payum/Silex/PayumProvider.php index 1bcf7ee..0d62b90 100644 --- a/src/Payum/Silex/PayumProvider.php +++ b/src/Payum/Silex/PayumProvider.php @@ -4,20 +4,17 @@ use Payum\Core\Bridge\Spl\ArrayObject; use Payum\Core\Bridge\Symfony\Action\GetHttpRequestAction; use Payum\Core\Bridge\Symfony\Action\ObtainCreditCardAction; +use Payum\Core\Bridge\Symfony\Builder\HttpRequestVerifierBuilder; +use Payum\Core\Bridge\Symfony\Builder\TokenFactoryBuilder; use Payum\Core\Bridge\Symfony\Form\Type\CreditCardExpirationDateType; use Payum\Core\Bridge\Symfony\Form\Type\CreditCardType; use Payum\Core\Bridge\Symfony\Form\Type\GatewayConfigType; use Payum\Core\Bridge\Symfony\Form\Type\GatewayFactoriesChoiceType; use Payum\Core\Bridge\Symfony\Form\Type\GatewayChoiceType; use Payum\Core\Bridge\Symfony\ReplyToSymfonyResponseConverter; -use Payum\Core\Bridge\Symfony\Security\HttpRequestVerifier; -use Payum\Core\Bridge\Symfony\Security\TokenFactory; -use Payum\Core\Bridge\Twig\TwigFactory; use Payum\Core\Payum; use Payum\Core\PayumBuilder; -use Payum\Core\Registry\StorageRegistryInterface; use Payum\Core\Reply\ReplyInterface; -use Payum\Core\Storage\StorageInterface; use Silex\Application; use Silex\ControllerCollection; use Silex\ControllerProviderInterface; @@ -33,8 +30,6 @@ public function register(Application $app) $app['payum.builder'] = $app->share(function($app) { $builder = new PayumBuilder(); - $builder->addDefaultStorages(); - $builder->setCoreGatewayFactoryConfig([ 'twig.env' => $app['twig'], @@ -61,13 +56,9 @@ public function register(Application $app) 'refund' => 'payum_refund_do' ]); - $builder->setTokenFactory(function(StorageInterface $tokenStorage, StorageRegistryInterface $registry) use ($app) { - return new TokenFactory($tokenStorage, $registry, $app['url_generator']); - }); + $builder->setTokenFactory(new TokenFactoryBuilder($app['url_generator'])); - $builder->setHttpRequestVerifier(function(StorageInterface $tokenStorage) { - return new HttpRequestVerifier($tokenStorage); - }); + $builder->setHttpRequestVerifier(new HttpRequestVerifierBuilder()); return $builder; }); @@ -79,16 +70,6 @@ public function register(Application $app) return $builder->getPayum(); }); - $app['twig.loader.filesystem'] = $app->share($app->extend('twig.loader.filesystem', function($loader, $app) { - /** @var \Twig_Loader_Filesystem $loader */ - - foreach (TwigFactory::createGenericPaths() as $path => $name) { - $loader->addPath($path, $name); - } - - return $loader; - })); - $app['payum.reply_to_symfony_response_converter'] = $app->share(function($app) { return new ReplyToSymfonyResponseConverter(); }); @@ -113,7 +94,7 @@ public function register(Application $app) continue; } - $choices[$name] = ucwords(str_replace(['_', 'omnipay'], ' ', $name)); + $choices[ucwords(str_replace(['_', 'omnipay'], ' ', $name))] = $name; } return $choices;