@@ -42,8 +42,7 @@  | 
                                                    ||
| 42 | 42 |  				{ | 
                                                        
| 43 | 43 | $options[$name] = (array) $options[$name];  | 
                                                        
| 44 | 44 | $options[$name][] = substr( $option, $pos + 1 );  | 
                                                        
| 45 | - }  | 
                                                        |
| 46 | - else  | 
                                                        |
| 45 | + } else  | 
                                                        |
| 47 | 46 |  				{ | 
                                                        
| 48 | 47 | $options[$name] = substr( $option, $pos + 1 );  | 
                                                        
| 49 | 48 | }  | 
                                                        
@@ -75,11 +75,13 @@ discard block  | 
                                                    ||
| 75 | 75 |  	{ | 
                                                        
| 76 | 76 | $container = $this->app->getContainer();  | 
                                                        
| 77 | 77 | |
| 78 | -		$container['router'] = function( $c ) { | 
                                                        |
| 78 | + $container['router'] = function( $c )  | 
                                                        |
| 79 | +		{ | 
                                                        |
| 79 | 80 | return new \Aimeos\Slim\Router();  | 
                                                        
| 80 | 81 | };  | 
                                                        
| 81 | 82 | |
| 82 | -		$container['mailer'] = function( $c ) { | 
                                                        |
| 83 | + $container['mailer'] = function( $c )  | 
                                                        |
| 84 | +		{ | 
                                                        |
| 83 | 85 | return new \Swift_Mailer( new \Swift_SendmailTransport() );  | 
                                                        
| 84 | 86 | };  | 
                                                        
| 85 | 87 | |
@@ -87,31 +89,38 @@ discard block  | 
                                                    ||
| 87 | 89 | $default = require __DIR__ . DIRECTORY_SEPARATOR . 'aimeos-default.php';  | 
                                                        
| 88 | 90 | $settings = array_replace_recursive( $default, $this->settings );  | 
                                                        
| 89 | 91 | |
| 90 | -		$container['aimeos'] = function( $c ) use ( $extdir ) { | 
                                                        |
| 92 | + $container['aimeos'] = function( $c ) use ( $extdir )  | 
                                                        |
| 93 | +		{ | 
                                                        |
| 91 | 94 | return new \Aimeos\Bootstrap( (array) $extdir, false );  | 
                                                        
| 92 | 95 | };  | 
                                                        
| 93 | 96 | |
| 94 | -		$container['aimeos.config'] = function( $c ) use ( $settings ) { | 
                                                        |
| 97 | + $container['aimeos.config'] = function( $c ) use ( $settings )  | 
                                                        |
| 98 | +		{ | 
                                                        |
| 95 | 99 | return new \Aimeos\Slim\Base\Config( $c, $settings );  | 
                                                        
| 96 | 100 | };  | 
                                                        
| 97 | 101 | |
| 98 | -		$container['aimeos.context'] = function( $c ) { | 
                                                        |
| 102 | + $container['aimeos.context'] = function( $c )  | 
                                                        |
| 103 | +		{ | 
                                                        |
| 99 | 104 | return new \Aimeos\Slim\Base\Context( $c );  | 
                                                        
| 100 | 105 | };  | 
                                                        
| 101 | 106 | |
| 102 | -		$container['aimeos.i18n'] = function( $c ) { | 
                                                        |
| 107 | + $container['aimeos.i18n'] = function( $c )  | 
                                                        |
| 108 | +		{ | 
                                                        |
| 103 | 109 | return new \Aimeos\Slim\Base\I18n( $c );  | 
                                                        
| 104 | 110 | };  | 
                                                        
| 105 | 111 | |
| 106 | -		$container['aimeos.locale'] = function( $c ) { | 
                                                        |
| 112 | + $container['aimeos.locale'] = function( $c )  | 
                                                        |
| 113 | +		{ | 
                                                        |
| 107 | 114 | return new \Aimeos\Slim\Base\Locale( $c );  | 
                                                        
| 108 | 115 | };  | 
                                                        
| 109 | 116 | |
| 110 | -		$container['aimeos.view'] = function( $c ) { | 
                                                        |
| 117 | + $container['aimeos.view'] = function( $c )  | 
                                                        |
| 118 | +		{ | 
                                                        |
| 111 | 119 | return new \Aimeos\Slim\Base\View( $c );  | 
                                                        
| 112 | 120 | };  | 
                                                        
| 113 | 121 | |
| 114 | -		$container['shop'] = function( $c ) { | 
                                                        |
| 122 | + $container['shop'] = function( $c )  | 
                                                        |
| 123 | +		{ | 
                                                        |
| 115 | 124 | return new \Aimeos\Slim\Base\Shop( $c );  | 
                                                        
| 116 | 125 | };  | 
                                                        
| 117 | 126 | |
@@ -137,7 +137,8 @@  | 
                                                    ||
| 137 | 137 | |
| 138 | 138 | foreach( (array) explode( ' ', $jobs ) as $jobname )  | 
                                                        
| 139 | 139 |  			{ | 
                                                        
| 140 | -				$fcn = function( $ctx, $aimeos, $jobname ) { | 
                                                        |
| 140 | + $fcn = function( $ctx, $aimeos, $jobname )  | 
                                                        |
| 141 | +				{ | 
                                                        |
| 141 | 142 | \Aimeos\Controller\Jobs::create( $ctx, $aimeos, $jobname )->run();  | 
                                                        
| 142 | 143 | };  | 
                                                        
| 143 | 144 | |
@@ -7,17 +7,17 @@ discard block  | 
                                                    ||
| 7 | 7 | 'uploaddir' => '/',  | 
                                                        
| 8 | 8 | |
| 9 | 9 | 'page' => array(  | 
                                                        
| 10 | - 'account-index' => array( 'account/profile','account/subscription','account/history','account/favorite','account/watch','basket/mini','catalog/session' ),  | 
                                                        |
| 11 | - 'basket-index' => array( 'basket/standard','basket/related' ),  | 
                                                        |
| 10 | + 'account-index' => array( 'account/profile', 'account/subscription', 'account/history', 'account/favorite', 'account/watch', 'basket/mini', 'catalog/session' ),  | 
                                                        |
| 11 | + 'basket-index' => array( 'basket/standard', 'basket/related' ),  | 
                                                        |
| 12 | 12 | 'catalog-count' => array( 'catalog/count' ),  | 
                                                        
| 13 | - 'catalog-detail' => array( 'basket/mini','catalog/stage','catalog/detail','catalog/session' ),  | 
                                                        |
| 14 | - 'catalog-list' => array( 'basket/mini','catalog/filter','catalog/lists' ),  | 
                                                        |
| 13 | + 'catalog-detail' => array( 'basket/mini', 'catalog/stage', 'catalog/detail', 'catalog/session' ),  | 
                                                        |
| 14 | + 'catalog-list' => array( 'basket/mini', 'catalog/filter', 'catalog/lists' ),  | 
                                                        |
| 15 | 15 | 'catalog-stock' => array( 'catalog/stock' ),  | 
                                                        
| 16 | 16 | 'catalog-suggest' => array( 'catalog/suggest' ),  | 
                                                        
| 17 | - 'catalog-tree' => array( 'basket/mini','catalog/filter','catalog/stage','catalog/lists' ),  | 
                                                        |
| 17 | + 'catalog-tree' => array( 'basket/mini', 'catalog/filter', 'catalog/stage', 'catalog/lists' ),  | 
                                                        |
| 18 | 18 | 'checkout-confirm' => array( 'checkout/confirm' ),  | 
                                                        
| 19 | 19 | 'checkout-index' => array( 'checkout/standard' ),  | 
                                                        
| 20 | - 'checkout-update' => array( 'checkout/update'),  | 
                                                        |
| 20 | + 'checkout-update' => array( 'checkout/update' ),  | 
                                                        |
| 21 | 21 | ),  | 
                                                        
| 22 | 22 | |
| 23 | 23 | 'resource' => array(  | 
                                                        
@@ -28,7 +28,7 @@ discard block  | 
                                                    ||
| 28 | 28 | 'database' => 'slim',  | 
                                                        
| 29 | 29 | 'username' => 'root',  | 
                                                        
| 30 | 30 | 'password' => '',  | 
                                                        
| 31 | -			'stmt' => array("SET SESSION sort_buffer_size=2097144; SET NAMES 'utf8mb4'; SET SESSION sql_mode='ANSI'"), | 
                                                        |
| 31 | + 'stmt' => array( "SET SESSION sort_buffer_size=2097144; SET NAMES 'utf8mb4'; SET SESSION sql_mode='ANSI'" ),  | 
                                                        |
| 32 | 32 | 'opt-persistent' => 0,  | 
                                                        
| 33 | 33 | 'limit' => 3,  | 
                                                        
| 34 | 34 | 'defaultTableOptions' => [  | 
                                                        
@@ -60,8 +60,7 @@ discard block  | 
                                                    ||
| 60 | 60 | |
| 61 | 61 | $view = new \Aimeos\MW\View\Standard( $templatePaths, $engines );  | 
                                                        
| 62 | 62 | $this->initTwig( $view, $twig );  | 
                                                        
| 63 | - }  | 
                                                        |
| 64 | - else  | 
                                                        |
| 63 | + } else  | 
                                                        |
| 65 | 64 |  		{ | 
                                                        
| 66 | 65 | $view = new \Aimeos\MW\View\Standard( $templatePaths );  | 
                                                        
| 67 | 66 | }  | 
                                                        
@@ -232,8 +231,7 @@ discard block  | 
                                                    ||
| 232 | 231 |  		{ | 
                                                        
| 233 | 232 | $i18n = $this->container->get( 'aimeos.i18n' )->get( array( $locale ) );  | 
                                                        
| 234 | 233 | $translation = $i18n[$locale];  | 
                                                        
| 235 | - }  | 
                                                        |
| 236 | - else  | 
                                                        |
| 234 | + } else  | 
                                                        |
| 237 | 235 |  		{ | 
                                                        
| 238 | 236 | $translation = new \Aimeos\MW\Translation\None( 'en' );  | 
                                                        
| 239 | 237 | }  | 
                                                        
@@ -283,17 +281,20 @@ discard block  | 
                                                    ||
| 283 | 281 | */  | 
                                                        
| 284 | 282 | protected function initTwig( \Aimeos\MW\View\Iface $view, \Twig_Environment $twig )  | 
                                                        
| 285 | 283 |  	{ | 
                                                        
| 286 | -		$fcn = function( $key, $default = null ) use ( $view ) { | 
                                                        |
| 284 | + $fcn = function( $key, $default = null ) use ( $view )  | 
                                                        |
| 285 | +		{ | 
                                                        |
| 287 | 286 | return $view->config( $key, $default );  | 
                                                        
| 288 | 287 | };  | 
                                                        
| 289 | 288 | $twig->addFunction( new \Twig_SimpleFunction( 'aiconfig', $fcn ) );  | 
                                                        
| 290 | 289 | |
| 291 | -		$fcn = function( $singular, array $values = array(), $domain = 'client' ) use ( $view ) { | 
                                                        |
| 290 | + $fcn = function( $singular, array $values = array(), $domain = 'client' ) use ( $view )  | 
                                                        |
| 291 | +		{ | 
                                                        |
| 292 | 292 | return vsprintf( $view->translate( $domain, $singular ), $values );  | 
                                                        
| 293 | 293 | };  | 
                                                        
| 294 | 294 | $twig->addFunction( new \Twig_SimpleFunction( 'aitrans', $fcn ) );  | 
                                                        
| 295 | 295 | |
| 296 | -		$fcn = function( $singular, $plural, $number, array $values = array(), $domain = 'client' ) use ( $view ) { | 
                                                        |
| 296 | + $fcn = function( $singular, $plural, $number, array $values = array(), $domain = 'client' ) use ( $view )  | 
                                                        |
| 297 | +		{ | 
                                                        |
| 297 | 298 | return vsprintf( $view->translate( $domain, $singular, $plural, $number ), $values );  | 
                                                        
| 298 | 299 | };  | 
                                                        
| 299 | 300 | $twig->addFunction( new \Twig_SimpleFunction( 'aitransplural', $fcn ) );  | 
                                                        
@@ -57,7 +57,7 @@ discard block  | 
                                                    ||
| 57 | 57 | $this->addMessageQueueManager( $context );  | 
                                                        
| 58 | 58 | $this->addLogger( $context );  | 
                                                        
| 59 | 59 | $this->addCache( $context );  | 
                                                        
| 60 | - $this->addMailer( $context);  | 
                                                        |
| 60 | + $this->addMailer( $context );  | 
                                                        |
| 61 | 61 | $this->addProcess( $context );  | 
                                                        
| 62 | 62 | $this->addSession( $context );  | 
                                                        
| 63 | 63 | $this->addUser( $context );  | 
                                                        
@@ -204,7 +204,7 @@ discard block  | 
                                                    ||
| 204 | 204 | */  | 
                                                        
| 205 | 205 | protected function addUser( \Aimeos\MShop\Context\Item\Iface $context )  | 
                                                        
| 206 | 206 |  	{ | 
                                                        
| 207 | -		$ipaddr = $this->container->request->getAttribute('ip_address'); | 
                                                        |
| 207 | + $ipaddr = $this->container->request->getAttribute( 'ip_address' );  | 
                                                        |
| 208 | 208 | |
| 209 | 209 | return $context->setEditor( $ipaddr );  | 
                                                        
| 210 | 210 | }  | 
                                                        
@@ -71,9 +71,12 @@  | 
                                                    ||
| 71 | 71 |  	{ | 
                                                        
| 72 | 72 | $localeManager = \Aimeos\MShop::create( $context, 'locale' );  | 
                                                        
| 73 | 73 | |
| 74 | -		try { | 
                                                        |
| 74 | + try  | 
                                                        |
| 75 | +		{ | 
                                                        |
| 75 | 76 | $localeItem = $localeManager->bootstrap( $site, '', '', false, null, true );  | 
                                                        
| 76 | -		} catch( \Aimeos\MShop\Exception $e ) { | 
                                                        |
| 77 | + }  | 
                                                        |
| 78 | + catch( \Aimeos\MShop\Exception $e )  | 
                                                        |
| 79 | +		{ | 
                                                        |
| 77 | 80 | $localeItem = $localeManager->createItem();  | 
                                                        
| 78 | 81 | }  | 
                                                        
| 79 | 82 | |
@@ -3,7 +3,7 @@ discard block  | 
                                                    ||
| 3 | 3 | |
| 4 | 4 |  $app->group( $config( 'routes/admin', '/admin' ), function() use ( $config ) { | 
                                                        
| 5 | 5 | |
| 6 | -	$this->map(['GET', 'POST'], '', function( $request, $response, $args ) use ( $config ) { | 
                                                        |
| 6 | +	$this->map( ['GET', 'POST'], '', function( $request, $response, $args ) use ( $config ) { | 
                                                        |
| 7 | 7 | return $response->withHeader( 'Location', $config( 'routes/jqadm', '/admin/default/jqadm' ) . '/search/dashboard' );  | 
                                                        
| 8 | 8 | })->setName( 'aimeos_shop_admin' );  | 
                                                        
| 9 | 9 | |
@@ -12,35 +12,35 @@ discard block  | 
                                                    ||
| 12 | 12 | |
| 13 | 13 |  $app->group( $config( 'routes/jqadm', '/admin/{site}/jqadm' ), function() use ( $config ) { | 
                                                        
| 14 | 14 | |
| 15 | -	$this->map(['GET'], '/file/{type}', function( $request, $response, $args ) { | 
                                                        |
| 15 | +	$this->map( ['GET'], '/file/{type}', function( $request, $response, $args ) { | 
                                                        |
| 16 | 16 | return \Aimeos\Slim\Controller\Jqadm::fileAction( $this, $request, $response, $args );  | 
                                                        
| 17 | 17 | })->setName( 'aimeos_shop_jqadm_file' );  | 
                                                        
| 18 | 18 | |
| 19 | -	$this->map(['GET', 'POST'], '/copy/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 19 | +	$this->map( ['GET', 'POST'], '/copy/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 20 | 20 | return \Aimeos\Slim\Controller\Jqadm::copyAction( $this, $request, $response, $args );  | 
                                                        
| 21 | 21 | })->setName( 'aimeos_shop_jqadm_copy' );  | 
                                                        
| 22 | 22 | |
| 23 | -	$this->map(['GET', 'POST'], '/create/{resource:[a-z\/]+}', function( $request, $response, $args ) { | 
                                                        |
| 23 | +	$this->map( ['GET', 'POST'], '/create/{resource:[a-z\/]+}', function( $request, $response, $args ) { | 
                                                        |
| 24 | 24 | return \Aimeos\Slim\Controller\Jqadm::createAction( $this, $request, $response, $args );  | 
                                                        
| 25 | 25 | })->setName( 'aimeos_shop_jqadm_create' );  | 
                                                        
| 26 | 26 | |
| 27 | -	$this->map(['GET', 'POST'], '/delete/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 27 | +	$this->map( ['GET', 'POST'], '/delete/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 28 | 28 | return \Aimeos\Slim\Controller\Jqadm::deleteAction( $this, $request, $response, $args );  | 
                                                        
| 29 | 29 | })->setName( 'aimeos_shop_jqadm_delete' );  | 
                                                        
| 30 | 30 | |
| 31 | -	$this->map(['GET', 'POST'], '/export/{resource:[a-z\/]+}', function( $request, $response, $args ) { | 
                                                        |
| 31 | +	$this->map( ['GET', 'POST'], '/export/{resource:[a-z\/]+}', function( $request, $response, $args ) { | 
                                                        |
| 32 | 32 | return \Aimeos\Slim\Controller\Jqadm::exportAction( $this, $request, $response, $args );  | 
                                                        
| 33 | 33 | })->setName( 'aimeos_shop_jqadm_export' );  | 
                                                        
| 34 | 34 | |
| 35 | -	$this->map(['GET'], '/get/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 35 | +	$this->map( ['GET'], '/get/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 36 | 36 | return \Aimeos\Slim\Controller\Jqadm::getAction( $this, $request, $response, $args );  | 
                                                        
| 37 | 37 | })->setName( 'aimeos_shop_jqadm_get' );  | 
                                                        
| 38 | 38 | |
| 39 | -	$this->map(['POST'], '/save/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 39 | +	$this->map( ['POST'], '/save/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 40 | 40 | return \Aimeos\Slim\Controller\Jqadm::saveAction( $this, $request, $response, $args );  | 
                                                        
| 41 | 41 | })->setName( 'aimeos_shop_jqadm_save' );  | 
                                                        
| 42 | 42 | |
| 43 | -	$this->map(['GET', 'POST'], '/search/{resource:[a-z\/]+}', function( $request, $response, $args ) { | 
                                                        |
| 43 | +	$this->map( ['GET', 'POST'], '/search/{resource:[a-z\/]+}', function( $request, $response, $args ) { | 
                                                        |
| 44 | 44 | return \Aimeos\Slim\Controller\Jqadm::searchAction( $this, $request, $response, $args );  | 
                                                        
| 45 | 45 | })->setName( 'aimeos_shop_jqadm_search' );  | 
                                                        
| 46 | 46 | |
@@ -49,27 +49,27 @@ discard block  | 
                                                    ||
| 49 | 49 | |
| 50 | 50 |  $app->group( $config( 'routes/jsonadm', '/admin/{site}/jsonadm' ), function() use ( $config ) { | 
                                                        
| 51 | 51 | |
| 52 | -	$this->map(['DELETE'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 52 | +	$this->map( ['DELETE'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 53 | 53 | return \Aimeos\Slim\Controller\Jsonadm::deleteAction( $this, $request, $response, $args );  | 
                                                        
| 54 | 54 | })->setName( 'aimeos_shop_jsonadm_delete' );  | 
                                                        
| 55 | 55 | |
| 56 | -	$this->map(['GET'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 56 | +	$this->map( ['GET'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 57 | 57 | return \Aimeos\Slim\Controller\Jsonadm::getAction( $this, $request, $response, $args );  | 
                                                        
| 58 | 58 | })->setName( 'aimeos_shop_jsonadm_get' );  | 
                                                        
| 59 | 59 | |
| 60 | -	$this->map(['PATCH'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 60 | +	$this->map( ['PATCH'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 61 | 61 | return \Aimeos\Slim\Controller\Jsonadm::patchAction( $this, $request, $response, $args );  | 
                                                        
| 62 | 62 | })->setName( 'aimeos_shop_jsonadm_patch' );  | 
                                                        
| 63 | 63 | |
| 64 | -	$this->map(['POST'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 64 | +	$this->map( ['POST'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 65 | 65 | return \Aimeos\Slim\Controller\Jsonadm::postAction( $this, $request, $response, $args );  | 
                                                        
| 66 | 66 | })->setName( 'aimeos_shop_jsonadm_post' );  | 
                                                        
| 67 | 67 | |
| 68 | -	$this->map(['PUT'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 68 | +	$this->map( ['PUT'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 69 | 69 | return \Aimeos\Slim\Controller\Jsonadm::putAction( $this, $request, $response, $args );  | 
                                                        
| 70 | 70 | })->setName( 'aimeos_shop_jsonadm_put' );  | 
                                                        
| 71 | 71 | |
| 72 | -	$this->map(['OPTIONS'], '/[{resource}]', function( $request, $response, $args ) { | 
                                                        |
| 72 | +	$this->map( ['OPTIONS'], '/[{resource}]', function( $request, $response, $args ) { | 
                                                        |
| 73 | 73 | return \Aimeos\Slim\Controller\Jsonadm::optionsAction( $this, $request, $response, $args );  | 
                                                        
| 74 | 74 | })->setName( 'aimeos_shop_jsonadm_options' );  | 
                                                        
| 75 | 75 | |
@@ -78,27 +78,27 @@ discard block  | 
                                                    ||
| 78 | 78 | |
| 79 | 79 |  $app->group( $config( 'routes/jsonapi', '/jsonapi' ), function() use ( $config ) { | 
                                                        
| 80 | 80 | |
| 81 | -	$this->map(['DELETE'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 81 | +	$this->map( ['DELETE'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 82 | 82 | return \Aimeos\Slim\Controller\Jsonapi::deleteAction( $this, $request, $response, $args );  | 
                                                        
| 83 | 83 | })->setName( 'aimeos_shop_jsonapi_delete' );  | 
                                                        
| 84 | 84 | |
| 85 | -	$this->map(['GET'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 85 | +	$this->map( ['GET'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 86 | 86 | return \Aimeos\Slim\Controller\Jsonapi::getAction( $this, $request, $response, $args );  | 
                                                        
| 87 | 87 | })->setName( 'aimeos_shop_jsonapi_get' );  | 
                                                        
| 88 | 88 | |
| 89 | -	$this->map(['PATCH'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 89 | +	$this->map( ['PATCH'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 90 | 90 | return \Aimeos\Slim\Controller\Jsonapi::patchAction( $this, $request, $response, $args );  | 
                                                        
| 91 | 91 | })->setName( 'aimeos_shop_jsonapi_patch' );  | 
                                                        
| 92 | 92 | |
| 93 | -	$this->map(['POST'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 93 | +	$this->map( ['POST'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 94 | 94 | return \Aimeos\Slim\Controller\Jsonapi::postAction( $this, $request, $response, $args );  | 
                                                        
| 95 | 95 | })->setName( 'aimeos_shop_jsonapi_post' );  | 
                                                        
| 96 | 96 | |
| 97 | -	$this->map(['PUT'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 97 | +	$this->map( ['PUT'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 98 | 98 | return \Aimeos\Slim\Controller\Jsonapi::putAction( $this, $request, $response, $args );  | 
                                                        
| 99 | 99 | })->setName( 'aimeos_shop_jsonapi_put' );  | 
                                                        
| 100 | 100 | |
| 101 | -	$this->map(['OPTIONS'], '/[{resource}]', function( $request, $response, $args ) { | 
                                                        |
| 101 | +	$this->map( ['OPTIONS'], '/[{resource}]', function( $request, $response, $args ) { | 
                                                        |
| 102 | 102 | return \Aimeos\Slim\Controller\Jsonapi::optionsAction( $this, $request, $response, $args );  | 
                                                        
| 103 | 103 | })->setName( 'aimeos_shop_jsonapi_options' );  | 
                                                        
| 104 | 104 | |
@@ -107,19 +107,19 @@ discard block  | 
                                                    ||
| 107 | 107 | |
| 108 | 108 |  $app->group( $config( 'routes/account', '' ), function() { | 
                                                        
| 109 | 109 | |
| 110 | -	$this->map(['GET', 'POST'], '/myaccount', function( $request, $response, $args ) { | 
                                                        |
| 110 | +	$this->map( ['GET', 'POST'], '/myaccount', function( $request, $response, $args ) { | 
                                                        |
| 111 | 111 | return \Aimeos\Slim\Controller\Account::indexAction( $this, $request, $response, $args );  | 
                                                        
| 112 | 112 | })->setName( 'aimeos_shop_account' );  | 
                                                        
| 113 | 113 | |
| 114 | -	$this->map(['GET', 'POST'], '/myaccount/favorite[/{fav_action}/{fav_id:[0-9]+}[/{d_name}]]', function( $request, $response, $args ) { | 
                                                        |
| 114 | +	$this->map( ['GET', 'POST'], '/myaccount/favorite[/{fav_action}/{fav_id:[0-9]+}[/{d_name}]]', function( $request, $response, $args ) { | 
                                                        |
| 115 | 115 | return \Aimeos\Slim\Controller\Account::indexAction( $this, $request, $response, $args );  | 
                                                        
| 116 | 116 | })->setName( 'aimeos_shop_account_favorite' );  | 
                                                        
| 117 | 117 | |
| 118 | -	$this->map(['GET', 'POST'], '/myaccount/watch[/{wat_action}/{wat_id:[0-9]+}[/{d_name}]]', function( $request, $response, $args ) { | 
                                                        |
| 118 | +	$this->map( ['GET', 'POST'], '/myaccount/watch[/{wat_action}/{wat_id:[0-9]+}[/{d_name}]]', function( $request, $response, $args ) { | 
                                                        |
| 119 | 119 | return \Aimeos\Slim\Controller\Account::indexAction( $this, $request, $response, $args );  | 
                                                        
| 120 | 120 | })->setName( 'aimeos_shop_account_watch' );  | 
                                                        
| 121 | 121 | |
| 122 | -	$this->map(['GET', 'POST'], '/myaccount/download/{dl_id}', function( $request, $response, $args ) { | 
                                                        |
| 122 | +	$this->map( ['GET', 'POST'], '/myaccount/download/{dl_id}', function( $request, $response, $args ) { | 
                                                        |
| 123 | 123 | return \Aimeos\Slim\Controller\Account::downloadAction( $this, $request, $response, $args );  | 
                                                        
| 124 | 124 | })->setName( 'aimeos_shop_account_download' );  | 
                                                        
| 125 | 125 | |
@@ -128,43 +128,43 @@ discard block  | 
                                                    ||
| 128 | 128 | |
| 129 | 129 |  $app->group( $config( 'routes/default', '' ), function() { | 
                                                        
| 130 | 130 | |
| 131 | -	$this->map(['GET', 'POST'], '/count', function( $request, $response, $args ) { | 
                                                        |
| 131 | +	$this->map( ['GET', 'POST'], '/count', function( $request, $response, $args ) { | 
                                                        |
| 132 | 132 | return \Aimeos\Slim\Controller\Catalog::countAction( $this, $request, $response, $args );  | 
                                                        
| 133 | 133 | })->setName( 'aimeos_shop_count' );  | 
                                                        
| 134 | 134 | |
| 135 | -	$this->map(['GET', 'POST'], '/d/{d_name}/{d_prodid}[/{d_pos:[0-9]+}]', function( $request, $response, $args ) { | 
                                                        |
| 135 | +	$this->map( ['GET', 'POST'], '/d/{d_name}/{d_prodid}[/{d_pos:[0-9]+}]', function( $request, $response, $args ) { | 
                                                        |
| 136 | 136 | return \Aimeos\Slim\Controller\Catalog::detailAction( $this, $request, $response, $args );  | 
                                                        
| 137 | 137 | })->setName( 'aimeos_shop_detail' );  | 
                                                        
| 138 | 138 | |
| 139 | -	$this->map(['GET', 'POST'], '/d/pin[/{pin_action}/{pin_id}[/{d_name}]]', function( $request, $response, $args ) { | 
                                                        |
| 139 | +	$this->map( ['GET', 'POST'], '/d/pin[/{pin_action}/{pin_id}[/{d_name}]]', function( $request, $response, $args ) { | 
                                                        |
| 140 | 140 | return \Aimeos\Slim\Controller\Catalog::detailAction( $this, $request, $response, $args );  | 
                                                        
| 141 | 141 | })->setName( 'aimeos_shop_session_pinned' );  | 
                                                        
| 142 | 142 | |
| 143 | -	$this->map(['GET', 'POST'], '/list', function( $request, $response, $args ) { | 
                                                        |
| 143 | +	$this->map( ['GET', 'POST'], '/list', function( $request, $response, $args ) { | 
                                                        |
| 144 | 144 | return \Aimeos\Slim\Controller\Catalog::listAction( $this, $request, $response, $args );  | 
                                                        
| 145 | 145 | })->setName( 'aimeos_shop_list' );  | 
                                                        
| 146 | 146 | |
| 147 | -	$this->map(['GET', 'POST'], '/suggest', function( $request, $response, $args ) { | 
                                                        |
| 147 | +	$this->map( ['GET', 'POST'], '/suggest', function( $request, $response, $args ) { | 
                                                        |
| 148 | 148 | return \Aimeos\Slim\Controller\Catalog::suggestAction( $this, $request, $response, $args );  | 
                                                        
| 149 | 149 | })->setName( 'aimeos_shop_suggest' );  | 
                                                        
| 150 | 150 | |
| 151 | -	$this->map(['GET', 'POST'], '/stock', function( $request, $response, $args ) { | 
                                                        |
| 151 | +	$this->map( ['GET', 'POST'], '/stock', function( $request, $response, $args ) { | 
                                                        |
| 152 | 152 | return \Aimeos\Slim\Controller\Catalog::stockAction( $this, $request, $response, $args );  | 
                                                        
| 153 | 153 | })->setName( 'aimeos_shop_stock' );  | 
                                                        
| 154 | 154 | |
| 155 | -	$this->map(['GET', 'POST'], '/c/{f_name}/{f_catid}', function( $request, $response, $args ) { | 
                                                        |
| 155 | +	$this->map( ['GET', 'POST'], '/c/{f_name}/{f_catid}', function( $request, $response, $args ) { | 
                                                        |
| 156 | 156 | return \Aimeos\Slim\Controller\Catalog::treeAction( $this, $request, $response, $args );  | 
                                                        
| 157 | 157 | })->setName( 'aimeos_shop_tree' );  | 
                                                        
| 158 | 158 | |
| 159 | -	$this->map(['GET', 'POST'], '/basket', function( $request, $response, $args ) { | 
                                                        |
| 159 | +	$this->map( ['GET', 'POST'], '/basket', function( $request, $response, $args ) { | 
                                                        |
| 160 | 160 | return \Aimeos\Slim\Controller\Basket::indexAction( $this, $request, $response, $args );  | 
                                                        
| 161 | 161 | })->setName( 'aimeos_shop_basket' );  | 
                                                        
| 162 | 162 | |
| 163 | -	$this->map(['GET', 'POST'], '/checkout[/{c_step}]', function( $request, $response, $args ) { | 
                                                        |
| 163 | +	$this->map( ['GET', 'POST'], '/checkout[/{c_step}]', function( $request, $response, $args ) { | 
                                                        |
| 164 | 164 | return \Aimeos\Slim\Controller\Checkout::indexAction( $this, $request, $response, $args );  | 
                                                        
| 165 | 165 | })->setName( 'aimeos_shop_checkout' );  | 
                                                        
| 166 | 166 | |
| 167 | -	$this->map(['GET', 'POST'], '/confirm[/{code}]', function( $request, $response, $args ) { | 
                                                        |
| 167 | +	$this->map( ['GET', 'POST'], '/confirm[/{code}]', function( $request, $response, $args ) { | 
                                                        |
| 168 | 168 | return \Aimeos\Slim\Controller\Checkout::confirmAction( $this, $request, $response, $args );  | 
                                                        
| 169 | 169 | })->setName( 'aimeos_shop_confirm' );  | 
                                                        
| 170 | 170 | |
@@ -173,17 +173,17 @@ discard block  | 
                                                    ||
| 173 | 173 | |
| 174 | 174 |  $app->group( $config( 'routes/update', '' ), function() { | 
                                                        
| 175 | 175 | |
| 176 | -	$this->map(['GET', 'POST'], '/update', function( $request, $response, $args ) { | 
                                                        |
| 176 | +	$this->map( ['GET', 'POST'], '/update', function( $request, $response, $args ) { | 
                                                        |
| 177 | 177 | return \Aimeos\Slim\Controller\Checkout::updateAction( $this, $request, $response, $args );  | 
                                                        
| 178 | 178 | })->setName( 'aimeos_shop_update' );  | 
                                                        
| 179 | 179 | |
| 180 | 180 | });  | 
                                                        
| 181 | 181 | |
| 182 | 182 | |
| 183 | -$app->map(['GET', 'POST'], '/terms', function( $request, $response, $args ) { | 
                                                        |
| 183 | +$app->map( ['GET', 'POST'], '/terms', function( $request, $response, $args ) { | 
                                                        |
| 184 | 184 | return 'terms';  | 
                                                        
| 185 | 185 | })->setName( 'aimeos_shop_terms' );  | 
                                                        
| 186 | 186 | |
| 187 | -$app->map(['GET', 'POST'], '/privacy', function( $request, $response, $args ) { | 
                                                        |
| 187 | +$app->map( ['GET', 'POST'], '/privacy', function( $request, $response, $args ) { | 
                                                        |
| 188 | 188 | return 'privacy';  | 
                                                        
| 189 | 189 | })->setName( 'aimeos_shop_privacy' );  | 
                                                        
@@ -1,189 +1,234 @@  | 
                                                    ||
| 1 | 1 | <?php  | 
                                                        
| 2 | 2 | |
| 3 | 3 | |
| 4 | -$app->group( $config( 'routes/admin', '/admin' ), function() use ( $config ) { | 
                                                        |
| 4 | +$app->group( $config( 'routes/admin', '/admin' ), function() use ( $config )  | 
                                                        |
| 5 | +{ | 
                                                        |
| 5 | 6 | |
| 6 | -	$this->map(['GET', 'POST'], '', function( $request, $response, $args ) use ( $config ) { | 
                                                        |
| 7 | + $this->map(['GET', 'POST'], '', function( $request, $response, $args ) use ( $config )  | 
                                                        |
| 8 | +	{ | 
                                                        |
| 7 | 9 | return $response->withHeader( 'Location', $config( 'routes/jqadm', '/admin/default/jqadm' ) . '/search/dashboard' );  | 
                                                        
| 8 | 10 | })->setName( 'aimeos_shop_admin' );  | 
                                                        
| 9 | 11 | |
| 10 | 12 | });  | 
                                                        
| 11 | 13 | |
| 12 | 14 | |
| 13 | -$app->group( $config( 'routes/jqadm', '/admin/{site}/jqadm' ), function() use ( $config ) { | 
                                                        |
| 15 | +$app->group( $config( 'routes/jqadm', '/admin/{site}/jqadm' ), function() use ( $config ) | 
                                                        |
| 16 | +{ | 
                                                        |
| 14 | 17 | |
| 15 | -	$this->map(['GET'], '/file/{type}', function( $request, $response, $args ) { | 
                                                        |
| 18 | +	$this->map(['GET'], '/file/{type}', function( $request, $response, $args ) | 
                                                        |
| 19 | +	{ | 
                                                        |
| 16 | 20 | return \Aimeos\Slim\Controller\Jqadm::fileAction( $this, $request, $response, $args );  | 
                                                        
| 17 | 21 | })->setName( 'aimeos_shop_jqadm_file' );  | 
                                                        
| 18 | 22 | |
| 19 | -	$this->map(['GET', 'POST'], '/copy/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 23 | +	$this->map(['GET', 'POST'], '/copy/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) | 
                                                        |
| 24 | +	{ | 
                                                        |
| 20 | 25 | return \Aimeos\Slim\Controller\Jqadm::copyAction( $this, $request, $response, $args );  | 
                                                        
| 21 | 26 | })->setName( 'aimeos_shop_jqadm_copy' );  | 
                                                        
| 22 | 27 | |
| 23 | -	$this->map(['GET', 'POST'], '/create/{resource:[a-z\/]+}', function( $request, $response, $args ) { | 
                                                        |
| 28 | +	$this->map(['GET', 'POST'], '/create/{resource:[a-z\/]+}', function( $request, $response, $args ) | 
                                                        |
| 29 | +	{ | 
                                                        |
| 24 | 30 | return \Aimeos\Slim\Controller\Jqadm::createAction( $this, $request, $response, $args );  | 
                                                        
| 25 | 31 | })->setName( 'aimeos_shop_jqadm_create' );  | 
                                                        
| 26 | 32 | |
| 27 | -	$this->map(['GET', 'POST'], '/delete/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 33 | +	$this->map(['GET', 'POST'], '/delete/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) | 
                                                        |
| 34 | +	{ | 
                                                        |
| 28 | 35 | return \Aimeos\Slim\Controller\Jqadm::deleteAction( $this, $request, $response, $args );  | 
                                                        
| 29 | 36 | })->setName( 'aimeos_shop_jqadm_delete' );  | 
                                                        
| 30 | 37 | |
| 31 | -	$this->map(['GET', 'POST'], '/export/{resource:[a-z\/]+}', function( $request, $response, $args ) { | 
                                                        |
| 38 | +	$this->map(['GET', 'POST'], '/export/{resource:[a-z\/]+}', function( $request, $response, $args ) | 
                                                        |
| 39 | +	{ | 
                                                        |
| 32 | 40 | return \Aimeos\Slim\Controller\Jqadm::exportAction( $this, $request, $response, $args );  | 
                                                        
| 33 | 41 | })->setName( 'aimeos_shop_jqadm_export' );  | 
                                                        
| 34 | 42 | |
| 35 | -	$this->map(['GET'], '/get/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 43 | +	$this->map(['GET'], '/get/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) | 
                                                        |
| 44 | +	{ | 
                                                        |
| 36 | 45 | return \Aimeos\Slim\Controller\Jqadm::getAction( $this, $request, $response, $args );  | 
                                                        
| 37 | 46 | })->setName( 'aimeos_shop_jqadm_get' );  | 
                                                        
| 38 | 47 | |
| 39 | -	$this->map(['POST'], '/save/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 48 | +	$this->map(['POST'], '/save/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) | 
                                                        |
| 49 | +	{ | 
                                                        |
| 40 | 50 | return \Aimeos\Slim\Controller\Jqadm::saveAction( $this, $request, $response, $args );  | 
                                                        
| 41 | 51 | })->setName( 'aimeos_shop_jqadm_save' );  | 
                                                        
| 42 | 52 | |
| 43 | -	$this->map(['GET', 'POST'], '/search/{resource:[a-z\/]+}', function( $request, $response, $args ) { | 
                                                        |
| 53 | +	$this->map(['GET', 'POST'], '/search/{resource:[a-z\/]+}', function( $request, $response, $args ) | 
                                                        |
| 54 | +	{ | 
                                                        |
| 44 | 55 | return \Aimeos\Slim\Controller\Jqadm::searchAction( $this, $request, $response, $args );  | 
                                                        
| 45 | 56 | })->setName( 'aimeos_shop_jqadm_search' );  | 
                                                        
| 46 | 57 | |
| 47 | 58 | });  | 
                                                        
| 48 | 59 | |
| 49 | 60 | |
| 50 | -$app->group( $config( 'routes/jsonadm', '/admin/{site}/jsonadm' ), function() use ( $config ) { | 
                                                        |
| 61 | +$app->group( $config( 'routes/jsonadm', '/admin/{site}/jsonadm' ), function() use ( $config ) | 
                                                        |
| 62 | +{ | 
                                                        |
| 51 | 63 | |
| 52 | -	$this->map(['DELETE'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 64 | +	$this->map(['DELETE'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) | 
                                                        |
| 65 | +	{ | 
                                                        |
| 53 | 66 | return \Aimeos\Slim\Controller\Jsonadm::deleteAction( $this, $request, $response, $args );  | 
                                                        
| 54 | 67 | })->setName( 'aimeos_shop_jsonadm_delete' );  | 
                                                        
| 55 | 68 | |
| 56 | -	$this->map(['GET'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 69 | +	$this->map(['GET'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) | 
                                                        |
| 70 | +	{ | 
                                                        |
| 57 | 71 | return \Aimeos\Slim\Controller\Jsonadm::getAction( $this, $request, $response, $args );  | 
                                                        
| 58 | 72 | })->setName( 'aimeos_shop_jsonadm_get' );  | 
                                                        
| 59 | 73 | |
| 60 | -	$this->map(['PATCH'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 74 | +	$this->map(['PATCH'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) | 
                                                        |
| 75 | +	{ | 
                                                        |
| 61 | 76 | return \Aimeos\Slim\Controller\Jsonadm::patchAction( $this, $request, $response, $args );  | 
                                                        
| 62 | 77 | })->setName( 'aimeos_shop_jsonadm_patch' );  | 
                                                        
| 63 | 78 | |
| 64 | -	$this->map(['POST'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 79 | +	$this->map(['POST'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) | 
                                                        |
| 80 | +	{ | 
                                                        |
| 65 | 81 | return \Aimeos\Slim\Controller\Jsonadm::postAction( $this, $request, $response, $args );  | 
                                                        
| 66 | 82 | })->setName( 'aimeos_shop_jsonadm_post' );  | 
                                                        
| 67 | 83 | |
| 68 | -	$this->map(['PUT'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) { | 
                                                        |
| 84 | +	$this->map(['PUT'], '/{resource:[a-z\/]+}[/{id}]', function( $request, $response, $args ) | 
                                                        |
| 85 | +	{ | 
                                                        |
| 69 | 86 | return \Aimeos\Slim\Controller\Jsonadm::putAction( $this, $request, $response, $args );  | 
                                                        
| 70 | 87 | })->setName( 'aimeos_shop_jsonadm_put' );  | 
                                                        
| 71 | 88 | |
| 72 | -	$this->map(['OPTIONS'], '/[{resource}]', function( $request, $response, $args ) { | 
                                                        |
| 89 | +	$this->map(['OPTIONS'], '/[{resource}]', function( $request, $response, $args ) | 
                                                        |
| 90 | +	{ | 
                                                        |
| 73 | 91 | return \Aimeos\Slim\Controller\Jsonadm::optionsAction( $this, $request, $response, $args );  | 
                                                        
| 74 | 92 | })->setName( 'aimeos_shop_jsonadm_options' );  | 
                                                        
| 75 | 93 | |
| 76 | 94 | });  | 
                                                        
| 77 | 95 | |
| 78 | 96 | |
| 79 | -$app->group( $config( 'routes/jsonapi', '/jsonapi' ), function() use ( $config ) { | 
                                                        |
| 97 | +$app->group( $config( 'routes/jsonapi', '/jsonapi' ), function() use ( $config )  | 
                                                        |
| 98 | +{ | 
                                                        |
| 80 | 99 | |
| 81 | -	$this->map(['DELETE'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 100 | +	$this->map(['DELETE'], '/{resource}', function( $request, $response, $args ) | 
                                                        |
| 101 | +	{ | 
                                                        |
| 82 | 102 | return \Aimeos\Slim\Controller\Jsonapi::deleteAction( $this, $request, $response, $args );  | 
                                                        
| 83 | 103 | })->setName( 'aimeos_shop_jsonapi_delete' );  | 
                                                        
| 84 | 104 | |
| 85 | -	$this->map(['GET'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 105 | +	$this->map(['GET'], '/{resource}', function( $request, $response, $args ) | 
                                                        |
| 106 | +	{ | 
                                                        |
| 86 | 107 | return \Aimeos\Slim\Controller\Jsonapi::getAction( $this, $request, $response, $args );  | 
                                                        
| 87 | 108 | })->setName( 'aimeos_shop_jsonapi_get' );  | 
                                                        
| 88 | 109 | |
| 89 | -	$this->map(['PATCH'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 110 | +	$this->map(['PATCH'], '/{resource}', function( $request, $response, $args ) | 
                                                        |
| 111 | +	{ | 
                                                        |
| 90 | 112 | return \Aimeos\Slim\Controller\Jsonapi::patchAction( $this, $request, $response, $args );  | 
                                                        
| 91 | 113 | })->setName( 'aimeos_shop_jsonapi_patch' );  | 
                                                        
| 92 | 114 | |
| 93 | -	$this->map(['POST'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 115 | +	$this->map(['POST'], '/{resource}', function( $request, $response, $args ) | 
                                                        |
| 116 | +	{ | 
                                                        |
| 94 | 117 | return \Aimeos\Slim\Controller\Jsonapi::postAction( $this, $request, $response, $args );  | 
                                                        
| 95 | 118 | })->setName( 'aimeos_shop_jsonapi_post' );  | 
                                                        
| 96 | 119 | |
| 97 | -	$this->map(['PUT'], '/{resource}', function( $request, $response, $args ) { | 
                                                        |
| 120 | +	$this->map(['PUT'], '/{resource}', function( $request, $response, $args ) | 
                                                        |
| 121 | +	{ | 
                                                        |
| 98 | 122 | return \Aimeos\Slim\Controller\Jsonapi::putAction( $this, $request, $response, $args );  | 
                                                        
| 99 | 123 | })->setName( 'aimeos_shop_jsonapi_put' );  | 
                                                        
| 100 | 124 | |
| 101 | -	$this->map(['OPTIONS'], '/[{resource}]', function( $request, $response, $args ) { | 
                                                        |
| 125 | +	$this->map(['OPTIONS'], '/[{resource}]', function( $request, $response, $args ) | 
                                                        |
| 126 | +	{ | 
                                                        |
| 102 | 127 | return \Aimeos\Slim\Controller\Jsonapi::optionsAction( $this, $request, $response, $args );  | 
                                                        
| 103 | 128 | })->setName( 'aimeos_shop_jsonapi_options' );  | 
                                                        
| 104 | 129 | |
| 105 | 130 | });  | 
                                                        
| 106 | 131 | |
| 107 | 132 | |
| 108 | -$app->group( $config( 'routes/account', '' ), function() { | 
                                                        |
| 133 | +$app->group( $config( 'routes/account', '' ), function()  | 
                                                        |
| 134 | +{ | 
                                                        |
| 109 | 135 | |
| 110 | -	$this->map(['GET', 'POST'], '/myaccount', function( $request, $response, $args ) { | 
                                                        |
| 136 | + $this->map(['GET', 'POST'], '/myaccount', function( $request, $response, $args )  | 
                                                        |
| 137 | +	{ | 
                                                        |
| 111 | 138 | return \Aimeos\Slim\Controller\Account::indexAction( $this, $request, $response, $args );  | 
                                                        
| 112 | 139 | })->setName( 'aimeos_shop_account' );  | 
                                                        
| 113 | 140 | |
| 114 | -	$this->map(['GET', 'POST'], '/myaccount/favorite[/{fav_action}/{fav_id:[0-9]+}[/{d_name}]]', function( $request, $response, $args ) { | 
                                                        |
| 141 | +	$this->map(['GET', 'POST'], '/myaccount/favorite[/{fav_action}/{fav_id:[0-9]+}[/{d_name}]]', function( $request, $response, $args ) | 
                                                        |
| 142 | +	{ | 
                                                        |
| 115 | 143 | return \Aimeos\Slim\Controller\Account::indexAction( $this, $request, $response, $args );  | 
                                                        
| 116 | 144 | })->setName( 'aimeos_shop_account_favorite' );  | 
                                                        
| 117 | 145 | |
| 118 | -	$this->map(['GET', 'POST'], '/myaccount/watch[/{wat_action}/{wat_id:[0-9]+}[/{d_name}]]', function( $request, $response, $args ) { | 
                                                        |
| 146 | +	$this->map(['GET', 'POST'], '/myaccount/watch[/{wat_action}/{wat_id:[0-9]+}[/{d_name}]]', function( $request, $response, $args ) | 
                                                        |
| 147 | +	{ | 
                                                        |
| 119 | 148 | return \Aimeos\Slim\Controller\Account::indexAction( $this, $request, $response, $args );  | 
                                                        
| 120 | 149 | })->setName( 'aimeos_shop_account_watch' );  | 
                                                        
| 121 | 150 | |
| 122 | -	$this->map(['GET', 'POST'], '/myaccount/download/{dl_id}', function( $request, $response, $args ) { | 
                                                        |
| 151 | +	$this->map(['GET', 'POST'], '/myaccount/download/{dl_id}', function( $request, $response, $args ) | 
                                                        |
| 152 | +	{ | 
                                                        |
| 123 | 153 | return \Aimeos\Slim\Controller\Account::downloadAction( $this, $request, $response, $args );  | 
                                                        
| 124 | 154 | })->setName( 'aimeos_shop_account_download' );  | 
                                                        
| 125 | 155 | |
| 126 | 156 | });  | 
                                                        
| 127 | 157 | |
| 128 | 158 | |
| 129 | -$app->group( $config( 'routes/default', '' ), function() { | 
                                                        |
| 159 | +$app->group( $config( 'routes/default', '' ), function()  | 
                                                        |
| 160 | +{ | 
                                                        |
| 130 | 161 | |
| 131 | -	$this->map(['GET', 'POST'], '/count', function( $request, $response, $args ) { | 
                                                        |
| 162 | + $this->map(['GET', 'POST'], '/count', function( $request, $response, $args )  | 
                                                        |
| 163 | +	{ | 
                                                        |
| 132 | 164 | return \Aimeos\Slim\Controller\Catalog::countAction( $this, $request, $response, $args );  | 
                                                        
| 133 | 165 | })->setName( 'aimeos_shop_count' );  | 
                                                        
| 134 | 166 | |
| 135 | -	$this->map(['GET', 'POST'], '/d/{d_name}/{d_prodid}[/{d_pos:[0-9]+}]', function( $request, $response, $args ) { | 
                                                        |
| 167 | +	$this->map(['GET', 'POST'], '/d/{d_name}/{d_prodid}[/{d_pos:[0-9]+}]', function( $request, $response, $args ) | 
                                                        |
| 168 | +	{ | 
                                                        |
| 136 | 169 | return \Aimeos\Slim\Controller\Catalog::detailAction( $this, $request, $response, $args );  | 
                                                        
| 137 | 170 | })->setName( 'aimeos_shop_detail' );  | 
                                                        
| 138 | 171 | |
| 139 | -	$this->map(['GET', 'POST'], '/d/pin[/{pin_action}/{pin_id}[/{d_name}]]', function( $request, $response, $args ) { | 
                                                        |
| 172 | +	$this->map(['GET', 'POST'], '/d/pin[/{pin_action}/{pin_id}[/{d_name}]]', function( $request, $response, $args ) | 
                                                        |
| 173 | +	{ | 
                                                        |
| 140 | 174 | return \Aimeos\Slim\Controller\Catalog::detailAction( $this, $request, $response, $args );  | 
                                                        
| 141 | 175 | })->setName( 'aimeos_shop_session_pinned' );  | 
                                                        
| 142 | 176 | |
| 143 | -	$this->map(['GET', 'POST'], '/list', function( $request, $response, $args ) { | 
                                                        |
| 177 | + $this->map(['GET', 'POST'], '/list', function( $request, $response, $args )  | 
                                                        |
| 178 | +	{ | 
                                                        |
| 144 | 179 | return \Aimeos\Slim\Controller\Catalog::listAction( $this, $request, $response, $args );  | 
                                                        
| 145 | 180 | })->setName( 'aimeos_shop_list' );  | 
                                                        
| 146 | 181 | |
| 147 | -	$this->map(['GET', 'POST'], '/suggest', function( $request, $response, $args ) { | 
                                                        |
| 182 | + $this->map(['GET', 'POST'], '/suggest', function( $request, $response, $args )  | 
                                                        |
| 183 | +	{ | 
                                                        |
| 148 | 184 | return \Aimeos\Slim\Controller\Catalog::suggestAction( $this, $request, $response, $args );  | 
                                                        
| 149 | 185 | })->setName( 'aimeos_shop_suggest' );  | 
                                                        
| 150 | 186 | |
| 151 | -	$this->map(['GET', 'POST'], '/stock', function( $request, $response, $args ) { | 
                                                        |
| 187 | + $this->map(['GET', 'POST'], '/stock', function( $request, $response, $args )  | 
                                                        |
| 188 | +	{ | 
                                                        |
| 152 | 189 | return \Aimeos\Slim\Controller\Catalog::stockAction( $this, $request, $response, $args );  | 
                                                        
| 153 | 190 | })->setName( 'aimeos_shop_stock' );  | 
                                                        
| 154 | 191 | |
| 155 | -	$this->map(['GET', 'POST'], '/c/{f_name}/{f_catid}', function( $request, $response, $args ) { | 
                                                        |
| 192 | +	$this->map(['GET', 'POST'], '/c/{f_name}/{f_catid}', function( $request, $response, $args ) | 
                                                        |
| 193 | +	{ | 
                                                        |
| 156 | 194 | return \Aimeos\Slim\Controller\Catalog::treeAction( $this, $request, $response, $args );  | 
                                                        
| 157 | 195 | })->setName( 'aimeos_shop_tree' );  | 
                                                        
| 158 | 196 | |
| 159 | -	$this->map(['GET', 'POST'], '/basket', function( $request, $response, $args ) { | 
                                                        |
| 197 | + $this->map(['GET', 'POST'], '/basket', function( $request, $response, $args )  | 
                                                        |
| 198 | +	{ | 
                                                        |
| 160 | 199 | return \Aimeos\Slim\Controller\Basket::indexAction( $this, $request, $response, $args );  | 
                                                        
| 161 | 200 | })->setName( 'aimeos_shop_basket' );  | 
                                                        
| 162 | 201 | |
| 163 | -	$this->map(['GET', 'POST'], '/checkout[/{c_step}]', function( $request, $response, $args ) { | 
                                                        |
| 202 | +	$this->map(['GET', 'POST'], '/checkout[/{c_step}]', function( $request, $response, $args ) | 
                                                        |
| 203 | +	{ | 
                                                        |
| 164 | 204 | return \Aimeos\Slim\Controller\Checkout::indexAction( $this, $request, $response, $args );  | 
                                                        
| 165 | 205 | })->setName( 'aimeos_shop_checkout' );  | 
                                                        
| 166 | 206 | |
| 167 | -	$this->map(['GET', 'POST'], '/confirm[/{code}]', function( $request, $response, $args ) { | 
                                                        |
| 207 | +	$this->map(['GET', 'POST'], '/confirm[/{code}]', function( $request, $response, $args ) | 
                                                        |
| 208 | +	{ | 
                                                        |
| 168 | 209 | return \Aimeos\Slim\Controller\Checkout::confirmAction( $this, $request, $response, $args );  | 
                                                        
| 169 | 210 | })->setName( 'aimeos_shop_confirm' );  | 
                                                        
| 170 | 211 | |
| 171 | 212 | });  | 
                                                        
| 172 | 213 | |
| 173 | 214 | |
| 174 | -$app->group( $config( 'routes/update', '' ), function() { | 
                                                        |
| 215 | +$app->group( $config( 'routes/update', '' ), function()  | 
                                                        |
| 216 | +{ | 
                                                        |
| 175 | 217 | |
| 176 | -	$this->map(['GET', 'POST'], '/update', function( $request, $response, $args ) { | 
                                                        |
| 218 | + $this->map(['GET', 'POST'], '/update', function( $request, $response, $args )  | 
                                                        |
| 219 | +	{ | 
                                                        |
| 177 | 220 | return \Aimeos\Slim\Controller\Checkout::updateAction( $this, $request, $response, $args );  | 
                                                        
| 178 | 221 | })->setName( 'aimeos_shop_update' );  | 
                                                        
| 179 | 222 | |
| 180 | 223 | });  | 
                                                        
| 181 | 224 | |
| 182 | 225 | |
| 183 | -$app->map(['GET', 'POST'], '/terms', function( $request, $response, $args ) { | 
                                                        |
| 226 | +$app->map(['GET', 'POST'], '/terms', function( $request, $response, $args )  | 
                                                        |
| 227 | +{ | 
                                                        |
| 184 | 228 | return 'terms';  | 
                                                        
| 185 | 229 | })->setName( 'aimeos_shop_terms' );  | 
                                                        
| 186 | 230 | |
| 187 | -$app->map(['GET', 'POST'], '/privacy', function( $request, $response, $args ) { | 
                                                        |
| 231 | +$app->map(['GET', 'POST'], '/privacy', function( $request, $response, $args )  | 
                                                        |
| 232 | +{ | 
                                                        |
| 188 | 233 | return 'privacy';  | 
                                                        
| 189 | 234 | })->setName( 'aimeos_shop_privacy' );  | 
                                                        
@@ -60,7 +60,7 @@  | 
                                                    ||
| 60 | 60 | 'REQUEST_METHOD' => $method,  | 
                                                        
| 61 | 61 | 'REQUEST_URI' => $path,  | 
                                                        
| 62 | 62 | 'QUERY_STRING' => http_build_query( $params )  | 
                                                        
| 63 | - ));  | 
                                                        |
| 63 | + ) );  | 
                                                        |
| 64 | 64 | $c['request'] = \Slim\Http\Request::createFromEnvironment( $env );  | 
                                                        
| 65 | 65 | $c['request']->getBody()->write( $body );  | 
                                                        
| 66 | 66 | $c['response'] = new \Slim\Http\Response();  |