Completed
Push — master ( 2fc608...167152 )
by Aimeos
01:59
created
controller/frontend/tests/Controller/Frontend/Basket/StandardTest.php 1 patch
Spacing   +244 added lines, -244 removed lines patch added patch discarded remove patch
@@ -19,112 +19,112 @@  discard block
 block discarded – undo
19 19
 	public static function setUpBeforeClass()
20 20
 	{
21 21
 		$context = \TestHelperFrontend::getContext();
22
-		self::$testItem = \Aimeos\MShop\Factory::createManager( $context, 'product' )->findItem( 'U:TESTP' );
22
+		self::$testItem = \Aimeos\MShop\Factory::createManager($context, 'product')->findItem('U:TESTP');
23 23
 	}
24 24
 
25 25
 
26 26
 	protected function setUp()
27 27
 	{
28
-		\Aimeos\MShop\Factory::setCache( true );
28
+		\Aimeos\MShop\Factory::setCache(true);
29 29
 
30 30
 		$this->context = \TestHelperFrontend::getContext();
31
-		$this->object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
31
+		$this->object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
32 32
 	}
33 33
 
34 34
 
35 35
 	protected function tearDown()
36 36
 	{
37
-		\Aimeos\MShop\Factory::setCache( false );
37
+		\Aimeos\MShop\Factory::setCache(false);
38 38
 		\Aimeos\MShop\Factory::clear();
39 39
 
40 40
 		$this->object->clear();
41
-		$this->context->getSession()->set( 'aimeos', [] );
41
+		$this->context->getSession()->set('aimeos', []);
42 42
 
43
-		unset( $this->context, $this->object );
43
+		unset($this->context, $this->object);
44 44
 	}
45 45
 
46 46
 
47 47
 	public function testClear()
48 48
 	{
49
-		$this->object->addProduct( self::$testItem->getId(), 2 );
49
+		$this->object->addProduct(self::$testItem->getId(), 2);
50 50
 		$this->object->clear();
51 51
 
52
-		$this->assertEquals( 0, count( $this->object->get()->getProducts() ) );
52
+		$this->assertEquals(0, count($this->object->get()->getProducts()));
53 53
 	}
54 54
 
55 55
 
56 56
 	public function testGet()
57 57
 	{
58
-		$this->assertInstanceOf( '\Aimeos\MShop\Order\Item\Base\Iface', $this->object->get() );
58
+		$this->assertInstanceOf('\Aimeos\MShop\Order\Item\Base\Iface', $this->object->get());
59 59
 	}
60 60
 
61 61
 
62 62
 	public function testSave()
63 63
 	{
64
-		$stub = $this->getMockBuilder( '\Aimeos\MShop\Order\Manager\Base\Standard' )
65
-			->setConstructorArgs( [$this->context] )
66
-			->setMethods( ['setSession'] )
64
+		$stub = $this->getMockBuilder('\Aimeos\MShop\Order\Manager\Base\Standard')
65
+			->setConstructorArgs([$this->context])
66
+			->setMethods(['setSession'])
67 67
 			->getMock();
68 68
 
69
-		\Aimeos\MShop\Factory::injectManager( $this->context, 'order/base', $stub );
69
+		\Aimeos\MShop\Factory::injectManager($this->context, 'order/base', $stub);
70 70
 
71
-		$stub->expects( $this->exactly( 2 ) )->method( 'setSession' );
71
+		$stub->expects($this->exactly(2))->method('setSession');
72 72
 
73
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
74
-		$object->addProduct( self::$testItem->getId(), 2 );
73
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
74
+		$object->addProduct(self::$testItem->getId(), 2);
75 75
 		$object->save();
76 76
 	}
77 77
 
78 78
 
79 79
 	public function testSetType()
80 80
 	{
81
-		$this->assertInstanceOf( '\Aimeos\Controller\Frontend\Basket\Iface', $this->object->setType( 'test' ) );
81
+		$this->assertInstanceOf('\Aimeos\Controller\Frontend\Basket\Iface', $this->object->setType('test'));
82 82
 	}
83 83
 
84 84
 
85 85
 	public function testStore()
86 86
 	{
87
-		$stub = $this->getMockBuilder( '\Aimeos\MShop\Order\Manager\Base\Standard' )
88
-			->setConstructorArgs( [$this->context] )
89
-			->setMethods( ['store'] )
87
+		$stub = $this->getMockBuilder('\Aimeos\MShop\Order\Manager\Base\Standard')
88
+			->setConstructorArgs([$this->context])
89
+			->setMethods(['store'])
90 90
 			->getMock();
91 91
 
92
-		\Aimeos\MShop\Factory::injectManager( $this->context, 'order/base', $stub );
92
+		\Aimeos\MShop\Factory::injectManager($this->context, 'order/base', $stub);
93 93
 
94
-		$stub->expects( $this->once() )->method( 'store' );
94
+		$stub->expects($this->once())->method('store');
95 95
 
96
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
96
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
97 97
 		$object->store();
98 98
 	}
99 99
 
100 100
 
101 101
 	public function testStoreLimit()
102 102
 	{
103
-		$this->context->setEditor( 'core:unittest' );
103
+		$this->context->setEditor('core:unittest');
104 104
 		$config = $this->context->getConfig();
105
-		$config->set( 'controller/frontend/basket/limit-count', 0 );
106
-		$config->set( 'controller/frontend/basket/limit-seconds', 86400 * 365 );
105
+		$config->set('controller/frontend/basket/limit-count', 0);
106
+		$config->set('controller/frontend/basket/limit-seconds', 86400 * 365);
107 107
 
108
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
108
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
109 109
 
110
-		$this->setExpectedException( '\Aimeos\Controller\Frontend\Basket\Exception' );
110
+		$this->setExpectedException('\Aimeos\Controller\Frontend\Basket\Exception');
111 111
 		$object->store();
112 112
 	}
113 113
 
114 114
 
115 115
 	public function testLoad()
116 116
 	{
117
-		$stub = $this->getMockBuilder( '\Aimeos\MShop\Order\Manager\Base\Standard' )
118
-			->setConstructorArgs( [$this->context] )
119
-			->setMethods( ['load'] )
117
+		$stub = $this->getMockBuilder('\Aimeos\MShop\Order\Manager\Base\Standard')
118
+			->setConstructorArgs([$this->context])
119
+			->setMethods(['load'])
120 120
 			->getMock();
121 121
 
122
-		\Aimeos\MShop\Factory::injectManager( $this->context, 'order/base', $stub );
122
+		\Aimeos\MShop\Factory::injectManager($this->context, 'order/base', $stub);
123 123
 
124
-		$stub->expects( $this->once() )->method( 'load' )
125
-			->will( $this->returnValue( $stub->createItem() ) );
124
+		$stub->expects($this->once())->method('load')
125
+			->will($this->returnValue($stub->createItem()));
126 126
 
127
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
127
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
128 128
 		$object->load( -1 );
129 129
 	}
130 130
 
@@ -132,338 +132,338 @@  discard block
 block discarded – undo
132 132
 	public function testAddDeleteProduct()
133 133
 	{
134 134
 		$basket = $this->object->get();
135
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'CNC' );
135
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('CNC');
136 136
 
137
-		$this->object->addProduct( $item->getId(), 2, 'default', [], [], [], [] );
138
-		$item2 = $this->object->get()->getProduct( 0 );
139
-		$this->object->deleteProduct( 0 );
137
+		$this->object->addProduct($item->getId(), 2, 'default', [], [], [], []);
138
+		$item2 = $this->object->get()->getProduct(0);
139
+		$this->object->deleteProduct(0);
140 140
 
141
-		$this->assertEquals( 0, count( $basket->getProducts() ) );
142
-		$this->assertEquals( 'CNC', $item2->getProductCode() );
141
+		$this->assertEquals(0, count($basket->getProducts()));
142
+		$this->assertEquals('CNC', $item2->getProductCode());
143 143
 	}
144 144
 
145 145
 
146 146
 	public function testAddProductCustomAttribute()
147 147
 	{
148
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
148
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
149 149
 
150 150
 		$search = $attributeManager->createSearch();
151 151
 		$expr = array(
152
-			$search->compare( '==', 'attribute.code', 'custom' ),
153
-			$search->compare( '==', 'attribute.type.code', 'date' ),
152
+			$search->compare('==', 'attribute.code', 'custom'),
153
+			$search->compare('==', 'attribute.type.code', 'date'),
154 154
 		);
155
-		$search->setConditions( $search->combine( '&&', $expr ) );
155
+		$search->setConditions($search->combine('&&', $expr));
156 156
 
157
-		$attributes = $attributeManager->searchItems( $search );
157
+		$attributes = $attributeManager->searchItems($search);
158 158
 
159
-		if( ( $attrItem = reset( $attributes ) ) === false ) {
160
-			throw new \RuntimeException( 'Attribute not found' );
159
+		if (($attrItem = reset($attributes)) === false) {
160
+			throw new \RuntimeException('Attribute not found');
161 161
 		}
162 162
 
163
-		$attrValues = array( $attrItem->getId() => '2000-01-01' );
163
+		$attrValues = array($attrItem->getId() => '2000-01-01');
164 164
 
165
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], [], [], $attrValues );
165
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], [], [], $attrValues);
166 166
 		$basket = $this->object->get();
167 167
 
168
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
169
-		$this->assertEquals( '2000-01-01', $basket->getProduct( 0 )->getAttribute( 'date', 'custom' ) );
168
+		$this->assertEquals(1, count($basket->getProducts()));
169
+		$this->assertEquals('2000-01-01', $basket->getProduct(0)->getAttribute('date', 'custom'));
170 170
 	}
171 171
 
172 172
 
173 173
 	public function testAddProductCustomPrice()
174 174
 	{
175
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
175
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
176 176
 
177 177
 		$search = $attributeManager->createSearch();
178 178
 		$expr = array(
179
-			$search->compare( '==', 'attribute.code', 'custom' ),
180
-			$search->compare( '==', 'attribute.type.code', 'price' ),
179
+			$search->compare('==', 'attribute.code', 'custom'),
180
+			$search->compare('==', 'attribute.type.code', 'price'),
181 181
 		);
182
-		$search->setConditions( $search->combine( '&&', $expr ) );
182
+		$search->setConditions($search->combine('&&', $expr));
183 183
 
184
-		$attributes = $attributeManager->searchItems( $search );
184
+		$attributes = $attributeManager->searchItems($search);
185 185
 
186
-		if( ( $attrItem = reset( $attributes ) ) === false ) {
187
-			throw new \RuntimeException( 'Attribute not found' );
186
+		if (($attrItem = reset($attributes)) === false) {
187
+			throw new \RuntimeException('Attribute not found');
188 188
 		}
189 189
 
190
-		$attrValues = array( $attrItem->getId() => '0.01' );
190
+		$attrValues = array($attrItem->getId() => '0.01');
191 191
 
192
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], [], [], $attrValues );
192
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], [], [], $attrValues);
193 193
 		$basket = $this->object->get();
194 194
 
195
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
196
-		$this->assertEquals( '0.01', $basket->getProduct( 0 )->getPrice()->getValue() );
195
+		$this->assertEquals(1, count($basket->getProducts()));
196
+		$this->assertEquals('0.01', $basket->getProduct(0)->getPrice()->getValue());
197 197
 	}
198 198
 
199 199
 
200 200
 	public function testAddProductCustomPriceException()
201 201
 	{
202
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
202
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
203 203
 
204 204
 		$search = $attributeManager->createSearch();
205 205
 		$expr = array(
206
-			$search->compare( '==', 'attribute.code', 'custom' ),
207
-			$search->compare( '==', 'attribute.type.code', 'price' ),
206
+			$search->compare('==', 'attribute.code', 'custom'),
207
+			$search->compare('==', 'attribute.type.code', 'price'),
208 208
 		);
209
-		$search->setConditions( $search->combine( '&&', $expr ) );
209
+		$search->setConditions($search->combine('&&', $expr));
210 210
 
211
-		$attributes = $attributeManager->searchItems( $search );
211
+		$attributes = $attributeManager->searchItems($search);
212 212
 
213
-		if( ( $attrItem = reset( $attributes ) ) === false ) {
214
-			throw new \RuntimeException( 'Attribute not found' );
213
+		if (($attrItem = reset($attributes)) === false) {
214
+			throw new \RuntimeException('Attribute not found');
215 215
 		}
216 216
 
217
-		$attrValues = array( $attrItem->getId() => ',' );
217
+		$attrValues = array($attrItem->getId() => ',');
218 218
 
219
-		$this->setExpectedException( '\Aimeos\Controller\Frontend\Basket\Exception' );
220
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], [], [], $attrValues );
219
+		$this->setExpectedException('\Aimeos\Controller\Frontend\Basket\Exception');
220
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], [], [], $attrValues);
221 221
 	}
222 222
 
223 223
 
224 224
 	public function testAddProductAttributePrice()
225 225
 	{
226
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
226
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
227 227
 
228 228
 		$search = $attributeManager->createSearch();
229 229
 		$expr = array(
230
-			$search->compare( '==', 'attribute.code', 'xs' ),
231
-			$search->compare( '==', 'attribute.type.code', 'size' ),
230
+			$search->compare('==', 'attribute.code', 'xs'),
231
+			$search->compare('==', 'attribute.type.code', 'size'),
232 232
 		);
233
-		$search->setConditions( $search->combine( '&&', $expr ) );
233
+		$search->setConditions($search->combine('&&', $expr));
234 234
 
235
-		$attributes = $attributeManager->searchItems( $search );
235
+		$attributes = $attributeManager->searchItems($search);
236 236
 
237
-		if( ( $attribute = reset( $attributes ) ) === false ) {
238
-			throw new \RuntimeException( 'Attribute not found' );
237
+		if (($attribute = reset($attributes)) === false) {
238
+			throw new \RuntimeException('Attribute not found');
239 239
 		}
240 240
 
241
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], [$attribute->getId() => 2] );
241
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], [$attribute->getId() => 2]);
242 242
 
