Completed
Push — master ( 22be93...ed7986 )
by Aimeos
03:44
created
controller/frontend/src/Controller/Frontend/Basket/Standard.php 1 patch
Spacing   +122 added lines, -122 removed lines patch added patch discarded remove patch
@@ -33,11 +33,11 @@  discard block
 block discarded – undo
33 33
 	 * @param \Aimeos\MShop\Context\Item\Iface $context Object storing the required instances for manaing databases
34 34
 	 *  connections, logger, session, etc.
35 35
 	 */
36
-	public function __construct( \Aimeos\MShop\Context\Item\Iface $context )
36
+	public function __construct(\Aimeos\MShop\Context\Item\Iface $context)
37 37
 	{
38
-		parent::__construct( $context );
38
+		parent::__construct($context);
39 39
 
40
-		$this->domainManager = \Aimeos\MShop\Factory::createManager( $context, 'order/base' );
40
+		$this->domainManager = \Aimeos\MShop\Factory::createManager($context, 'order/base');
41 41
 	}
42 42
 
43 43
 
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
 	public function clear()
50 50
 	{
51 51
 		$this->baskets[$this->type] = $this->domainManager->createItem();
52
-		$this->domainManager->setSession( $this->baskets[$this->type], $this->type );
52
+		$this->domainManager->setSession($this->baskets[$this->type], $this->type);
53 53
 
54 54
 		return $this;
55 55
 	}
@@ -62,10 +62,10 @@  discard block
 block discarded – undo
62 62
 	 */
63 63
 	public function get()
