Completed
Push — master ( ee2c71...0751df )
by Aimeos
03:00
created
controller/frontend/src/Controller/Frontend/Basket/Standard.php 1 patch
Spacing   +202 added lines, -202 removed lines patch added patch discarded remove patch
@@ -30,11 +30,11 @@  discard block
 block discarded – undo
30 30
 	 * @param \Aimeos\MShop\Context\Item\Iface $context Object storing the required instances for manaing databases
31 31
 	 *  connections, logger, session, etc.
32 32
 	 */
33
-	public function __construct( \Aimeos\MShop\Context\Item\Iface $context )
33
+	public function __construct(\Aimeos\MShop\Context\Item\Iface $context)
34 34
 	{
35
-		parent::__construct( $context );
35
+		parent::__construct($context);
36 36
 
37
-		$this->domainManager = \Aimeos\MShop\Factory::createManager( $context, 'order/base' );
37
+		$this->domainManager = \Aimeos\MShop\Factory::createManager($context, 'order/base');
38 38
 		$this->basket = $this->domainManager->getSession();
39 39
 
40 40
 		$this->checkLocale();
@@ -47,7 +47,7 @@  discard block
 block discarded – undo
47 47
 	public function clear()
48 48
 	{
49 49
 		$this->basket = $this->domainManager->createItem();
50
-		$this->domainManager->setSession( $this->basket );
50
+		$this->domainManager->setSession($this->basket);
51 51
 	}
52 52
 
53 53
 
@@ -82,48 +82,48 @@  discard block
 block discarded – undo
82 82
 	 * @param string $warehouse Unique code of the warehouse to deliver the products from
83 83
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
84 84
 	 */
85
-	public function addProduct( $prodid, $quantity = 1, array $options = array(), array $variantAttributeIds = array(),
85
+	public function addProduct($prodid, $quantity = 1, array $options = array(), array $variantAttributeIds = array(),
86 86
 		array $configAttributeIds = array(), array $hiddenAttributeIds = array(), array $customAttributeValues = array(),
87
-		$warehouse = 'default' )
87
+		$warehouse = 'default')
88 88
 	{
89 89
 		$context = $this->getContext();
90 90
 
91
-		$productItem = $this->getDomainItem( 'product', 'product.id', $prodid, array( 'media', 'supplier', 'price', 'product', 'text' ) );
91
+		$productItem = $this->getDomainItem('product', 'product.id', $prodid, array('media', 'supplier', 'price', 'product', 'text'));
92 92
 
93
-		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product' )->createItem();
94
-		$orderBaseProductItem->copyFrom( $productItem );
95
-		$orderBaseProductItem->setQuantity( $quantity );
96
-		$orderBaseProductItem->setWarehouseCode( $warehouse );
93
+		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager($context, 'order/base/product')->createItem();
94
+		$orderBaseProductItem->copyFrom($productItem);
95
+		$orderBaseProductItem->setQuantity($quantity);
96
+		$orderBaseProductItem->setWarehouseCode($warehouse);
97 97
 
98 98
 		$attr = array();
99
-		$prices = $productItem->getRefItems( 'price', 'default', 'default' );
99
+		$prices = $productItem->getRefItems('price', 'default', 'default');
100 100
 
101
-		switch( $productItem->getType() )
101
+		switch ($productItem->getType())
102 102
 		{
103 103
 			case 'select':
104
-				$attr = $this->getVariantDetails( $orderBaseProductItem, $productItem, $prices, $variantAttributeIds, $options );
104
+				$attr = $this->getVariantDetails($orderBaseProductItem, $productItem, $prices, $variantAttributeIds, $options);
105 105
 				break;
106 106
 			case 'bundle':
107
-				$this->addBundleProducts( $orderBaseProductItem, $productItem, $variantAttributeIds, $warehouse );
107
+				$this->addBundleProducts($orderBaseProductItem, $productItem, $variantAttributeIds, $warehouse);
108 108
 				break;
109 109
 		}
110 110
 
111
-		$priceManager = \Aimeos\MShop\Factory::createManager( $context, 'price' );
112
-		$price = $priceManager->getLowestPrice( $prices, $quantity );
111
+		$priceManager = \Aimeos\MShop\Factory::createManager($context, 'price');
112
+		$price = $priceManager->getLowestPrice($prices, $quantity);
113 113
 
114
-		$attr = array_merge( $attr, $this->createOrderProductAttributes( $price, $prodid, $quantity, $configAttributeIds, 'config' ) );
115
-		$attr = array_merge( $attr, $this->createOrderProductAttributes( $price, $prodid, $quantity, $hiddenAttributeIds, 'hidden' ) );
116
-		$attr = array_merge( $attr, $this->createOrderProductAttributes( $price, $prodid, $quantity, array_keys( $customAttributeValues ), 'custom', $customAttributeValues ) );
114
+		$attr = array_merge($attr, $this->createOrderProductAttributes($price, $prodid, $quantity, $configAttributeIds, 'config'));
115
+		$attr = array_merge($attr, $this->createOrderProductAttributes($price, $prodid, $quantity, $hiddenAttributeIds, 'hidden'));
116
+		$attr = array_merge($attr, $this->createOrderProductAttributes($price, $prodid, $quantity, array_keys($customAttributeValues), 'custom', $customAttributeValues));
117 117
 
118 118
 		// remove product rebate of original price in favor to rebates granted for the order
119
-		$price->setRebate( '0.00' );
119
+		$price->setRebate('0.00');
120 120
 
121
-		$orderBaseProductItem->setPrice( $price );
122
-		$orderBaseProductItem->setAttributes( $attr );
121
+		$orderBaseProductItem->setPrice($price);
122
+		$orderBaseProductItem->setAttributes($attr);
123 123
 
124
-		$this->addProductInStock( $orderBaseProductItem, $productItem->getId(), $quantity, $options, $warehouse );
124
+		$this->addProductInStock($orderBaseProductItem, $productItem->getId(), $quantity, $options, $warehouse);
125 125
 
126
-		$this->domainManager->setSession( $this->basket );
126
+		$this->domainManager->setSession($this->basket);
127 127
 	}
128 128
 
129 129
 
@@ -132,18 +132,18 @@  discard block
 block discarded – undo
132 132
 	 *
133 133
 	 * @param integer $position Position number (key) of the order product item
134 134
 	 */
135
-	public function deleteProduct( $position )
135
+	public function deleteProduct($position)
136 136
 	{
137
-		$product = $this->basket->getProduct( $position );
137
+		$product = $this->basket->getProduct($position);
138 138
 
139
-		if( $product->getFlags() === \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE )
139
+		if ($product->getFlags() === \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE)
140 140
 		{
141
-			$msg = sprintf( 'Basket item at position "%1$d" cannot be deleted manually', $position );
142
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
141
+			$msg = sprintf('Basket item at position "%1$d" cannot be deleted manually', $position);
142
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
143 143
 		}
144 144
 
145
-		$this->basket->deleteProduct( $position );
146
-		$this->domainManager->setSession( $this->basket );
145
+		$this->basket->deleteProduct($position);
146
+		$this->domainManager->setSession($this->basket);
147 147
 	}
148 148
 
149 149
 
@@ -156,35 +156,35 @@  discard block
 block discarded – undo
156 156
 	 * 	The 'stock'=>false option allows adding products without being in stock.
157 157
 	 * @param string[] $configAttributeCodes Codes of the product config attributes that should be REMOVED
158 158
 	 */
159
-	public function editProduct( $position, $quantity, array $options = array(),
160
-		array $configAttributeCodes = array() )
159
+	public function editProduct($position, $quantity, array $options = array(),
160
+		array $configAttributeCodes = array())
161 161
 	{
162
-		$product = $this->basket->getProduct( $position );
163
-		$product->setQuantity( $quantity ); // Enforce check immediately
162
+		$product = $this->basket->getProduct($position);
163
+		$product->setQuantity($quantity); // Enforce check immediately
164 164
 
165
-		if( $product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE )
165
+		if ($product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE)
166 166
 		{
167
-			$msg = sprintf( 'Basket item at position "%1$d" cannot be changed', $position );
168
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
167
+			$msg = sprintf('Basket item at position "%1$d" cannot be changed', $position);
168
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
169 169
 		}
170 170
 
171 171
 		$attributes = $product->getAttributes();
172
-		foreach( $attributes as $key => $attribute )
172
+		foreach ($attributes as $key => $attribute)
173 173
 		{
174
-			if( in_array( $attribute->getCode(), $configAttributeCodes ) ) {
175
-				unset( $attributes[$key] );
174
+			if (in_array($attribute->getCode(), $configAttributeCodes)) {
175
+				unset($attributes[$key]);
176 176
 			}
177 177
 		}
178
-		$product->setAttributes( $attributes );
178
+		$product->setAttributes($attributes);
179 179
 
180
-		$productItem = $this->getDomainItem( 'product', 'product.code', $product->getProductCode(), array( 'price', 'text' ) );
181
-		$prices = $productItem->getRefItems( 'price', 'default' );
180
+		$productItem = $this->getDomainItem('product', 'product.code', $product->getProductCode(), array('price', 'text'));
181
+		$prices = $productItem->getRefItems('price', 'default');
182 182
 
183
-		$product->setPrice( $this->calcPrice( $product, $prices, $quantity ) );
183
+		$product->setPrice($this->calcPrice($product, $prices, $quantity));
184 184
 
185
-		$this->editProductInStock( $product, $productItem, $quantity, $position, $options );
185
+		$this->editProductInStock($product, $productItem, $quantity, $position, $options);
186 186
 
187
-		$this->domainManager->setSession( $this->basket );
187
+		$this->domainManager->setSession($this->basket);
188 188
 	}
189 189
 
190 190
 
@@ -194,50 +194,50 @@  discard block
 block discarded – undo
194 194
 	 * @param string $code Coupon code entered by the user
195 195
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception if the coupon code is invalid or not allowed
196 196
 	 */
197
-	public function addCoupon( $code )
197
+	public function addCoupon($code)
198 198
 	{
199
-		$manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'coupon' );
200
-		$codeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'coupon/code' );
199
+		$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'coupon');
200
+		$codeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'coupon/code');
201 201
 