243
-		$this->assertEquals( '43.90', $this->object->get()->getPrice()->getValue() );
243
+		$this->assertEquals('43.90', $this->object->get()->getPrice()->getValue());
244 244
 	}
245 245
 
246 246
 
247 247
 	public function testAddProductAttributeNotAssigned()
248 248
 	{
249
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
249
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
250 250
 
251 251
 		$search = $attributeManager->createSearch();
252 252
 		$expr = array(
253
-			$search->compare( '==', 'attribute.code', '30' ),
254
-			$search->compare( '==', 'attribute.type.code', 'width' ),
253
+			$search->compare('==', 'attribute.code', '30'),
254
+			$search->compare('==', 'attribute.type.code', 'width'),
255 255
 		);
256
-		$search->setConditions( $search->combine( '&&', $expr ) );
256
+		$search->setConditions($search->combine('&&', $expr));
257 257
 
258
-		$attribute = $attributeManager->searchItems( $search );
258
+		$attribute = $attributeManager->searchItems($search);
259 259
 
260
-		if( empty( $attribute ) ) {
261
-			throw new \RuntimeException( 'Attribute not found' );
260
+		if (empty($attribute)) {
261
+			throw new \RuntimeException('Attribute not found');
262 262
 		}
263 263
 
264
-		$hiddenAttrIds = array_keys( $attribute );
265
-		$configAttrIds = array_keys( $attribute );
264
+		$hiddenAttrIds = array_keys($attribute);
265
+		$configAttrIds = array_keys($attribute);
266 266
 
267
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
268
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], $configAttrIds, $hiddenAttrIds );
267
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
268
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], $configAttrIds, $hiddenAttrIds);
269 269
 	}
270 270
 
271 271
 
272 272
 	public function testAddProductNegativeQuantityException()
273 273
 	{
274
-		$this->setExpectedException( '\\Aimeos\\MShop\\Order\\Exception' );
275
-		$this->object->addProduct( self::$testItem->getId(), -1 );
274
+		$this->setExpectedException('\\Aimeos\\MShop\\Order\\Exception');
275
+		$this->object->addProduct(self::$testItem->getId(), -1);
276 276
 	}
277 277
 
278 278
 
279 279
 	public function testAddProductNoPriceException()
280 280
 	{
281
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'MNOP' );
281
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('MNOP');
282 282
 
283
-		$this->setExpectedException( '\\Aimeos\\MShop\\Price\\Exception' );
284
-		$this->object->addProduct( $item->getId(), 1 );
283
+		$this->setExpectedException('\\Aimeos\\MShop\\Price\\Exception');
284
+		$this->object->addProduct($item->getId(), 1);
285 285
 	}
286 286
 
287 287
 
288 288
 	public function testAddProductConfigAttributeException()
289 289
 	{
290
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
291
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], array( -1 ) );
290
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
291
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], array( -1 ));
292 292
 	}
293 293
 
294 294
 
295 295
 	public function testAddProductLowQuantityPriceException()
296 296
 	{
297
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'IJKL' );
297
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('IJKL');
298 298
 
299
-		$this->setExpectedException( '\\Aimeos\\MShop\\Price\\Exception' );
300
-		$this->object->addProduct( $item->getId(), 1 );
299
+		$this->setExpectedException('\\Aimeos\\MShop\\Price\\Exception');
300
+		$this->object->addProduct($item->getId(), 1);
301 301
 	}
302 302
 
303 303
 
304 304
 	public function testAddProductHigherQuantities()
305 305
 	{
306
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'IJKL' );
306
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('IJKL');
307 307
 
308
-		$this->object->addProduct( $item->getId(), 2, 'default', [], [], [], [], 'unit_type3' );
308
+		$this->object->addProduct($item->getId(), 2, 'default', [], [], [], [], 'unit_type3');
309 309
 
310
-		$this->assertEquals( 2, $this->object->get()->getProduct( 0 )->getQuantity() );
311
-		$this->assertEquals( 'IJKL', $this->object->get()->getProduct( 0 )->getProductCode() );
310
+		$this->assertEquals(2, $this->object->get()->getProduct(0)->getQuantity());
311
+		$this->assertEquals('IJKL', $this->object->get()->getProduct(0)->getProductCode());
312 312
 	}
313 313
 
314 314
 
315 315
 	public function testDeleteProductFlagError()
316 316
 	{
317
-		$this->object->addProduct( self::$testItem->getId(), 2 );
317
+		$this->object->addProduct(self::$testItem->getId(), 2);
318 318
 
319
-		$item = $this->object->get()->getProduct( 0 );
320
-		$item->setFlags( \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE );
319
+		$item = $this->object->get()->getProduct(0);
320
+		$item->setFlags(\Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE);
321 321
 
322
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
323
-		$this->object->deleteProduct( 0 );
322
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
323
+		$this->object->deleteProduct(0);
324 324
 	}
325 325
 
326 326
 
327 327
 	public function testEditProduct()
328 328
 	{
329
-		$this->object->addProduct( self::$testItem->getId(), 1 );
329
+		$this->object->addProduct(self::$testItem->getId(), 1);
330 330
 
331
-		$item = $this->object->get()->getProduct( 0 );
332
-		$this->assertEquals( 1, $item->getQuantity() );
331
+		$item = $this->object->get()->getProduct(0);
332
+		$this->assertEquals(1, $item->getQuantity());
333 333
 
334
-		$this->object->editProduct( 0, 4 );
334
+		$this->object->editProduct(0, 4);
335 335
 
336
-		$item = $this->object->get()->getProduct( 0 );
337
-		$this->assertEquals( 4, $item->getQuantity() );
338
-		$this->assertEquals( 'U:TESTP', $item->getProductCode() );
336
+		$item = $this->object->get()->getProduct(0);
337
+		$this->assertEquals(4, $item->getQuantity());
338
+		$this->assertEquals('U:TESTP', $item->getProductCode());
339 339
 	}
340 340
 
341 341
 
342 342
 	public function testEditProductAttributes()
343 343
 	{
344 344
 		$configAttrIds = [];
345
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
345
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
346 346
 
347 347
 		$search = $attributeManager->createSearch();
348 348
 		$conditions = array(
349
-			$search->compare( '==', 'attribute.domain', 'product' ),
350
-			$search->combine( '||', array(
351
-				$search->combine( '&&', array(
352
-					$search->compare( '==', 'attribute.code', 'xs' ),
353
-					$search->compare( '==', 'attribute.type.code', 'size' ),
354
-				) ),
355
-				$search->combine( '&&', array(
356
-					$search->compare( '==', 'attribute.code', 'white' ),
357
-					$search->compare( '==', 'attribute.type.code', 'color' ),
358
-				) ),
359
-			) )
349
+			$search->compare('==', 'attribute.domain', 'product'),
350
+			$search->combine('||', array(
351
+				$search->combine('&&', array(
352
+					$search->compare('==', 'attribute.code', 'xs'),
353
+					$search->compare('==', 'attribute.type.code', 'size'),
354
+				)),
355
+				$search->combine('&&', array(
356
+					$search->compare('==', 'attribute.code', 'white'),
357
+					$search->compare('==', 'attribute.type.code', 'color'),
358
+				)),
359
+			))
360 360
 		);
361
-		$search->setConditions( $search->combine( '&&', $conditions ) );
362
-		$attributes = $attributeManager->searchItems( $search );
361
+		$search->setConditions($search->combine('&&', $conditions));
362
+		$attributes = $attributeManager->searchItems($search);
363 363
 
364
-		if( empty( $attributes ) ) {
365
-			throw new \RuntimeException( 'No attributes available' );
364
+		if (empty($attributes)) {
365
+			throw new \RuntimeException('No attributes available');
366 366
 		}
367 367
 
368
-		foreach( $attributes as $id => $attribute ) {
368
+		foreach ($attributes as $id => $attribute) {
369 369
 			$configAttrIds[$id] = 1;
370 370
 		}
371 371
 
372
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:TESTP' );
372
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:TESTP');
373 373
 
374
-		$this->object->addProduct( $item->getId(), 1, 'default', [], $configAttrIds );
375
-		$this->object->editProduct( 0, 4 );
374
+		$this->object->addProduct($item->getId(), 1, 'default', [], $configAttrIds);
375
+		$this->object->editProduct(0, 4);
376 376
 
377
-		$item = $this->object->get()->getProduct( 0 );
378
-		$this->assertEquals( 2, count( $item->getAttributes() ) );
379
-		$this->assertEquals( 4, $item->getQuantity() );
377
+		$item = $this->object->get()->getProduct(0);
378
+		$this->assertEquals(2, count($item->getAttributes()));
379
+		$this->assertEquals(4, $item->getQuantity());
380 380
 
381 381
 
382
-		$this->object->editProduct( 0, 3, array( reset( $attributes )->getType() ) );
382
+		$this->object->editProduct(0, 3, array(reset($attributes)->getType()));
383 383
 
384
-		$item = $this->object->get()->getProduct( 0 );
385
-		$this->assertEquals( 3, $item->getQuantity() );
386
-		$this->assertEquals( 1, count( $item->getAttributes() ) );
387
-		$this->assertEquals( 'U:TESTP', $item->getProductCode() );
384
+		$item = $this->object->get()->getProduct(0);
385
+		$this->assertEquals(3, $item->getQuantity());
386
+		$this->assertEquals(1, count($item->getAttributes()));
387
+		$this->assertEquals('U:TESTP', $item->getProductCode());
388 388
 	}
389 389
 
390 390
 
391 391
 	public function testEditProductFlagError()
392 392
 	{
393
-		$this->object->addProduct( self::$testItem->getId(), 2 );
393
+		$this->object->addProduct(self::$testItem->getId(), 2);
394 394
 
395
-		$item = $this->object->get()->getProduct( 0 );
396
-		$item->setFlags( \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE );
395
+		$item = $this->object->get()->getProduct(0);
396
+		$item->setFlags(\Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE);
397 397
 
398
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
399
-		$this->object->editProduct( 0, 4 );
398
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
399
+		$this->object->editProduct(0, 4);
400 400
 	}
401 401
 
402 402
 
403 403
 	public function testAddCoupon()
404 404
 	{
405
-		$this->object->addProduct( self::$testItem->getId(), 2 );
406
-		$this->object->addCoupon( 'GHIJ' );
405
+		$this->object->addProduct(self::$testItem->getId(), 2);
406
+		$this->object->addCoupon('GHIJ');
407 407
 
408 408
 		$basket = $this->object->get();
409 409
 
410
-		$this->assertEquals( 1, count( $basket->getCoupons() ) );
410
+		$this->assertEquals(1, count($basket->getCoupons()));
411 411
 	}
412 412
 
413 413
 
414 414
 	public function testAddCouponExceedCount()
415 415
 	{
416
-		$this->object->addProduct( self::$testItem->getId(), 2 );
417
-		$this->object->addCoupon( 'GHIJ' );
416
+		$this->object->addProduct(self::$testItem->getId(), 2);
417
+		$this->object->addCoupon('GHIJ');
418 418
 
419
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
420
-		$this->object->addCoupon( 'GHIJ' );
419
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
420
+		$this->object->addCoupon('GHIJ');
421 421
 	}
422 422
 
423 423
 
424 424
 	public function testAddCouponInvalidCode()
425 425
 	{
426
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
427
-		$this->object->addCoupon( 'invalid' );
426
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
427
+		$this->object->addCoupon('invalid');
428 428
 	}
429 429
 
430 430
 
431 431
 	public function testAddCouponMissingRequirements()
432 432
 	{
433
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
434
-		$this->object->addCoupon( 'OPQR' );
433
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
434
+		$this->object->addCoupon('OPQR');
435 435
 	}
436 436
 
437 437
 
438 438
 	public function testDeleteCoupon()
439 439
 	{
440
-		$this->object->addProduct( self::$testItem->getId(), 2 );
441
-		$this->object->addCoupon( '90AB' );
442
-		$this->object->deleteCoupon( '90AB' );
440
+		$this->object->addProduct(self::$testItem->getId(), 2);
441
+		$this->object->addCoupon('90AB');
442
+		$this->object->deleteCoupon('90AB');
443 443
 
444 444
 		$basket = $this->object->get();
445 445
 
446
-		$this->assertEquals( 0, count( $basket->getCoupons() ) );
446
+		$this->assertEquals(0, count($basket->getCoupons()));
447 447
 	}
448 448
 
449 449
 
450 450
 	public function testSetAddressDelete()
451 451
 	{
452
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, null );
452
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, null);
453 453
 
454
-		$this->setExpectedException( '\Aimeos\MShop\Order\Exception' );
455
-		$this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT );
454
+		$this->setExpectedException('\Aimeos\MShop\Order\Exception');
455
+		$this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT);
456 456
 	}
457 457
 
458 458
 
459 459
 	public function testSetBillingAddressByItem()
460 460
 	{
461
-		$item = $this->getAddress( 'Example company' );
461
+		$item = $this->getAddress('Example company');
462 462
 
463
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $item );
463
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $item);
464 464
 
465
-		$address = $this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT );
466
-		$this->assertEquals( 'Example company', $address->getCompany() );
465
+		$address = $this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT);
466
+		$this->assertEquals('Example company', $address->getCompany());
467 467
 	}