64 64
 	{
65
-		if( !isset( $this->baskets[$this->type] ) )
65
+		if (!isset($this->baskets[$this->type]))
66 66
 		{
67
-			$this->baskets[$this->type] = $this->domainManager->getSession( $this->type );
68
-			$this->checkLocale( $this->type );
67
+			$this->baskets[$this->type] = $this->domainManager->getSession($this->type);
68
+			$this->checkLocale($this->type);
69 69
 		}
70 70
 
71 71
 		return $this->baskets[$this->type];
@@ -79,8 +79,8 @@  discard block
 block discarded – undo
79 79
 	 */
80 80
 	public function save()
81 81
 	{
82
-		if( isset( $this->baskets[$this->type] ) && $this->baskets[$this->type]->isModified() ) {
83
-			$this->domainManager->setSession( $this->baskets[$this->type], $this->type );
82
+		if (isset($this->baskets[$this->type]) && $this->baskets[$this->type]->isModified()) {
83
+			$this->domainManager->setSession($this->baskets[$this->type], $this->type);
84 84
 		}
85 85
 
86 86
 		return $this;
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
 	 * @param string $type Basket type
94 94
 	 * @return \Aimeos\Controller\Frontend\Basket\Iface Basket frontend object
95 95
 	 */
96
-	public function setType( $type )
96
+	public function setType($type)
97 97
 	{
98 98
 		$this->type = $type;
99 99
 		return $this;
@@ -107,10 +107,10 @@  discard block
 block discarded – undo
107 107
 	 */
108 108
 	public function store()
109 109
 	{
110
-		$basket = $this->get()->finish()->setStatus( 1 );
110
+		$basket = $this->get()->finish()->setStatus(1);
111 111
 
112 112
 		$this->domainManager->begin();
113
-		$this->domainManager->store( $basket );
113
+		$this->domainManager->store($basket);
114 114
 		$this->domainManager->commit();
115 115
 
116 116
 		return $basket;
@@ -125,9 +125,9 @@  discard block
 block discarded – undo
125 125
 	 * @param boolean $default True to add default criteria (user logged in), false if not
126 126
 	 * @return \Aimeos\MShop\Order\Item\Base\Iface Order base object including the given parts
127 127
 	 */
128
-	public function load( $id, $parts = \Aimeos\MShop\Order\Manager\Base\Base::PARTS_ALL, $default = true )
128
+	public function load($id, $parts = \Aimeos\MShop\Order\Manager\Base\Base::PARTS_ALL, $default = true)
129 129
 	{
130
-		return $this->domainManager->load( $id, $parts, false, $default );
130
+		return $this->domainManager->load($id, $parts, false, $default);
131 131
 	}
132 132
 
133 133
 
@@ -147,36 +147,36 @@  discard block
 block discarded – undo
147 147
 	 * @param string $stocktype Unique code of the stock type to deliver the products from
148 148
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
149 149
 	 */
150
-	public function addProduct( $prodid, $quantity = 1, array $options = array(), array $variantAttributeIds = array(),
150
+	public function addProduct($prodid, $quantity = 1, array $options = array(), array $variantAttributeIds = array(),
151 151
 		array $configAttributeIds = array(), array $hiddenAttributeIds = array(), array $customAttributeValues = array(),
152
-		$stocktype = 'default' )
152
+		$stocktype = 'default')
153 153
 	{
154 154
 		$context = $this->getContext();
155
-		$productManager = \Aimeos\MShop\Factory::createManager( $context, 'product' );
156
-		$productItem = $productManager->getItem( $prodid, array( 'media', 'supplier', 'price', 'product', 'text' ), true );
155
+		$productManager = \Aimeos\MShop\Factory::createManager($context, 'product');
156
+		$productItem = $productManager->getItem($prodid, array('media', 'supplier', 'price', 'product', 'text'), true);
157 157
 
158
-		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product' )->createItem();
159
-		$orderBaseProductItem->copyFrom( $productItem );
160
-		$orderBaseProductItem->setQuantity( $quantity );
161
-		$orderBaseProductItem->setStockType( $stocktype );
158
+		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager($context, 'order/base/product')->createItem();
159
+		$orderBaseProductItem->copyFrom($productItem);
160
+		$orderBaseProductItem->setQuantity($quantity);
161
+		$orderBaseProductItem->setStockType($stocktype);
162 162
 
163 163
 		$attr = array();
164
-		$prices = $productItem->getRefItems( 'price', 'default', 'default' );
164
+		$prices = $productItem->getRefItems('price', 'default', 'default');
165 165
 
166
-		$priceManager = \Aimeos\MShop\Factory::createManager( $context, 'price' );
167
-		$price = $priceManager->getLowestPrice( $prices, $quantity );
166
+		$priceManager = \Aimeos\MShop\Factory::createManager($context, 'price');
167
+		$price = $priceManager->getLowestPrice($prices, $quantity);
168 168
 
169
-		$attr = array_merge( $attr, $this->createOrderProductAttributes( $price, $prodid, $quantity, $configAttributeIds, 'config' ) );
170
-		$attr = array_merge( $attr, $this->createOrderProductAttributes( $price, $prodid, $quantity, $hiddenAttributeIds, 'hidden' ) );
171
-		$attr = array_merge( $attr, $this->createOrderProductAttributes( $price, $prodid, $quantity, array_keys( $customAttributeValues ), 'custom', $customAttributeValues ) );
169
+		$attr = array_merge($attr, $this->createOrderProductAttributes($price, $prodid, $quantity, $configAttributeIds, 'config'));
170
+		$attr = array_merge($attr, $this->createOrderProductAttributes($price, $prodid, $quantity, $hiddenAttributeIds, 'hidden'));
171
+		$attr = array_merge($attr, $this->createOrderProductAttributes($price, $prodid, $quantity, array_keys($customAttributeValues), 'custom', $customAttributeValues));
172 172
 
173 173
 		// remove product rebate of original price in favor to rebates granted for the order
174
-		$price->setRebate( '0.00' );
174
+		$price->setRebate('0.00');
175 175
 
176
-		$orderBaseProductItem->setPrice( $price );
177
-		$orderBaseProductItem->setAttributes( $attr );
176
+		$orderBaseProductItem->setPrice($price);
177
+		$orderBaseProductItem->setAttributes($attr);
178 178
 
179
-		$this->get()->addProduct( $orderBaseProductItem );
179
+		$this->get()->addProduct($orderBaseProductItem);
180 180
 		$this->save();
181 181
 	}
182 182
 
@@ -186,17 +186,17 @@  discard block
 block discarded – undo
186 186
 	 *
187 187
 	 * @param integer $position Position number (key) of the order product item
188 188
 	 */
189
-	public function deleteProduct( $position )
189
+	public function deleteProduct($position)
190 190
 	{
191
-		$product = $this->get()->getProduct( $position );
191
+		$product = $this->get()->getProduct($position);
192 192
 
193
-		if( $product->getFlags() === \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE )
193
+		if ($product->getFlags() === \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE)
194 194
 		{
195
-			$msg = sprintf( 'Basket item at position "%1$d" cannot be deleted manually', $position );
196
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
195
+			$msg = sprintf('Basket item at position "%1$d" cannot be deleted manually', $position);
196
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
197 197
 		}
198 198
 
199
-		$this->get()->deleteProduct( $position );
199
+		$this->get()->deleteProduct($position);
200 200
 		$this->save();
201 201
 	}
202 202
 
@@ -210,34 +210,34 @@  discard block
 block discarded – undo
210 210
 	 * 	The 'stock'=>false option allows adding products without being in stock.
211 211
 	 * @param string[] $configAttributeCodes Codes of the product config attributes that should be REMOVED
212 212
 	 */
213
-	public function editProduct( $position, $quantity, array $options = array(),
214
-		array $configAttributeCodes = array() )
213
+	public function editProduct($position, $quantity, array $options = array(),
214
+		array $configAttributeCodes = array())
215 215
 	{
216
-		$product = $this->get()->getProduct( $position );
216
+		$product = $this->get()->getProduct($position);
217 217
 
218
-		if( $product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE )
218
+		if ($product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE)
219 219
 		{
220
-			$msg = sprintf( 'Basket item at position "%1$d" cannot be changed', $position );
221
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
220
+			$msg = sprintf('Basket item at position "%1$d" cannot be changed', $position);
221
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
222 222
 		}
223 223
 
224
-		$product->setQuantity( $quantity );
224
+		$product->setQuantity($quantity);
225 225
 
226 226
 		$attributes = $product->getAttributes();
227
-		foreach( $attributes as $key => $attribute )
227
+		foreach ($attributes as $key => $attribute)
228 228
 		{
229
-			if( in_array( $attribute->getCode(), $configAttributeCodes ) ) {
230
-				unset( $attributes[$key] );
229
+			if (in_array($attribute->getCode(), $configAttributeCodes)) {
230
+				unset($attributes[$key]);
231 231
 			}
232 232
 		}
233
-		$product->setAttributes( $attributes );
233
+		$product->setAttributes($attributes);
234 234
 
235
-		$productItem = $this->getDomainItem( 'product', 'product.code', $product->getProductCode(), array( 'price', 'text' ) );
236
-		$prices = $productItem->getRefItems( 'price', 'default' );
237
-		$product->setPrice( $this->calcPrice( $product, $prices, $quantity ) );
235
+		$productItem = $this->getDomainItem('product', 'product.code', $product->getProductCode(), array('price', 'text'));
236
+		$prices = $productItem->getRefItems('price', 'default');
237
+		$product->setPrice($this->calcPrice($product, $prices, $quantity));
238 238
 
239
-		$this->get()->deleteProduct( $position );
240
-		$this->get()->addProduct( $product, $position );
239
+		$this->get()->deleteProduct($position);
240
+		$this->get()->addProduct($product, $position);
241 241
 
242 242
 		$this->save();
243 243
 	}
@@ -249,49 +249,49 @@  discard block
 block discarded – undo
249 249
 	 * @param string $code Coupon code entered by the user
250 250
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception if the coupon code is invalid or not allowed
251 251
 	 */
252
-	public function addCoupon( $code )
252
+	public function addCoupon($code)
253 253
 	{
254
-		$manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'coupon' );
255
-		$codeManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'coupon/code' );
254
+		$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'coupon');
255
+		$codeManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'coupon/code');
256 256
 
257 257
 
258
-		$search = $codeManager->createSearch( true );
258
+		$search = $codeManager->createSearch(true);
259 259
 		$expr = array(
260
-			$search->compare( '==', 'coupon.code.code', $code ),
260
+			$search->compare('==', 'coupon.code.code', $code),
261 261
 			$search->getConditions(),
262 262
 		);
263
-		$search->setConditions( $search->combine( '&&', $expr ) );
264
-		$search->setSlice( 0, 1 );
263
+		$search->setConditions($search->combine('&&', $expr));
264
+		$search->setSlice(0, 1);
265 265
 
266
-		$result = $codeManager->searchItems( $search );
266
+		$result = $codeManager->searchItems($search);
267 267
 
268
-		if( ( $codeItem = reset( $result ) ) === false ) {
269
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Coupon code "%1$s" is invalid or not available any more', $code ) );
268
+		if (($codeItem = reset($result)) === false) {
269
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Coupon code "%1$s" is invalid or not available any more', $code));
270 270
 		}
271 271
 
272 272
 
273
-		$search = $manager->createSearch( true );
273
+		$search = $manager->createSearch(true);
274 274
 		$expr = array(
275
-			$search->compare( '==', 'coupon.id', $codeItem->getParentId() ),
275
+			$search->compare('==', 'coupon.id', $codeItem->getParentId()),
276 276
 			$search->getConditions(),
277 277
 		);
278
-		$search->setConditions( $search->combine( '&&', $expr ) );
279
-		$search->setSlice( 0, 1 );
278
+		$search->setConditions($search->combine('&&', $expr));
279
+		$search->setSlice(0, 1);
280 280
 
281
-		$result = $manager->searchItems( $search );
281
+		$result = $manager->searchItems($search);
282 282
 
283
-		if( ( $item = reset( $result ) ) === false ) {
284
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Coupon for code "%1$s" is not available any more', $code ) );
283
+		if (($item = reset($result)) === false) {
284
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Coupon for code "%1$s" is not available any more', $code));
285 285
 		}
286 286
 
287 287
 
288
-		$provider = $manager->getProvider( $item, $code );
288
+		$provider = $manager->getProvider($item, $code);
289 289
 
290
-		if( $provider->isAvailable( $this->get() ) !== true ) {
291
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Requirements for coupon code "%1$s" aren\'t met', $code ) );
290
+		if ($provider->isAvailable($this->get()) !== true) {
291
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Requirements for coupon code "%1$s" aren\'t met', $code));
292 292
 		}
293 293
 
294
-		$provider->addCoupon( $this->get() );
294
+		$provider->addCoupon($this->get());
295 295
 		$this->save();
296 296
 	}
297 297
 
@@ -302,21 +302,21 @@  discard block
 block discarded – undo
302 302
 	 * @param string $code Coupon code entered by the user
303 303
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception if the coupon code is invalid
304 304
 	 */
305
-	public function deleteCoupon( $code )
305
+	public function deleteCoupon($code)
306 306
 	{
307
-		$manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'coupon' );
307
+		$manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'coupon');
308 308
 
