Completed
Push — master ( 10ff4e...12c65b )
by Aimeos
02:25
created
controller/frontend/src/Controller/Frontend/Basket/Base.php 2 patches
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -160,8 +160,7 @@  discard block
 block discarded – undo
160 160
 			{
161 161
 				$this->setAddress( $type, $item->toArray() );
162 162
 				$basket->deleteAddress( $type );
163
-			}
164
-			catch( \Exception $e )
163
+			} catch( \Exception $e )
165 164
 			{
166 165
 				$logger = $this->getContext()->getLogger();
167 166
 				$str = 'Error migrating address with type "%1$s" in basket to locale "%2$s": %3$s';
@@ -190,8 +189,7 @@  discard block
 block discarded – undo
190 189
 			{
191 190
 				$this->addCoupon( $code );
192 191
 				$basket->deleteCoupon( $code, true );
193
-			}
194
-			catch( \Exception $e )
192
+			} catch( \Exception $e )
195 193
 			{
196 194
 				$logger = $this->getContext()->getLogger();
197 195
 				$str = 'Error migrating coupon with code "%1$s" in basket to locale "%2$s": %3$s';
@@ -240,8 +238,7 @@  discard block
 block discarded – undo
240 238
 				);
241 239
 
242 240
 				$basket->deleteProduct( $pos );
243
-			}
244
-			catch( \Exception $e )
241
+			} catch( \Exception $e )
245 242
 			{
246 243
 				$code = $product->getProductCode();
247 244
 				$logger = $this->getContext()->getLogger();
@@ -276,8 +273,7 @@  discard block
 block discarded – undo
276 273
 
277 274
 				$this->setService( $type, $item->getServiceId(), $attributes );
278 275
 				$basket->deleteService( $type );
279
-			}
280
-			catch( \Exception $e ) { ; } // Don't notify the user as appropriate services can be added automatically
276
+			} catch( \Exception $e ) { ; } // Don't notify the user as appropriate services can be added automatically
281 277
 		}
282 278
 
283 279
 		return $errors;
Please login to merge, or discard this patch.
Spacing   +150 added lines, -150 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, json_encode( $prodId ) );
101
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
100
+			$msg = sprintf('Invalid "%1$s" references for product with ID %2$s', $domain, json_encode($prodId));
101
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
102 102
 		}
103 103
 	}
104 104
 
@@ -108,41 +108,41 @@  discard block
 block discarded – undo
108 108
 	 *
109 109
 	 * @param string $type Basket type
110 110
 	 */
111
-	protected function checkLocale( $type )
111
+	protected function checkLocale($type)
112 112
 	{
113 113
 		$errors = array();
114 114
 		$context = $this->getContext();
115 115
 		$session = $context->getSession();
116 116
 		$locale = $this->get()->getLocale();
117 117
 
118
-		$localeStr = $session->get( 'aimeos/basket/locale' );
118
+		$localeStr = $session->get('aimeos/basket/locale');
119 119
 		$localeKey = $locale->getSite()->getCode() . '|' . $locale->getLanguageId() . '|' . $locale->getCurrencyId();
120 120
 
121
-		if( $localeStr !== null && $localeStr !== $localeKey )
121
+		if ($localeStr !== null && $localeStr !== $localeKey)
122 122
 		{
123
-			$locParts = explode( '|', $localeStr );
124
-			$locSite = ( isset( $locParts[0] ) ? $locParts[0] : '' );
125
-			$locLanguage = ( isset( $locParts[1] ) ? $locParts[1] : '' );
126
-			$locCurrency = ( isset( $locParts[2] ) ? $locParts[2] : '' );
123
+			$locParts = explode('|', $localeStr);
124
+			$locSite = (isset($locParts[0]) ? $locParts[0] : '');
125
+			$locLanguage = (isset($locParts[1]) ? $locParts[1] : '');
126
+			$locCurrency = (isset($locParts[2]) ? $locParts[2] : '');
127 127
 
128
-			$localeManager = \Aimeos\MShop\Factory::createManager( $context, 'locale' );
129
-			$locale = $localeManager->bootstrap( $locSite, $locLanguage, $locCurrency, false );
128
+			$localeManager = \Aimeos\MShop\Factory::createManager($context, 'locale');
129
+			$locale = $localeManager->bootstrap($locSite, $locLanguage, $locCurrency, false);
130 130
 
131 131
 			$context = clone $context;
132
-			$context->setLocale( $locale );
132
+			$context->setLocale($locale);
133 133
 
134
-			$manager = \Aimeos\MShop\Order\Manager\Factory::createManager( $context )->getSubManager( 'base' );
135
-			$basket = $manager->getSession( $type );
134
+			$manager = \Aimeos\MShop\Order\Manager\Factory::createManager($context)->getSubManager('base');
135
+			$basket = $manager->getSession($type);
136 136
 
137
-			$this->copyAddresses( $basket, $errors, $localeKey );
138
-			$this->copyServices( $basket, $errors );
139
-			$this->copyProducts( $basket, $errors, $localeKey );
140
-			$this->copyCoupons( $basket, $errors, $localeKey );
137
+			$this->copyAddresses($basket, $errors, $localeKey);
138
+			$this->copyServices($basket, $errors);
139
+			$this->copyProducts($basket, $errors, $localeKey);
140
+			$this->copyCoupons($basket, $errors, $localeKey);
141 141
 
142
-			$manager->setSession( $basket, $type );
142
+			$manager->setSession($basket, $type);
143 143
 		}
144 144
 
145
-		$session->set( 'aimeos/basket/locale', $localeKey );
145
+		$session->set('aimeos/basket/locale', $localeKey);
146 146
 	}
147 147
 
148 148
 
@@ -154,20 +154,20 @@  discard block
 block discarded – undo
154 154
 	 * @param string $localeKey Unique identifier of the site, language and currency
155 155
 	 * @return array Associative list of errors occured
156 156
 	 */