468 468
 
469 469
 
@@ -491,37 +491,37 @@  discard block
 block discarded – undo
491 491
 			'order.base.address.flag' => 0,
492 492
 		);
493 493
 
494
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $fixture );
494
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $fixture);
495 495
 
496
-		$address = $this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT );
497
-		$this->assertEquals( 'Example company', $address->getCompany() );
498
-		$this->assertEquals( 'Dr.', $address->getTitle() );
499
-		$this->assertEquals( 'firstunit', $address->getFirstname() );
496
+		$address = $this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT);
497
+		$this->assertEquals('Example company', $address->getCompany());
498
+		$this->assertEquals('Dr.', $address->getTitle());
499
+		$this->assertEquals('firstunit', $address->getFirstname());
500 500
 	}
501 501
 
502 502
 
503 503
 	public function testSetBillingAddressByArrayError()
504 504
 	{
505
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
506
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, array( 'error' => false ) );
505
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
506
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, array('error' => false));
507 507
 	}
508 508
 
509 509
 
510 510
 	public function testSetBillingAddressParameterError()
511 511
 	{
512
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
513
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, 'error' );
512
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
513
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, 'error');
514 514
 	}
515 515
 
516 516
 
517 517
 	public function testSetDeliveryAddressByItem()
518 518
 	{
519
-		$item = $this->getAddress( 'Example company' );
519
+		$item = $this->getAddress('Example company');
520 520
 
521
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, $item );
521
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, $item);
522 522
 
523
-		$address = $this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY );
524
-		$this->assertEquals( 'Example company', $address->getCompany() );
523
+		$address = $this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY);
524
+		$this->assertEquals('Example company', $address->getCompany());
525 525
 	}
526 526
 
527 527
 
@@ -548,121 +548,121 @@  discard block
 block discarded – undo
548 548
 			'order.base.address.website' => 'www.example.com',
549 549
 			'order.base.address.flag' => 0,
550 550
 		);
551
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, $fixture );
551
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, $fixture);
552 552
 
553
-		$address = $this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY );
554
-		$this->assertEquals( 'Example company', $address->getCompany() );
555
-		$this->assertEquals( 'Dr.', $address->getTitle() );
556
-		$this->assertEquals( 'firstunit', $address->getFirstname() );
553
+		$address = $this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY);
554
+		$this->assertEquals('Example company', $address->getCompany());
555
+		$this->assertEquals('Dr.', $address->getTitle());
556
+		$this->assertEquals('firstunit', $address->getFirstname());
557 557
 	}
558 558
 
559 559
 
560 560
 	public function testSetDeliveryAddressByArrayError()
561 561
 	{
562
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
563
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, array( 'error' => false ) );
562
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
563
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, array('error' => false));
564 564
 	}
565 565
 
566 566
 
567 567
 	public function testSetDeliveryAddressTypeError()
568 568
 	{
569
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
570
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, 'error' );
569
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
570
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, 'error');
571 571
 	}
572 572
 
573 573
 
574 574
 	public function testSetServicePayment()
575 575
 	{
576
-		$manager = \Aimeos\MShop\Factory::createManager( $this->context, 'service' );
577
-		$service = $manager->findItem( 'unitpaymentcode', [], 'service', 'payment' );
576
+		$manager = \Aimeos\MShop\Factory::createManager($this->context, 'service');
577
+		$service = $manager->findItem('unitpaymentcode', [], 'service', 'payment');
578 578
 
579
-		$this->object->addService( 'payment', $service->getId(), [] );
580
-		$item = $this->object->get()->getService( 'payment', 'unitpaymentcode' )->getCode();
581
-		$this->assertEquals( 'unitpaymentcode', $item );
579
+		$this->object->addService('payment', $service->getId(), []);
580
+		$item = $this->object->get()->getService('payment', 'unitpaymentcode')->getCode();
581
+		$this->assertEquals('unitpaymentcode', $item);
582 582
 
583
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
584
-		$this->object->addService( 'payment', $service->getId(), array( 'prepay' => true ) );
583
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
584
+		$this->object->addService('payment', $service->getId(), array('prepay' => true));
585 585
 	}
586 586
 
587 587
 
588 588
 	public function testSetDeliveryOption()
589 589
 	{
590
-		$manager = \Aimeos\MShop\Factory::createManager( $this->context, 'service' );
591
-		$service = $manager->findItem( 'unitcode', [], 'service', 'delivery' );
590
+		$manager = \Aimeos\MShop\Factory::createManager($this->context, 'service');
591
+		$service = $manager->findItem('unitcode', [], 'service', 'delivery');
592 592
 
593
-		$this->object->addService( 'delivery', $service->getId(), [] );
594
-		$item = $this->object->get()->getService( 'delivery', 'unitcode' );
595
-		$this->assertEquals( 'unitcode', $item->getCode() );
593
+		$this->object->addService('delivery', $service->getId(), []);
594
+		$item = $this->object->get()->getService('delivery', 'unitcode');
595
+		$this->assertEquals('unitcode', $item->getCode());
596 596
 
597
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
598
-		$this->object->addService( 'delivery', $service->getId(), array( 'fast shipping' => true, 'air shipping' => false ) );
597
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
598
+		$this->object->addService('delivery', $service->getId(), array('fast shipping' => true, 'air shipping' => false));
599 599
 	}
600 600
 
601 601
 
602 602
 	public function testCheckLocale()
603 603
 	{
604
-		$manager = \Aimeos\MShop\Factory::createManager( $this->context, 'service' );
605
-		$payment = $manager->findItem( 'unitpaymentcode', [], 'service', 'payment' );
606
-		$delivery = $manager->findItem( 'unitcode', [], 'service', 'delivery' );
604
+		$manager = \Aimeos\MShop\Factory::createManager($this->context, 'service');
605
+		$payment = $manager->findItem('unitpaymentcode', [], 'service', 'payment');
606
+		$delivery = $manager->findItem('unitcode', [], 'service', 'delivery');
607 607
 
608
-		$this->object->addProduct( self::$testItem->getId(), 2 );
609
-		$this->object->addCoupon( 'OPQR' );
608
+		$this->object->addProduct(self::$testItem->getId(), 2);
609
+		$this->object->addCoupon('OPQR');
610 610
 
611
-		$this->object->addService( 'payment', $payment->getId() );
612
-		$this->object->addService( 'delivery', $delivery->getId() );
611
+		$this->object->addService('payment', $payment->getId());
612
+		$this->object->addService('delivery', $delivery->getId());
613 613
 
614 614
 		$basket = $this->object->get();
615 615
 		$price = $basket->getPrice();
616 616
 
617
-		foreach( $basket->getProducts() as $product )
617
+		foreach ($basket->getProducts() as $product)
618 618
 		{
619
-			$this->assertEquals( 2, $product->getQuantity() );
620
-			$product->getPrice()->setCurrencyId( 'CHF' );
619
+			$this->assertEquals(2, $product->getQuantity());
620
+			$product->getPrice()->setCurrencyId('CHF');
621 621
 		}
622 622
 
623
-		$basket->getService( 'delivery', 'unitcode' )->getPrice()->setCurrencyId( 'CHF' );
624
-		$basket->getService( 'payment', 'unitpaymentcode' )->getPrice()->setCurrencyId( 'CHF' );
625
-		$basket->getLocale()->setCurrencyId( 'CHF' );
626
-		$price->setCurrencyId( 'CHF' );
623
+		$basket->getService('delivery', 'unitcode')->getPrice()->setCurrencyId('CHF');
624
+		$basket->getService('payment', 'unitpaymentcode')->getPrice()->setCurrencyId('CHF');
625
+		$basket->getLocale()->setCurrencyId('CHF');
626
+		$price->setCurrencyId('CHF');
627 627
 
628
-		$this->context->getLocale()->setCurrencyId( 'CHF' );
629
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $this->getAddress( 'Example company' ) );
628
+		$this->context->getLocale()->setCurrencyId('CHF');
629
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $this->getAddress('Example company'));
630 630
 
631
-		$this->context->getSession()->set( 'aimeos/basket/currency', 'CHF' );
632
-		$this->context->getLocale()->setCurrencyId( 'EUR' );
631
+		$this->context->getSession()->set('aimeos/basket/currency', 'CHF');
632
+		$this->context->getLocale()->setCurrencyId('EUR');
633 633
 
634
-		$this->context->getSession()->set( 'aimeos/basket/content-unittest-en-EUR-', null );
634
+		$this->context->getSession()->set('aimeos/basket/content-unittest-en-EUR-', null);
635 635
 
636
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
636
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
637 637
 		$basket = $object->get();
638 638
 
639
-		foreach( $basket->getProducts() as $product )
639
+		foreach ($basket->getProducts() as $product)
640 640
 		{
641
-			$this->assertEquals( 'EUR', $product->getPrice()->getCurrencyId() );
642
-			$this->assertEquals( 2, $product->getQuantity() );
641
+			$this->assertEquals('EUR', $product->getPrice()->getCurrencyId());
642
+			$this->assertEquals(2, $product->getQuantity());
643 643
 		}
644 644
 
645
-		$this->assertEquals( 'EUR', $basket->getService( 'payment', 'unitpaymentcode' )->getPrice()->getCurrencyId() );
646
-		$this->assertEquals( 'EUR', $basket->getService( 'delivery', 'unitcode' )->getPrice()->getCurrencyId() );
647
-		$this->assertEquals( 'EUR', $basket->getLocale()->getCurrencyId() );
648
-		$this->assertEquals( 'EUR', $basket->getPrice()->getCurrencyId() );
645
+		$this->assertEquals('EUR', $basket->getService('payment', 'unitpaymentcode')->getPrice()->getCurrencyId());
646
+		$this->assertEquals('EUR', $basket->getService('delivery', 'unitcode')->getPrice()->getCurrencyId());
647
+		$this->assertEquals('EUR', $basket->getLocale()->getCurrencyId());
648
+		$this->assertEquals('EUR', $basket->getPrice()->getCurrencyId());
649 649
 	}
650 650
 
651 651
 
652 652
 	/**
653 653
 	 * @param string $company
654 654
 	 */