309 309
 		$search = $manager->createSearch();
310
-		$search->setConditions( $search->compare( '==', 'coupon.code.code', $code ) );
311
-		$search->setSlice( 0, 1 );
310
+		$search->setConditions($search->compare('==', 'coupon.code.code', $code));
311
+		$search->setSlice(0, 1);
312 312
 
313
-		$result = $manager->searchItems( $search );
313
+		$result = $manager->searchItems($search);
314 314
 
315
-		if( ( $item = reset( $result ) ) === false ) {
316
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Coupon code "%1$s" is invalid', $code ) );
315
+		if (($item = reset($result)) === false) {
316
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Coupon code "%1$s" is invalid', $code));
317 317
 		}
318 318
 
319
-		$manager->getProvider( $item, $code )->deleteCoupon( $this->get() );
319
+		$manager->getProvider($item, $code)->deleteCoupon($this->get());
320 320
 		$this->save();
321 321
 	}
322 322
 
@@ -329,28 +329,28 @@  discard block
 block discarded – undo
329 329
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the billing or delivery address is not of any required type of
330 330
 	 * 	if one of the keys is invalid when using an array with key/value pairs
331 331
 	 */
332
-	public function setAddress( $type, $value )
332
+	public function setAddress($type, $value)
333 333
 	{
334
-		$address = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/address' )->createItem();
335
-		$address->setType( $type );
334
+		$address = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/address')->createItem();
335
+		$address->setType($type);
336 336
 
337
-		if( $value instanceof \Aimeos\MShop\Common\Item\Address\Iface )
337
+		if ($value instanceof \Aimeos\MShop\Common\Item\Address\Iface)
338 338
 		{
339
-			$address->copyFrom( $value );
340
-			$this->get()->setAddress( $address, $type );
339
+			$address->copyFrom($value);
340
+			$this->get()->setAddress($address, $type);
341 341
 		}
342
-		else if( is_array( $value ) )
342
+		else if (is_array($value))
343 343
 		{
344
-			$this->setAddressFromArray( $address, $value );
345
-			$this->get()->setAddress( $address, $type );
344
+			$this->setAddressFromArray($address, $value);
345
+			$this->get()->setAddress($address, $type);
346 346
 		}
347
-		else if( $value === null )
347
+		else if ($value === null)
348 348
 		{
349
-			$this->get()->deleteAddress( $type );
349
+			$this->get()->deleteAddress($type);
350 350
 		}
351 351
 		else
352 352
 		{
353
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( 'Invalid value for address type "%1$s"', $type ) );
353
+			throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf('Invalid value for address type "%1$s"', $type));
354 354
 		}