202 202
 
203
-		$search = $codeManager->createSearch( true );
203
+		$search = $codeManager->createSearch(true);
204 204
 		$expr = array(
205
-			$search->compare( '==', 'coupon.code.code', $code ),
205
+			$search->compare('==', 'coupon.code.code', $code),
206 206
 			$search->getConditions(),
207 207
 		);
208
-		$search->setConditions( $search->combine( '&&', $expr ) );
209
-		$search->setSlice( 0, 1 );
208
+		$search->setConditions($search->combine('&&', $expr));
209
+		$search->setSlice(0, 1);
210 210
 
211
-		$result = $codeManager->searchItems( $search );
211
+		$result = $codeManager->searchItems($search);
212 212
 
213
-		if( ( $codeItem = reset( $result ) ) === false ) {
214
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Coupon code "%1$s" is invalid or not available any more', $code ) );
213
+		if (($codeItem = reset($result)) === false) {
214
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Coupon code "%1$s" is invalid or not available any more', $code));
215 215
 		}
216 216
 
217 217
 
218
-		$search = $manager->createSearch( true );
218
+		$search = $manager->createSearch(true);
219 219
 		$expr = array(
220
-			$search->compare( '==', 'coupon.id', $codeItem->getParentId() ),
220
+			$search->compare('==', 'coupon.id', $codeItem->getParentId()),
221 221
 			$search->getConditions(),
222 222
 		);
223
-		$search->setConditions( $search->combine( '&&', $expr ) );
224
-		$search->setSlice( 0, 1 );
223
+		$search->setConditions($search->combine('&&', $expr));
224
+		$search->setSlice(0, 1);
225 225
 
226
-		$result = $manager->searchItems( $search );
226
+		$result = $manager->searchItems($search);
227 227
 
228
-		if( ( $item = reset( $result ) ) === false ) {
229
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Coupon for code "%1$s" is not available any more', $code ) );
228
+		if (($item = reset($result)) === false) {
229
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Coupon for code "%1$s" is not available any more', $code));
230 230
 		}
231 231
 
232 232
 
233
-		$provider = $manager->getProvider( $item, $code );
233
+		$provider = $manager->getProvider($item, $code);
234 234
 
235
-		if( $provider->isAvailable( $this->basket ) !== true ) {
236
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Requirements for coupon code "%1$s" aren\'t met', $code ) );
235
+		if ($provider->isAvailable($this->basket) !== true) {
236
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Requirements for coupon code "%1$s" aren\'t met', $code));
237 237
 		}
238 238
 
239
-		$provider->addCoupon( $this->basket );
240
-		$this->domainManager->setSession( $this->basket );
239
+		$provider->addCoupon($this->basket);
240
+		$this->domainManager->setSession($this->basket);
241 241
 	}
242 242
 
243 243
 
@@ -247,22 +247,22 @@  discard block
 block discarded – undo
247 247
 	 * @param string $code Coupon code entered by the user
248 248
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception if the coupon code is invalid
249 249
 	 */
250
-	public function deleteCoupon( $code )
250
+	public function deleteCoupon($code)
251 251
 	{
252
-		$manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'coupon' );
252
+		$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'coupon');
253 253
 
254 254
 		$search = $manager->createSearch();
255
-		$search->setConditions( $search->compare( '==', 'coupon.code.code', $code ) );
256
-		$search->setSlice( 0, 1 );
255
+		$search->setConditions($search->compare('==', 'coupon.code.code', $code));
256
+		$search->setSlice(0, 1);
257 257
 
258
-		$result = $manager->searchItems( $search );
258
+		$result = $manager->searchItems($search);
259 259
 
260
-		if( ( $item = reset( $result ) ) === false ) {
261
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Coupon code "%1$s" is invalid', $code ) );
260
+		if (($item = reset($result)) === false) {
261
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Coupon code "%1$s" is invalid', $code));
262 262
 		}
263 263
 
264
-		$manager->getProvider( $item, $code )->deleteCoupon( $this->basket );
265
-		$this->domainManager->setSession( $this->basket );
264
+		$manager->getProvider($item, $code)->deleteCoupon($this->basket);
265
+		$this->domainManager->setSession($this->basket);
266 266
 	}
267 267
 
268 268
 
@@ -274,31 +274,31 @@  discard block
 block discarded – undo
274 274
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the billing or delivery address is not of any required type of
275 275
 	 * 	if one of the keys is invalid when using an array with key/value pairs
276 276
 	 */
277
-	public function setAddress( $type, $value )
277
+	public function setAddress($type, $value)
278 278
 	{
279
-		$address = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/address' )->createItem();
280
-		$address->setType( $type );
279
+		$address = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/address')->createItem();
280
+		$address->setType($type);
281 281
 
282
-		if( $value instanceof \Aimeos\MShop\Common\Item\Address\Iface )
282
+		if ($value instanceof \Aimeos\MShop\Common\Item\Address\Iface)
283 283
 		{
284
-			$address->copyFrom( $value );
285
-			$this->basket->setAddress( $address, $type );
284
+			$address->copyFrom($value);
285
+			$this->basket->setAddress($address, $type);
286 286
 		}
287
-		else if( is_array( $value ) )
287
+		else if (is_array($value))
288 288
 		{
289
-			$this->setAddressFromArray( $address, $value );
290
-			$this->basket->setAddress( $address, $type );
289
+			$this->setAddressFromArray($address, $value);
290
+			$this->basket->setAddress($address, $type);
291 291
 		}
292
-		else if( $value === null )
292
+		else if ($value === null)
293 293
 		{
294
-			$this->basket->deleteAddress( $type );
294
+			$this->basket->deleteAddress($type);
295 295
 		}
296 296
 		else
297 297
 		{
298
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Invalid value for address type "%1$s"', $type ) );
298
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Invalid value for address type "%1$s"', $type));
299 299
 		}
300 300
 
301
-		$this->domainManager->setSession( $this->basket );
301
+		$this->domainManager->setSession($this->basket);
302 302
 	}