655
-	protected function getAddress( $company )
655
+	protected function getAddress($company)
656 656
 	{
657
-		$customer = \Aimeos\MShop\Customer\Manager\Factory::createManager( \TestHelperFrontend::getContext(), 'Standard' );
658
-		$addressManager = $customer->getSubManager( 'address', 'Standard' );
657
+		$customer = \Aimeos\MShop\Customer\Manager\Factory::createManager(\TestHelperFrontend::getContext(), 'Standard');
658
+		$addressManager = $customer->getSubManager('address', 'Standard');
659 659
 
660 660
 		$search = $addressManager->createSearch();
661
-		$search->setConditions( $search->compare( '==', 'customer.address.company', $company ) );
662
-		$items = $addressManager->searchItems( $search );
661
+		$search->setConditions($search->compare('==', 'customer.address.company', $company));
662
+		$items = $addressManager->searchItems($search);
663 663
 
664
-		if( ( $item = reset( $items ) ) === false ) {
665
-			throw new \RuntimeException( sprintf( 'No address item with company "%1$s" found', $company ) );
664
+		if (($item = reset($items)) === false) {
665
+			throw new \RuntimeException(sprintf('No address item with company "%1$s" found', $company));
666 666
 		}
667 667
 
668 668
 		return $item;
Please login to merge, or discard this patch.
frontend/tests/Controller/Frontend/Basket/Decorator/SelectTest.php 1 patch
Spacing   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -19,219 +19,219 @@
 block discarded – undo
19 19
 	protected function setUp()
20 20
 	{
21 21
 		$this->context = \TestHelperFrontend::getContext();
22
-		$this->testItem = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:TESTP' );
22
+		$this->testItem = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:TESTP');
23 23
 
24
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
25
-		$this->object = new \Aimeos\Controller\Frontend\Basket\Decorator\Select( $object, $this->context );
24
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
25
+		$this->object = new \Aimeos\Controller\Frontend\Basket\Decorator\Select($object, $this->context);
26 26
 	}
27 27
 
28 28
 
29 29
 	protected function tearDown()
30 30
 	{
31 31
 		$this->object->clear();
32
-		$this->context->getSession()->set( 'aimeos', [] );
32
+		$this->context->getSession()->set('aimeos', []);
33 33
 
34
-		unset( $this->object );
34
+		unset($this->object);
35 35
 	}
36 36
 
37 37
 
38 38
 	public function testAddDeleteProduct()
39 39
 	{
40 40
 		$basket = $this->object->get();
41
-		$this->object->addProduct( $this->testItem->getId(), 2 );
41
+		$this->object->addProduct($this->testItem->getId(), 2);
42 42
 
43
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
44
-		$this->assertEquals( 2, $basket->getProduct( 0 )->getQuantity() );
45
-		$this->assertEquals( 'U:TESTPSUB01', $basket->getProduct( 0 )->getProductCode() );
43
+		$this->assertEquals(1, count($basket->getProducts()));
44
+		$this->assertEquals(2, $basket->getProduct(0)->getQuantity());
45
+		$this->assertEquals('U:TESTPSUB01', $basket->getProduct(0)->getProductCode());
46 46
 	}
47 47
 
48 48
 
49 49
 	public function testAddProductNoSelection()
50 50
 	{
51
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'CNC' );
51
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('CNC');
52 52
 
53
-		$this->object->addProduct( $item->getId(), 1 );
53
+		$this->object->addProduct($item->getId(), 1);
54 54
 
55
-		$this->assertEquals( 1, count( $this->object->get()->getProducts() ) );
56
-		$this->assertEquals( 'CNC', $this->object->get()->getProduct( 0 )->getProductCode() );
57
-		$this->assertEquals( 0, count( $this->object->get()->getProduct( 0 )->getProducts() ) );
55
+		$this->assertEquals(1, count($this->object->get()->getProducts()));
56
+		$this->assertEquals('CNC', $this->object->get()->getProduct(0)->getProductCode());
57
+		$this->assertEquals(0, count($this->object->get()->getProduct(0)->getProducts()));
58 58
 	}
59 59
 
60 60
 
61 61
 	public function testAddProductVariant()
62 62
 	{
63
-		$attributeManager = \Aimeos\MShop\Attribute\Manager\Factory::createManager( \TestHelperFrontend::getContext() );
63
+		$attributeManager = \Aimeos\MShop\Attribute\Manager\Factory::createManager(\TestHelperFrontend::getContext());
64 64
 
65 65
 		$search = $attributeManager->createSearch();
66
-		$search->setConditions( $search->compare( '==', 'attribute.code', array( 'xs', 'white' ) ) );
66
+		$search->setConditions($search->compare('==', 'attribute.code', array('xs', 'white')));
67 67
 
68
-		$attributes = $attributeManager->searchItems( $search );
68
+		$attributes = $attributeManager->searchItems($search);
69 69
 
70
-		if( count( $attributes ) === 0 ) {
71
-			throw new \RuntimeException( 'Attributes not found' );
70
+		if (count($attributes) === 0) {
71
+			throw new \RuntimeException('Attributes not found');
72 72
 		}
73 73
 
74 74
 
75
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'CNC' );
75
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('CNC');
76 76
 
77
-		$this->object->addProduct( $item->getId(), 1, 'default', array_keys( $attributes ), [], [], [] );
77
+		$this->object->addProduct($item->getId(), 1, 'default', array_keys($attributes), [], [], []);
78 78
 
79
-		$this->assertEquals( 1, count( $this->object->get()->getProducts() ) );
80
-		$this->assertEquals( 'CNC', $this->object->get()->getProduct( 0 )->getProductCode() );
79
+		$this->assertEquals(1, count($this->object->get()->getProducts()));
80
+		$this->assertEquals('CNC', $this->object->get()->getProduct(0)->getProductCode());
81 81
 	}
82 82
 
83 83
 
84 84
 	public function testAddProductVariantIncomplete()
85 85
 	{
86
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
86
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
87 87
 
88 88
 		$search = $attributeManager->createSearch();
89 89
 		$expr = array(
90
-			$search->compare( '==', 'attribute.domain', 'product' ),
91
-			$search->compare( '==', 'attribute.code', '30' ),
92
-			$search->compare( '==', 'attribute.type.code', 'length' ),
90
+			$search->compare('==', 'attribute.domain', 'product'),
91
+			$search->compare('==', 'attribute.code', '30'),
92
+			$search->compare('==', 'attribute.type.code', 'length'),
93 93
 		);
94
-		$search->setConditions( $search->combine( '&&', $expr ) );
94
+		$search->setConditions($search->combine('&&', $expr));
95 95
 
96
-		$attributes = $attributeManager->searchItems( $search );
96
+		$attributes = $attributeManager->searchItems($search);
97 97
 
98
-		if( count( $attributes ) === 0 ) {
99
-			throw new \RuntimeException( 'Attributes not found' );
98
+		if (count($attributes) === 0) {
99
+			throw new \RuntimeException('Attributes not found');
100 100
 		}
101 101
 
102 102
 
103
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:TEST' );
103
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:TEST');
104 104
 
105
-		$this->object->addProduct( $item->getId(), 1, 'default', array_keys( $attributes ) );
105
+		$this->object->addProduct($item->getId(), 1, 'default', array_keys($attributes));
106 106
 
107
-		$this->assertEquals( 1, count( $this->object->get()->getProducts() ) );
108
-		$this->assertEquals( 'U:TESTSUB02', $this->object->get()->getProduct( 0 )->getProductCode() );
109
-		$this->assertEquals( 2, count( $this->object->get()->getProduct( 0 )->getAttributes() ) );
107
+		$this->assertEquals(1, count($this->object->get()->getProducts()));
108
+		$this->assertEquals('U:TESTSUB02', $this->object->get()->getProduct(0)->getProductCode());
109
+		$this->assertEquals(2, count($this->object->get()->getProduct(0)->getAttributes()));
110 110
 	}
111 111
 
112 112
 
113 113
 	public function testAddProductVariantNonUnique()
114 114
 	{
115
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
115
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
116 116
 
117 117
 		$search = $attributeManager->createSearch();
118 118
 		$expr = array(
119
-			$search->compare( '==', 'attribute.domain', 'product' ),
120
-			$search->compare( '==', 'attribute.code', '30' ),
121
-			$search->compare( '==', 'attribute.type.code', 'width' ),
119
+			$search->compare('==', 'attribute.domain', 'product'),
120
+			$search->compare('==', 'attribute.code', '30'),
121
+			$search->compare('==', 'attribute.type.code', 'width'),
122 122
 		);
123
-		$search->setConditions( $search->combine( '&&', $expr ) );
123
+		$search->setConditions($search->combine('&&', $expr));
124 124
 
125
-		$attributes = $attributeManager->searchItems( $search );
125
+		$attributes = $attributeManager->searchItems($search);
126 126
 
127
-		if( count( $attributes ) === 0 ) {
128
-			throw new \RuntimeException( 'Attributes not found' );
127
+		if (count($attributes) === 0) {
128
+			throw new \RuntimeException('Attributes not found');
129 129
 		}
130 130
 
131 131
 
132
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:TEST' );
132
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:TEST');
133 133
 
134
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
135
-		$this->object->addProduct( $item->getId(), 1, 'default', array_keys( $attributes ) );
134
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
135
+		$this->object->addProduct($item->getId(), 1, 'default', array_keys($attributes));
136 136
 	}
137 137
 
138 138
 
139 139
 	public function testAddProductVariantNotRequired()
140 140
 	{
141
-		$this->context->getConfig()->set( 'controller/frontend/basket/require-variant', false );
141
+		$this->context->getConfig()->set('controller/frontend/basket/require-variant', false);
142 142
 
143
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
143
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
144 144
 
145 145
 		$search = $attributeManager->createSearch();
146
-		$search->setConditions( $search->compare( '==', 'attribute.code', 'xs' ) );
146
+		$search->setConditions($search->compare('==', 'attribute.code', 'xs'));
147 147
 
148
-		$attributes = $attributeManager->searchItems( $search );
148
+		$attributes = $attributeManager->searchItems($search);
149 149
 
150
-		if( count( $attributes ) === 0 ) {
151
-			throw new \RuntimeException( 'Attribute not found' );
150
+		if (count($attributes) === 0) {
151
+			throw new \RuntimeException('Attribute not found');
152 152
 		}
153 153
 
154
-		$options = array( 'variant' => false );
154
+		$options = array('variant' => false);
155 155
 
156
-		$this->object->addProduct( $this->testItem->getId(), 1, 'default', array_keys( $attributes ) );
156
+		$this->object->addProduct($this->testItem->getId(), 1, 'default', array_keys($attributes));
157 157
 
158
-		$this->assertEquals( 1, count( $this->object->get()->getProducts() ) );
159
-		$this->assertEquals( 'U:TESTP', $this->object->get()->getProduct( 0 )->getProductCode() );
158
+		$this->assertEquals(1, count($this->object->get()->getProducts()));
159
+		$this->assertEquals('U:TESTP', $this->object->get()->getProduct(0)->getProductCode());
160 160
 	}
161 161
 
162 162
 
163 163
 	public function testAddProductEmptySelectionException()
164 164
 	{
165
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:noSel' );
165
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:noSel');
166 166
 
167
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
168
-		$this->object->addProduct( $item->getId(), 1 );
167
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
168
+		$this->object->addProduct($item->getId(), 1);
169 169
 	}
170 170
 
171 171
 
172 172
 	public function testAddProductSelectionWithPricelessItem()
173 173
 	{
174
-		$this->object->addProduct( $this->testItem->getId(), 1 );
174
+		$this->object->addProduct($this->testItem->getId(), 1);
175 175
 
176
-		$this->assertEquals( 'U:TESTPSUB01', $this->object->get()->getProduct( 0 )->getProductCode() );
176
+		$this->assertEquals('U:TESTPSUB01', $this->object->get()->getProduct(0)->getProductCode());
177 177
 	}
178 178
 
179 179
 
180 180
 	public function testAddProductConfigAttribute()
181 181
 	{
182
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
182
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
183 183
 
184 184
 		$search = $attributeManager->createSearch();
185
-		$search->setConditions( $search->compare( '==', 'attribute.code', 'xs' ) );
185
+		$search->setConditions($search->compare('==', 'attribute.code', 'xs'));
186 186
 
187
-		$attributes = $attributeManager->searchItems( $search );
187
+		$attributes = $attributeManager->searchItems($search);
188 188
 
189
-		if( ( $attribute = reset( $attributes ) ) === false ) {
190
-			throw new \RuntimeException( 'Attribute not found' );
189
+		if (($attribute = reset($attributes)) === false) {
190
+			throw new \RuntimeException('Attribute not found');
191 191
 		}
192 192
 
193
-		$this->object->addProduct( $this->testItem->getId(), 1, 'default', [], [$attribute->getId() => 1] );
193
+		$this->object->addProduct($this->testItem->getId(), 1, 'default', [], [$attribute->getId() => 1]);
194 194
 		$basket = $this->object->get();
195 195
 
196
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
197
-		$this->assertEquals( 'U:TESTPSUB01', $basket->getProduct( 0 )->getProductCode() );
198
-		$this->assertEquals( 'xs', $basket->getProduct( 0 )->getAttribute( 'size', 'config' ) );
196
+		$this->assertEquals(1, count($basket->getProducts()));
197
+		$this->assertEquals('U:TESTPSUB01', $basket->getProduct(0)->getProductCode());
198
+		$this->assertEquals('xs', $basket->getProduct(0)->getAttribute('size', 'config'));
199 199
 	}
200 200
 
201 201
 
202 202
 	public function testAddProductHiddenAttribute()
203 203
 	{
204
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
204
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
205 205
 
206 206
 		$search = $attributeManager->createSearch();
207 207
 		$expr = array(
208
-			$search->compare( '==', 'attribute.code', '29' ),
209
-			$search->compare( '==', 'attribute.type.code', 'width' ),
208
+			$search->compare('==', 'attribute.code', '29'),
209
+			$search->compare('==', 'attribute.type.code', 'width'),
210 210
 		);
211
-		$search->setConditions( $search->combine( '&&', $expr ) );
211
+		$search->setConditions($search->combine('&&', $expr));
212 212
 
213
-		$attributes = $attributeManager->searchItems( $search );
213
+		$attributes = $attributeManager->searchItems($search);
214 214
 
215
-		if( empty( $attributes ) ) {
216
-			throw new \RuntimeException( 'Attribute not found' );
215
+		if (empty($attributes)) {
216
+			throw new \RuntimeException('Attribute not found');
217 217
 		}
218 218
 
219
-		$this->object->addProduct( $this->testItem->getId(), 1, 'default', [], [], array_keys( $attributes ) );
219
+		$this->object->addProduct($this->testItem->getId(), 1, 'default', [], [], array_keys($attributes));
220 220
 
221 221
 		$basket = $this->object->get();
222
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
222
+		$this->assertEquals(1, count($basket->getProducts()));
223 223
 
224
-		$product = $basket->getProduct( 0 );
225
-		$this->assertEquals( 'U:TESTPSUB01', $product->getProductCode() );
224
+		$product = $basket->getProduct(0);
225
+		$this->assertEquals('U:TESTPSUB01', $product->getProductCode());
226 226
 
227 227
 		$attributes = $product->getAttributes();
228
-		$this->assertEquals( 1, count( $attributes ) );
228
+		$this->assertEquals(1, count($attributes));
229 229
 
230
-		if( ( $attribute = reset( $attributes ) ) === false ) {
231
-			throw new \RuntimeException( 'No attribute' );
230
+		if (($attribute = reset($attributes)) === false) {
231
+			throw new \RuntimeException('No attribute');
232 232
 		}
233 233
 
234
-		$this->assertEquals( 'hidden', $attribute->getType() );
235
-		$this->assertEquals( '29', $product->getAttribute( 'width', 'hidden' ) );
234
+		$this->assertEquals('hidden', $attribute->getType());
235
+		$this->assertEquals('29', $product->getAttribute('width', 'hidden'));
236 236
 	}
237 237
 }
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Basket/Decorator/Bundle.php 1 patch
Spacing   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -36,13 +36,13 @@  discard block
 block discarded – undo
36 36
 	 * @param string $stocktype Unique code of the stock type to deliver the products from
37 37
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
38 38
 	 */
39
-	public function addProduct( $prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
-		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [] )
39
+	public function addProduct($prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
+		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [])
41 41
 	{
42 42
 		$context = $this->getContext();
43
-		$productManager = \Aimeos\MShop\Factory::createManager( $context, 'product' );
43
+		$productManager = \Aimeos\MShop\Factory::createManager($context, 'product');
44 44
 
45
-		if( $productManager->getItem( $prodid, [], true )->getType() !== 'bundle' )
45
+		if ($productManager->getItem($prodid, [], true)->getType() !== 'bundle')
46 46
 		{
47 47
 			return $this->getController()->addProduct(
48 48
 				$prodid, $quantity, $stocktype, $variantAttributeIds,
@@ -51,29 +51,29 @@  discard block
 block discarded – undo
51 51
 		}
52 52
 
53 53
 		$attributeMap = [
54
-			'custom' => array_keys( $customAttributeValues ),
55
-			'config' => array_keys( $configAttributeIds ),
54
+			'custom' => array_keys($customAttributeValues),
55
+			'config' => array_keys($configAttributeIds),
56 56
 			'hidden' => $hiddenAttributeIds,
57 57
 		];
58
-		$this->checkListRef( $prodid, 'attribute', $attributeMap );
58
+		$this->checkListRef($prodid, 'attribute', $attributeMap);
59 59
 
60 60
 
61
-		$productItem = $productManager->getItem( $prodid, array( 'media', 'supplier', 'price', 'product', 'text' ), true );
62
-		$prices = $productItem->getRefItems( 'price', 'default', 'default' );
61
+		$productItem = $productManager->getItem($prodid, array('media', 'supplier', 'price', 'product', 'text'), true);
62
+		$prices = $productItem->getRefItems('price', 'default', 'default');
63 63
 
64
-		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product' )->createItem();
65
-		$orderBaseProductItem->copyFrom( $productItem )->setQuantity( $quantity )->setStockType( $stocktype );
64
+		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager($context, 'order/base/product')->createItem();
65
+		$orderBaseProductItem->copyFrom($productItem)->setQuantity($quantity)->setStockType($stocktype);
66 66
 
67
-		$this->addBundleProducts( $orderBaseProductItem, $productItem, $variantAttributeIds, $stocktype );
67
+		$this->addBundleProducts($orderBaseProductItem, $productItem, $variantAttributeIds, $stocktype);
68 68
 
69
-		$attr = $this->getOrderProductAttributes( 'custom', array_keys( $customAttributeValues ), $customAttributeValues );
70
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'config', array_keys( $configAttributeIds ), [], $configAttributeIds ) );
71
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'hidden', $hiddenAttributeIds ) );
69
+		$attr = $this->getOrderProductAttributes('custom', array_keys($customAttributeValues), $customAttributeValues);
70
+		$attr = array_merge($attr, $this->getOrderProductAttributes('config', array_keys($configAttributeIds), [], $configAttributeIds));
71
+		$attr = array_merge($attr, $this->getOrderProductAttributes('hidden', $hiddenAttributeIds));
72 72
 
73
-		$orderBaseProductItem->setAttributes( $attr );
74
-		$orderBaseProductItem->setPrice( $this->calcPrice( $orderBaseProductItem, $prices, $quantity ) );
73
+		$orderBaseProductItem->setAttributes($attr);
74
+		$orderBaseProductItem->setPrice($this->calcPrice($orderBaseProductItem, $prices, $quantity));
75 75
 
76
-		$this->getController()->get()->addProduct( $orderBaseProductItem );
76
+		$this->getController()->get()->addProduct($orderBaseProductItem);
77 77
 		$this->getController()->save();
78 78
 	}
79 79
 
@@ -86,43 +86,43 @@  discard block
 block discarded – undo
86 86
 	 * @param array $variantAttributeIds List of product variant attribute IDs
87 87
 	 * @param string $stocktype
88 88
 	 */
89
-	protected function addBundleProducts( \Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
90
-		\Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds, $stocktype )
89
+	protected function addBundleProducts(\Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
90
+		\Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds, $stocktype)
91 91
 	{
92 92
 		$quantity = $orderBaseProductItem->getQuantity();
93 93
 		$products = $subProductIds = $orderProducts = [];
94
-		$orderProductManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/product' );
94
+		$orderProductManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/product');
95 95
 
96
-		foreach( $productItem->getRefItems( 'product', null, 'default' ) as $item ) {
96
+		foreach ($productItem->getRefItems('product', null, 'default') as $item) {
97 97
 			$subProductIds[] = $item->getId();
98 98
 		}
99 99
 
100
-		if( count( $subProductIds ) > 0 )
100
+		if (count($subProductIds) > 0)
101 101
 		{
102
-			$productManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' );
102
+			$productManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product');
103 103
 
104
-			$search = $productManager->createSearch( true );
104
+			$search = $productManager->createSearch(true);
105 105
 			$expr = array(
106
-				$search->compare( '==', 'product.id', $subProductIds ),
106
+				$search->compare('==', 'product.id', $subProductIds),
107 107
 				$search->getConditions(),
108 108
 			);
109
-			$search->setConditions( $search->combine( '&&', $expr ) );
109
+			$search->setConditions($search->combine('&&', $expr));
110 110
 
111
-			$products = $productManager->searchItems( $search, array( 'attribute', 'media', 'price', 'text' ) );
111
+			$products = $productManager->searchItems($search, array('attribute', 'media', 'price', 'text'));
112 112
 		}
113 113
 
114
-		foreach( $products as $product )
114
+		foreach ($products as $product)
115 115
 		{
116
-			$prices = $product->getRefItems( 'price', 'default', 'default' );
116
+			$prices = $product->getRefItems('price', 'default', 'default');
117 117
 
118 118
 			$orderProduct = $orderProductManager->createItem();
119
-			$orderProduct->copyFrom( $product );
120
-			$orderProduct->setStockType( $stocktype );
121
-			$orderProduct->setPrice( $this->calcPrice( $orderProduct, $prices, $quantity ) );
119
+			$orderProduct->copyFrom($product);
120
+			$orderProduct->setStockType($stocktype);
121
+			$orderProduct->setPrice($this->calcPrice($orderProduct, $prices, $quantity));
122 122
 
123 123
 			$orderProducts[] = $orderProduct;
124 124
 		}
125 125
 
126
-		$orderBaseProductItem->setProducts( $orderProducts );
126
+		$orderBaseProductItem->setProducts($orderProducts);
127 127
 	}
128 128
 }
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Basket/Decorator/Category.php 1 patch
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -36,26 +36,26 @@
 block discarded – undo
36 36
 	 * @param string $stocktype Unique code of the stock type to deliver the products from
37 37
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
38 38
 	 */
39
-	public function addProduct( $prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
-		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [] )
39
+	public function addProduct($prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
+		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [])
41 41
 	{
42
-		$catalogListManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'catalog/lists' );
42
+		$catalogListManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'catalog/lists');
43 43
 
44
-		$search = $catalogListManager->createSearch( true );
44
+		$search = $catalogListManager->createSearch(true);
45 45
 		$expr = array(
46
-			$search->compare( '==', 'catalog.lists.domain', 'product' ),
47
-			$search->compare( '==', 'catalog.lists.refid', $prodid ),
46
+			$search->compare('==', 'catalog.lists.domain', 'product'),
47
+			$search->compare('==', 'catalog.lists.refid', $prodid),
48 48
 			$search->getConditions()
49 49
 		);
50
-		$search->setConditions( $search->combine( '&&', $expr ) );
51
-		$search->setSlice( 0, 1 );
50
+		$search->setConditions($search->combine('&&', $expr));
51
+		$search->setSlice(0, 1);
52 52
 
53
-		$result = $catalogListManager->searchItems( $search );
53
+		$result = $catalogListManager->searchItems($search);
54 54
 
55
-		if( reset( $result ) === false )
55
+		if (reset($result) === false)
56 56
 		{
57
-			$msg = sprintf( 'Adding product with ID "%1$s" is not allowed', $prodid );
58
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
57
+			$msg = sprintf('Adding product with ID "%1$s" is not allowed', $prodid);
58
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
59 59
 		}
60 60
 
61 61
 		$this->getController()->addProduct(
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Basket/Decorator/Select.php 2 patches
Spacing   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -36,14 +36,14 @@  discard block
 block discarded – undo
36 36
 	 * @param string $stocktype Unique code of the stock type to deliver the products from
37 37
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
38 38
 	 */
39
-	public function addProduct( $prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
-		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [] )
39
+	public function addProduct($prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
+		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [])
41 41
 	{
42 42
 		$context = $this->getContext();
43
-		$productManager = \Aimeos\MShop\Factory::createManager( $context, 'product' );
44
-		$productItem = $productManager->getItem( $prodid, [], true );
43
+		$productManager = \Aimeos\MShop\Factory::createManager($context, 'product');
44
+		$productItem = $productManager->getItem($prodid, [], true);
45 45
 
46
-		if( $productManager->getItem( $prodid, [], true )->getType() !== 'select' )
46
+		if ($productManager->getItem($prodid, [], true)->getType() !== 'select')
47 47
 		{
48 48
 			return $this->getController()->addProduct(
49 49
 				$prodid, $quantity, $stocktype, $variantAttributeIds,
@@ -51,29 +51,29 @@  discard block
 block discarded – undo
51 51
 			);
52 52
 		}
53 53
 
54
-		$productItem = $productManager->getItem( $prodid, array( 'media', 'supplier', 'price', 'product', 'text' ), true );
55
-		$prices = $productItem->getRefItems( 'price', 'default', 'default' );
54
+		$productItem = $productManager->getItem($prodid, array('media', 'supplier', 'price', 'product', 'text'), true);
55
+		$prices = $productItem->getRefItems('price', 'default', 'default');
56 56
 
57
-		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product' )->createItem();
58
-		$orderBaseProductItem->copyFrom( $productItem )->setQuantity( $quantity )->setStockType( $stocktype );
57
+		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager($context, 'order/base/product')->createItem();
58
+		$orderBaseProductItem->copyFrom($productItem)->setQuantity($quantity)->setStockType($stocktype);
59 59
 
60
-		$attr = $this->getVariantDetails( $orderBaseProductItem, $productItem, $prices, $variantAttributeIds );
60
+		$attr = $this->getVariantDetails($orderBaseProductItem, $productItem, $prices, $variantAttributeIds);
61 61
 
62 62
 		$attributeMap = [
63
-			'custom' => array_keys( $customAttributeValues ),
64
-			'config' => array_keys( $configAttributeIds ),
63
+			'custom' => array_keys($customAttributeValues),
64
+			'config' => array_keys($configAttributeIds),
65 65
 			'hidden' => $hiddenAttributeIds,
66 66
 		];
67
-		$this->checkListRef( array( $prodid, $productItem->getId() ), 'attribute', $attributeMap );
67
+		$this->checkListRef(array($prodid, $productItem->getId()), 'attribute', $attributeMap);
68 68
 
69
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'custom', array_keys( $customAttributeValues ), $customAttributeValues ) );
70
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'config', array_keys( $configAttributeIds ), [], $configAttributeIds ) );
71
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'hidden', $hiddenAttributeIds ) );
69
+		$attr = array_merge($attr, $this->getOrderProductAttributes('custom', array_keys($customAttributeValues), $customAttributeValues));
70
+		$attr = array_merge($attr, $this->getOrderProductAttributes('config', array_keys($configAttributeIds), [], $configAttributeIds));
71
+		$attr = array_merge($attr, $this->getOrderProductAttributes('hidden', $hiddenAttributeIds));
72 72
 