355 355
 
356 356
 		$this->save();
@@ -366,48 +366,48 @@  discard block
 block discarded – undo
366 366
 	 * 	entered by the customer when choosing one of the delivery or payment options
367 367
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If there is no price to the service item attached
368 368
 	 */
369
-	public function setService( $type, $id, array $attributes = array() )
369
+	public function setService($type, $id, array $attributes = array())
370 370
 	{
371
-		if( $id === null )
371
+		if ($id === null)
372 372
 		{
373
-			$this->get()->deleteService( $type );
373
+			$this->get()->deleteService($type);
374 374
 			$this->save();
375 375
 			return;
376 376
 		}
377 377
 
378 378
 		$context = $this->getContext();
379 379
 
380
-		$serviceManager = \Aimeos\MShop\Factory::createManager( $context, 'service' );
381
-		$serviceItem = $this->getDomainItem( 'service', 'service.id', $id, array( 'media', 'price', 'text' ) );
380
+		$serviceManager = \Aimeos\MShop\Factory::createManager($context, 'service');
381
+		$serviceItem = $this->getDomainItem('service', 'service.id', $id, array('media', 'price', 'text'));
382 382
 
383
-		$provider = $serviceManager->getProvider( $serviceItem );
384
-		$result = $provider->checkConfigFE( $attributes );
385
-		$unknown = array_diff_key( $attributes, $result );
383
+		$provider = $serviceManager->getProvider($serviceItem);
384
+		$result = $provider->checkConfigFE($attributes);
385
+		$unknown = array_diff_key($attributes, $result);
386 386
 
387
-		if( count( $unknown ) > 0 )
387
+		if (count($unknown) > 0)
388 388
 		{
389
-			$msg = sprintf( 'Unknown attributes "%1$s"', implode( '","', array_keys( $unknown ) ) );
390
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
389
+			$msg = sprintf('Unknown attributes "%1$s"', implode('","', array_keys($unknown)));
390
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
391 391
 		}
392 392
 
393
-		foreach( $result as $key => $value )
393
+		foreach ($result as $key => $value)
394 394
 		{
395
-			if( $value !== null ) {
396
-				throw new \Aimeos\Controller\Frontend\Basket\Exception( $value );
395
+			if ($value !== null) {
396
+				throw new \Aimeos\Controller\Frontend\Basket\Exception($value);
397 397
 			}
398 398
 		}
399 399
 
400
-		$orderBaseServiceManager = \Aimeos\MShop\Factory::createManager( $context, 'order/base/service' );
400
+		$orderBaseServiceManager = \Aimeos\MShop\Factory::createManager($context, 'order/base/service');
401 401
 		$orderServiceItem = $orderBaseServiceManager->createItem();
402
-		$orderServiceItem->copyFrom( $serviceItem );
402
+		$orderServiceItem->copyFrom($serviceItem);
403 403
 
404 404
 		// remove service rebate of original price
405
-		$price = $provider->calcPrice( $this->get() )->setRebate( '0.00' );
406
-		$orderServiceItem->setPrice( $price );
405
+		$price = $provider->calcPrice($this->get())->setRebate('0.00');
406
+		$orderServiceItem->setPrice($price);
407 407
 
408
-		$provider->setConfigFE( $orderServiceItem, $attributes );
408
+		$provider->setConfigFE($orderServiceItem, $attributes);
409 409
 
410
-		$this->get()->setService( $orderServiceItem, $type );
410
+		$this->get()->setService($orderServiceItem, $type);
411 411
 		$this->save();
412 412
 	}
413 413
 
@@ -420,18 +420,18 @@  discard block
 block discarded – undo
420 420
 	 * 	an address item.
421 421
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception
422 422
 	 */
423
-	protected function setAddressFromArray( \Aimeos\MShop\Order\Item\Base\Address\Iface $address, array $map )
423
+	protected function setAddressFromArray(\Aimeos\MShop\Order\Item\Base\Address\Iface $address, array $map)
424 424
 	{
425
-		foreach( $map as $key => $value ) {
426
-			$map[$key] = strip_tags( $value ); // prevent XSS
425
+		foreach ($map as $key => $value) {
426
+			$map[$key] = strip_tags($value); // prevent XSS
427 427
 		}
428 428
 
429
-		$errors = $address->fromArray( $map );
429
+		$errors = $address->fromArray($map);
430 430
 
431
-		if( count( $errors ) > 0 )
431
+		if (count($errors) > 0)
432 432
 		{
433
-			$msg = sprintf( 'Invalid address properties, please check your input' );
434
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg, 0, null, $errors );
433
+			$msg = sprintf('Invalid address properties, please check your input');
434
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg, 0, null, $errors);
435 435
 		}
436 436
 	}
437 437
 }
Please login to merge, or discard this patch.