|
@@ -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->baskets[$this->type]->getLocale(), $this->type ); |
|
|
67
|
+ $this->baskets[$this->type] = $this->domainManager->getSession($this->type); |
|
|
68
|
+ $this->checkLocale($this->baskets[$this->type]->getLocale(), $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; |
|
@@ -127,7 +127,7 @@ discard block |
|
|
block discarded – undo |
|
127
|
127
|
* @category Developer |
|
128
|
128
|
* @see controller/frontend/basket/limit-seconds |
|
129
|
129
|
*/ |
|
130
|
|
- $count = $config->get( 'controller/frontend/basket/limit-count', 5 ); |
|
|
130
|
+ $count = $config->get('controller/frontend/basket/limit-count', 5); |
|
131
|
131
|
|
|
132
|
132
|
/** controller/frontend/basket/limit-seconds |
|
133
|
133
|
* Order limitation time frame in seconds |
|
@@ -145,34 +145,34 @@ discard block |
|
|
block discarded – undo |
|
145
|
145
|
* @category Developer |
|
146
|
146
|
* @see controller/frontend/basket/limit-count |
|
147
|
147
|
*/ |
|
148
|
|
- $seconds = $config->get( 'controller/frontend/basket/limit-seconds', 300 ); |
|
|
148
|
+ $seconds = $config->get('controller/frontend/basket/limit-seconds', 300); |
|
149
|
149
|
|
|
150
|
150
|
$search = $this->domainManager->createSearch(); |
|
151
|
151
|
$expr = [ |
|
152
|
|
- $search->compare( '==', 'order.base.editor', $context->getEditor() ), |
|
153
|
|
- $search->compare( '>=', 'order.base.ctime', date( 'Y-m-d H:i:s', time() - $seconds ) ), |
|
|
152
|
+ $search->compare('==', 'order.base.editor', $context->getEditor()), |
|
|
153
|
+ $search->compare('>=', 'order.base.ctime', date('Y-m-d H:i:s', time() - $seconds)), |
|
154
|
154
|
]; |
|
155
|
|
- $search->setConditions( $search->combine( '&&', $expr ) ); |
|
156
|
|
- $search->setSlice( 0, 0 ); |
|
|
155
|
+ $search->setConditions($search->combine('&&', $expr)); |
|
|
156
|
+ $search->setSlice(0, 0); |
|
157
|
157
|
|
|
158
|
|
- $this->domainManager->searchItems( $search, [], $total ); |
|
|
158
|
+ $this->domainManager->searchItems($search, [], $total); |
|
159
|
159
|
|
|
160
|
|
- if( $total > $count ) |
|
|
160
|
+ if ($total > $count) |
|
161
|
161
|
{ |
|
162
|
|
- $msg = $context->getI18n()->dt( 'controller/frontend', 'Temporary order limit reached' ); |
|
163
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg ); |
|
|
162
|
+ $msg = $context->getI18n()->dt('controller/frontend', 'Temporary order limit reached'); |
|
|
163
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception($msg); |
|
164
|
164
|
} |
|
165
|
165
|
|
|
166
|
166
|
|
|
167
|
167
|
$basket = $this->get()->finish(); |
|
168
|
|
- $basket->setCustomerId( (string) $context->getUserId() ); |
|
|
168
|
+ $basket->setCustomerId((string) $context->getUserId()); |
|
169
|
169
|
|
|
170
|
170
|
$this->domainManager->begin(); |
|
171
|
|
- $this->domainManager->store( $basket ); |
|
|
171
|
+ $this->domainManager->store($basket); |
|
172
|
172
|
$this->domainManager->commit(); |
|
173
|
173
|
|
|
174
|
174
|
$this->save(); // for reusing unpaid orders, might have side effects (!) |
|
175
|
|
- $this->createSubscriptions( $basket ); |
|
|
175
|
+ $this->createSubscriptions($basket); |
|
176
|
176
|
|
|
177
|
177
|
return $basket; |
|
178
|
178
|
} |
|
@@ -186,9 +186,9 @@ discard block |
|
|
block discarded – undo |
|
186
|
186
|
* @param boolean $default True to add default criteria (user logged in), false if not |
|
187
|
187
|
* @return \Aimeos\MShop\Order\Item\Base\Iface Order base object including the given parts |
|
188
|
188
|
*/ |
|
189
|
|
- public function load( $id, $parts = \Aimeos\MShop\Order\Item\Base\Base::PARTS_ALL, $default = true ) |
|
|
189
|
+ public function load($id, $parts = \Aimeos\MShop\Order\Item\Base\Base::PARTS_ALL, $default = true) |
|
190
|
190
|
{ |
|
191
|
|
- return $this->domainManager->load( $id, $parts, false, $default ); |
|
|
191
|
+ return $this->domainManager->load($id, $parts, false, $default); |
|
192
|
192
|
} |
|
193
|
193
|
|
|
194
|
194
|
|
|
@@ -207,34 +207,34 @@ discard block |
|
|
block discarded – undo |
|
207
|
207
|
* @param string $stocktype Unique code of the stock type to deliver the products from |
|
208
|
208
|
* @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available |
|
209
|
209
|
*/ |
|
210
|
|
- public function addProduct( $prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [], |
|
211
|
|
- array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [] ) |
|
|
210
|
+ public function addProduct($prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [], |
|
|
211
|
+ array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = []) |
|
212
|
212
|
{ |
|
213
|
213
|
$attributeMap = [ |
|
214
|
|
- 'custom' => array_keys( $customAttributeValues ), |
|
215
|
|
- 'config' => array_keys( $configAttributeIds ), |
|
|
214
|
+ 'custom' => array_keys($customAttributeValues), |
|
|
215
|
+ 'config' => array_keys($configAttributeIds), |
|
216
|
216
|
]; |
|
217
|
|
- $this->checkListRef( $prodid, 'attribute', $attributeMap ); |
|
|
217
|
+ $this->checkListRef($prodid, 'attribute', $attributeMap); |
|
218
|
218
|
|
|
219
|
219
|
|
|
220
|
220
|
$context = $this->getContext(); |
|
221
|
|
- $productManager = \Aimeos\MShop\Factory::createManager( $context, 'product' ); |
|
|
221
|
+ $productManager = \Aimeos\MShop\Factory::createManager($context, 'product'); |
|
222
|
222
|
|
|
223
|
|
- $productItem = $productManager->getItem( $prodid, ['attribute', 'media', 'supplier', 'price', 'product', 'text'], true ); |
|
224
|
|
- $prices = $productItem->getRefItems( 'price', 'default', 'default' ); |
|
225
|
|
- $hidden = $productItem->getRefItems( 'attribute', null, 'hidden' ); |
|
|
223
|
+ $productItem = $productManager->getItem($prodid, ['attribute', 'media', 'supplier', 'price', 'product', 'text'], true); |
|
|
224
|
+ $prices = $productItem->getRefItems('price', 'default', 'default'); |
|
|
225
|
+ $hidden = $productItem->getRefItems('attribute', null, 'hidden'); |
|
226
|
226
|
|
|
227
|
|
- $orderBaseProductItem = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product' )->createItem(); |
|
228
|
|
- $orderBaseProductItem->copyFrom( $productItem )->setQuantity( $quantity )->setStockType( $stocktype ); |
|
|
227
|
+ $orderBaseProductItem = \Aimeos\MShop\Factory::createManager($context, 'order/base/product')->createItem(); |
|
|
228
|
+ $orderBaseProductItem->copyFrom($productItem)->setQuantity($quantity)->setStockType($stocktype); |
|
229
|
229
|
|
|
230
|
|
- $custAttr = $this->getOrderProductAttributes( 'custom', array_keys( $customAttributeValues ), $customAttributeValues ); |
|
231
|
|
- $confAttr = $this->getOrderProductAttributes( 'config', array_keys( $configAttributeIds ), [], $configAttributeIds ); |
|
232
|
|
- $attr = array_merge( $custAttr, $confAttr, $this->getOrderProductAttributes( 'hidden', array_keys( $hidden ) ) ); |
|
|
230
|
+ $custAttr = $this->getOrderProductAttributes('custom', array_keys($customAttributeValues), $customAttributeValues); |
|
|
231
|
+ $confAttr = $this->getOrderProductAttributes('config', array_keys($configAttributeIds), [], $configAttributeIds); |
|
|
232
|
+ $attr = array_merge($custAttr, $confAttr, $this->getOrderProductAttributes('hidden', array_keys($hidden))); |
|
233
|
233
|
|
|
234
|
|
- $orderBaseProductItem->setAttributeItems( $attr ); |
|
235
|
|
- $orderBaseProductItem->setPrice( $this->calcPrice( $orderBaseProductItem, $prices, $quantity ) ); |
|
|
234
|
+ $orderBaseProductItem->setAttributeItems($attr); |
|
|
235
|
+ $orderBaseProductItem->setPrice($this->calcPrice($orderBaseProductItem, $prices, $quantity)); |
|
236
|
236
|
|
|
237
|
|
- $this->get()->addProduct( $orderBaseProductItem ); |
|
|
237
|
+ $this->get()->addProduct($orderBaseProductItem); |
|
238
|
238
|
$this->save(); |
|
239
|
239
|
} |
|
240
|
240
|
|
|
@@ -244,17 +244,17 @@ discard block |
|
|
block discarded – undo |
|
244
|
244
|
* |
|
245
|
245
|
* @param integer $position Position number (key) of the order product item |
|
246
|
246
|
*/ |
|
247
|
|
- public function deleteProduct( $position ) |
|
|
247
|
+ public function deleteProduct($position) |
|
248
|
248
|
{ |
|
249
|
|
- $product = $this->get()->getProduct( $position ); |
|
|
249
|
+ $product = $this->get()->getProduct($position); |
|
250
|
250
|
|
|
251
|
|
- if( $product->getFlags() === \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE ) |
|
|
251
|
+ if ($product->getFlags() === \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE) |
|
252
|
252
|
{ |
|
253
|
|
- $msg = $this->getContext()->getI18n()->dt( 'controller/frontend', 'Basket item at position "%1$d" cannot be deleted manually' ); |
|
254
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $position ) ); |
|
|
253
|
+ $msg = $this->getContext()->getI18n()->dt('controller/frontend', 'Basket item at position "%1$d" cannot be deleted manually'); |
|
|
254
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $position)); |
|
255
|
255
|
} |
|
256
|
256
|
|
|
257
|
|
- $this->get()->deleteProduct( $position ); |
|
|
257
|
+ $this->get()->deleteProduct($position); |
|
258
|
258
|
$this->save(); |
|
259
|
259
|
} |
|
260
|
260
|
|
|
@@ -266,32 +266,32 @@ discard block |
|
|
block discarded – undo |
|
266
|
266
|
* @param integer $quantity New quantiy of the product item |
|
267
|
267
|
* @param string[] $configAttributeCodes Codes of the product config attributes that should be REMOVED |
|
268
|
268
|
*/ |
|
269
|
|
- public function editProduct( $position, $quantity, array $configAttributeCodes = [] ) |
|
|
269
|
+ public function editProduct($position, $quantity, array $configAttributeCodes = []) |
|
270
|
270
|
{ |
|
271
|
|
- $product = $this->get()->getProduct( $position ); |
|
|
271
|
+ $product = $this->get()->getProduct($position); |
|
272
|
272
|
|
|
273
|
|
- if( $product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE ) |
|
|
273
|
+ if ($product->getFlags() & \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE) |
|
274
|
274
|
{ |
|
275
|
|
- $msg = $this->getContext()->getI18n()->dt( 'controller/frontend', 'Basket item at position "%1$d" cannot be changed' ); |
|
276
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $position ) ); |
|
|
275
|
+ $msg = $this->getContext()->getI18n()->dt('controller/frontend', 'Basket item at position "%1$d" cannot be changed'); |
|
|
276
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $position)); |
|
277
|
277
|
} |
|
278
|
278
|
|
|
279
|
|
- $product->setQuantity( $quantity ); |
|
|
279
|
+ $product->setQuantity($quantity); |
|
280
|
280
|
|
|
281
|
281
|
$attributes = $product->getAttributeItems(); |
|
282
|
|
- foreach( $attributes as $key => $attribute ) |
|
|
282
|
+ foreach ($attributes as $key => $attribute) |
|
283
|
283
|
{ |
|
284
|
|
- if( in_array( $attribute->getCode(), $configAttributeCodes ) ) { |
|
285
|
|
- unset( $attributes[$key] ); |
|
|
284
|
+ if (in_array($attribute->getCode(), $configAttributeCodes)) { |
|
|
285
|
+ unset($attributes[$key]); |
|
286
|
286
|
} |
|
287
|
287
|
} |
|
288
|
|
- $product->setAttributeItems( $attributes ); |
|
|
288
|
+ $product->setAttributeItems($attributes); |
|
289
|
289
|
|
|
290
|
|
- $manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' ); |
|
291
|
|
- $productItem = $manager->findItem( $product->getProductCode(), array( 'price', 'text' ), true ); |
|
292
|
|
- $product->setPrice( $this->calcPrice( $product, $productItem->getRefItems( 'price', 'default' ), $quantity ) ); |
|
|
290
|
+ $manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product'); |
|
|
291
|
+ $productItem = $manager->findItem($product->getProductCode(), array('price', 'text'), true); |
|
|
292
|
+ $product->setPrice($this->calcPrice($product, $productItem->getRefItems('price', 'default'), $quantity)); |
|
293
|
293
|
|
|
294
|
|
- $this->get()->editProduct( $product, $position ); |
|
|
294
|
+ $this->get()->editProduct($product, $position); |
|
295
|
295
|
|
|
296
|
296
|
$this->save(); |
|
297
|
297
|
} |
|
@@ -303,7 +303,7 @@ discard block |
|
|
block discarded – undo |
|
303
|
303
|
* @param string $code Coupon code entered by the user |
|
304
|
304
|
* @throws \Aimeos\Controller\Frontend\Basket\Exception if the coupon code is invalid or not allowed |
|
305
|
305
|
*/ |
|
306
|
|
- public function addCoupon( $code ) |
|
|
306
|
+ public function addCoupon($code) |
|
307
|
307
|
{ |
|
308
|
308
|
$context = $this->getContext(); |
|
309
|
309
|
|
|
@@ -323,44 +323,44 @@ discard block |
|
|
block discarded – undo |
|
323
|
323
|
* @category User |
|
324
|
324
|
* @category Developer |
|
325
|
325
|
*/ |
|
326
|
|
- $allowed = $context->getConfig()->get( 'controller/frontend/basket/standard/coupon/allowed', 1 ); |
|
|
326
|
+ $allowed = $context->getConfig()->get('controller/frontend/basket/standard/coupon/allowed', 1); |
|
327
|
327
|
|
|
328
|
|
- if( $allowed <= count( $this->get()->getCoupons() ) ) |
|
|
328
|
+ if ($allowed <= count($this->get()->getCoupons())) |
|
329
|
329
|
{ |
|
330
|
|
- $msg = $context->getI18n()->dt( 'controller/frontend', 'Number of coupon codes exceeds the limit' ); |
|
331
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg ); |
|
|
330
|
+ $msg = $context->getI18n()->dt('controller/frontend', 'Number of coupon codes exceeds the limit'); |
|
|
331
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception($msg); |
|
332
|
332
|
} |
|
333
|
333
|
|
|
334
|
334
|
|
|
335
|
|
- $manager = \Aimeos\MShop\Factory::createManager( $context, 'coupon' ); |
|
336
|
|
- $codeManager = \Aimeos\MShop\Factory::createManager( $context, 'coupon/code' ); |
|
|
335
|
+ $manager = \Aimeos\MShop\Factory::createManager($context, 'coupon'); |
|
|
336
|
+ $codeManager = \Aimeos\MShop\Factory::createManager($context, 'coupon/code'); |
|
337
|
337
|
|
|
338
|
|
- $search = $manager->createSearch( true )->setSlice( 0, 1 ); |
|
|
338
|
+ $search = $manager->createSearch(true)->setSlice(0, 1); |
|
339
|
339
|
$expr = [ |
|
340
|
|
- $search->compare( '==', 'coupon.code.code', $code ), |
|
341
|
|
- $codeManager->createSearch( true )->getConditions(), |
|
|
340
|
+ $search->compare('==', 'coupon.code.code', $code), |
|
|
341
|
+ $codeManager->createSearch(true)->getConditions(), |
|
342
|
342
|
$search->getConditions(), |
|
343
|
343
|
]; |
|
344
|
|
- $search->setConditions( $search->combine( '&&', $expr ) ); |
|
|
344
|
+ $search->setConditions($search->combine('&&', $expr)); |
|
345
|
345
|
|
|
346
|
|
- $result = $manager->searchItems( $search ); |
|
|
346
|
+ $result = $manager->searchItems($search); |
|
347
|
347
|
|
|
348
|
|
- if( ( $item = reset( $result ) ) === false ) |
|
|
348
|
+ if (($item = reset($result)) === false) |
|
349
|
349
|
{ |
|
350
|
|
- $msg = sprintf( $context->getI18n()->dt( 'controller/frontend', 'Coupon code "%1$s" is invalid or not available any more' ), $code ); |
|
351
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg ); |
|
|
350
|
+ $msg = sprintf($context->getI18n()->dt('controller/frontend', 'Coupon code "%1$s" is invalid or not available any more'), $code); |
|
|
351
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception($msg); |
|
352
|
352
|
} |
|
353
|
353
|
|
|
354
|
354
|
|
|
355
|
|
- $provider = $manager->getProvider( $item, strtolower( $code ) ); |
|
|
355
|
+ $provider = $manager->getProvider($item, strtolower($code)); |
|
356
|
356
|
|
|
357
|
|
- if( $provider->isAvailable( $this->get() ) !== true ) |
|
|
357
|
+ if ($provider->isAvailable($this->get()) !== true) |
|
358
|
358
|
{ |
|
359
|
|
- $msg = sprintf( $context->getI18n()->dt( 'controller/frontend', 'Requirements for coupon code "%1$s" aren\'t met' ), $code ); |
|
360
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg ); |
|
|
359
|
+ $msg = sprintf($context->getI18n()->dt('controller/frontend', 'Requirements for coupon code "%1$s" aren\'t met'), $code); |
|
|
360
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception($msg); |
|
361
|
361
|
} |
|
362
|
362
|
|
|
363
|
|
- $provider->addCoupon( $this->get() ); |
|
|
363
|
+ $provider->addCoupon($this->get()); |
|
364
|
364
|
$this->save(); |
|
365
|
365
|
} |
|
366
|
366
|
|
|
@@ -371,24 +371,24 @@ discard block |
|
|
block discarded – undo |
|
371
|
371
|
* @param string $code Coupon code entered by the user |
|
372
|
372
|
* @throws \Aimeos\Controller\Frontend\Basket\Exception if the coupon code is invalid |
|
373
|
373
|
*/ |
|
374
|
|
- public function deleteCoupon( $code ) |
|
|
374
|
+ public function deleteCoupon($code) |
|
375
|
375
|
{ |
|
376
|
376
|
$context = $this->getContext(); |
|
377
|
|
- $manager = \Aimeos\MShop\Factory::createManager( $context, 'coupon' ); |
|
|
377
|
+ $manager = \Aimeos\MShop\Factory::createManager($context, 'coupon'); |
|
378
|
378
|
|
|
379
|
379
|
$search = $manager->createSearch(); |
|
380
|
|
- $search->setConditions( $search->compare( '==', 'coupon.code.code', $code ) ); |
|
381
|
|
- $search->setSlice( 0, 1 ); |
|
|
380
|
+ $search->setConditions($search->compare('==', 'coupon.code.code', $code)); |
|
|
381
|
+ $search->setSlice(0, 1); |
|
382
|
382
|
|
|
383
|
|
- $result = $manager->searchItems( $search ); |
|
|
383
|
+ $result = $manager->searchItems($search); |
|
384
|
384
|
|
|
385
|
|
- if( ( $item = reset( $result ) ) === false ) |
|
|
385
|
+ if (($item = reset($result)) === false) |
|
386
|
386
|
{ |
|
387
|
|
- $msg = $context->getI18n()->dt( 'controller/frontend', 'Coupon code "%1$s" is invalid' ); |
|
388
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $code ) ); |
|
|
387
|
+ $msg = $context->getI18n()->dt('controller/frontend', 'Coupon code "%1$s" is invalid'); |
|
|
388
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $code)); |
|
389
|
389
|
} |
|
390
|
390
|
|
|
391
|
|
- $manager->getProvider( $item, strtolower( $code ) )->deleteCoupon( $this->get() ); |
|
|
391
|
+ $manager->getProvider($item, strtolower($code))->deleteCoupon($this->get()); |
|
392
|
392
|
$this->save(); |
|
393
|
393
|
} |
|
394
|
394
|
|
|
@@ -401,28 +401,28 @@ discard block |
|
|
block discarded – undo |
|
401
|
401
|
* @throws \Aimeos\Controller\Frontend\Basket\Exception If the billing or delivery address is not of any required type of |
|
402
|
402
|
* if one of the keys is invalid when using an array with key/value pairs |
|
403
|
403
|
*/ |
|
404
|
|
- public function setAddress( $type, $value ) |
|
|
404
|
+ public function setAddress($type, $value) |
|
405
|
405
|
{ |
|
406
|
406
|
$context = $this->getContext(); |
|
407
|
|
- $address = \Aimeos\MShop\Factory::createManager( $context, 'order/base/address' )->createItem(); |
|
408
|
|
- $address->setType( $type ); |
|
|
407
|
+ $address = \Aimeos\MShop\Factory::createManager($context, 'order/base/address')->createItem(); |
|
|
408
|
+ $address->setType($type); |
|
409
|
409
|
|
|
410
|
|
- if( $value instanceof \Aimeos\MShop\Common\Item\Address\Iface ) |
|
|
410
|
+ if ($value instanceof \Aimeos\MShop\Common\Item\Address\Iface) |
|
411
|
411
|
{ |
|
412
|
|
- $this->get()->setAddress( $address->copyFrom( $value ), $type ); |
|
|
412
|
+ $this->get()->setAddress($address->copyFrom($value), $type); |
|
413
|
413
|
} |
|
414
|
|
- else if( is_array( $value ) ) |
|
|
414
|
+ else if (is_array($value)) |
|
415
|
415
|
{ |
|
416
|
|
- $this->get()->setAddress( $this->setAddressFromArray( $address, $value ), $type ); |
|
|
416
|
+ $this->get()->setAddress($this->setAddressFromArray($address, $value), $type); |
|
417
|
417
|
} |
|
418
|
|
- else if( $value === null ) |
|
|
418
|
+ else if ($value === null) |
|
419
|
419
|
{ |
|
420
|
|
- $this->get()->deleteAddress( $type ); |
|
|
420
|
+ $this->get()->deleteAddress($type); |
|
421
|
421
|
} |
|
422
|
422
|
else |
|
423
|
423
|
{ |
|
424
|
|
- $msg = $context->getI18n()->dt( 'controller/frontend', 'Invalid value for address type "%1$s"' ); |
|
425
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( sprintf( $msg, $type ) ); |
|
|
424
|
+ $msg = $context->getI18n()->dt('controller/frontend', 'Invalid value for address type "%1$s"'); |
|
|
425
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception(sprintf($msg, $type)); |
|
426
|
426
|
} |
|
427
|
427
|
|
|
428
|
428
|
$this->save(); |
|
@@ -438,42 +438,42 @@ discard block |
|
|
block discarded – undo |
|
438
|
438
|
* entered by the customer when choosing one of the delivery or payment options |
|
439
|
439
|
* @throws \Aimeos\Controller\Frontend\Basket\Exception If there is no price to the service item attached |
|
440
|
440
|
*/ |
|
441
|
|
- public function addService( $type, $id, array $attributes = [] ) |
|
|
441
|
+ public function addService($type, $id, array $attributes = []) |
|
442
|
442
|
{ |
|
443
|
443
|
$context = $this->getContext(); |
|
444
|
444
|
|
|
445
|
|
- $serviceManager = \Aimeos\MShop\Factory::createManager( $context, 'service' ); |
|
446
|
|
- $serviceItem = $serviceManager->getItem( $id, array( 'media', 'price', 'text' ) ); |
|
|
445
|
+ $serviceManager = \Aimeos\MShop\Factory::createManager($context, 'service'); |
|
|
446
|
+ $serviceItem = $serviceManager->getItem($id, array('media', 'price', 'text')); |
|
447
|
447
|
|
|
448
|
|
- $provider = $serviceManager->getProvider( $serviceItem, $serviceItem->getType() ); |
|
449
|
|
- $result = $provider->checkConfigFE( $attributes ); |
|
450
|
|
- $unknown = array_diff_key( $attributes, $result ); |
|
|
448
|
+ $provider = $serviceManager->getProvider($serviceItem, $serviceItem->getType()); |
|
|
449
|
+ $result = $provider->checkConfigFE($attributes); |
|
|
450
|
+ $unknown = array_diff_key($attributes, $result); |
|
451
|
451
|
|
|
452
|
|
- if( count( $unknown ) > 0 ) |
|
|
452
|
+ if (count($unknown) > 0) |
|
453
|
453
|
{ |
|
454
|
|
- $msg = $context->getI18n()->dt( 'controller/frontend', 'Unknown attributes "%1$s"' ); |
|
455
|
|
- $msg = sprintf( $msg, implode( '","', array_keys( $unknown ) ) ); |
|
456
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg ); |
|
|
454
|
+ $msg = $context->getI18n()->dt('controller/frontend', 'Unknown attributes "%1$s"'); |
|
|
455
|
+ $msg = sprintf($msg, implode('","', array_keys($unknown))); |
|
|
456
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception($msg); |
|
457
|
457
|
} |
|
458
|
458
|
|
|
459
|
|
- foreach( $result as $key => $value ) |
|
|
459
|
+ foreach ($result as $key => $value) |
|
460
|
460
|
{ |
|
461
|
|
- if( $value !== null ) { |
|
462
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( $value ); |
|
|
461
|
+ if ($value !== null) { |
|
|
462
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception($value); |
|
463
|
463
|
} |
|
464
|
464
|
} |
|
465
|
465
|
|
|
466
|
|
- $orderBaseServiceManager = \Aimeos\MShop\Factory::createManager( $context, 'order/base/service' ); |
|
|
466
|
+ $orderBaseServiceManager = \Aimeos\MShop\Factory::createManager($context, 'order/base/service'); |
|
467
|
467
|
$orderServiceItem = $orderBaseServiceManager->createItem(); |
|
468
|
|
- $orderServiceItem->copyFrom( $serviceItem ); |
|
|
468
|
+ $orderServiceItem->copyFrom($serviceItem); |
|
469
|
469
|
|
|
470
|
470
|
// remove service rebate of original price |
|
471
|
|
- $price = $provider->calcPrice( $this->get() )->setRebate( '0.00' ); |
|
472
|
|
- $orderServiceItem->setPrice( $price ); |
|
|
471
|
+ $price = $provider->calcPrice($this->get())->setRebate('0.00'); |
|
|
472
|
+ $orderServiceItem->setPrice($price); |
|
473
|
473
|
|
|
474
|
|
- $provider->setConfigFE( $orderServiceItem, $attributes ); |
|
|
474
|
+ $provider->setConfigFE($orderServiceItem, $attributes); |
|
475
|
475
|
|
|
476
|
|
- $this->get()->addService( $orderServiceItem, $type ); |
|
|
476
|
+ $this->get()->addService($orderServiceItem, $type); |
|
477
|
477
|
$this->save(); |
|
478
|
478
|
} |
|
479
|
479
|
|
|
@@ -483,9 +483,9 @@ discard block |
|
|
block discarded – undo |
|
483
|
483
|
* |
|
484
|
484
|
* @param string $type Service type code like 'payment' or 'delivery' |
|
485
|
485
|
*/ |
|
486
|
|
- public function deleteService( $type ) |
|
|
486
|
+ public function deleteService($type) |
|
487
|
487
|
{ |
|
488
|
|
- $this->get()->deleteService( $type ); |
|
|
488
|
+ $this->get()->deleteService($type); |
|
489
|
489
|
$this->save(); |
|
490
|
490
|
} |
|
491
|
491
|
|
|
@@ -499,18 +499,18 @@ discard block |
|
|
block discarded – undo |
|
499
|
499
|
* @return \Aimeos\MShop\Order\Item\Base\Address\Iface Updated address item |
|
500
|
500
|
* @throws \Aimeos\Controller\Frontend\Basket\Exception |
|
501
|
501
|
*/ |
|
502
|
|
- protected function setAddressFromArray( \Aimeos\MShop\Order\Item\Base\Address\Iface $address, array $map ) |
|
|
502
|
+ protected function setAddressFromArray(\Aimeos\MShop\Order\Item\Base\Address\Iface $address, array $map) |
|
503
|
503
|
{ |
|
504
|
|
- foreach( $map as $key => $value ) { |
|
505
|
|
- $map[$key] = strip_tags( $value ); // prevent XSS |
|
|
504
|
+ foreach ($map as $key => $value) { |
|
|
505
|
+ $map[$key] = strip_tags($value); // prevent XSS |
|
506
|
506
|
} |
|
507
|
507
|
|
|
508
|
|
- $address = $address->fromArray( $map ); |
|
|
508
|
+ $address = $address->fromArray($map); |
|
509
|
509
|
|
|
510
|
|
- if( count( $map ) > 0 ) |
|
|
510
|
+ if (count($map) > 0) |
|
511
|
511
|
{ |
|
512
|
|
- $msg = $this->getContext()->getI18n()->dt( 'controller/frontend', 'Invalid address properties, please check your input' ); |
|
513
|
|
- throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg, 0, null, $map ); |
|
|
512
|
+ $msg = $this->getContext()->getI18n()->dt('controller/frontend', 'Invalid address properties, please check your input'); |
|
|
513
|
+ throw new \Aimeos\Controller\Frontend\Basket\Exception($msg, 0, null, $map); |
|
514
|
514
|
} |
|
515
|
515
|
|
|
516
|
516
|
return $address; |