73
-		$orderBaseProductItem->setAttributes( $attr );
74
-		$orderBaseProductItem->setPrice( $this->calcPrice( $orderBaseProductItem, $prices, $quantity ) );
73
+		$orderBaseProductItem->setAttributes($attr);
74
+		$orderBaseProductItem->setPrice($this->calcPrice($orderBaseProductItem, $prices, $quantity));
75 75
 
76
-		$this->getController()->get()->addProduct( $orderBaseProductItem );
76
+		$this->getController()->get()->addProduct($orderBaseProductItem);
77 77
 		$this->getController()->save();
78 78
 	}
79 79
 
@@ -88,12 +88,12 @@  discard block
 block discarded – undo
88 88
 	 * @return \Aimeos\MShop\Order\Item\Base\Product\Attribute\Iface[] List of order product attributes
89 89
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If no product variant is found
90 90
 	 */
91
-	protected function getVariantDetails( \Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
92
-		\Aimeos\MShop\Product\Item\Iface &$productItem, array &$prices, array $variantAttributeIds )
91
+	protected function getVariantDetails(\Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
92
+		\Aimeos\MShop\Product\Item\Iface & $productItem, array &$prices, array $variantAttributeIds)
93 93
 	{
94 94
 		$attr = [];
95 95
 		$context = $this->getContext();
96
-		$productItems = $this->getProductVariants( $productItem, $variantAttributeIds );
96
+		$productItems = $this->getProductVariants($productItem, $variantAttributeIds);
97 97
 
98 98
 		/** controller/frontend/basket/require-variant
99 99
 		 * A variant of a selection product must be chosen
@@ -114,47 +114,47 @@  discard block
 block discarded – undo
114 114
 		 * @category Developer
115 115
 		 * @category User
116 116
 		 */
117
-		$requireVariant = $context->getConfig()->get( 'controller/frontend/basket/require-variant', true );
117
+		$requireVariant = $context->getConfig()->get('controller/frontend/basket/require-variant', true);
118 118
 
119 119
 
120
-		if( count( $productItems ) > 1 )
120
+		if (count($productItems) > 1)
121 121
 		{
122
-			$msg = sprintf( 'No unique article found for selected attributes and product ID "%1$s"', $productItem->getId() );
123
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
122
+			$msg = sprintf('No unique article found for selected attributes and product ID "%1$s"', $productItem->getId());
123
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
124 124
 		}
125
-		else if( ( $result = reset( $productItems ) ) !== false ) // count == 1
125
+		else if (($result = reset($productItems)) !== false) // count == 1
126 126
 		{
127 127
 			$productItem = $result;
128
-			$orderBaseProductItem->setProductCode( $productItem->getCode() );
128
+			$orderBaseProductItem->setProductCode($productItem->getCode());
129 129
 
130
-			$subprices = $productItem->getRefItems( 'price', 'default', 'default' );
130
+			$subprices = $productItem->getRefItems('price', 'default', 'default');
131 131
 
132
-			if( !empty( $subprices ) ) {
132
+			if (!empty($subprices)) {
133 133
 				$prices = $subprices;
134 134
 			}
135 135
 
136
-			$submedia = $productItem->getRefItems( 'media', 'default', 'default' );
136
+			$submedia = $productItem->getRefItems('media', 'default', 'default');
137 137
 
138
-			if( ( $mediaItem = reset( $submedia ) ) !== false ) {
139
-				$orderBaseProductItem->setMediaUrl( $mediaItem->getPreview() );
138
+			if (($mediaItem = reset($submedia)) !== false) {
139
+				$orderBaseProductItem->setMediaUrl($mediaItem->getPreview());
140 140
 			}
141 141
 
142
-			$orderProductAttrManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/product/attribute' );
143
-			$variantAttributes = $productItem->getRefItems( 'attribute', null, 'variant' );
142
+			$orderProductAttrManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/product/attribute');
143
+			$variantAttributes = $productItem->getRefItems('attribute', null, 'variant');
144 144
 
145
-			foreach( $this->getAttributes( array_keys( $variantAttributes ), array( 'text' ) ) as $attrItem )
145
+			foreach ($this->getAttributes(array_keys($variantAttributes), array('text')) as $attrItem)
146 146
 			{
147 147
 				$orderAttributeItem = $orderProductAttrManager->createItem();
148
-				$orderAttributeItem->copyFrom( $attrItem );
149
-				$orderAttributeItem->setType( 'variant' );
148
+				$orderAttributeItem->copyFrom($attrItem);
149
+				$orderAttributeItem->setType('variant');
150 150
 
151 151
 				$attr[] = $orderAttributeItem;
152 152
 			}
153 153
 		}
154
-		else if( $requireVariant != false ) // count == 0
154
+		else if ($requireVariant != false) // count == 0
155 155
 		{
156
-			$msg = sprintf( 'No article found for selected attributes and product ID "%1$s"', $productItem->getId() );
157
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
156
+			$msg = sprintf('No article found for selected attributes and product ID "%1$s"', $productItem->getId());
157
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
158 158
 		}
159 159
 
160 160
 		return $attr;
Please login to merge, or discard this patch.
Braces   +6 added lines, -4 removed lines patch added patch discarded remove patch
@@ -121,10 +121,11 @@  discard block
 block discarded – undo
121 121
 		{
122 122
 			$msg = sprintf( 'No unique article found for selected attributes and product ID "%1$s"', $productItem->getId() );
123 123
 			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
124
-		}
125
-		else if( ( $result = reset( $productItems ) ) !== false ) // count == 1
124
+		} else if( ( $result = reset( $productItems ) ) !== false ) {
125
+			// count == 1
126 126
 		{
127 127
 			$productItem = $result;
128
+		}
128 129
 			$orderBaseProductItem->setProductCode( $productItem->getCode() );
129 130
 
130 131
 			$subprices = $productItem->getRefItems( 'price', 'default', 'default' );
@@ -150,10 +151,11 @@  discard block
 block discarded – undo
150 151
 
151 152
 				$attr[] = $orderAttributeItem;
152 153
 			}
153
-		}
154
-		else if( $requireVariant != false ) // count == 0
154
+		} else if( $requireVariant != false ) {
155
+			// count == 0
155 156
 		{
156 157
 			$msg = sprintf( 'No article found for selected attributes and product ID "%1$s"', $productItem->getId() );
158
+		}
157 159
 			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
158 160
 		}