303 303
 
304 304
 
@@ -311,43 +311,43 @@  discard block
 block discarded – undo
311 311
 	 * 	entered by the customer when choosing one of the delivery or payment options
312 312
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If there is no price to the service item attached
313 313
 	 */
314
-	public function setService( $type, $id, array $attributes = array() )
314
+	public function setService($type, $id, array $attributes = array())
315 315
 	{
316 316
 		$context = $this->getContext();
317 317
 
318
-		$serviceManager = \Aimeos\MShop\Factory::createManager( $context, 'service' );
319
-		$serviceItem = $this->getDomainItem( 'service', 'service.id', $id, array( 'media', 'price', 'text' ) );
318
+		$serviceManager = \Aimeos\MShop\Factory::createManager($context, 'service');
319
+		$serviceItem = $this->getDomainItem('service', 'service.id', $id, array('media', 'price', 'text'));
320 320
 
321
-		$provider = $serviceManager->getProvider( $serviceItem );
322
-		$result = $provider->checkConfigFE( $attributes );
323
-		$unknown = array_diff_key( $attributes, $result );
321
+		$provider = $serviceManager->getProvider($serviceItem);
322
+		$result = $provider->checkConfigFE($attributes);
323
+		$unknown = array_diff_key($attributes, $result);
324 324
 
325
-		if( count( $unknown ) > 0 )
325
+		if (count($unknown) > 0)
326 326
 		{
327
-			$msg = sprintf( 'Unknown attributes "%1$s"', implode( '","', array_keys( $unknown ) ) );
328
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
327
+			$msg = sprintf('Unknown attributes "%1$s"', implode('","', array_keys($unknown)));
328
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
329 329
 		}
330 330
 
331
-		foreach( $result as $key => $value )
331
+		foreach ($result as $key => $value)
332 332
 		{
333
-			if( $value !== null ) {
334
-				throw new \Aimeos\Controller\Frontend\Basket\Exception( $value );
333
+			if ($value !== null) {
334
+				throw new \Aimeos\Controller\Frontend\Basket\Exception($value);
335 335
 			}
336 336
 		}
337 337
 
338
-		$orderBaseServiceManager = \Aimeos\MShop\Factory::createManager( $context, 'order/base/service' );
338
+		$orderBaseServiceManager = \Aimeos\MShop\Factory::createManager($context, 'order/base/service');
339 339
 		$orderServiceItem = $orderBaseServiceManager->createItem();
340
-		$orderServiceItem->copyFrom( $serviceItem );
340
+		$orderServiceItem->copyFrom($serviceItem);
341 341
 
342
-		$price = $provider->calcPrice( $this->basket );
342
+		$price = $provider->calcPrice($this->basket);
343 343
 		// remove service rebate of original price
344
-		$price->setRebate( '0.00' );
345
-		$orderServiceItem->setPrice( $price );
344
+		$price->setRebate('0.00');
345
+		$orderServiceItem->setPrice($price);
346 346
 
347
-		$provider->setConfigFE( $orderServiceItem, $attributes );
347
+		$provider->setConfigFE($orderServiceItem, $attributes);
348 348
 
349
-		$this->basket->setService( $orderServiceItem, $type );
350
-		$this->domainManager->setSession( $this->basket );
349
+		$this->basket->setService($orderServiceItem, $type);
350
+		$this->domainManager->setSession($this->basket);
351 351
 	}
352 352
 
353 353
 
@@ -359,44 +359,44 @@  discard block
 block discarded – undo
359 359
 	 * @param array $variantAttributeIds List of product variant attribute IDs
360 360
 	 * @param string $warehouse
361 361
 	 */
362
-	protected function addBundleProducts( \Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
363
-		\Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds, $warehouse )
362
+	protected function addBundleProducts(\Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
363
+		\Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds, $warehouse)
364 364
 	{
365 365
 		$quantity = $orderBaseProductItem->getQuantity();
366 366
 		$products = $subProductIds = $orderProducts = array();
367
-		$orderProductManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/product' );
367
+		$orderProductManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/product');
368 368
 
369
-		foreach( $productItem->getRefItems( 'product', null, 'default' ) as $item ) {
369
+		foreach ($productItem->getRefItems('product', null, 'default') as $item) {
370 370
 			$subProductIds[] = $item->getId();
371 371
 		}
372 372
 
373
-		if( count( $subProductIds ) > 0 )
373
+		if (count($subProductIds) > 0)
374 374
 		{
375
-			$productManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' );
375
+			$productManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product');
376 376
 
377
-			$search = $productManager->createSearch( true );
377
+			$search = $productManager->createSearch(true);
378 378
 			$expr = array(
379
-				$search->compare( '==', 'product.id', $subProductIds ),
379
+				$search->compare('==', 'product.id', $subProductIds),
380 380
 				$search->getConditions(),
381 381
 			);
382
-			$search->setConditions( $search->combine( '&&', $expr ) );
382
+			$search->setConditions($search->combine('&&', $expr));
383 383
 
384
-			$products = $productManager->searchItems( $search, array( 'attribute', 'media', 'price', 'text' ) );
384
+			$products = $productManager->searchItems($search, array('attribute', 'media', 'price', 'text'));
385 385
 		}
386 386
 
387
-		foreach( $products as $product )
387
+		foreach ($products as $product)
388 388
 		{
389
-			$prices = $product->getRefItems( 'price', 'default', 'default' );
389
+			$prices = $product->getRefItems('price', 'default', 'default');
390 390
 
391 391
 			$orderProduct = $orderProductManager->createItem();
392
-			$orderProduct->copyFrom( $product );
393
-			$orderProduct->setWarehouseCode( $warehouse );
394
-			$orderProduct->setPrice( $this->calcPrice( $orderProduct, $prices, $quantity ) );
392
+			$orderProduct->copyFrom($product);
393
+			$orderProduct->setWarehouseCode($warehouse);
394
+			$orderProduct->setPrice($this->calcPrice($orderProduct, $prices, $quantity));
395 395
 
396 396
 			$orderProducts[] = $orderProduct;
397 397
 		}
398 398
 
399
-		$orderBaseProductItem->setProducts( $orderProducts );
399
+		$orderBaseProductItem->setProducts($orderProducts);
400 400
 	}
401 401
 
402 402
 
@@ -410,32 +410,32 @@  discard block
 block discarded – undo
410 410
 	 * @param string $warehouse Warehouse code for retrieving the stock level
411 411
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If there's not enough stock available
412 412
 	 */
413
-	protected function addProductInStock( \Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
414
-			$productId, $quantity, array $options, $warehouse )
413
+	protected function addProductInStock(\Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
414
+			$productId, $quantity, array $options, $warehouse)
415 415
 	{
416 416
 		$stocklevel = null;
417
-		if( !isset( $options['stock'] ) || $options['stock'] != false ) {
418
-			$stocklevel = $this->getStockLevel( $productId, $warehouse );
417
+		if (!isset($options['stock']) || $options['stock'] != false) {
418
+			$stocklevel = $this->getStockLevel($productId, $warehouse);
419 419
 		}
420 420
 
421
-		if( $stocklevel === null || $stocklevel > 0 )
421
+		if ($stocklevel === null || $stocklevel > 0)
422 422
 		{
423
-			$position = $this->get()->addProduct( $orderBaseProductItem );
424
-			$orderBaseProductItem = clone $this->get()->getProduct( $position );
423
+			$position = $this->get()->addProduct($orderBaseProductItem);
424
+			$orderBaseProductItem = clone $this->get()->getProduct($position);
425 425
 			$quantity = $orderBaseProductItem->getQuantity();
426 426
 
427
-			if( $stocklevel > 0 && $stocklevel < $quantity )
427
+			if ($stocklevel > 0 && $stocklevel < $quantity)
428 428
 			{
429
-				$this->get()->deleteProduct( $position );
430
-				$orderBaseProductItem->setQuantity( $stocklevel );
431
-				$this->get()->addProduct( $orderBaseProductItem, $position );
429
+				$this->get()->deleteProduct($position);
430
+				$orderBaseProductItem->setQuantity($stocklevel);
431
+				$this->get()->addProduct($orderBaseProductItem, $position);
432 432
 			}
433 433
 		}
434 434
 
435
-		if( $stocklevel !== null && $stocklevel < $quantity )
435
+		if ($stocklevel !== null && $stocklevel < $quantity)
436 436
 		{
437
-			$msg = sprintf( 'There are not enough products "%1$s" in stock', $orderBaseProductItem->getName() );
438
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
437
+			$msg = sprintf('There are not enough products "%1$s" in stock', $orderBaseProductItem->getName());
438
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
439 439
 		}
440 440
 	}
441 441
 
@@ -451,36 +451,36 @@  discard block
 block discarded – undo
451 451
 	 * @param array $attributeValues Associative list of attribute IDs as keys and their codes as values
452 452
 	 * @return array List of items implementing \Aimeos\MShop\Order\Item\Product\Attribute\Iface
453 453
 	 */
454
-	protected function createOrderProductAttributes( \Aimeos\MShop\Price\Item\Iface $price, $prodid, $quantity,
455
-			array $attributeIds, $type, array $attributeValues = array() )
454
+	protected function createOrderProductAttributes(\Aimeos\MShop\Price\Item\Iface $price, $prodid, $quantity,
455
+			array $attributeIds, $type, array $attributeValues = array())
456 456
 	{
457
-		if( empty( $attributeIds ) ) {
457
+		if (empty($attributeIds)) {
458 458
 			return array();
459 459
 		}
460 460
 
461
-		$attrTypeId = $this->getProductListTypeItem( 'attribute', $type )->getId();
462
-		$this->checkReferences( $prodid, 'attribute', $attrTypeId, $attributeIds );
461
+		$attrTypeId = $this->getProductListTypeItem('attribute', $type)->getId();
462
+		$this->checkReferences($prodid, 'attribute', $attrTypeId, $attributeIds);
463 463
 
464 464
 		$list = array();
465 465
 		$context = $this->getContext();
466 466
 
467
-		$priceManager = \Aimeos\MShop\Factory::createManager( $context, 'price' );
468
-		$orderProductAttributeManager = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product/attribute' );
467
+		$priceManager = \Aimeos\MShop\Factory::createManager($context, 'price');
468
+		$orderProductAttributeManager = \Aimeos\MShop\Factory::createManager($context, 'order/base/product/attribute');
469 469
 
470
-		foreach( $this->getAttributes( $attributeIds ) as $id => $attrItem )
470
+		foreach ($this->getAttributes($attributeIds) as $id => $attrItem)
471 471
 		{
472
-			$prices = $attrItem->getRefItems( 'price', 'default', 'default' );
472
+			$prices = $attrItem->getRefItems('price', 'default', 'default');
473 473
 
474
-			if( !empty( $prices ) ) {
475
-				$price->addItem( $priceManager->getLowestPrice( $prices, $quantity ) );
474
+			if (!empty($prices)) {
475
+				$price->addItem($priceManager->getLowestPrice($prices, $quantity));
476 476
 			}
477 477
 
478 478
 			$item = $orderProductAttributeManager->createItem();
479
-			$item->copyFrom( $attrItem );
480
-			$item->setType( $type );
479
+			$item->copyFrom($attrItem);
480
+			$item->setType($type);
481 481
 
482
-			if( isset( $attributeValues[$id] ) ) {
483
-				$item->setValue( $attributeValues[$id] );
482
+			if (isset($attributeValues[$id])) {
483
+				$item->setValue($attributeValues[$id]);
484 484
 			}
485 485
 
486 486
 			$list[] = $item;
@@ -500,26 +500,26 @@  discard block
 block discarded – undo
500 500
 	 * @param array Associative list of options
501 501
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If there's not enough stock available
502 502
 	 */
503
-	protected function editProductInStock( \Aimeos\MShop\Order\Item\Base\Product\Iface $product,
504
-			\Aimeos\MShop\Product\Item\Iface $productItem, $quantity, $position, array $options )
503
+	protected function editProductInStock(\Aimeos\MShop\Order\Item\Base\Product\Iface $product,
504
+			\Aimeos\MShop\Product\Item\Iface $productItem, $quantity, $position, array $options)
505 505
 	{
506 506
 		$stocklevel = null;
507
-		if( !isset( $options['stock'] ) || $options['stock'] != false ) {
508
-			$stocklevel = $this->getStockLevel( $productItem->getId(), $product->getWarehouseCode() );
507
+		if (!isset($options['stock']) || $options['stock'] != false) {
508
+			$stocklevel = $this->getStockLevel($productItem->getId(), $product->getWarehouseCode());
509 509
 		}
510 510
 
511
-		$product->setQuantity( ( $stocklevel !== null && $stocklevel > 0 ? min( $stocklevel, $quantity ) : $quantity ) );
511
+		$product->setQuantity(($stocklevel !== null && $stocklevel > 0 ? min($stocklevel, $quantity) : $quantity));
512 512
 
513
-		$this->get()->deleteProduct( $position );
513
+		$this->get()->deleteProduct($position);
514 514
 
515
-		if( $stocklevel === null || $stocklevel > 0 ) {
516
-			$this->get()->addProduct( $product, $position );
515
+		if ($stocklevel === null || $stocklevel > 0) {
516
+			$this->get()->addProduct($product, $position);
517 517
 		}
518 518
 
519
-		if( $stocklevel !== null && $stocklevel < $quantity )
519
+		if ($stocklevel !== null && $stocklevel < $quantity)
520 520
 		{
521
-			$msg = sprintf( 'There are not enough products "%1$s" in stock', $productItem->getName() );
522
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
521
+			$msg = sprintf('There are not enough products "%1$s" in stock', $productItem->getName());
522
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
523 523
 		}
524 524
 	}
525 525
 
@@ -534,23 +534,23 @@  discard block
 block discarded – undo
534 534
 	 * @return \Aimeos\MShop\Common\Item\Iface Domain item object
535 535
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception
536 536
 	 */
537
-	protected function getDomainItem( $domain, $key, $value, array $ref )
537
+	protected function getDomainItem($domain, $key, $value, array $ref)
538 538
 	{
539
-		$manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), $domain );
539
+		$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), $domain);
540 540
 
541
-		$search = $manager->createSearch( true );
541
+		$search = $manager->createSearch(true);
542 542
 		$expr = array(
543
-				$search->compare( '==', $key, $value ),
543
+				$search->compare('==', $key, $value),
544 544
 				$search->getConditions(),
545 545
 		);
546
-		$search->setConditions( $search->combine( '&&', $expr ) );
546
+		$search->setConditions($search->combine('&&', $expr));
547 547
 
548
-		$result = $manager->searchItems( $search, $ref );
548
+		$result = $manager->searchItems($search, $ref);
549 549
 
550
-		if( ( $item = reset( $result ) ) === false )
550
+		if (($item = reset($result)) === false)
551 551
 		{
552
-			$msg = sprintf( 'No item for "%1$s" (%2$s) found', $value, $key );
553
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
552
+			$msg = sprintf('No item for "%1$s" (%2$s) found', $value, $key);
553
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
554 554
 		}
555 555
 
556 556
 		return $item;
@@ -568,44 +568,44 @@  discard block
 block discarded – undo
568 568
 	 * @return \Aimeos\MShop\Order\Item\Base\Product\Attribute\Iface[] List of order product attributes
569 569
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If no product variant is found
570 570
 	 */
571
-	protected function getVariantDetails( \Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
572
-		\Aimeos\MShop\Product\Item\Iface &$productItem, array &$prices, array $variantAttributeIds, array $options )
571
+	protected function getVariantDetails(\Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
572
+		\Aimeos\MShop\Product\Item\Iface & $productItem, array &$prices, array $variantAttributeIds, array $options)
573 573
 	{
574 574
 		$attr = array();
575
-		$productItems = $this->getProductVariants( $productItem, $variantAttributeIds );
575
+		$productItems = $this->getProductVariants($productItem, $variantAttributeIds);
576 576
 
577
-		if( count( $productItems ) > 1 )
577
+		if (count($productItems) > 1)
578 578
 		{
579
-			$msg = sprintf( 'No unique article found for selected attributes and product ID "%1$s"', $productItem->getId() );
580
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
579
+			$msg = sprintf('No unique article found for selected attributes and product ID "%1$s"', $productItem->getId());
580
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
581 581
 		}
582
-		else if( ( $result = reset( $productItems ) ) !== false ) // count == 1
582
+		else if (($result = reset($productItems)) !== false) // count == 1
583 583
 		{
584 584
 			$productItem = $result;
585
-			$orderBaseProductItem->setProductCode( $productItem->getCode() );
585
+			$orderBaseProductItem->setProductCode($productItem->getCode());
586 586
 
587
-			$subprices = $productItem->getRefItems( 'price', 'default', 'default' );
587
+			$subprices = $productItem->getRefItems('price', 'default', 'default');
588 588
 
589
-			if( count( $subprices ) > 0 ) {
589
+			if (count($subprices) > 0) {
590 590
 				$prices = $subprices;
591 591
 			}
592 592
 
593
-			$orderProductAttrManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/product/attribute' );
594
-			$variantAttributes = $productItem->getRefItems( 'attribute', null, 'variant' );
593
+			$orderProductAttrManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/product/attribute');
594
+			$variantAttributes = $productItem->getRefItems('attribute', null, 'variant');
595 595
 
596
-			foreach( $this->getAttributes( array_keys( $variantAttributes ), array( 'text' ) ) as $attrItem )
596
+			foreach ($this->getAttributes(array_keys($variantAttributes), array('text')) as $attrItem)
597 597
 			{
598 598
 				$orderAttributeItem = $orderProductAttrManager->createItem();
599
-				$orderAttributeItem->copyFrom( $attrItem );
600
-				$orderAttributeItem->setType( 'variant' );
599
+				$orderAttributeItem->copyFrom($attrItem);
600
+				$orderAttributeItem->setType('variant');
601 601
 
602 602
 				$attr[] = $orderAttributeItem;
603 603
 			}
604 604
 		}
605
-		else if( !isset( $options['variant'] ) || $options['variant'] != false ) // count == 0
605
+		else if (!isset($options['variant']) || $options['variant'] != false) // count == 0
606 606
 		{
607
-			$msg = sprintf( 'No article found for selected attributes and product ID "%1$s"', $productItem->getId() );
608
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
607
+			$msg = sprintf('No article found for selected attributes and product ID "%1$s"', $productItem->getId());
608
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
609 609
 		}
610 610
 
611 611
 		return $attr;
@@ -620,18 +620,18 @@  discard block
 block discarded – undo
620 620
 	 * 	an address item.
621 621
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception
622 622
 	 */
623
-	protected function setAddressFromArray( \Aimeos\MShop\Order\Item\Base\Address\Iface $address, array $map )
623
+	protected function setAddressFromArray(\Aimeos\MShop\Order\Item\Base\Address\Iface $address, array $map)
624 624
 	{
625
-		foreach( $map as $key => $value ) {
626
-			$map[$key] = strip_tags( $value ); // prevent XSS
625
+		foreach ($map as $key => $value) {
626
+			$map[$key] = strip_tags($value); // prevent XSS
627 627
 		}
628 628
 
629
-		$errors = $address->fromArray( $map );
629
+		$errors = $address->fromArray($map);
630 630
 
631
-		if( count( $errors ) > 0 )
631
+		if (count($errors) > 0)
632 632
 		{
633
-			$msg = sprintf( 'Invalid address properties, please check your input' );
634
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg, 0, null, $errors );
633
+			$msg = sprintf('Invalid address properties, please check your input');
634
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg, 0, null, $errors);
635 635
 		}
636 636
 	}
637 637
 }
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Basket/Base.php 1 patch
Spacing   +147 added lines, -147 removed lines patch added patch discarded remove patch
@@ -31,32 +31,32 @@  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( $this->getContext(), 'product' );
41
-			$prices = $manager->getItem( $product->getProductId(), array( 'price' ) )->getRefItems( 'price', 'default' );
40
+			$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product');
41
+			$prices = $manager->getItem($product->getProductId(), array('price'))->getRefItems('price', 'default');
42 42
 		}
43 43
 
44
-		$priceManager = \Aimeos\MShop\Factory::createManager( $context, 'price' );
45
-		$price = $priceManager->getLowestPrice( $prices, $quantity );
44
+		$priceManager = \Aimeos\MShop\Factory::createManager($context, 'price');
45
+		$price = $priceManager->getLowestPrice($prices, $quantity);
46 46
 
47
-		foreach( $this->getAttributeItems( $product->getAttributes() ) as $attrItem )
47
+		foreach ($this->getAttributeItems($product->getAttributes()) as $attrItem)
48 48
 		{
49
-			$prices = $attrItem->getRefItems( 'price', 'default' );
49
+			$prices = $attrItem->getRefItems('price', 'default');
50 50
 
51
-			if( count( $prices ) > 0 )
51
+			if (count($prices) > 0)
52 52
 			{
53
-				$attrPrice = $priceManager->getLowestPrice( $prices, $quantity );
54
-				$price->addItem( $attrPrice );
53
+				$attrPrice = $priceManager->getLowestPrice($prices, $quantity);
54
+				$price->addItem($attrPrice);
55 55
 			}
56 56
 		}
57 57
 
58 58
 		// remove product rebate of original price in favor to rebates granted for the order
59
-		$price->setRebate( '0.00' );
59
+		$price->setRebate('0.00');
60 60
 
61 61
 		return $price;
62 62
 	}
@@ -71,34 +71,34 @@  discard block
 block discarded – undo
71 71
 	 * @param array $refIds List of IDs that must be associated to the product
72 72
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If one or more of the IDs are not associated
73 73
 	 */
74
-	protected function checkReferences( $prodId, $domain, $listTypeId, array $refIds )
74
+	protected function checkReferences($prodId, $domain, $listTypeId, array $refIds)
75 75
 	{
76
-		$productManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' );
77
-		$search = $productManager->createSearch( true );
76
+		$productManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product');
77
+		$search = $productManager->createSearch(true);
78 78
 
79 79
 		$expr = array(
80
-			$search->compare( '==', 'product.id', $prodId ),
80
+			$search->compare('==', 'product.id', $prodId),
81 81
 			$search->getConditions(),
82 82
 		);
83 83
 
84
-		if( count( $refIds ) > 0 )
84
+		if (count($refIds) > 0)
85 85
 		{
86
-			foreach( $refIds as $key => $refId ) {
86
+			foreach ($refIds as $key => $refId) {
87 87
 				$refIds[$key] = (string) $refId;
88 88
 			}
89 89
 
90
-			$param = array( $domain, $listTypeId, $refIds );
91
-			$cmpfunc = $search->createFunction( 'product.contains', $param );
90
+			$param = array($domain, $listTypeId, $refIds);
91
+			$cmpfunc = $search->createFunction('product.contains', $param);
92 92
 
93
-			$expr[] = $search->compare( '==', $cmpfunc, count( $refIds ) );
93
+			$expr[] = $search->compare('==', $cmpfunc, count($refIds));
94 94
 		}
95 95
 
96
-		$search->setConditions( $search->combine( '&&', $expr ) );
96
+		$search->setConditions($search->combine('&&', $expr));
97 97
 
98
-		if( count( $productManager->searchItems( $search, array() ) ) === 0 )
98
+		if (count($productManager->searchItems($search, array())) === 0)
99 99
 		{
100
-			$msg = sprintf( 'Invalid "%1$s" references for product with ID "%2$s"', $domain, $prodId );
101
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
100
+			$msg = sprintf('Invalid "%1$s" references for product with ID "%2$s"', $domain, $prodId);
101
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
102 102
 		}
103 103
 	}
104 104
 
@@ -113,34 +113,34 @@  discard block
 block discarded – undo
113 113
 		$session = $context->getSession();
114 114
 		$locale = $this->get()->getLocale();
115 115
 
116
-		$localeStr = $session->get( 'aimeos/basket/locale' );
116
+		$localeStr = $session->get('aimeos/basket/locale');
117 117
 		$localeKey = $locale->getSite()->getCode() . '|' . $locale->getLanguageId() . '|' . $locale->getCurrencyId();
118 118
 
119
-		if( $localeStr !== null && $localeStr !== $localeKey )
119
+		if ($localeStr !== null && $localeStr !== $localeKey)
120 120
 		{
121
-			$locParts = explode( '|', $localeStr );
122
-			$locSite = ( isset( $locParts[0] ) ? $locParts[0] : '' );
123
-			$locLanguage = ( isset( $locParts[1] ) ? $locParts[1] : '' );
124
-			$locCurrency = ( isset( $locParts[2] ) ? $locParts[2] : '' );
121
+			$locParts = explode('|', $localeStr);
122
+			$locSite = (isset($locParts[0]) ? $locParts[0] : '');
123
+			$locLanguage = (isset($locParts[1]) ? $locParts[1] : '');
124
+			$locCurrency = (isset($locParts[2]) ? $locParts[2] : '');
125 125
 
126
-			$localeManager = \Aimeos\MShop\Factory::createManager( $context, 'locale' );
127
-			$locale = $localeManager->bootstrap( $locSite, $locLanguage, $locCurrency, false );
126
+			$localeManager = \Aimeos\MShop\Factory::createManager($context, 'locale');
127
+			$locale = $localeManager->bootstrap($locSite, $locLanguage, $locCurrency, false);
128 128
 
129 129
 			$context = clone $context;
130
-			$context->setLocale( $locale );
130
+			$context->setLocale($locale);
131 131
 
132
-			$manager = \Aimeos\MShop\Order\Manager\Factory::createManager( $context )->getSubManager( 'base' );
132
+			$manager = \Aimeos\MShop\Order\Manager\Factory::createManager($context)->getSubManager('base');
133 133
 			$basket = $manager->getSession();
134 134
 
135
-			$this->copyAddresses( $basket, $errors, $localeKey );
136
-			$this->copyServices( $basket, $errors );
137
-			$this->copyProducts( $basket, $errors, $localeKey );
138
-			$this->copyCoupons( $basket, $errors, $localeKey );
135
+			$this->copyAddresses($basket, $errors, $localeKey);
136
+			$this->copyServices($basket, $errors);
137
+			$this->copyProducts($basket, $errors, $localeKey);
138
+			$this->copyCoupons($basket, $errors, $localeKey);
139 139
 
140
-			$manager->setSession( $basket );
140
+			$manager->setSession($basket);
141 141
 		}
142 142
 
143
-		$session->set( 'aimeos/basket/locale', $localeKey );
143
+		$session->set('aimeos/basket/locale', $localeKey);
144 144
 	}
145 145
 
146 146
 
@@ -152,20 +152,20 @@  discard block
 block discarded – undo
152 152
 	 * @param string $localeKey Unique identifier of the site, language and currency
153 153
 	 * @return array Associative list of errors occured
154 154
 	 */
155
-	protected function copyAddresses( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey )
155
+	protected function copyAddresses(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey)
156 156
 	{
157
-		foreach( $basket->getAddresses() as $type => $item )
157
+		foreach ($basket->getAddresses() as $type => $item)
158 158
 		{
159 159
 			try
160 160
 			{
161
-				$this->setAddress( $type, $item->toArray() );
162
-				$basket->deleteAddress( $type );
161
+				$this->setAddress($type, $item->toArray());
162
+				$basket->deleteAddress($type);
163 163
 			}
164
-			catch( \Exception $e )
164
+			catch (\Exception $e)
165 165
 			{
166 166
 				$logger = $this->getContext()->getLogger();
167 167
 				$str = 'Error migrating address with type "%1$s" in basket to locale "%2$s": %3$s';
168
-				$logger->log( sprintf( $str, $type, $localeKey, $e->getMessage() ), \Aimeos\MW\Logger\Base::INFO );
168
+				$logger->log(sprintf($str, $type, $localeKey, $e->getMessage()), \Aimeos\MW\Logger\Base::INFO);
169 169
 				$errors['address'][$type] = $e->getMessage();
170 170
 			}
171 171
 		}
@@ -182,20 +182,20 @@  discard block
 block discarded – undo
182 182
 	 * @param string $localeKey Unique identifier of the site, language and currency
183 183
 	 * @return array Associative list of errors occured
184 184
 	 */
185
-	protected function copyCoupons( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey )
185
+	protected function copyCoupons(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey)
186 186
 	{
187
-		foreach( $basket->getCoupons() as $code => $list )
187
+		foreach ($basket->getCoupons() as $code => $list)
188 188
 		{
189 189
 			try
190 190
 			{
191
-				$this->addCoupon( $code );
192
-				$basket->deleteCoupon( $code, true );
191
+				$this->addCoupon($code);
192
+				$basket->deleteCoupon($code, true);
193 193
 			}
194
-			catch( \Exception $e )
194
+			catch (\Exception $e)
195 195
 			{
196 196
 				$logger = $this->getContext()->getLogger();
197 197
 				$str = 'Error migrating coupon with code "%1$s" in basket to locale "%2$s": %3$s';
198
-				$logger->log( sprintf( $str, $code, $localeKey, $e->getMessage() ), \Aimeos\MW\Logger\Base::INFO );
198
+				$logger->log(sprintf($str, $code, $localeKey, $e->getMessage()), \Aimeos\MW\Logger\Base::INFO);
199 199
 				$errors['coupon'][$code] = $e->getMessage();
200 200
 			}
201 201
 		}
@@ -212,11 +212,11 @@  discard block
 block discarded – undo
212 212
 	 * @param string $localeKey Unique identifier of the site, language and currency
213 213
 	 * @return array Associative list of errors occured
214 214
 	 */
215
-	protected function copyProducts( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey )
215
+	protected function copyProducts(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey)
216 216
 	{
217
-		foreach( $basket->getProducts() as $pos => $product )
217
+		foreach ($basket->getProducts() as $pos => $product)
218 218
 		{
219
-			if( $product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE ) {
219
+			if ($product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE) {
220 220
 				continue;
221 221
 			}
222 222
 
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
 			{
225 225
 				$attrIds = array();
226 226
 
227
-				foreach( $product->getAttributes() as $attrItem ) {
227
+				foreach ($product->getAttributes() as $attrItem) {
228 228
 					$attrIds[$attrItem->getType()][] = $attrItem->getAttributeId();
229 229
 				}
230 230
 
@@ -232,21 +232,21 @@  discard block
 block discarded – undo
232 232
 						$product->getProductId(),
233 233
 						$product->getQuantity(),
234 234
 						array(),
235
-						$this->getValue( $attrIds, 'variant', array() ),
236
-						$this->getValue( $attrIds, 'config', array() ),
237
-						$this->getValue( $attrIds, 'hidden', array() ),
238
-						$this->getValue( $attrIds, 'custom', array() ),
235
+						$this->getValue($attrIds, 'variant', array()),
236
+						$this->getValue($attrIds, 'config', array()),
237
+						$this->getValue($attrIds, 'hidden', array()),
238
+						$this->getValue($attrIds, 'custom', array()),
239 239
 						$product->getWarehouseCode()
240 240
 				);
241 241
 
242
-				$basket->deleteProduct( $pos );
242
+				$basket->deleteProduct($pos);
243 243
 			}
244
-			catch( \Exception $e )
244
+			catch (\Exception $e)
245 245
 			{
246 246
 				$code = $product->getProductCode();
247 247
 				$logger = $this->getContext()->getLogger();
248 248
 				$str = 'Error migrating product with code "%1$s" in basket to locale "%2$s": %3$s';
249
-				$logger->log( sprintf( $str, $code, $localeKey, $e->getMessage() ), \Aimeos\MW\Logger\Base::INFO );
249
+				$logger->log(sprintf($str, $code, $localeKey, $e->getMessage()), \Aimeos\MW\Logger\Base::INFO);
250 250
 				$errors['product'][$pos] = $e->getMessage();
251 251
 			}
252 252
 		}
@@ -262,22 +262,22 @@  discard block
 block discarded – undo
262 262
 	 * @param array $errors Associative list of previous errors
263 263
 	 * @return array Associative list of errors occured
264 264
 	 */
265
-	protected function copyServices( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors )
265
+	protected function copyServices(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors)
266 266
 	{
267
-		foreach( $basket->getServices() as $type => $item )
267
+		foreach ($basket->getServices() as $type => $item)
268 268
 		{
269 269
 			try
270 270
 			{
271 271
 				$attributes = array();
272 272
 
273
-				foreach( $item->getAttributes() as $attrItem ) {
273
+				foreach ($item->getAttributes() as $attrItem) {
274 274
 					$attributes[$attrItem->getCode()] = $attrItem->getValue();
275 275
 				}
276 276
 
277
-				$this->setService( $type, $item->getServiceId(), $attributes );
278
-				$basket->deleteService( $type );
277
+				$this->setService($type, $item->getServiceId(), $attributes);
278
+				$basket->deleteService($type);
279 279
 			}
280
-			catch( \Exception $e ) { ; } // Don't notify the user as appropriate services can be added automatically
280
+			catch (\Exception $e) {; } // Don't notify the user as appropriate services can be added automatically
281 281
 		}
282 282
 
283 283
 		return $errors;
@@ -292,31 +292,31 @@  discard block
 block discarded – undo
292 292
 	 * @return array List of items implementing \Aimeos\MShop\Attribute\Item\Iface
293 293
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the actual attribute number doesn't match the expected one
294 294
 	 */
295
-	protected function getAttributes( array $attributeIds, array $domains = array( 'price', 'text' ) )
295
+	protected function getAttributes(array $attributeIds, array $domains = array('price', 'text'))
296 296
 	{
297
-		if( empty( $attributeIds ) ) {
297
+		if (empty($attributeIds)) {
298 298
 			return array();
299 299
 		}
300 300
 
301
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'attribute' );
301
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'attribute');
302 302
 
303
-		$search = $attributeManager->createSearch( true );
303
+		$search = $attributeManager->createSearch(true);
304 304
 		$expr = array(
305
-				$search->compare( '==', 'attribute.id', $attributeIds ),
305
+				$search->compare('==', 'attribute.id', $attributeIds),
306 306
 				$search->getConditions(),
307 307
 		);
308
-		$search->setConditions( $search->combine( '&&', $expr ) );
309
-		$search->setSlice( 0, 0x7fffffff );
308
+		$search->setConditions($search->combine('&&', $expr));
309
+		$search->setSlice(0, 0x7fffffff);
310 310
 
311
-		$attrItems = $attributeManager->searchItems( $search, $domains );
311
+		$attrItems = $attributeManager->searchItems($search, $domains);
312 312
 
313
-		if( count( $attrItems ) !== count( $attributeIds ) )
313
+		if (count($attrItems) !== count($attributeIds))
314 314
 		{
315
-			$expected = implode( ',', $attributeIds );
316
-			$actual = implode( ',', array_keys( $attrItems ) );
317
-			$msg = sprintf( 'Available attribute IDs "%1$s" do not match the given attribute IDs "%2$s"', $actual, $expected );
315
+			$expected = implode(',', $attributeIds);
316
+			$actual = implode(',', array_keys($attrItems));
317
+			$msg = sprintf('Available attribute IDs "%1$s" do not match the given attribute IDs "%2$s"', $actual, $expected);
318 318
 
319
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
319
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
320 320
 		}
321 321
 
322 322
 		return $attrItems;
@@ -329,31 +329,31 @@  discard block
 block discarded – undo
329 329
 	 * @param \Aimeos\MShop\Order\Item\Base\Product\Attribute\Item[] $orderAttributes List of order product attribute items
330 330
 	 * @return \Aimeos\MShop\Attribute\Item\Iface[] Associative list of attribute IDs as key and attribute items as values
331 331
 	 */
332
-	protected function getAttributeItems( array $orderAttributes )
332
+	protected function getAttributeItems(array $orderAttributes)
333 333
 	{
334
-		if( empty( $orderAttributes ) ) {
334
+		if (empty($orderAttributes)) {
335 335
 			return array();
336 336
 		}
337 337
 
338
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'attribute' );
339
-		$search = $attributeManager->createSearch( true );
338
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'attribute');
339
+		$search = $attributeManager->createSearch(true);
340 340
 		$expr = array();
341 341
 
342
-		foreach( $orderAttributes as $item )
342
+		foreach ($orderAttributes as $item)
343 343
 		{
344 344
 			$tmp = array(
345
-				$search->compare( '==', 'attribute.domain', 'product' ),
346
-				$search->compare( '==', 'attribute.code', $item->getValue() ),
347
-				$search->compare( '==', 'attribute.type.domain', 'product' ),
348
-				$search->compare( '==', 'attribute.type.code', $item->getCode() ),
349
-				$search->compare( '>', 'attribute.type.status', 0 ),
345
+				$search->compare('==', 'attribute.domain', 'product'),
346
+				$search->compare('==', 'attribute.code', $item->getValue()),
347
+				$search->compare('==', 'attribute.type.domain', 'product'),
348
+				$search->compare('==', 'attribute.type.code', $item->getCode()),
349
+				$search->compare('>', 'attribute.type.status', 0),
350 350
 				$search->getConditions(),
351 351
 			);
352
-			$expr[] = $search->combine( '&&', $tmp );
352
+			$expr[] = $search->combine('&&', $tmp);
353 353
 		}
354 354
 
355
-		$search->setConditions( $search->combine( '||', $expr ) );
356
-		return $attributeManager->searchItems( $search, array( 'price' ) );
355
+		$search->setConditions($search->combine('||', $expr));
356
+		return $attributeManager->searchItems($search, array('price'));
357 357
 	}
358 358
 
359 359
 
@@ -364,26 +364,26 @@  discard block
 block discarded – undo
364 364
 	 * @param string $code Code of the list type
365 365
 	 * @return \Aimeos\MShop\Common\Item\Type\Iface List type item
366 366
 	 */
367
-	protected function getProductListTypeItem( $domain, $code )
367
+	protected function getProductListTypeItem($domain, $code)
368 368
 	{
369
-		if( !isset( $this->listTypeAttributes[$domain][$code] ) )
369
+		if (!isset($this->listTypeAttributes[$domain][$code]))
370 370
 		{
371
-			$listTypeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product/lists/type' );
371
+			$listTypeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product/lists/type');
372 372
 
373
-			$listTypeSearch = $listTypeManager->createSearch( true );
373
+			$listTypeSearch = $listTypeManager->createSearch(true);
374 374
 			$expr = array(
375
-				$listTypeSearch->compare( '==', 'product.lists.type.domain', $domain ),
376
-				$listTypeSearch->compare( '==', 'product.lists.type.code', $code ),
375
+				$listTypeSearch->compare('==', 'product.lists.type.domain', $domain),
376
+				$listTypeSearch->compare('==', 'product.lists.type.code', $code),
377 377
 				$listTypeSearch->getConditions(),
378 378
 			);
379
-			$listTypeSearch->setConditions( $listTypeSearch->combine( '&&', $expr ) );
379
+			$listTypeSearch->setConditions($listTypeSearch->combine('&&', $expr));
380 380
 
381
-			$listTypeItems = $listTypeManager->searchItems( $listTypeSearch );
381
+			$listTypeItems = $listTypeManager->searchItems($listTypeSearch);
382 382
 
383
-			if( ( $listTypeItem = reset( $listTypeItems ) ) === false )
383
+			if (($listTypeItem = reset($listTypeItems)) === false)
384 384
 			{
385
-				$msg = sprintf( 'List type for domain "%1$s" and code "%2$s" not found', $domain, $code );
386
-				throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
385
+				$msg = sprintf('List type for domain "%1$s" and code "%2$s" not found', $domain, $code);
386
+				throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
387 387
 			}
388 388
 
389 389
 			$this->listTypeAttributes[$domain][$code] = $listTypeItem;
@@ -401,43 +401,43 @@  discard block
 block discarded – undo
401 401
 	 * @param array $domains Names of the domain items that should be fetched too
402 402
 	 * @return array List of products matching the given attributes
403 403
 	 */
404
-	protected function getProductVariants( \Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds,
405
-			array $domains = array( 'attribute', 'media', 'price', 'text' ) )
404
+	protected function getProductVariants(\Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds,
405
+			array $domains = array('attribute', 'media', 'price', 'text'))
406 406
 	{
407 407
 		$subProductIds = array();
408
-		foreach( $productItem->getRefItems( 'product', 'default', 'default' ) as $item ) {
408
+		foreach ($productItem->getRefItems('product', 'default', 'default') as $item) {
409 409
 			$subProductIds[] = $item->getId();
410 410
 		}
411 411
 
412
-		if( count( $subProductIds ) === 0 ) {
412
+		if (count($subProductIds) === 0) {
413 413
 			return array();
414 414
 		}
415 415
 
416
-		$productManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' );
417
-		$search = $productManager->createSearch( true );
416
+		$productManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product');
417
+		$search = $productManager->createSearch(true);
418 418
 
419 419
 		$expr = array(
420
-				$search->compare( '==', 'product.id', $subProductIds ),
420
+				$search->compare('==', 'product.id', $subProductIds),
421 421
 				$search->getConditions(),
422 422
 		);
423 423
 
424
-		if( count( $variantAttributeIds ) > 0 )
424
+		if (count($variantAttributeIds) > 0)
425 425
 		{
426
-			foreach( $variantAttributeIds as $key => $id ) {
426
+			foreach ($variantAttributeIds as $key => $id) {
427 427
 				$variantAttributeIds[$key] = (string) $id;
428 428
 			}
429 429
 
430
-			$listTypeItem = $this->getProductListTypeItem( 'attribute', 'variant' );
430
+			$listTypeItem = $this->getProductListTypeItem('attribute', 'variant');
431 431
 
432
-			$param = array( 'attribute', $listTypeItem->getId(), $variantAttributeIds );
433
-			$cmpfunc = $search->createFunction( 'product.contains', $param );
432
+			$param = array('attribute', $listTypeItem->getId(), $variantAttributeIds);
433
+			$cmpfunc = $search->createFunction('product.contains', $param);
434 434
 
435
-			$expr[] = $search->compare( '==', $cmpfunc, count( $variantAttributeIds ) );
435
+			$expr[] = $search->compare('==', $cmpfunc, count($variantAttributeIds));
436 436
 		}
437 437
 
438
-		$search->setConditions( $search->combine( '&&', $expr ) );
438
+		$search->setConditions($search->combine('&&', $expr));
439 439
 
440
-		return $productManager->searchItems( $search, $domains );
440
+		return $productManager->searchItems($search, $domains);
441 441
 	}
442 442
 
443 443
 
@@ -449,9 +449,9 @@  discard block
 block discarded – undo
449 449
 	 * @param mixed $default Default value if no value is available for the given name
450 450
 	 * @return mixed Value from the array or default value
451 451
 	 */
452
-	protected function getValue( array $values, $name, $default = null )
452
+	protected function getValue(array $values, $name, $default = null)
453 453
 	{
454
-		if( isset( $values[$name] ) ) {
454
+		if (isset($values[$name])) {
455 455
 			return $values[$name];
456 456
 		}
457 457
 
@@ -466,24 +466,24 @@  discard block
 block discarded – undo
466 466
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If product is not associated to at least one category
467 467
 	 * @deprecated 2016.05
468 468
 	 */
469
-	protected function checkCategory( $prodid )
469
+	protected function checkCategory($prodid)
470 470
 	{
471
-		$catalogListManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'catalog/lists' );
471
+		$catalogListManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'catalog/lists');
472 472
 
473
-		$search = $catalogListManager->createSearch( true );
473
+		$search = $catalogListManager->createSearch(true);
474 474
 		$expr = array(
475
-				$search->compare( '==', 'catalog.lists.refid', $prodid ),
475
+				$search->compare('==', 'catalog.lists.refid', $prodid),
476 476
 				$search->getConditions()
477 477
 		);
478
-		$search->setConditions( $search->combine( '&&', $expr ) );
479
-		$search->setSlice( 0, 1 );
478
+		$search->setConditions($search->combine('&&', $expr));
479
+		$search->setSlice(0, 1);
480 480
 
481
-		$result = $catalogListManager->searchItems( $search );
481
+		$result = $catalogListManager->searchItems($search);
482 482
 
483
-		if( reset( $result ) === false )
483
+		if (reset($result) === false)
484 484
 		{
485
-			$msg = sprintf( 'Adding product with ID "%1$s" is not allowed', $prodid );
486
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
485
+			$msg = sprintf('Adding product with ID "%1$s" is not allowed', $prodid);
486
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
487 487
 		}
488 488
 	}
489 489
 
@@ -495,35 +495,35 @@  discard block
 block discarded – undo
495 495
 	 * @param string $warehouse Unique code of the warehouse
496 496
 	 * @return integer|null Number of available items in stock (null for unlimited stock)
497 497
 	 */
498
-	protected function getStockLevel( $prodid, $warehouse )
498
+	protected function getStockLevel($prodid, $warehouse)
499 499
 	{
500
-		$manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product/stock' );
500
+		$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product/stock');
501 501
 
502
-		$search = $manager->createSearch( true );
502
+		$search = $manager->createSearch(true);
503 503
 		$expr = array(
504
-				$search->compare( '==', 'product.stock.parentid', $prodid ),
504
+				$search->compare('==', 'product.stock.parentid', $prodid),
505 505
 				$search->getConditions(),
506
-				$search->compare( '==', 'product.stock.warehouse.code', $warehouse ),
506
+				$search->compare('==', 'product.stock.warehouse.code', $warehouse),
507 507
 		);
508
-		$search->setConditions( $search->combine( '&&', $expr ) );
508
+		$search->setConditions($search->combine('&&', $expr));
509 509
 
510
-		$result = $manager->searchItems( $search );
510
+		$result = $manager->searchItems($search);
511 511
 
512
-		if( empty( $result ) )
512
+		if (empty($result))
513 513
 		{
514
-			$msg = sprintf( 'No stock for product ID "%1$s" and warehouse "%2$s" available', $prodid, $warehouse );
515
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
514
+			$msg = sprintf('No stock for product ID "%1$s" and warehouse "%2$s" available', $prodid, $warehouse);
515
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
516 516
 		}
517 517
 
518 518
 		$stocklevel = null;
519 519
 
520
-		foreach( $result as $item )
520
+		foreach ($result as $item)
521 521
 		{
522
-			if( ( $stock = $item->getStockLevel() ) === null ) {
522
+			if (($stock = $item->getStockLevel()) === null) {
523 523
 				return null;
524 524
 			}
525 525
 
526
-			$stocklevel = max( (int) $stocklevel, $item->getStockLevel() );
526
+			$stocklevel = max((int) $stocklevel, $item->getStockLevel());
527 527
 		}
528 528
 
529 529
 		return $stocklevel;
Please login to merge, or discard this patch.