157
-	protected function copyAddresses( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey )
157
+	protected function copyAddresses(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey)
158 158
 	{
159
-		foreach( $basket->getAddresses() as $type => $item )
159
+		foreach ($basket->getAddresses() as $type => $item)
160 160
 		{
161 161
 			try
162 162
 			{
163
-				$this->setAddress( $type, $item->toArray() );
164
-				$basket->deleteAddress( $type );
163
+				$this->setAddress($type, $item->toArray());
164
+				$basket->deleteAddress($type);
165 165
 			}
166
-			catch( \Exception $e )
166
+			catch (\Exception $e)
167 167
 			{
168 168
 				$logger = $this->getContext()->getLogger();
169 169
 				$str = 'Error migrating address with type "%1$s" in basket to locale "%2$s": %3$s';
170
-				$logger->log( sprintf( $str, $type, $localeKey, $e->getMessage() ), \Aimeos\MW\Logger\Base::INFO );
170
+				$logger->log(sprintf($str, $type, $localeKey, $e->getMessage()), \Aimeos\MW\Logger\Base::INFO);
171 171
 				$errors['address'][$type] = $e->getMessage();
172 172
 			}
173 173
 		}
@@ -184,20 +184,20 @@  discard block
 block discarded – undo
184 184
 	 * @param string $localeKey Unique identifier of the site, language and currency
185 185
 	 * @return array Associative list of errors occured
186 186
 	 */
187
-	protected function copyCoupons( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey )
187
+	protected function copyCoupons(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey)
188 188
 	{
189
-		foreach( $basket->getCoupons() as $code => $list )
189
+		foreach ($basket->getCoupons() as $code => $list)
190 190
 		{
191 191
 			try
192 192
 			{
193
-				$this->addCoupon( $code );
194
-				$basket->deleteCoupon( $code, true );
193
+				$this->addCoupon($code);
194
+				$basket->deleteCoupon($code, true);
195 195
 			}
196
-			catch( \Exception $e )
196
+			catch (\Exception $e)
197 197
 			{
198 198
 				$logger = $this->getContext()->getLogger();
199 199
 				$str = 'Error migrating coupon with code "%1$s" in basket to locale "%2$s": %3$s';
200
-				$logger->log( sprintf( $str, $code, $localeKey, $e->getMessage() ), \Aimeos\MW\Logger\Base::INFO );
200
+				$logger->log(sprintf($str, $code, $localeKey, $e->getMessage()), \Aimeos\MW\Logger\Base::INFO);
201 201
 				$errors['coupon'][$code] = $e->getMessage();
202 202
 			}
203 203
 		}
@@ -214,11 +214,11 @@  discard block
 block discarded – undo
214 214
 	 * @param string $localeKey Unique identifier of the site, language and currency
215 215
 	 * @return array Associative list of errors occured
216 216
 	 */
217
-	protected function copyProducts( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey )
217
+	protected function copyProducts(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors, $localeKey)
218 218
 	{
219
-		foreach( $basket->getProducts() as $pos => $product )
219
+		foreach ($basket->getProducts() as $pos => $product)
220 220
 		{
221
-			if( $product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE ) {
221
+			if ($product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE) {
222 222
 				continue;
223 223
 			}
224 224
 
@@ -226,7 +226,7 @@  discard block
 block discarded – undo
226 226
 			{
227 227
 				$attrIds = array();
228 228
 
229
-				foreach( $product->getAttributes() as $attrItem ) {
229
+				foreach ($product->getAttributes() as $attrItem) {
230 230
 					$attrIds[$attrItem->getType()][] = $attrItem->getAttributeId();
231 231
 				}
232 232
 
@@ -234,23 +234,23 @@  discard block
 block discarded – undo
234 234
 					$product->getProductId(),
235 235
 					$product->getQuantity(),
236 236
 					array(),
237
-					$this->getValue( $attrIds, 'variant', array() ),
238
-					$this->getValue( $attrIds, 'config', array() ),
239
-					$this->getValue( $attrIds, 'hidden', array() ),
240
-					$this->getValue( $attrIds, 'custom', array() ),
237
+					$this->getValue($attrIds, 'variant', array()),
238
+					$this->getValue($attrIds, 'config', array()),
239
+					$this->getValue($attrIds, 'hidden', array()),
240
+					$this->getValue($attrIds, 'custom', array()),
241 241
 					$product->getStockType()
242 242
 				);
243 243
 
244
-				$basket->deleteProduct( $pos );
244
+				$basket->deleteProduct($pos);
245 245
 			}
246
-			catch( \Exception $e )
246
+			catch (\Exception $e)
247 247
 			{
248 248
 				$code = $product->getProductCode();
249 249
 				$logger = $this->getContext()->getLogger();
250 250
 				$errors['product'][$pos] = $e->getMessage();
251 251
 
252 252
 				$str = 'Error migrating product with code "%1$s" in basket to locale "%2$s": %3$s';
253
-				$logger->log( sprintf( $str, $code, $localeKey, $e->getMessage() ), \Aimeos\MW\Logger\Base::INFO );
253
+				$logger->log(sprintf($str, $code, $localeKey, $e->getMessage()), \Aimeos\MW\Logger\Base::INFO);
254 254
 			}
255 255
 		}
256 256
 
@@ -265,22 +265,22 @@  discard block
 block discarded – undo
265 265
 	 * @param array $errors Associative list of previous errors
266 266
 	 * @return array Associative list of errors occured
267 267
 	 */
268
-	protected function copyServices( \Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors )
268
+	protected function copyServices(\Aimeos\MShop\Order\Item\Base\Iface $basket, array $errors)
269 269
 	{
270
-		foreach( $basket->getServices() as $type => $item )
270
+		foreach ($basket->getServices() as $type => $item)
271 271
 		{
272 272
 			try
273 273
 			{
274 274
 				$attributes = array();
275 275
 
276
-				foreach( $item->getAttributes() as $attrItem ) {
276
+				foreach ($item->getAttributes() as $attrItem) {
277 277
 					$attributes[$attrItem->getCode()] = $attrItem->getValue();
278 278
 				}
279 279
 
280
-				$this->setService( $type, $item->getServiceId(), $attributes );
281
-				$basket->deleteService( $type );
280
+				$this->setService($type, $item->getServiceId(), $attributes);
281
+				$basket->deleteService($type);
282 282
 			}
283
-			catch( \Exception $e ) { ; } // Don't notify the user as appropriate services can be added automatically
283
+			catch (\Exception $e) {; } // Don't notify the user as appropriate services can be added automatically
284 284
 		}
285 285
 
286 286
 		return $errors;
@@ -298,36 +298,36 @@  discard block
 block discarded – undo
298 298
 	 * @param array $attributeValues Associative list of attribute IDs as keys and their codes as values
299 299
 	 * @return array List of items implementing \Aimeos\MShop\Order\Item\Product\Attribute\Iface
300 300
 	 */
301
-	protected function createOrderProductAttributes( \Aimeos\MShop\Price\Item\Iface $price, $prodid, $quantity,
302
-			array $attributeIds, $type, array $attributeValues = array() )
301
+	protected function createOrderProductAttributes(\Aimeos\MShop\Price\Item\Iface $price, $prodid, $quantity,
302
+			array $attributeIds, $type, array $attributeValues = array())
303 303
 	{
304
-		if( empty( $attributeIds ) ) {
304
+		if (empty($attributeIds)) {
305 305
 			return array();
306 306
 		}
307 307
 
308
-		$attrTypeId = $this->getProductListTypeItem( 'attribute', $type )->getId();
309
-		$this->checkReferences( $prodid, 'attribute', $attrTypeId, $attributeIds );
308
+		$attrTypeId = $this->getProductListTypeItem('attribute', $type)->getId();
309
+		$this->checkReferences($prodid, 'attribute', $attrTypeId, $attributeIds);
310 310
 
311 311
 		$list = array();
312 312
 		$context = $this->getContext();
313 313
 
314
-		$priceManager = \Aimeos\MShop\Factory::createManager( $context, 'price' );
315
-		$orderProductAttributeManager = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product/attribute' );
314
+		$priceManager = \Aimeos\MShop\Factory::createManager($context, 'price');
315
+		$orderProductAttributeManager = \Aimeos\MShop\Factory::createManager($context, 'order/base/product/attribute');
316 316
 
317
-		foreach( $this->getAttributes( $attributeIds ) as $id => $attrItem )
317
+		foreach ($this->getAttributes($attributeIds) as $id => $attrItem)
318 318
 		{
319
-			$prices = $attrItem->getRefItems( 'price', 'default', 'default' );
319
+			$prices = $attrItem->getRefItems('price', 'default', 'default');
320 320
 
321
-			if( !empty( $prices ) ) {
322
-				$price->addItem( $priceManager->getLowestPrice( $prices, $quantity ) );
321
+			if (!empty($prices)) {
322
+				$price->addItem($priceManager->getLowestPrice($prices, $quantity));
323 323
 			}
324 324
 
325 325
 			$item = $orderProductAttributeManager->createItem();
326
-			$item->copyFrom( $attrItem );
327
-			$item->setType( $type );
326
+			$item->copyFrom($attrItem);
327
+			$item->setType($type);
328 328
 
329
-			if( isset( $attributeValues[$id] ) ) {
330
-				$item->setValue( $attributeValues[$id] );
329
+			if (isset($attributeValues[$id])) {
330
+				$item->setValue($attributeValues[$id]);
331 331
 			}
332 332
 
333 333
 			$list[] = $item;
@@ -345,31 +345,31 @@  discard block
 block discarded – undo
345 345
 	 * @return array List of items implementing \Aimeos\MShop\Attribute\Item\Iface
346 346
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the actual attribute number doesn't match the expected one
347 347
 	 */
348
-	protected function getAttributes( array $attributeIds, array $domains = array( 'price', 'text' ) )
348
+	protected function getAttributes(array $attributeIds, array $domains = array('price', 'text'))
349 349
 	{
350
-		if( empty( $attributeIds ) ) {
350
+		if (empty($attributeIds)) {
351 351
 			return array();
352 352
 		}
353 353
 
354
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'attribute' );
354
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'attribute');
355 355
 
356
-		$search = $attributeManager->createSearch( true );
356
+		$search = $attributeManager->createSearch(true);
357 357
 		$expr = array(
358
-				$search->compare( '==', 'attribute.id', $attributeIds ),
358
+				$search->compare('==', 'attribute.id', $attributeIds),
359 359
 				$search->getConditions(),
360 360
 		);
361
-		$search->setConditions( $search->combine( '&&', $expr ) );
362
-		$search->setSlice( 0, 0x7fffffff );
361
+		$search->setConditions($search->combine('&&', $expr));
362
+		$search->setSlice(0, 0x7fffffff);
363 363
 
364
-		$attrItems = $attributeManager->searchItems( $search, $domains );
364
+		$attrItems = $attributeManager->searchItems($search, $domains);
365 365
 
366
-		if( count( $attrItems ) !== count( $attributeIds ) )
366
+		if (count($attrItems) !== count($attributeIds))
367 367
 		{
368
-			$expected = implode( ',', $attributeIds );
369
-			$actual = implode( ',', array_keys( $attrItems ) );
370
-			$msg = sprintf( 'Available attribute IDs "%1$s" do not match the given attribute IDs "%2$s"', $actual, $expected );
368
+			$expected = implode(',', $attributeIds);
369
+			$actual = implode(',', array_keys($attrItems));
370
+			$msg = sprintf('Available attribute IDs "%1$s" do not match the given attribute IDs "%2$s"', $actual, $expected);
371 371
 
372
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
372
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
373 373
 		}
374 374
 
375 375
 		return $attrItems;
@@ -382,31 +382,31 @@  discard block
 block discarded – undo
382 382
 	 * @param \Aimeos\MShop\Order\Item\Base\Product\Attribute\Item[] $orderAttributes List of order product attribute items
383 383
 	 * @return \Aimeos\MShop\Attribute\Item\Iface[] Associative list of attribute IDs as key and attribute items as values
384 384
 	 */
385
-	protected function getAttributeItems( array $orderAttributes )
385
+	protected function getAttributeItems(array $orderAttributes)
386 386
 	{
387
-		if( empty( $orderAttributes ) ) {
387
+		if (empty($orderAttributes)) {
388 388
 			return array();
389 389
 		}
390 390
 
391
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'attribute' );
392
-		$search = $attributeManager->createSearch( true );
391
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'attribute');
392
+		$search = $attributeManager->createSearch(true);
393 393
 		$expr = array();
394 394
 
395
-		foreach( $orderAttributes as $item )
395
+		foreach ($orderAttributes as $item)
396 396
 		{
397 397
 			$tmp = array(
398
-				$search->compare( '==', 'attribute.domain', 'product' ),
399
-				$search->compare( '==', 'attribute.code', $item->getValue() ),
400
-				$search->compare( '==', 'attribute.type.domain', 'product' ),
401
-				$search->compare( '==', 'attribute.type.code', $item->getCode() ),
402
-				$search->compare( '>', 'attribute.type.status', 0 ),
398
+				$search->compare('==', 'attribute.domain', 'product'),
399
+				$search->compare('==', 'attribute.code', $item->getValue()),
400
+				$search->compare('==', 'attribute.type.domain', 'product'),
401
+				$search->compare('==', 'attribute.type.code', $item->getCode()),
402
+				$search->compare('>', 'attribute.type.status', 0),
403 403
 				$search->getConditions(),
404 404
 			);
405
-			$expr[] = $search->combine( '&&', $tmp );
405
+			$expr[] = $search->combine('&&', $tmp);
406 406
 		}
407 407
 
408
-		$search->setConditions( $search->combine( '||', $expr ) );
409
-		return $attributeManager->searchItems( $search, array( 'price' ) );
408
+		$search->setConditions($search->combine('||', $expr));
409
+		return $attributeManager->searchItems($search, array('price'));
410 410
 	}
411 411
 
412 412
 
@@ -420,23 +420,23 @@  discard block
 block discarded – undo
420 420
 	 * @return \Aimeos\MShop\Common\Item\Iface Domain item object
421 421
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception
422 422
 	 */
423
-	protected function getDomainItem( $domain, $key, $value, array $ref )
423
+	protected function getDomainItem($domain, $key, $value, array $ref)
424 424
 	{
425
-		$manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), $domain );
425
+		$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), $domain);
426 426
 
427
-		$search = $manager->createSearch( true );
427
+		$search = $manager->createSearch(true);
428 428
 		$expr = array(
429
-			$search->compare( '==', $key, $value ),
429
+			$search->compare('==', $key, $value),
430 430
 			$search->getConditions(),
431 431
 		);
432
-		$search->setConditions( $search->combine( '&&', $expr ) );
432
+		$search->setConditions($search->combine('&&', $expr));
433 433
 
434
-		$result = $manager->searchItems( $search, $ref );
434
+		$result = $manager->searchItems($search, $ref);
435 435
 
436
-		if( ( $item = reset( $result ) ) === false )
436
+		if (($item = reset($result)) === false)
437 437
 		{
438
-			$msg = sprintf( 'No item for "%1$s" (%2$s) found', $value, $key );
439
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
438
+			$msg = sprintf('No item for "%1$s" (%2$s) found', $value, $key);
439
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
440 440
 		}
441 441
 
442 442
 		return $item;
@@ -450,26 +450,26 @@  discard block
 block discarded – undo
450 450
 	 * @param string $code Code of the list type
451 451
 	 * @return \Aimeos\MShop\Common\Item\Type\Iface List type item
452 452
 	 */
453
-	protected function getProductListTypeItem( $domain, $code )
453
+	protected function getProductListTypeItem($domain, $code)
454 454
 	{
455
-		if( !isset( $this->listTypeAttributes[$domain][$code] ) )
455
+		if (!isset($this->listTypeAttributes[$domain][$code]))
456 456
 		{
457
-			$listTypeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product/lists/type' );
457
+			$listTypeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product/lists/type');
458 458
 
459
-			$listTypeSearch = $listTypeManager->createSearch( true );
459
+			$listTypeSearch = $listTypeManager->createSearch(true);
460 460
 			$expr = array(
461
-				$listTypeSearch->compare( '==', 'product.lists.type.domain', $domain ),
462
-				$listTypeSearch->compare( '==', 'product.lists.type.code', $code ),
461
+				$listTypeSearch->compare('==', 'product.lists.type.domain', $domain),
462
+				$listTypeSearch->compare('==', 'product.lists.type.code', $code),
463 463
 				$listTypeSearch->getConditions(),
464 464
 			);
465
-			$listTypeSearch->setConditions( $listTypeSearch->combine( '&&', $expr ) );
465
+			$listTypeSearch->setConditions($listTypeSearch->combine('&&', $expr));
466 466
 
467
-			$listTypeItems = $listTypeManager->searchItems( $listTypeSearch );
467
+			$listTypeItems = $listTypeManager->searchItems($listTypeSearch);
468 468
 
469
-			if( ( $listTypeItem = reset( $listTypeItems ) ) === false )
469
+			if (($listTypeItem = reset($listTypeItems)) === false)
470 470
 			{
471
-				$msg = sprintf( 'List type for domain "%1$s" and code "%2$s" not found', $domain, $code );
472
-				throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
471
+				$msg = sprintf('List type for domain "%1$s" and code "%2$s" not found', $domain, $code);
472
+				throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
473 473
 			}
474 474
 
475 475
 			$this->listTypeAttributes[$domain][$code] = $listTypeItem;
@@ -487,43 +487,43 @@  discard block
 block discarded – undo
487 487
 	 * @param array $domains Names of the domain items that should be fetched too
488 488
 	 * @return array List of products matching the given attributes
489 489
 	 */
490
-	protected function getProductVariants( \Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds,
491
-			array $domains = array( 'attribute', 'media', 'price', 'text' ) )
490
+	protected function getProductVariants(\Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds,
491
+			array $domains = array('attribute', 'media', 'price', 'text'))
492 492
 	{
493 493
 		$subProductIds = array();
494
-		foreach( $productItem->getRefItems( 'product', 'default', 'default' ) as $item ) {
494
+		foreach ($productItem->getRefItems('product', 'default', 'default') as $item) {
495 495
 			$subProductIds[] = $item->getId();
496 496
 		}
497 497
 
498
-		if( count( $subProductIds ) === 0 ) {
498
+		if (count($subProductIds) === 0) {
499 499
 			return array();
500 500
 		}
501 501
 
502
-		$productManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' );
503
-		$search = $productManager->createSearch( true );
502
+		$productManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product');
503
+		$search = $productManager->createSearch(true);
504 504
 
505 505
 		$expr = array(
506
-			$search->compare( '==', 'product.id', $subProductIds ),
506
+			$search->compare('==', 'product.id', $subProductIds),
507 507
 			$search->getConditions(),
508 508
 		);
509 509
 
510
-		if( count( $variantAttributeIds ) > 0 )
510
+		if (count($variantAttributeIds) > 0)
511 511
 		{
512
-			foreach( $variantAttributeIds as $key => $id ) {
512
+			foreach ($variantAttributeIds as $key => $id) {
513 513
 				$variantAttributeIds[$key] = (string) $id;
514 514
 			}
515 515
 
516
-			$listTypeItem = $this->getProductListTypeItem( 'attribute', 'variant' );
516
+			$listTypeItem = $this->getProductListTypeItem('attribute', 'variant');
517 517
 
518
-			$param = array( 'attribute', $listTypeItem->getId(), $variantAttributeIds );
519
-			$cmpfunc = $search->createFunction( 'product.contains', $param );
518
+			$param = array('attribute', $listTypeItem->getId(), $variantAttributeIds);
519
+			$cmpfunc = $search->createFunction('product.contains', $param);
520 520
 
521
-			$expr[] = $search->compare( '==', $cmpfunc, count( $variantAttributeIds ) );
521
+			$expr[] = $search->compare('==', $cmpfunc, count($variantAttributeIds));
522 522
 		}
523 523
 
524
-		$search->setConditions( $search->combine( '&&', $expr ) );
524
+		$search->setConditions($search->combine('&&', $expr));
525 525
 
526
-		return $productManager->searchItems( $search, $domains );
526
+		return $productManager->searchItems($search, $domains);
527 527
 	}
528 528
 
529 529
 
@@ -535,9 +535,9 @@  discard block
 block discarded – undo
535 535
 	 * @param mixed $default Default value if no value is available for the given name
536 536
 	 * @return mixed Value from the array or default value
537 537
 	 */
538
-	protected function getValue( array $values, $name, $default = null )
538
+	protected function getValue(array $values, $name, $default = null)
539 539
 	{
540
-		if( isset( $values[$name] ) ) {
540
+		if (isset($values[$name])) {
541 541
 			return $values[$name];
542 542
 		}
543 543
 
Please login to merge, or discard this patch.
controller/frontend/tests/TestHelperFrontend.php 1 patch
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -15,15 +15,15 @@  discard block
 block discarded – undo
15 15
 	public static function bootstrap()
16 16
 	{
17 17
 		self::getAimeos();
18
-		\Aimeos\MShop\Factory::setCache( false );
19
-		\Aimeos\Controller\Frontend\Factory::setCache( false );
18
+		\Aimeos\MShop\Factory::setCache(false);
19
+		\Aimeos\Controller\Frontend\Factory::setCache(false);
20 20
 	}
21 21
 
22 22
 
23
-	public static function getContext( $site = 'unittest' )
23
+	public static function getContext($site = 'unittest')
24 24
 	{
25
-		if( !isset( self::$context[$site] ) ) {
26
-			self::$context[$site] = self::createContext( $site );
25
+		if (!isset(self::$context[$site])) {
26
+			self::$context[$site] = self::createContext($site);
27 27
 		}
28 28
 
29 29
 		return clone self::$context[$site];
@@ -32,13 +32,13 @@  discard block
 block discarded – undo
32 32
 
33 33
 	private static function getAimeos()
34 34
 	{
35
-		if( !isset( self::$aimeos ) )
35
+		if (!isset(self::$aimeos))
36 36
 		{
37 37
 			require_once 'Bootstrap.php';
38
-			spl_autoload_register( 'Aimeos\\Bootstrap::autoload' );
38
+			spl_autoload_register('Aimeos\\Bootstrap::autoload');
39 39
 
40
-			$extdir = dirname( dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) );
41
-			self::$aimeos = new \Aimeos\Bootstrap( array( $extdir ), true );
40
+			$extdir = dirname(dirname(dirname(dirname(dirname(__FILE__)))));
41
+			self::$aimeos = new \Aimeos\Bootstrap(array($extdir), true);
42 42
 		}
43 43
 
44 44
 		return self::$aimeos;
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
 	/**
49 49
 	 * @param string $site
50 50
 	 */
51
-	private static function createContext( $site )
51
+	private static function createContext($site)
52 52
 	{
53 53
 		$ctx = new \Aimeos\MShop\Context\Item\Standard();
54 54
 		$aimeos = self::getAimeos();
@@ -58,34 +58,34 @@  discard block
 block discarded – undo
58 58
 		$paths[] = __DIR__ . DIRECTORY_SEPARATOR . 'config';
59 59
 		$file = __DIR__ . DIRECTORY_SEPARATOR . 'confdoc.ser';
60 60
 
61
-		$conf = new \Aimeos\MW\Config\PHPArray( array(), $paths );
62
-		$conf = new \Aimeos\MW\Config\Decorator\Memory( $conf );
63
-		$conf = new \Aimeos\MW\Config\Decorator\Documentor( $conf, $file );
64
-		$ctx->setConfig( $conf );
61
+		$conf = new \Aimeos\MW\Config\PHPArray(array(), $paths);
62
+		$conf = new \Aimeos\MW\Config\Decorator\Memory($conf);
63
+		$conf = new \Aimeos\MW\Config\Decorator\Documentor($conf, $file);
64
+		$ctx->setConfig($conf);
65 65
 
66 66
 
67
-		$dbm = new \Aimeos\MW\DB\Manager\PDO( $conf );
68
-		$ctx->setDatabaseManager( $dbm );
67
+		$dbm = new \Aimeos\MW\DB\Manager\PDO($conf);
68
+		$ctx->setDatabaseManager($dbm);
69 69
 
70 70
 
71
-		$logger = new \Aimeos\MW\Logger\File( 'unittest.log', \Aimeos\MW\Logger\Base::DEBUG );
72
-		$ctx->setLogger( $logger );
71
+		$logger = new \Aimeos\MW\Logger\File('unittest.log', \Aimeos\MW\Logger\Base::DEBUG);
72
+		$ctx->setLogger($logger);
73 73
 
74 74
 
75
-		$i18n = new \Aimeos\MW\Translation\None( 'de' );
76
-		$ctx->setI18n( array( 'de' => $i18n ) );
75
+		$i18n = new \Aimeos\MW\Translation\None('de');
76
+		$ctx->setI18n(array('de' => $i18n));
77 77
 
78 78
 
79 79
 		$session = new \Aimeos\MW\Session\None();
80
-		$ctx->setSession( $session );
80
+		$ctx->setSession($session);
81 81
 
82 82
 
83
-		$localeManager = \Aimeos\MShop\Locale\Manager\Factory::createManager( $ctx );
84
-		$locale = $localeManager->bootstrap( $site, '', '', false );
85
-		$ctx->setLocale( $locale );
83
+		$localeManager = \Aimeos\MShop\Locale\Manager\Factory::createManager($ctx);
84
+		$locale = $localeManager->bootstrap($site, '', '', false);
85
+		$ctx->setLocale($locale);
86 86
 
87 87
 
88
-		$ctx->setEditor( 'core:controller/frontend' );
88
+		$ctx->setEditor('core:controller/frontend');
89 89
 
90 90
 		return $ctx;
91 91
 	}
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
@@ -41,27 +41,27 @@
 block discarded – undo
41 41
 	 * @param string $stocktype Unique code of the stock type to deliver the products from
42 42
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
43 43
 	 */
44
-	public function addProduct( $prodid, $quantity = 1, array $options = array(), array $variantAttributeIds = array(),
44
+	public function addProduct($prodid, $quantity = 1, array $options = array(), array $variantAttributeIds = array(),
45 45
 		array $configAttributeIds = array(), array $hiddenAttributeIds = array(), array $customAttributeValues = array(),
46
-		$stocktype = 'default' )
46
+		$stocktype = 'default')
47 47
 	{
48
-		$catalogListManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'catalog/lists' );
48
+		$catalogListManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'catalog/lists');
49 49
 
50
-		$search = $catalogListManager->createSearch( true );
50
+		$search = $catalogListManager->createSearch(true);
51 51
 		$expr = array(
52
-			$search->compare( '==', 'catalog.lists.domain', 'product' ),
53
-			$search->compare( '==', 'catalog.lists.refid', $prodid ),
52
+			$search->compare('==', 'catalog.lists.domain', 'product'),
53
+			$search->compare('==', 'catalog.lists.refid', $prodid),
54 54
 			$search->getConditions()
55 55
 		);
56
-		$search->setConditions( $search->combine( '&&', $expr ) );
57
-		$search->setSlice( 0, 1 );
56
+		$search->setConditions($search->combine('&&', $expr));
57
+		$search->setSlice(0, 1);
58 58
 
59
-		$result = $catalogListManager->searchItems( $search );
59
+		$result = $catalogListManager->searchItems($search);
60 60
 
61
-		if( reset( $result ) === false )
61
+		if (reset($result) === false)
62 62
 		{
63
-			$msg = sprintf( 'Adding product with ID "%1$s" is not allowed', $prodid );
64
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
63
+			$msg = sprintf('Adding product with ID "%1$s" is not allowed', $prodid);
64
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
65 65
 		}
66 66
 
67 67
 		$this->getController()->addProduct(
Please login to merge, or discard this patch.
controller/frontend/tests/Controller/Frontend/Common/Decorator/Example.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@
 block discarded – undo
21 21
 class Example
22 22
 	implements \Aimeos\Controller\Frontend\Common\Decorator\Iface
23 23
 {
24
-	public function __construct( \Aimeos\Controller\Frontend\Iface $controller, \Aimeos\MShop\Context\Item\Iface $context )
24
+	public function __construct(\Aimeos\Controller\Frontend\Iface $controller, \Aimeos\MShop\Context\Item\Iface $context)
25 25
 	{
26 26
 	}
27 27
 }
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Basket/Decorator/Select.php 2 patches
Braces   +6 added lines, -4 removed lines patch added patch discarded remove patch
@@ -104,10 +104,11 @@  discard block
 block discarded – undo
104 104
 		{
105 105
 			$msg = sprintf( 'No unique article found for selected attributes and product ID "%1$s"', $productItem->getId() );
106 106
 			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
107
-		}
108
-		else if( ( $result = reset( $productItems ) ) !== false ) // count == 1
107
+		} else if( ( $result = reset( $productItems ) ) !== false ) {
108
+			// count == 1
109 109
 		{
110 110
 			$productItem = $result;
111
+		}
111 112
 			$orderBaseProductItem->setProductCode( $productItem->getCode() );
112 113
 
113 114
 			$subprices = $productItem->getRefItems( 'price', 'default', 'default' );
@@ -133,10 +134,11 @@  discard block
 block discarded – undo
133 134
 
134 135
 				$attr[] = $orderAttributeItem;
135 136
 			}
136
-		}
137
-		else if( !isset( $options['variant'] ) || $options['variant'] != false ) // count == 0
137
+		} else if( !isset( $options['variant'] ) || $options['variant'] != false ) {
138
+			// count == 0
138 139
 		{
139 140
 			$msg = sprintf( 'No article found for selected attributes and product ID "%1$s"', $productItem->getId() );
141
+		}
140 142
 			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
141 143
 		}
142 144
 
Please login to merge, or discard this patch.
Spacing   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -41,15 +41,15 @@  discard block
 block discarded – undo
41 41
 	 * @param string $stocktype Unique code of the stock type to deliver the products from
42 42
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
43 43
 	 */
44
-	public function addProduct( $prodid, $quantity = 1, array $options = array(), array $variantAttributeIds = array(),
44
+	public function addProduct($prodid, $quantity = 1, array $options = array(), array $variantAttributeIds = array(),
45 45
 		array $configAttributeIds = array(), array $hiddenAttributeIds = array(), array $customAttributeValues = array(),
46
-		$stocktype = 'default' )
46
+		$stocktype = 'default')
47 47
 	{
48 48
 		$context = $this->getContext();
49
-		$productManager = \Aimeos\MShop\Factory::createManager( $context, 'product' );
50
-		$productItem = $productManager->getItem( $prodid, [], true );
49
+		$productManager = \Aimeos\MShop\Factory::createManager($context, 'product');
50
+		$productItem = $productManager->getItem($prodid, [], true);
51 51
 
52
-		if( $productItem->getType() !== 'select' )
52
+		if ($productItem->getType() !== 'select')
53 53
 		{
54 54
 			return $this->getController()->addProduct(
55 55
 				$prodid, $quantity, $options, $variantAttributeIds, $configAttributeIds,
@@ -57,31 +57,31 @@  discard block
 block discarded – undo
57 57
 			);
58 58
 		}
59 59
 
60
-		$productItem = $productManager->getItem( $prodid, array( 'media', 'supplier', 'price', 'product', 'text' ), true );
60
+		$productItem = $productManager->getItem($prodid, array('media', 'supplier', 'price', 'product', 'text'), true);
61 61
 
62
-		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product' )->createItem();
63
-		$orderBaseProductItem->copyFrom( $productItem );
64
-		$orderBaseProductItem->setQuantity( $quantity );
65
-		$orderBaseProductItem->setStockType( $stocktype );
62
+		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager($context, 'order/base/product')->createItem();
63
+		$orderBaseProductItem->copyFrom($productItem);
64
+		$orderBaseProductItem->setQuantity($quantity);
65
+		$orderBaseProductItem->setStockType($stocktype);
66 66
 
67
-		$prices = $productItem->getRefItems( 'price', 'default', 'default' );
68
-		$attr = $this->getVariantDetails( $orderBaseProductItem, $productItem, $prices, $variantAttributeIds, $options );
69
-		$prodIds = array( $prodid, $productItem->getId() );
67
+		$prices = $productItem->getRefItems('price', 'default', 'default');
68
+		$attr = $this->getVariantDetails($orderBaseProductItem, $productItem, $prices, $variantAttributeIds, $options);
69
+		$prodIds = array($prodid, $productItem->getId());
70 70
 
71
-		$priceManager = \Aimeos\MShop\Factory::createManager( $context, 'price' );
72
-		$price = $priceManager->getLowestPrice( $prices, $quantity );
71
+		$priceManager = \Aimeos\MShop\Factory::createManager($context, 'price');
72
+		$price = $priceManager->getLowestPrice($prices, $quantity);
73 73
 
74
-		$attr = array_merge( $attr, $this->createOrderProductAttributes( $price, $prodIds, $quantity, $configAttributeIds, 'config' ) );
75
-		$attr = array_merge( $attr, $this->createOrderProductAttributes( $price, $prodIds, $quantity, $hiddenAttributeIds, 'hidden' ) );
76
-		$attr = array_merge( $attr, $this->createOrderProductAttributes( $price, $prodIds, $quantity, array_keys( $customAttributeValues ), 'custom', $customAttributeValues ) );
74
+		$attr = array_merge($attr, $this->createOrderProductAttributes($price, $prodIds, $quantity, $configAttributeIds, 'config'));
75
+		$attr = array_merge($attr, $this->createOrderProductAttributes($price, $prodIds, $quantity, $hiddenAttributeIds, 'hidden'));
76
+		$attr = array_merge($attr, $this->createOrderProductAttributes($price, $prodIds, $quantity, array_keys($customAttributeValues), 'custom', $customAttributeValues));
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
-		$orderBaseProductItem->setPrice( $price );
82
-		$orderBaseProductItem->setAttributes( $attr );
81
+		$orderBaseProductItem->setPrice($price);
82
+		$orderBaseProductItem->setAttributes($attr);
83 83
 
84
-		$this->getController()->get()->addProduct( $orderBaseProductItem );
84
+		$this->getController()->get()->addProduct($orderBaseProductItem);
85 85
 		$this->getController()->save();
86 86
 	}
87 87
 
@@ -97,50 +97,50 @@  discard block
 block discarded – undo
97 97
 	 * @return \Aimeos\MShop\Order\Item\Base\Product\Attribute\Iface[] List of order product attributes
98 98
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If no product variant is found
99 99
 	 */
100
-	protected function getVariantDetails( \Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
101
-		\Aimeos\MShop\Product\Item\Iface &$productItem, array &$prices, array $variantAttributeIds, array $options )
100
+	protected function getVariantDetails(\Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
101
+		\Aimeos\MShop\Product\Item\Iface & $productItem, array &$prices, array $variantAttributeIds, array $options)
102 102
 	{
103 103
 		$attr = array();
104
-		$productItems = $this->getProductVariants( $productItem, $variantAttributeIds );
104
+		$productItems = $this->getProductVariants($productItem, $variantAttributeIds);
105 105
 
106
-		if( count( $productItems ) > 1 )
106
+		if (count($productItems) > 1)
107 107
 		{
108
-			$msg = sprintf( 'No unique article found for selected attributes and product ID "%1$s"', $productItem->getId() );
109
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
108
+			$msg = sprintf('No unique article found for selected attributes and product ID "%1$s"', $productItem->getId());
109
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
110 110
 		}
111
-		else if( ( $result = reset( $productItems ) ) !== false ) // count == 1
111
+		else if (($result = reset($productItems)) !== false) // count == 1
112 112
 		{
113 113
 			$productItem = $result;
114
-			$orderBaseProductItem->setProductCode( $productItem->getCode() );
114
+			$orderBaseProductItem->setProductCode($productItem->getCode());
115 115
 
116
-			$subprices = $productItem->getRefItems( 'price', 'default', 'default' );
116
+			$subprices = $productItem->getRefItems('price', 'default', 'default');
117 117
 
118
-			if( !empty( $subprices ) ) {
118
+			if (!empty($subprices)) {
119 119
 				$prices = $subprices;
120 120
 			}
121 121
 
122
-			$submedia = $productItem->getRefItems( 'media', 'default', 'default' );
122
+			$submedia = $productItem->getRefItems('media', 'default', 'default');
123 123
 
124
-			if( ( $mediaItem = reset( $submedia ) ) !== false ) {
125
-				$orderBaseProductItem->setMediaUrl( $mediaItem->getPreview() );
124
+			if (($mediaItem = reset($submedia)) !== false) {
125
+				$orderBaseProductItem->setMediaUrl($mediaItem->getPreview());
126 126
 			}
127 127
 
128
-			$orderProductAttrManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/product/attribute' );
129
-			$variantAttributes = $productItem->getRefItems( 'attribute', null, 'variant' );
128
+			$orderProductAttrManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/product/attribute');
129
+			$variantAttributes = $productItem->getRefItems('attribute', null, 'variant');
130 130
 
131
-			foreach( $this->getAttributes( array_keys( $variantAttributes ), array( 'text' ) ) as $attrItem )
131
+			foreach ($this->getAttributes(array_keys($variantAttributes), array('text')) as $attrItem)
132 132
 			{
133 133
 				$orderAttributeItem = $orderProductAttrManager->createItem();
134
-				$orderAttributeItem->copyFrom( $attrItem );
135
-				$orderAttributeItem->setType( 'variant' );
134
+				$orderAttributeItem->copyFrom($attrItem);
135
+				$orderAttributeItem->setType('variant');
136 136
 
137 137
 				$attr[] = $orderAttributeItem;
138 138
 			}
139 139
 		}
140
-		else if( !isset( $options['variant'] ) || $options['variant'] != false ) // count == 0
140
+		else if (!isset($options['variant']) || $options['variant'] != false) // count == 0
141 141
 		{
142
-			$msg = sprintf( 'No article found for selected attributes and product ID "%1$s"', $productItem->getId() );
143
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
142
+			$msg = sprintf('No article found for selected attributes and product ID "%1$s"', $productItem->getId());
143
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
144 144
 		}
145 145
 
146 146
 		return $attr;
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Common/Decorator/Iface.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -26,5 +26,5 @@
 block discarded – undo
26 26
 	 * @param \Aimeos\Controller\Frontend\Iface $controller Controller object
27 27
 	 * @param \Aimeos\MShop\Context\Item\Iface $context Context object with required objects
28 28
 	 */
29
-	public function __construct( \Aimeos\Controller\Frontend\Iface $controller, \Aimeos\MShop\Context\Item\Iface $context );
29
+	public function __construct(\Aimeos\Controller\Frontend\Iface $controller, \Aimeos\MShop\Context\Item\Iface $context);
30 30
 }
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Common/Iface.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -26,6 +26,6 @@
 block discarded – undo
26 26
 	 *
27 27
 	 * @param \Aimeos\MShop\Context\Item\Iface $context MShop context object
28 28
 	 */
29
-	public function __construct( \Aimeos\MShop\Context\Item\Iface $context );
29
+	public function __construct(\Aimeos\MShop\Context\Item\Iface $context);
30 30
 
31 31
 }
Please login to merge, or discard this patch.
controller/frontend/config/controller.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@
 block discarded – undo
4 4
 	'frontend' => array(
5 5
 		'basket' => array(
6 6
 			'decorators' => array(
7
-				'local' => array( 'Category', 'Bundle', 'Select' ),
7
+				'local' => array('Category', 'Bundle', 'Select'),
8 8
 			),
9 9
 		),
10 10
 	),
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Product/Standard.php 2 patches
Doc Comments   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -268,6 +268,7 @@  discard block
 block discarded – undo
268 268
 	 * @param \Aimeos\MW\Criteria\Iface $filter Critera object which contains the filter conditions
269 269
 	 * @param string[] $domains Domain names of items that are associated with the products and that should be fetched too
270 270
 	 * @param integer &$total Parameter where the total number of found products will be stored in
271
+	 * @param integer $total
271 272
 	 * @return array Ordered list of product items implementing \Aimeos\MShop\Product\Item\Iface
272 273
 	 * @since 2017.03
273 274
 	 */
@@ -293,7 +294,7 @@  discard block
 block discarded – undo
293 294
 	 * Returns the list of catalog IDs for the given catalog tree
294 295
 	 *
295 296
 	 * @param \Aimeos\MShop\Catalog\Item\Iface $item Catalog item with children
296
-	 * @return array List of catalog IDs
297
+	 * @return integer[] List of catalog IDs
297 298
 	 */
298 299
 	protected function getCatalogIdsFromTree( \Aimeos\MShop\Catalog\Item\Iface $item )
299 300
 	{
Please login to merge, or discard this patch.
Spacing   +71 added lines, -71 removed lines patch added patch discarded remove patch
@@ -31,42 +31,42 @@  discard block
 block discarded – undo
31 31
 	 * @return \Aimeos\MW\Criteria\Iface Criteria object containing the conditions for searching
32 32
 	 * @since 2017.03
33 33
 	 */
34
-	public function addFilterAttribute( \Aimeos\MW\Criteria\Iface $filter, array $attrIds, array $optIds, array $oneIds )
34
+	public function addFilterAttribute(\Aimeos\MW\Criteria\Iface $filter, array $attrIds, array $optIds, array $oneIds)
35 35
 	{
36
-		if( !empty( $attrIds ) )
36
+		if (!empty($attrIds))
37 37
 		{
38
-			$attrIds = $this->validateIds( $attrIds );
38
+			$attrIds = $this->validateIds($attrIds);
39 39
 
40
-			$func = $filter->createFunction( 'index.attributeaggregate', array( $attrIds ) );
40
+			$func = $filter->createFunction('index.attributeaggregate', array($attrIds));
41 41
 			$expr = array(
42
-				$filter->compare( '==', $func, count( $attrIds ) ),
42
+				$filter->compare('==', $func, count($attrIds)),
43 43
 				$filter->getConditions(),
44 44
 			);
45
-			$filter->setConditions( $filter->combine( '&&', $expr ) );
45
+			$filter->setConditions($filter->combine('&&', $expr));
46 46
 		}
47 47
 
48
-		if( !empty( $optIds ) )
48
+		if (!empty($optIds))
49 49
 		{
50
-			$optIds = $this->validateIds( $optIds );
50
+			$optIds = $this->validateIds($optIds);
51 51
 
52
-			$func = $filter->createFunction( 'index.attributeaggregate', array( $optIds ) );
52
+			$func = $filter->createFunction('index.attributeaggregate', array($optIds));
53 53
 			$expr = array(
54
-				$filter->compare( '>', $func, 0 ),
54
+				$filter->compare('>', $func, 0),
55 55
 				$filter->getConditions(),
56 56
 			);
57
-			$filter->setConditions( $filter->combine( '&&', $expr ) );
57
+			$filter->setConditions($filter->combine('&&', $expr));
58 58
 		}
59 59
 
60
-		foreach( $oneIds as $type => $list )
60
+		foreach ($oneIds as $type => $list)
61 61
 		{
62
-			if( ( $list = $this->validateIds( (array) $list ) ) !== array() )
62
+			if (($list = $this->validateIds((array) $list)) !== array())
63 63
 			{
64
-				$func = $filter->createFunction( 'index.attributeaggregate', array( $list ) );
64
+				$func = $filter->createFunction('index.attributeaggregate', array($list));
65 65
 				$expr = array(
66
-					$filter->compare( '>', $func, 0 ),
66
+					$filter->compare('>', $func, 0),
67 67
 					$filter->getConditions(),
68 68
 				);
69
-				$filter->setConditions( $filter->combine( '&&', $expr ) );
69
+				$filter->setConditions($filter->combine('&&', $expr));
70 70
 			}
71 71
 		}
72 72
 
@@ -86,38 +86,38 @@  discard block
 block discarded – undo
86 86
 	 * @return \Aimeos\MW\Criteria\Iface Criteria object containing the conditions for searching
87 87
 	 * @since 2017.03
88 88
 	 */
89
-	public function addFilterCategory( \Aimeos\MW\Criteria\Iface $filter, $catId,
90
-		$level = \Aimeos\MW\Tree\Manager\Base::LEVEL_ONE, $sort = null, $direction = '+', $listtype = 'default' )
89
+	public function addFilterCategory(\Aimeos\MW\Criteria\Iface $filter, $catId,
90
+		$level = \Aimeos\MW\Tree\Manager\Base::LEVEL_ONE, $sort = null, $direction = '+', $listtype = 'default')
91 91
 	{
92
-		$catIds = ( !is_array( $catId ) ? explode( ',', $catId ) : $catId );
92
+		$catIds = (!is_array($catId) ? explode(',', $catId) : $catId);
93 93
 
94
-		if( $level != \Aimeos\MW\Tree\Manager\Base::LEVEL_ONE )
94
+		if ($level != \Aimeos\MW\Tree\Manager\Base::LEVEL_ONE)
95 95
 		{
96 96
 			$list = array();
97
-			$cntl = \Aimeos\Controller\Frontend\Factory::createController( $this->getContext(), 'catalog' );
97
+			$cntl = \Aimeos\Controller\Frontend\Factory::createController($this->getContext(), 'catalog');
98 98
 
99
-			foreach( $catIds as $catId )
99
+			foreach ($catIds as $catId)
100 100
 			{
101
-				$tree = $cntl->getCatalogTree( $catId, array(), $level );
102
-				$list = array_merge( $list, $this->getCatalogIdsFromTree( $tree ) );
101
+				$tree = $cntl->getCatalogTree($catId, array(), $level);
102
+				$list = array_merge($list, $this->getCatalogIdsFromTree($tree));
103 103
 			}
104 104
 
105 105
 			$catIds = $list;
106 106
 		}
107 107
 
108
-		$expr = array( $filter->compare( '==', 'index.catalog.id', array_unique( $catIds ) ) );
108
+		$expr = array($filter->compare('==', 'index.catalog.id', array_unique($catIds)));
109 109
 		$expr[] = $filter->getConditions();
110 110
 
111
-		if( $sort === 'relevance' )
111
+		if ($sort === 'relevance')
112 112
 		{
113
-			$cmpfunc = $filter->createFunction( 'index.catalog.position', array( $listtype, $catIds ) );
114
-			$expr[] = $filter->compare( '>=', $cmpfunc, 0 );
113
+			$cmpfunc = $filter->createFunction('index.catalog.position', array($listtype, $catIds));
114
+			$expr[] = $filter->compare('>=', $cmpfunc, 0);
115 115
 
116
-			$sortfunc = $filter->createFunction( 'sort:index.catalog.position', array( $listtype, $catIds ) );
117
-			$filter->setSortations( array( $filter->sort( $direction, $sortfunc ) ) );
116
+			$sortfunc = $filter->createFunction('sort:index.catalog.position', array($listtype, $catIds));
117
+			$filter->setSortations(array($filter->sort($direction, $sortfunc)));
118 118
 		}
119 119
 
120
-		$filter->setConditions( $filter->combine( '&&', $expr ) );
120
+		$filter->setConditions($filter->combine('&&', $expr));
121 121
 
122 122
 		return $filter;
123 123
 	}
@@ -134,13 +134,13 @@  discard block
 block discarded – undo
134 134
 	 * @return \Aimeos\MW\Criteria\Iface Criteria object containing the conditions for searching
135 135
 	 * @since 2017.03
136 136
 	 */
137
-	public function addFilterText( \Aimeos\MW\Criteria\Iface $filter, $input, $sort = null, $direction = '+', $listtype = 'default' )
137
+	public function addFilterText(\Aimeos\MW\Criteria\Iface $filter, $input, $sort = null, $direction = '+', $listtype = 'default')
138 138
 	{
139 139
 		$langid = $this->getContext()->getLocale()->getLanguageId();
140
-		$cmpfunc = $filter->createFunction( 'index.text.relevance', array( $listtype, $langid, $input ) );
141
-		$expr = array( $filter->compare( '>', $cmpfunc, 0 ), $filter->getConditions() );
140
+		$cmpfunc = $filter->createFunction('index.text.relevance', array($listtype, $langid, $input));
141
+		$expr = array($filter->compare('>', $cmpfunc, 0), $filter->getConditions());
142 142
 
143
-		return $filter->setConditions( $filter->combine( '&&', $expr ) );
143
+		return $filter->setConditions($filter->combine('&&', $expr));
144 144
 	}
145 145
 
146 146
 
@@ -152,9 +152,9 @@  discard block
 block discarded – undo
152 152
 	 * @return array Associative list of key values as key and the product count for this key as value
153 153
 	 * @since 2017.03
154 154
 	 */
155
-	public function aggregate( \Aimeos\MW\Criteria\Iface $filter, $key )
155
+	public function aggregate(\Aimeos\MW\Criteria\Iface $filter, $key)
156 156
 	{
157
-		return \Aimeos\MShop\Factory::createManager( $this->getContext(), 'index' )->aggregate( $filter, $key );
157
+		return \Aimeos\MShop\Factory::createManager($this->getContext(), 'index')->aggregate($filter, $key);
158 158
 	}
159 159
 
160 160
 
@@ -169,46 +169,46 @@  discard block
 block discarded – undo
169 169
 	 * @return \Aimeos\MW\Criteria\Iface Criteria object containing the conditions for searching
170 170
 	 * @since 2017.03
171 171
 	 */
172
-	public function createFilter( $sort = null, $direction = '+', $start = 0, $size = 100, $listtype = 'default' )
172
+	public function createFilter($sort = null, $direction = '+', $start = 0, $size = 100, $listtype = 'default')
173 173
 	{
174 174
 		$sortations = array();
175 175
 		$context = $this->getContext();
176 176
 
177
-		$search = \Aimeos\MShop\Factory::createManager( $context, 'index' )->createSearch( true );
178
-		$expr = array( $search->compare( '!=', 'index.catalog.id', null ) );
177
+		$search = \Aimeos\MShop\Factory::createManager($context, 'index')->createSearch(true);
178
+		$expr = array($search->compare('!=', 'index.catalog.id', null));
179 179
 
180
-		switch( $sort )
180
+		switch ($sort)
181 181
 		{
182 182
 			case 'code':
183
-				$sortations[] = $search->sort( $direction, 'product.code' );
183
+				$sortations[] = $search->sort($direction, 'product.code');
184 184
 				break;
185 185
 
186 186
 			case 'name':
187 187
 				$langid = $context->getLocale()->getLanguageId();
188 188
 
189
-				$cmpfunc = $search->createFunction( 'index.text.value', array( $listtype, $langid, 'name', 'product' ) );
190
-				$expr[] = $search->compare( '>=', $cmpfunc, '' );
189
+				$cmpfunc = $search->createFunction('index.text.value', array($listtype, $langid, 'name', 'product'));
190
+				$expr[] = $search->compare('>=', $cmpfunc, '');
191 191
 
192
-				$sortfunc = $search->createFunction( 'sort:index.text.value', array( $listtype, $langid, 'name' ) );
193
-				$sortations[] = $search->sort( $direction, $sortfunc );
192
+				$sortfunc = $search->createFunction('sort:index.text.value', array($listtype, $langid, 'name'));
193
+				$sortations[] = $search->sort($direction, $sortfunc);
194 194
 				break;
195 195
 
196 196
 			case 'price':
197 197
 				$currencyid = $context->getLocale()->getCurrencyId();
198 198
 
199
-				$cmpfunc = $search->createFunction( 'index.price.value', array( $listtype, $currencyid, 'default' ) );
200
-				$expr[] = $search->compare( '>=', $cmpfunc, '0.00' );
199
+				$cmpfunc = $search->createFunction('index.price.value', array($listtype, $currencyid, 'default'));
200
+				$expr[] = $search->compare('>=', $cmpfunc, '0.00');
201 201
 
202
-				$sortfunc = $search->createFunction( 'sort:index.price.value', array( $listtype, $currencyid, 'default' ) );
203
-				$sortations[] = $search->sort( $direction, $sortfunc );
202
+				$sortfunc = $search->createFunction('sort:index.price.value', array($listtype, $currencyid, 'default'));
203
+				$sortations[] = $search->sort($direction, $sortfunc);
204 204
 				break;
205 205
 		}
206 206
 
207 207
 		$expr[] = $search->getConditions();
208 208
 
209
-		$search->setConditions( $search->combine( '&&', $expr ) );
210
-		$search->setSortations( $sortations );
211
-		$search->setSlice( $start, $size );
209
+		$search->setConditions($search->combine('&&', $expr));
210
+		$search->setSortations($sortations);
211
+		$search->setSlice($start, $size);
212 212
 
213 213
 		return $search;
214 214
 	}
@@ -222,9 +222,9 @@  discard block
 block discarded – undo
222 222
 	 * @return \Aimeos\MShop\Product\Item\Iface Product item including the referenced domains items
223 223
 	 * @since 2017.03
224 224
 	 */
225
-	public function getItem( $productId, array $domains = array( 'attribute', 'media', 'price', 'product', 'product/property', 'text' ) )
225
+	public function getItem($productId, array $domains = array('attribute', 'media', 'price', 'product', 'product/property', 'text'))
226 226
 	{
227
-		return \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' )->getItem( $productId, $domains, true );
227
+		return \Aimeos\MShop\Factory::createManager($this->getContext(), 'product')->getItem($productId, $domains, true);
228 228
 	}
229 229
 
230 230
 
@@ -236,19 +236,19 @@  discard block
 block discarded – undo
236 236
 	 * @return \Aimeos\MShop\Product\Item\Iface[] Associative list of product IDs as keys and product items as values
237 237
 	 * @since 2017.03
238 238
 	 */
239
-	public function getItems( array $productIds, array $domains = array( 'media', 'price', 'text' ) )
239
+	public function getItems(array $productIds, array $domains = array('media', 'price', 'text'))
240 240
 	{
241
-		$manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' );
241
+		$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product');
242 242
 
243
-		$search = $manager->createSearch( true );
243
+		$search = $manager->createSearch(true);
244 244
 		$expr = array(
245
-			$search->compare( '==', 'product.id', $productIds ),
245
+			$search->compare('==', 'product.id', $productIds),
246 246
 			$search->getConditions(),
247 247
 		);
248
-		$search->setConditions( $search->combine( '&&', $expr ) );
249
-		$search->setSlice( 0, count( $productIds ) );
248
+		$search->setConditions($search->combine('&&', $expr));
249
+		$search->setSlice(0, count($productIds));
250 250
 
251
-		return $manager->searchItems( $search, $domains );
251
+		return $manager->searchItems($search, $domains);
252 252
 	}
253 253
 
254 254
 
@@ -261,9 +261,9 @@  discard block
 block discarded – undo
261 261
 	 * @return array Ordered list of product items implementing \Aimeos\MShop\Product\Item\Iface
262 262
 	 * @since 2017.03
263 263
 	 */
264
-	public function searchItems( \Aimeos\MW\Criteria\Iface $filter, array $domains = array( 'media', 'price', 'text' ), &$total = null )
264
+	public function searchItems(\Aimeos\MW\Criteria\Iface $filter, array $domains = array('media', 'price', 'text'), &$total = null)
265 265
 	{
266
-		return \Aimeos\MShop\Factory::createManager( $this->getContext(), 'index' )->searchItems( $filter, $domains, $total );
266
+		return \Aimeos\MShop\Factory::createManager($this->getContext(), 'index')->searchItems($filter, $domains, $total);
267 267
 	}
268 268
 
269 269
 
@@ -273,12 +273,12 @@  discard block
 block discarded – undo
273 273
 	 * @param \Aimeos\MShop\Catalog\Item\Iface $item Catalog item with children
274 274
 	 * @return array List of catalog IDs
275 275
 	 */
276
-	protected function getCatalogIdsFromTree( \Aimeos\MShop\Catalog\Item\Iface $item )
276
+	protected function getCatalogIdsFromTree(\Aimeos\MShop\Catalog\Item\Iface $item)
277 277
 	{
278
-		$list = array( $item->getId() );
278
+		$list = array($item->getId());
279 279
 
280
-		foreach( $item->getChildren() as $child ) {
281
-			$list = array_merge( $list, $this->getCatalogIdsFromTree( $child ) );
280
+		foreach ($item->getChildren() as $child) {
281
+			$list = array_merge($list, $this->getCatalogIdsFromTree($child));
282 282
 		}
283 283
 
284 284
 		return $list;
@@ -291,13 +291,13 @@  discard block
 block discarded – undo
291 291
 	 * @param array $ids List of IDs to validate
292 292
 	 * @return array List of validated IDs
293 293
 	 */
294
-	protected function validateIds( array $ids )
294
+	protected function validateIds(array $ids)
295 295
 	{
296 296
 		$list = array();
297 297
 
298
-		foreach( $ids as $id )
298
+		foreach ($ids as $id)
299 299
 		{
300
-			if( $id != '' ) {
300
+			if ($id != '') {
301 301
 				$list[] = (int) $id;
302 302
 			}
303 303
 		}
Please login to merge, or discard this patch.