159 161
 
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Basket/Base.php 2 patches
Spacing   +178 added lines, -178 removed lines patch added patch discarded remove patch
@@ -31,52 +31,52 @@  discard block
 block discarded – undo
31 31
 	 * @param integer $quantity New product quantity
32 32
 	 * @return \Aimeos\MShop\Price\Item\Iface Price item with calculated price
33 33
 	 */
34
-	protected function calcPrice( \Aimeos\MShop\Order\Item\Base\Product\Iface $product, array $prices, $quantity )
34
+	protected function calcPrice(\Aimeos\MShop\Order\Item\Base\Product\Iface $product, array $prices, $quantity)
35 35
 	{
36 36
 		$context = $this->getContext();
37 37
 
38
-		if( empty( $prices ) )
38
+		if (empty($prices))
39 39
 		{
40
-			$manager = \Aimeos\MShop\Factory::createManager( $context, 'product' );
41
-			$prices = $manager->getItem( $product->getProductId(), array( 'price' ) )->getRefItems( 'price', 'default' );
40
+			$manager = \Aimeos\MShop\Factory::createManager($context, 'product');
41
+			$prices = $manager->getItem($product->getProductId(), array('price'))->getRefItems('price', 'default');
42 42
 		}
43 43
 
44 44
 
45
-		$priceManager = \Aimeos\MShop\Factory::createManager( $context, 'price' );
46
-		$price = $priceManager->getLowestPrice( $prices, $quantity );
45
+		$priceManager = \Aimeos\MShop\Factory::createManager($context, 'price');
46
+		$price = $priceManager->getLowestPrice($prices, $quantity);
47 47
 
48 48
 		// customers can pay what they would like to pay
49
-		if( ( $attr = $product->getAttributeItem( 'price', 'custom' ) ) !== null )
49
+		if (($attr = $product->getAttributeItem('price', 'custom')) !== null)
50 50
 		{
51 51
 			$amount = $attr->getValue();
52 52
 
53
-			if( preg_match( '/^[0-9]*(\.[0-9]+)?$/', $amount ) !== 1 || ((double) $amount) < 0.01 )
53
+			if (preg_match('/^[0-9]*(\.[0-9]+)?$/', $amount) !== 1 || ((double) $amount) < 0.01)
54 54
 			{
55
-				$msg = $context->getI18n()->dt( 'controller/frontend', 'Invalid price value "%1$s"' );
56
-				throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $amount ) );
55
+				$msg = $context->getI18n()->dt('controller/frontend', 'Invalid price value "%1$s"');
56
+				throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $amount));
57 57
 			}
58 58
 
59
-			$price->setValue( $amount );
59
+			$price->setValue($amount);
60 60
 		}
61 61
 
62 62
 		$orderAttributes = $product->getAttributes();
63
-		$attrItems = $this->getAttributeItems( $orderAttributes );
63
+		$attrItems = $this->getAttributeItems($orderAttributes);
64 64
 
65 65
 		// add prices of (optional) attributes
66
-		foreach( $orderAttributes as $orderAttrItem )
66
+		foreach ($orderAttributes as $orderAttrItem)
67 67
 		{
68 68
 			$attrId = $orderAttrItem->getAttributeId();
69 69
 
70
-			if( isset( $attrItems[$attrId] )
71
-				&& ( $prices = $attrItems[$attrId]->getRefItems( 'price', 'default' ) ) !== []
70
+			if (isset($attrItems[$attrId])
71
+				&& ($prices = $attrItems[$attrId]->getRefItems('price', 'default')) !== []
72 72
 			) {
73
-				$attrPrice = $priceManager->getLowestPrice( $prices, $orderAttrItem->getQuantity() );
74
-				$price->addItem( $attrPrice, $orderAttrItem->getQuantity() );
73
+				$attrPrice = $priceManager->getLowestPrice($prices, $orderAttrItem->getQuantity());
74
+				$price->addItem($attrPrice, $orderAttrItem->getQuantity());
75 75
 			}
76 76
 		}
77 77
 
78 78
 		// remove product rebate of original price in favor to rebates granted for the order
79
-		$price->setRebate( '0.00' );
79
+		$price->setRebate('0.00');
80 80
 
81 81
 		return $price;
82 82
 	}
@@ -90,43 +90,43 @@  discard block
 block discarded – undo
90 90
 	 * @param array $refMap Associative list of list type codes as keys and lists of reference IDs as values
91 91
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If one or more of the IDs are not associated
92 92
 	 */
93
-	protected function checkListRef( $prodId, $domain, array $refMap )
93
+	protected function checkListRef($prodId, $domain, array $refMap)
94 94
 	{
95
-		if( empty( $refMap ) ) {
95
+		if (empty($refMap)) {
96 96
 			return;
97 97
 		}
98 98
 
99 99
 		$context = $this->getContext();
100
-		$productManager = \Aimeos\MShop\Factory::createManager( $context, 'product' );
101
-		$search = $productManager->createSearch( true );
100
+		$productManager = \Aimeos\MShop\Factory::createManager($context, 'product');
101
+		$search = $productManager->createSearch(true);
102 102
 
103 103
 		$expr = array(
104
-			$search->compare( '==', 'product.id', $prodId ),
104
+			$search->compare('==', 'product.id', $prodId),
105 105
 			$search->getConditions(),
106 106
 		);
107 107
 
108
-		foreach( $refMap as $listType => $refIds )
108
+		foreach ($refMap as $listType => $refIds)
109 109
 		{
110
-			if( empty( $refIds ) ) {
110
+			if (empty($refIds)) {
111 111
 				continue;
112 112
 			}
113 113
 
114
-			foreach( $refIds as $key => $refId ) {
114
+			foreach ($refIds as $key => $refId) {
115 115
 				$refIds[$key] = (string) $refId;
116 116
 			}
117 117
 
118
-			$param = array( $domain, $this->getProductListTypeItem( $domain, $listType )->getId(), $refIds );
119
-			$cmpfunc = $search->createFunction( 'product.contains', $param );
118
+			$param = array($domain, $this->getProductListTypeItem($domain, $listType)->getId(), $refIds);
119
+			$cmpfunc = $search->createFunction('product.contains', $param);
120 120
 
121
-			$expr[] = $search->compare( '==', $cmpfunc, count( $refIds ) );
121
+			$expr[] = $search->compare('==', $cmpfunc, count($refIds));
122 122
 		}
123 123
 
124
-		$search->setConditions( $search->combine( '&&', $expr ) );
124
+		$search->setConditions($search->combine('&&', $expr));
125 125
 
126
-		if( count( $productManager->searchItems( $search, [] ) ) === 0 )
126
+		if (count($productManager->searchItems($search, [])) === 0)
127 127
 		{
128
-			$msg = $context->getI18n()->dt( 'controller/frontend', 'Invalid "%1$s" references for product with ID %2$s' );
129
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $domain, json_encode( $prodId ) ) );
128
+			$msg = $context->getI18n()->dt('controller/frontend', 'Invalid "%1$s" references for product with ID %2$s');
129
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $domain, json_encode($prodId)));
130 130
 		}
131 131
 	}
132 132
 
@@ -141,35 +141,35 @@  discard block
 block discarded – undo
141 141
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If one or more of the IDs are not associated
142 142
 	 * @deprecated Use checkListRef() instead
143 143
 	 */
144
-	protected function checkReferences( $prodId, $domain, $listTypeId, array $refIds )
144
+	protected function checkReferences($prodId, $domain, $listTypeId, array $refIds)
145 145
 	{
146 146
 		$context = $this->getContext();
147
-		$productManager = \Aimeos\MShop\Factory::createManager( $context, 'product' );
148
-		$search = $productManager->createSearch( true );
147
+		$productManager = \Aimeos\MShop\Factory::createManager($context, 'product');
148
+		$search = $productManager->createSearch(true);
149 149
 
150 150
 		$expr = array(
151
-			$search->compare( '==', 'product.id', $prodId ),
151
+			$search->compare('==', 'product.id', $prodId),
152 152
 			$search->getConditions(),
153 153
 		);
154 154
 
155
-		if( count( $refIds ) > 0 )
155
+		if (count($refIds) > 0)
156 156
 		{
157
-			foreach( $refIds as $key => $refId ) {
157
+			foreach ($refIds as $key => $refId) {
158 158
 				$refIds[$key] = (string) $refId;
159 159
 			}
160 160
 
161
-			$param = array( $domain, $listTypeId, $refIds );
162
-			$cmpfunc = $search->createFunction( 'product.contains', $param );
161
+			$param = array($domain, $listTypeId, $refIds);
162
+			$cmpfunc = $search->createFunction('product.contains', $param);
163 163
 
164
-			$expr[] = $search->compare( '==', $cmpfunc, count( $refIds ) );
164
+			$expr[] = $search->compare('==', $cmpfunc, count($refIds));
165 165
 		}
166 166
 
167
-		$search->setConditions( $search->combine( '&&', $expr ) );
167
+		$search->setConditions($search->combine('&&', $expr));
168 168
 
169
-		if( count( $productManager->searchItems( $search, [] ) ) === 0 )
169
+		if (count($productManager->searchItems($search, [])) === 0)
170 170
 		{
171
-			$msg = $context->getI18n()->dt( 'controller/frontend', 'Invalid "%1$s" references for product with ID %2$s' );
172
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $domain, json_encode( $prodId ) ) );
171
+			$msg = $context->getI18n()->dt('controller/frontend', 'Invalid "%1$s" references for product with ID %2$s');
172
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $domain, json_encode($prodId)));
173 173
 		}
174 174
 	}
175 175
 
@@ -179,41 +179,41 @@  discard block
 block discarded – undo
179 179
 	 *
180 180
 	 * @param string $type Basket type
181 181
 	 */
182
-	protected function checkLocale( $type )
182
+	protected function checkLocale($type)
183 183
 	{
184 184
 		$errors = [];
185 185
 		$context = $this->getContext();
186 186
 		$session = $context->getSession();
187 187
 		$locale = $this->get()->getLocale();
188 188
 
189
-		$localeStr = $session->get( 'aimeos/basket/locale' );
189
+		$localeStr = $session->get('aimeos/basket/locale');
190 190
 		$localeKey = $locale->getSite()->getCode() . '|' . $locale->getLanguageId() . '|' . $locale->getCurrencyId();
191 191
 
192
-		if( $localeStr !== null && $localeStr !== $localeKey )
192
+		if ($localeStr !== null && $localeStr !== $localeKey)
193 193
 		{
194
-			$locParts = explode( '|', $localeStr );
195
-			$locSite = ( isset( $locParts[0] ) ? $locParts[0] : '' );
196
-			$locLanguage = ( isset( $locParts[1] ) ? $locParts[1] : '' );
197
-			$locCurrency = ( isset( $locParts[2] ) ? $locParts[2] : '' );
194
+			$locParts = explode('|', $localeStr);
195
+			$locSite = (isset($locParts[0]) ? $locParts[0] : '');
196
+			$locLanguage = (isset($locParts[1]) ? $locParts[1] : '');
197
+			$locCurrency = (isset($locParts[2]) ? $locParts[2] : '');
198 198
 
199
-			$localeManager = \Aimeos\MShop\Factory::createManager( $context, 'locale' );
200
-			$locale = $localeManager->bootstrap( $locSite, $locLanguage, $locCurrency, false );
199
+			$localeManager = \Aimeos\MShop\Factory::createManager($context, 'locale');
200
+			$locale = $localeManager->bootstrap($locSite, $locLanguage, $locCurrency, false);
201 201
 
202 202
 			$context = clone $context;
203
-			$context->setLocale( $locale );
203
+			$context->setLocale($locale);
204 204
 
205
-			$manager = \Aimeos\MShop\Order\Manager\Factory::createManager( $context )->getSubManager( 'base' );
206
-			$basket = $manager->getSession( $type );
205
+			$manager = \Aimeos\MShop\Order\Manager\Factory::createManager($context)->getSubManager('base');
206
+			$basket = $manager->getSession($type);
207 207
 
208
-			$this->copyAddresses( $basket, $errors, $localeKey );
209
-			$this->copyServices( $basket, $errors );
210
-			$this->copyProducts( $basket, $errors, $localeKey );
211
-			$this->copyCoupons( $basket, $errors, $localeKey );
208
+			$this->copyAddresses($basket, $errors, $localeKey);
209
+			$this->copyServices($basket, $errors);
210
+			$this->copyProducts($basket, $errors, $localeKey);
211
+			$this->copyCoupons($basket, $errors, $localeKey);
212 212
 
213
-			$manager->setSession( $basket, $type );
213
+			$manager->setSession($basket, $type);
214 214
 		}
215 215
 
216
-		$session->set( 'aimeos/basket/locale', $localeKey );
216
+		$session->set('aimeos/basket/locale', $localeKey);
217 217
 	}
218 218
 
219 219
 
@@ -225,22 +225,22 @@  discard block
 block discarded – undo
225 225
 	 * @param string $localeKey Unique identifier of the site, language and currency
226 226
 	 * @return array Associative list of errors occured
227 227
 	 */
228
-	protected function copyAddresses( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey )
228
+	protected function copyAddresses(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey)
229 229
 	{
230
-		foreach( $basket->getAddresses() as $type => $item )
230
+		foreach ($basket->getAddresses() as $type => $item)
231 231
 		{
232 232
 			try
233 233
 			{
234
-				$this->setAddress( $type, $item->toArray() );
235
-				$basket->deleteAddress( $type );
234
+				$this->setAddress($type, $item->toArray());
235
+				$basket->deleteAddress($type);
236 236
 			}
237
-			catch( \Exception $e )
237
+			catch (\Exception $e)
238 238
 			{
239 239
 				$logger = $this->getContext()->getLogger();
240 240
 				$errors['address'][$type] = $e->getMessage();
241 241
 
242 242
 				$str = 'Error migrating address with type "%1$s" in basket to locale "%2$s": %3$s';
243
-				$logger->log( sprintf( $str, $type, $localeKey, $e->getMessage() ), \Aimeos\MW\Logger\Base::INFO );
243
+				$logger->log(sprintf($str, $type, $localeKey, $e->getMessage()), \Aimeos\MW\Logger\Base::INFO);
244 244
 			}
245 245
 		}
246 246
 
@@ -256,22 +256,22 @@  discard block
 block discarded – undo
256 256
 	 * @param string $localeKey Unique identifier of the site, language and currency
257 257
 	 * @return array Associative list of errors occured
258 258
 	 */
259
-	protected function copyCoupons( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey )
259
+	protected function copyCoupons(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey)
260 260
 	{
261
-		foreach( $basket->getCoupons() as $code => $list )
261
+		foreach ($basket->getCoupons() as $code => $list)
262 262
 		{
263 263
 			try
264 264
 			{
265
-				$this->addCoupon( $code );
266
-				$basket->deleteCoupon( $code, true );
265
+				$this->addCoupon($code);
266
+				$basket->deleteCoupon($code, true);
267 267
 			}
268
-			catch( \Exception $e )
268
+			catch (\Exception $e)
269 269
 			{
270 270
 				$logger = $this->getContext()->getLogger();
271 271
 				$errors['coupon'][$code] = $e->getMessage();
272 272
 
273 273
 				$str = 'Error migrating coupon with code "%1$s" in basket to locale "%2$s": %3$s';
274
-				$logger->log( sprintf( $str, $code, $localeKey, $e->getMessage() ), \Aimeos\MW\Logger\Base::INFO );
274
+				$logger->log(sprintf($str, $code, $localeKey, $e->getMessage()), \Aimeos\MW\Logger\Base::INFO);
275 275
 			}
276 276
 		}
277 277
 
@@ -287,11 +287,11 @@  discard block
 block discarded – undo
287 287
 	 * @param string $localeKey Unique identifier of the site, language and currency
288 288
 	 * @return array Associative list of errors occured
289 289
 	 */
290
-	protected function copyProducts( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey )
290
+	protected function copyProducts(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey)
291 291
 	{
292
-		foreach( $basket->getProducts() as $pos => $product )
292
+		foreach ($basket->getProducts() as $pos => $product)
293 293
 		{
294
-			if( $product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE ) {
294
+			if ($product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE) {
295 295
 				continue;
296 296
 			}
297 297
 
@@ -299,7 +299,7 @@  discard block
 block discarded – undo
299 299
 			{
300 300
 				$attrIds = [];
301 301
 
302
-				foreach( $product->getAttributes() as $attrItem ) {
302
+				foreach ($product->getAttributes() as $attrItem) {
303 303
 					$attrIds[$attrItem->getType()][] = $attrItem->getAttributeId();
304 304
 				}
305 305
 
@@ -307,22 +307,22 @@  discard block
 block discarded – undo
307 307
 					$product->getProductId(),
308 308
 					$product->getQuantity(),
309 309
 					$product->getStockType(),
310
-					$this->getValue( $attrIds, 'variant', [] ),
311
-					$this->getValue( $attrIds, 'config', [] ),
312
-					$this->getValue( $attrIds, 'hidden', [] ),
313
-					$this->getValue( $attrIds, 'custom', [] )
310
+					$this->getValue($attrIds, 'variant', []),
311
+					$this->getValue($attrIds, 'config', []),
312
+					$this->getValue($attrIds, 'hidden', []),
313
+					$this->getValue($attrIds, 'custom', [])
314 314
 				);
315 315
 
316
-				$basket->deleteProduct( $pos );
316
+				$basket->deleteProduct($pos);
317 317
 			}
318
-			catch( \Exception $e )
318
+			catch (\Exception $e)
319 319
 			{
320 320
 				$code = $product->getProductCode();
321 321
 				$logger = $this->getContext()->getLogger();
322 322
 				$errors['product'][$pos] = $e->getMessage();
323 323
 
324 324
 				$str = 'Error migrating product with code "%1$s" in basket to locale "%2$s": %3$s';
325
-				$logger->log( sprintf( $str, $code, $localeKey, $e->getMessage() ), \Aimeos\MW\Logger\Base::INFO );
325
+				$logger->log(sprintf($str, $code, $localeKey, $e->getMessage()), \Aimeos\MW\Logger\Base::INFO);
326 326
 			}
327 327
 		}
328 328
 
@@ -337,24 +337,24 @@  discard block
 block discarded – undo
337 337
 	 * @param array $errors Associative list of previous errors
338 338
 	 * @return array Associative list of errors occured
339 339
 	 */
340
-	protected function copyServices( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors )
340
+	protected function copyServices(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors)
341 341
 	{
342
-		foreach( $basket->getServices() as $type => $list )
342
+		foreach ($basket->getServices() as $type => $list)
343 343
 		{
344
-			foreach( $list as $item )
344
+			foreach ($list as $item)
345 345
 			{
346 346
 				try
347 347
 				{
348 348
 					$attributes = [];
349 349
 
350
-					foreach( $item->getAttributes() as $attrItem ) {
350
+					foreach ($item->getAttributes() as $attrItem) {
351 351
 						$attributes[$attrItem->getCode()] = $attrItem->getValue();
352 352
 					}
353 353
 
354
-					$this->addService( $type, $item->getServiceId(), $attributes );
355
-					$basket->deleteService( $type );
354
+					$this->addService($type, $item->getServiceId(), $attributes);
355
+					$basket->deleteService($type);
356 356
 				}
357
-				catch( \Exception $e ) { ; } // Don't notify the user as appropriate services can be added automatically
357
+				catch (\Exception $e) {; } // Don't notify the user as appropriate services can be added automatically
358 358
 			}
359 359
 		}
360 360
 
@@ -374,35 +374,35 @@  discard block
 block discarded – undo
374 374
 	 * @return array List of items implementing \Aimeos\MShop\Order\Item\Product\Attribute\Iface
375 375
 	 * @deprecated Use getOrderProductAttributes(), checkReferences() and calcPrice() instead
376 376
 	 */
377
-	protected function createOrderProductAttributes( \Aimeos\MShop\Price\Item\Iface $price, $prodid, $quantity,
378
-			array $attributeIds, $type, array $attributeValues = [] )
377
+	protected function createOrderProductAttributes(\Aimeos\MShop\Price\Item\Iface $price, $prodid, $quantity,
378
+			array $attributeIds, $type, array $attributeValues = [])
379 379
 	{
380
-		if( empty( $attributeIds ) ) {
380
+		if (empty($attributeIds)) {
381 381
 			return [];
382 382
 		}
383 383
 
384 384
 		$list = [];
385 385
 		$context = $this->getContext();
386
-		$attrTypeId = $this->getProductListTypeItem( 'attribute', $type )->getId();
387
-		$this->checkReferences( $prodid, 'attribute', $attrTypeId, $attributeIds );
386
+		$attrTypeId = $this->getProductListTypeItem('attribute', $type)->getId();
387
+		$this->checkReferences($prodid, 'attribute', $attrTypeId, $attributeIds);
388 388
 
389
-		$priceManager = \Aimeos\MShop\Factory::createManager( $context, 'price' );
390
-		$orderProductAttributeManager = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product/attribute' );
389
+		$priceManager = \Aimeos\MShop\Factory::createManager($context, 'price');
390
+		$orderProductAttributeManager = \Aimeos\MShop\Factory::createManager($context, 'order/base/product/attribute');
391 391
 
392
-		foreach( $this->getAttributes( $attributeIds ) as $id => $attrItem )
392
+		foreach ($this->getAttributes($attributeIds) as $id => $attrItem)
393 393
 		{
394
-			$prices = $attrItem->getRefItems( 'price', 'default', 'default' );
394
+			$prices = $attrItem->getRefItems('price', 'default', 'default');
395 395
 
396
-			if( !empty( $prices ) ) {
397
-				$price->addItem( $priceManager->getLowestPrice( $prices, $quantity ) );
396
+			if (!empty($prices)) {
397
+				$price->addItem($priceManager->getLowestPrice($prices, $quantity));
398 398
 			}
399 399
 
400 400
 			$item = $orderProductAttributeManager->createItem();
401
-			$item->copyFrom( $attrItem );
402
-			$item->setType( $type );
401
+			$item->copyFrom($attrItem);
402
+			$item->setType($type);
403 403
 
404
-			if( isset( $attributeValues[$id] ) ) {
405
-				$item->setValue( $attributeValues[$id] );
404
+			if (isset($attributeValues[$id])) {
405
+				$item->setValue($attributeValues[$id]);
406 406
 			}
407 407
 
408 408
 			$list[] = $item;
@@ -420,32 +420,32 @@  discard block
 block discarded – undo
420 420
 	 * @return array List of items implementing \Aimeos\MShop\Attribute\Item\Iface
421 421
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the actual attribute number doesn't match the expected one
422 422
 	 */
423
-	protected function getAttributes( array $attributeIds, array $domains = array( 'price', 'text' ) )
423
+	protected function getAttributes(array $attributeIds, array $domains = array('price', 'text'))
424 424
 	{
425
-		if( empty( $attributeIds ) ) {
425
+		if (empty($attributeIds)) {
426 426
 			return [];
427 427
 		}
428 428
 
429
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'attribute' );
429
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'attribute');
430 430
 
431
-		$search = $attributeManager->createSearch( true );
431
+		$search = $attributeManager->createSearch(true);
432 432
 		$expr = array(
433
-			$search->compare( '==', 'attribute.id', $attributeIds ),
433
+			$search->compare('==', 'attribute.id', $attributeIds),
434 434
 			$search->getConditions(),
435 435
 		);
436
-		$search->setConditions( $search->combine( '&&', $expr ) );
437
-		$search->setSlice( 0, 0x7fffffff );
436
+		$search->setConditions($search->combine('&&', $expr));
437
+		$search->setSlice(0, 0x7fffffff);
438 438
 
439
-		$attrItems = $attributeManager->searchItems( $search, $domains );
439
+		$attrItems = $attributeManager->searchItems($search, $domains);
440 440
 
441
-		if( count( $attrItems ) !== count( $attributeIds ) )
441
+		if (count($attrItems) !== count($attributeIds))
442 442
 		{
443 443
 			$i18n = $this->getContext()->getI18n();
444
-			$expected = implode( ',', $attributeIds );
445
-			$actual = implode( ',', array_keys( $attrItems ) );
446
-			$msg = $i18n->dt( 'controller/frontend', 'Available attribute IDs "%1$s" do not match the given attribute IDs "%2$s"' );
444
+			$expected = implode(',', $attributeIds);
445
+			$actual = implode(',', array_keys($attrItems));
446
+			$msg = $i18n->dt('controller/frontend', 'Available attribute IDs "%1$s" do not match the given attribute IDs "%2$s"');
447 447
 
448
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $actual, $expected ) );
448
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $actual, $expected));
449 449
 		}
450 450
 
451 451
 		return $attrItems;
@@ -458,31 +458,31 @@  discard block
 block discarded – undo
458 458
 	 * @param \Aimeos\MShop\Order\Item\Base\Product\Attribute\Item[] $orderAttributes List of order product attribute items
459 459
 	 * @return \Aimeos\MShop\Attribute\Item\Iface[] Associative list of attribute IDs as key and attribute items as values
460 460
 	 */
461
-	protected function getAttributeItems( array $orderAttributes )
461
+	protected function getAttributeItems(array $orderAttributes)
462 462
 	{
463
-		if( empty( $orderAttributes ) ) {
463
+		if (empty($orderAttributes)) {
464 464
 			return [];
465 465
 		}
466 466
 
467
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'attribute' );
468
-		$search = $attributeManager->createSearch( true );
467
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'attribute');
468
+		$search = $attributeManager->createSearch(true);
469 469
 		$expr = [];
470 470
 
471
-		foreach( $orderAttributes as $item )
471
+		foreach ($orderAttributes as $item)
472 472
 		{
473 473
 			$tmp = array(
474
-				$search->compare( '==', 'attribute.domain', 'product' ),
475
-				$search->compare( '==', 'attribute.code', $item->getValue() ),
476
-				$search->compare( '==', 'attribute.type.domain', 'product' ),
477
-				$search->compare( '==', 'attribute.type.code', $item->getCode() ),
478
-				$search->compare( '>', 'attribute.type.status', 0 ),
474
+				$search->compare('==', 'attribute.domain', 'product'),
475
+				$search->compare('==', 'attribute.code', $item->getValue()),
476
+				$search->compare('==', 'attribute.type.domain', 'product'),
477
+				$search->compare('==', 'attribute.type.code', $item->getCode()),
478
+				$search->compare('>', 'attribute.type.status', 0),
479 479
 				$search->getConditions(),
480 480
 			);
481
-			$expr[] = $search->combine( '&&', $tmp );
481
+			$expr[] = $search->combine('&&', $tmp);
482 482
 		}
483 483
 
484
-		$search->setConditions( $search->combine( '||', $expr ) );
485
-		return $attributeManager->searchItems( $search, array( 'price' ) );
484
+		$search->setConditions($search->combine('||', $expr));
485
+		return $attributeManager->searchItems($search, array('price'));
486 486
 	}
487 487
 
488 488
 
@@ -497,24 +497,24 @@  discard block
 block discarded – undo
497 497
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception
498 498
 	 * @deprecated Use getItem() or findItem() instead
499 499
 	 */
500
-	protected function getDomainItem( $domain, $key, $value, array $ref )
500
+	protected function getDomainItem($domain, $key, $value, array $ref)
501 501
 	{
502 502
 		$context = $this->getContext();
503
-		$manager = \Aimeos\MShop\Factory::createManager( $context, $domain );
503
+		$manager = \Aimeos\MShop\Factory::createManager($context, $domain);
504 504
 
505
-		$search = $manager->createSearch( true );
505
+		$search = $manager->createSearch(true);
506 506
 		$expr = array(
507
-			$search->compare( '==', $key, $value ),
507
+			$search->compare('==', $key, $value),
508 508
 			$search->getConditions(),
509 509
 		);
510
-		$search->setConditions( $search->combine( '&&', $expr ) );
510
+		$search->setConditions($search->combine('&&', $expr));
511 511
 
512
-		$result = $manager->searchItems( $search, $ref );
512
+		$result = $manager->searchItems($search, $ref);
513 513
 
514
-		if( ( $item = reset( $result ) ) === false )
514
+		if (($item = reset($result)) === false)
515 515
 		{
516
-			$msg = $context->getI18n()->dt( 'controller/frontend', 'No item for "%1$s" (%2$s) found' );
517
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $value, $key ) );
516
+			$msg = $context->getI18n()->dt('controller/frontend', 'No item for "%1$s" (%2$s) found');
517
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $value, $key));
518 518
 		}
519 519
 
520 520
 		return $item;
@@ -530,24 +530,24 @@  discard block
 block discarded – undo
530 530
 	 * @param array $quantities Associative list of attribute IDs as keys and their quantities as values
531 531
 	 * @return array List of items implementing \Aimeos\MShop\Order\Item\Product\Attribute\Iface
532 532
 	 */
533
-	protected function getOrderProductAttributes( $type, array $ids, array $values = [], array $quantities = [] )
533
+	protected function getOrderProductAttributes($type, array $ids, array $values = [], array $quantities = [])
534 534
 	{
535
-		if( empty( $ids ) ) {
535
+		if (empty($ids)) {
536 536
 			return [];
537 537
 		}
538 538
 
539 539
 		$list = [];
540
-		$manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/product/attribute' );
540
+		$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/product/attribute');
541 541
 
542
-		foreach( $this->getAttributes( $ids ) as $id => $attrItem )
542
+		foreach ($this->getAttributes($ids) as $id => $attrItem)
543 543
 		{
544 544
 			$item = $manager->createItem();
545
-			$item->copyFrom( $attrItem );
546
-			$item->setType( $type );
547
-			$item->setQuantity( isset( $quantities[$id] ) ? $quantities[$id] : 1 );
545
+			$item->copyFrom($attrItem);
546
+			$item->setType($type);
547
+			$item->setQuantity(isset($quantities[$id]) ? $quantities[$id] : 1);
548 548
 
549
-			if( isset( $values[$id] ) ) {
550
-				$item->setValue( $values[$id] );
549
+			if (isset($values[$id])) {
550
+				$item->setValue($values[$id]);
551 551
 			}
552 552
 
553 553
 			$list[] = $item;
@@ -564,23 +564,23 @@  discard block
 block discarded – undo
564 564
 	 * @param string $code Code of the list type
565 565
 	 * @return \Aimeos\MShop\Common\Item\Type\Iface List type item
566 566
 	 */
567
-	protected function getProductListTypeItem( $domain, $code )
567
+	protected function getProductListTypeItem($domain, $code)
568 568
 	{
569 569
 		$context = $this->getContext();
570 570
 
571
-		if( empty( $this->listTypeItems ) )
571
+		if (empty($this->listTypeItems))
572 572
 		{
573
-			$manager = \Aimeos\MShop\Factory::createManager( $context, 'product/lists/type' );
573
+			$manager = \Aimeos\MShop\Factory::createManager($context, 'product/lists/type');
574 574
 
575
-			foreach( $manager->searchItems( $manager->createSearch( true ) ) as $item ) {
576
-				$this->listTypeItems[ $item->getDomain() ][ $item->getCode() ] = $item;
575
+			foreach ($manager->searchItems($manager->createSearch(true)) as $item) {
576
+				$this->listTypeItems[$item->getDomain()][$item->getCode()] = $item;
577 577
 			}
578 578
 		}
579 579
 
580
-		if( !isset( $this->listTypeItems[$domain][$code] ) )
580
+		if (!isset($this->listTypeItems[$domain][$code]))
581 581
 		{
582
-			$msg = $context->getI18n()->dt( 'controller/frontend', 'List type for domain "%1$s" and code "%2$s" not found' );
583
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $domain, $code ) );
582
+			$msg = $context->getI18n()->dt('controller/frontend', 'List type for domain "%1$s" and code "%2$s" not found');
583
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $domain, $code));
584 584
 		}
585 585
 
586 586
 		return $this->listTypeItems[$domain][$code];
@@ -595,43 +595,43 @@  discard block
 block discarded – undo
595 595
 	 * @param array $domains Names of the domain items that should be fetched too
596 596
 	 * @return array List of products matching the given attributes
597 597
 	 */
598
-	protected function getProductVariants( \Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds,
599
-			array $domains = array( 'attribute', 'media', 'price', 'text' ) )
598
+	protected function getProductVariants(\Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds,
599
+			array $domains = array('attribute', 'media', 'price', 'text'))
600 600
 	{
601 601
 		$subProductIds = [];
602
-		foreach( $productItem->getRefItems( 'product', 'default', 'default' ) as $item ) {
602
+		foreach ($productItem->getRefItems('product', 'default', 'default') as $item) {
603 603
 			$subProductIds[] = $item->getId();
604 604
 		}
605 605
 
606
-		if( count( $subProductIds ) === 0 ) {
606
+		if (count($subProductIds) === 0) {
607 607
 			return [];
608 608
 		}
609 609
 
610
-		$productManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' );
611
-		$search = $productManager->createSearch( true );
610
+		$productManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product');
611
+		$search = $productManager->createSearch(true);
612 612
 
613 613
 		$expr = array(
614
-			$search->compare( '==', 'product.id', $subProductIds ),
614
+			$search->compare('==', 'product.id', $subProductIds),
615 615
 			$search->getConditions(),
616 616
 		);
617 617
 
618
-		if( count( $variantAttributeIds ) > 0 )
618
+		if (count($variantAttributeIds) > 0)
619 619
 		{
620
-			foreach( $variantAttributeIds as $key => $id ) {
620
+			foreach ($variantAttributeIds as $key => $id) {
621 621
 				$variantAttributeIds[$key] = (string) $id;
622 622
 			}
623 623
 
624
-			$listTypeItem = $this->getProductListTypeItem( 'attribute', 'variant' );
624
+			$listTypeItem = $this->getProductListTypeItem('attribute', 'variant');
625 625
 
626
-			$param = array( 'attribute', $listTypeItem->getId(), $variantAttributeIds );
627
-			$cmpfunc = $search->createFunction( 'product.contains', $param );
626
+			$param = array('attribute', $listTypeItem->getId(), $variantAttributeIds);
627
+			$cmpfunc = $search->createFunction('product.contains', $param);
628 628
 
629
-			$expr[] = $search->compare( '==', $cmpfunc, count( $variantAttributeIds ) );
629
+			$expr[] = $search->compare('==', $cmpfunc, count($variantAttributeIds));
630 630
 		}
631 631
 
632
-		$search->setConditions( $search->combine( '&&', $expr ) );
632
+		$search->setConditions($search->combine('&&', $expr));
633 633
 
634
-		return $productManager->searchItems( $search, $domains );
634
+		return $productManager->searchItems($search, $domains);
635 635
 	}
636 636
 
637 637
 
@@ -643,9 +643,9 @@  discard block
 block discarded – undo
643 643
 	 * @param mixed $default Default value if no value is available for the given name
644 644
 	 * @return mixed Value from the array or default value
645 645
 	 */
646
-	protected function getValue( array $values, $name, $default = null )
646
+	protected function getValue(array $values, $name, $default = null)
647 647
 	{
648
-		if( isset( $values[$name] ) ) {
648
+		if (isset($values[$name])) {
649 649
 			return $values[$name];
650 650
 		}
651 651
 
Please login to merge, or discard this patch.
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -233,8 +233,7 @@  discard block
 block discarded – undo
233 233
 			{
234 234
 				$this->setAddress( $type, $item->toArray() );
235 235
 				$basket->deleteAddress( $type );
236
-			}
237
-			catch( \Exception $e )
236
+			} catch( \Exception $e )
238 237
 			{
239 238
 				$logger = $this->getContext()->getLogger();
240 239
 				$errors['address'][$type] = $e->getMessage();
@@ -264,8 +263,7 @@  discard block
 block discarded – undo
264 263
 			{
265 264
 				$this->addCoupon( $code );
266 265
 				$basket->deleteCoupon( $code, true );
267
-			}
268
-			catch( \Exception $e )
266
+			} catch( \Exception $e )
269 267
 			{
270 268
 				$logger = $this->getContext()->getLogger();
271 269
 				$errors['coupon'][$code] = $e->getMessage();
@@ -314,8 +312,7 @@  discard block
 block discarded – undo
314 312
 				);
315 313
 
316 314
 				$basket->deleteProduct( $pos );
317
-			}
318
-			catch( \Exception $e )
315
+			} catch( \Exception $e )
319 316
 			{
320 317
 				$code = $product->getProductCode();
321 318
 				$logger = $this->getContext()->getLogger();
@@ -353,8 +350,7 @@  discard block
 block discarded – undo
353 350
 
354 351
 					$this->addService( $type, $item->getServiceId(), $attributes );
355 352
 					$basket->deleteService( $type );
356
-				}
357
-				catch( \Exception $e ) { ; } // Don't notify the user as appropriate services can be added automatically
353
+				} catch( \Exception $e ) { ; } // Don't notify the user as appropriate services can be added automatically
358 354
 			}
359 355
 		}
360 356
 
Please login to merge, or discard this patch.