Jmango360_Japi - Version 3.6.0

Version Notes

* Bug fixes

Download this release

Release Info

Developer Duc Ngo
Extension Jmango360_Japi
Version 3.6.0
Comparing to
See all releases


Code changes from version 3.5.5 to 3.6.0

Files changed (51) hide show
  1. app/code/community/Jmango360/Japi/Block/Checkout/Onepage.php +50 -5
  2. app/code/community/Jmango360/Japi/Block/Checkout/Onepage/Billing.php +12 -2
  3. app/code/community/Jmango360/Japi/Block/Checkout/Onepage/Olifant.php +15 -0
  4. app/code/community/Jmango360/Japi/Block/Checkout/Onepage/Payment/Methods.php +16 -0
  5. app/code/community/Jmango360/Japi/Block/Checkout/Onepage/Shipping.php +8 -0
  6. app/code/community/Jmango360/Japi/Block/Customer/Form/Register.php +30 -0
  7. app/code/community/Jmango360/Japi/Helper/ConfigurableSwatches/Mediafallback.php +42 -0
  8. app/code/community/Jmango360/Japi/Helper/Data.php +16 -7
  9. app/code/community/Jmango360/Japi/Helper/Product.php +327 -38
  10. app/code/community/Jmango360/Japi/Helper/Product/Configurable.php +69 -0
  11. app/code/community/Jmango360/Japi/Helper/Product/Options.php +64 -0
  12. app/code/community/Jmango360/Japi/Helper/Search/Algolia.php +116 -0
  13. app/code/community/Jmango360/Japi/Model/Flagbit/LanguageSelector/Observer.php +54 -0
  14. app/code/community/Jmango360/Japi/Model/Observer.php +97 -0
  15. app/code/community/Jmango360/Japi/Model/Observer/Controller/Front.php +18 -0
  16. app/code/community/Jmango360/Japi/Model/Payment/Adyen/Pin.php +7 -2
  17. app/code/community/Jmango360/Japi/Model/Rest/Cart/Update.php +41 -21
  18. app/code/community/Jmango360/Japi/Model/Rest/Catalog/Category/Assignedproducts.php +26 -8
  19. app/code/community/Jmango360/Japi/Model/Rest/Catalog/Search/Products.php +6 -1
  20. app/code/community/Jmango360/Japi/Model/Rest/Checkout/Submit.php +10 -17
  21. app/code/community/Jmango360/Japi/Model/Rest/Customer/Order/List.php +8 -0
  22. app/code/community/Jmango360/Japi/Model/Rest/Mage.php +3 -0
  23. app/code/community/Jmango360/Japi/Model/Rest/Product.php +7 -1
  24. app/code/community/Jmango360/Japi/Model/Rest/Product/Related.php +3 -1
  25. app/code/community/Jmango360/Japi/Model/Rest/Product/Search.php +18 -0
  26. app/code/community/Jmango360/Japi/Model/Server.php +6 -2
  27. app/code/community/Jmango360/Japi/controllers/AdyenController.php +16 -1
  28. app/code/community/Jmango360/Japi/controllers/CheckoutController.php +150 -39
  29. app/code/community/Jmango360/Japi/controllers/CustomerController.php +24 -0
  30. app/code/community/Jmango360/Japi/controllers/Rest/MageController.php +13 -0
  31. app/code/community/Jmango360/Japi/controllers/TrollwebController.php +19 -0
  32. app/code/community/Jmango360/Japi/etc/config.xml +27 -1
  33. app/code/community/Jmango360/Japi/etc/system.xml +61 -7
  34. app/design/frontend/base/default/layout/jmango360_japi.xml +108 -4
  35. app/design/frontend/base/default/template/japi/checkout/onepage.phtml +0 -3
  36. app/design/frontend/base/default/template/japi/checkout/onepage/agreements.phtml +31 -4
  37. app/design/frontend/base/default/template/japi/checkout/onepage/massamarkt/billing.phtml +459 -0
  38. app/design/frontend/base/default/template/japi/checkout/onepage/massamarkt/shipping.phtml +288 -0
  39. app/design/frontend/base/default/template/japi/checkout/onepage/style.phtml +23 -3
  40. app/design/frontend/base/default/template/japi/flagbit_checkout/onepage.phtml +48 -0
  41. app/design/frontend/base/default/template/japi/flagbit_checkout/onepage_compact.phtml +48 -0
  42. app/design/frontend/base/default/template/japi/page/rwd.phtml +6 -2
  43. app/locale/de_DE/Jmango360_Japi.csv +1 -0
  44. package.xml +4 -4
  45. skin/frontend/base/default/japi/css/flagbit_checkout.css +278 -0
  46. skin/frontend/base/default/japi/css/flagbit_checkout.less +351 -0
  47. skin/frontend/base/default/japi/css/style.css +0 -3
  48. skin/frontend/base/default/japi/css/style.less +0 -4
  49. skin/frontend/base/default/japi/css/trollweb_kco.css +114 -0
  50. skin/frontend/base/default/japi/css/trollweb_kco.less +140 -0
  51. skin/frontend/base/default/japi/js/checkout.js +61 -0
app/code/community/Jmango360/Japi/Block/Checkout/Onepage.php CHANGED
@@ -4,17 +4,62 @@
4
  * Copyright 2015 JMango360
5
  */
6
  if (@class_exists('Kega_Checkout_Block_Onepage')) {
7
- class Jmango360_Japi_Block_Checkout_Onepage extends Kega_Checkout_Block_Onepage
8
  {
9
  }
10
- } elseif (Mage::helper('core')->isModuleEnabled('LaPoste_SoColissimoSimplicite')
11
- && @class_exists('LaPoste_SoColissimoSimplicite_Block_Onepage')
12
  ) {
13
- class Jmango360_Japi_Block_Checkout_Onepage extends LaPoste_SoColissimoSimplicite_Block_Onepage
 
 
 
 
14
  {
15
  }
16
  } else {
17
- class Jmango360_Japi_Block_Checkout_Onepage extends Mage_Checkout_Block_Onepage
18
  {
19
  }
20
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  * Copyright 2015 JMango360
5
  */
6
  if (@class_exists('Kega_Checkout_Block_Onepage')) {
7
+ class Jmango360_Japi_Block_Checkout_Onepage_Abstract extends Kega_Checkout_Block_Onepage
8
  {
9
  }
10
+ } elseif (Mage::helper('core')->isModuleEnabled('LaPoste_SoColissimoSimplicite') && @class_exists('LaPoste_SoColissimoSimplicite_Block_Onepage')
 
11
  ) {
12
+ class Jmango360_Japi_Block_Checkout_Onepage_Abstract extends LaPoste_SoColissimoSimplicite_Block_Onepage
13
+ {
14
+ }
15
+ } elseif (@class_exists('Flagbit_Checkout_Block_Onepage')) {
16
+ class Jmango360_Japi_Block_Checkout_Onepage_Abstract extends Flagbit_Checkout_Block_Onepage
17
  {
18
  }
19
  } else {
20
+ class Jmango360_Japi_Block_Checkout_Onepage_Abstract extends Mage_Checkout_Block_Onepage
21
  {
22
  }
23
  }
24
+
25
+ class Jmango360_Japi_Block_Checkout_Onepage extends Jmango360_Japi_Block_Checkout_Onepage_Abstract
26
+ {
27
+ public function getSteps()
28
+ {
29
+ $steps = parent::getSteps();
30
+
31
+ if (Mage::helper('core')->isModuleEnabled('Flagbit_Checkout')) {
32
+ foreach ($steps as $code => $step) {
33
+ switch ($code) {
34
+ case 'billing':
35
+ $steps[$code]['label'] = $this->__('Personal Information');
36
+ break;
37
+ case 'payment':
38
+ $steps[$code]['label'] = $this->__('Payment & Shipping');
39
+ break;
40
+ case 'review':
41
+ $steps[$code]['label'] = $this->__('Order confirmation');
42
+
43
+ }
44
+ }
45
+ }
46
+
47
+ return $steps;
48
+ }
49
+
50
+ /**
51
+ * Get checkout steps codes
52
+ *
53
+ * @return array
54
+ */
55
+ protected function _getStepCodes()
56
+ {
57
+ if (Mage::helper('core')->isModuleEnabled('MadeByMouses_Olifant')) {
58
+ $isNotB2B = Mage::app()->getStore()->getCode() != 'wholesale';
59
+ if(Mage::helper('customer')->isLoggedIn() && $isNotB2B){
60
+ return array('login', 'billing', 'shipping', 'olifant', 'shipping_method', 'payment', 'review');
61
+ }
62
+ }
63
+ return parent::_getStepCodes();
64
+ }
65
+ }
app/code/community/Jmango360/Japi/Block/Checkout/Onepage/Billing.php CHANGED
@@ -6,17 +6,27 @@
6
  if (Mage::helper('core')->isModuleEnabled('Nedstars_Checkout') && @class_exists('Nedstars_Checkout_Block_Onepage_Billing')) {
7
  class Jmango360_Japi_Block_Checkout_Onepage_Billing_Abstract extends Nedstars_Checkout_Block_Onepage_Billing
8
  {
9
-
 
 
 
10
  }
11
  } else {
12
  class Jmango360_Japi_Block_Checkout_Onepage_Billing_Abstract extends Mage_Checkout_Block_Onepage_Billing
13
  {
14
-
15
  }
16
  }
17
 
18
  class Jmango360_Japi_Block_Checkout_Onepage_Billing extends Jmango360_Japi_Block_Checkout_Onepage_Billing_Abstract
19
  {
 
 
 
 
 
 
 
 
20
  public function getAddress()
21
  {
22
  if (is_null($this->_address)) {
6
  if (Mage::helper('core')->isModuleEnabled('Nedstars_Checkout') && @class_exists('Nedstars_Checkout_Block_Onepage_Billing')) {
7
  class Jmango360_Japi_Block_Checkout_Onepage_Billing_Abstract extends Nedstars_Checkout_Block_Onepage_Billing
8
  {
9
+ }
10
+ } elseif (@class_exists('Flagbit_Checkout_Block_Onepage_Billing')) {
11
+ class Jmango360_Japi_Block_Checkout_Onepage_Billing_Abstract extends Flagbit_Checkout_Block_Onepage_Billing
12
+ {
13
  }
14
  } else {
15
  class Jmango360_Japi_Block_Checkout_Onepage_Billing_Abstract extends Mage_Checkout_Block_Onepage_Billing
16
  {
 
17
  }
18
  }
19
 
20
  class Jmango360_Japi_Block_Checkout_Onepage_Billing extends Jmango360_Japi_Block_Checkout_Onepage_Billing_Abstract
21
  {
22
+ public function __construct()
23
+ {
24
+ if (Mage::helper('core')->isModuleEnabled('Massamarkt_Core')) {
25
+ $this->setTemplate('japi/checkout/onepage/massamarkt/billing.phtml');
26
+ }
27
+ parent::__construct();
28
+ }
29
+
30
  public function getAddress()
31
  {
32
  if (is_null($this->_address)) {
app/code/community/Jmango360/Japi/Block/Checkout/Onepage/Olifant.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jmango360_Japi_Block_Checkout_Onepage_Olifant extends Mage_Checkout_Block_Onepage_Abstract {
4
+ protected function _construct()
5
+ {
6
+ if (Mage::helper('core')->isModuleEnabled('MadeByMouses_Olifant')) {
7
+ $this->getCheckout()->setStepData('olifant', array(
8
+ 'label' => Mage::helper('olifant')->__('SPAAROLIFANTEN'),
9
+ 'is_show' => true
10
+ ));
11
+ $this->setTemplate('olifant/onepage-step.phtml');
12
+ }
13
+ parent::_construct();
14
+ }
15
+ }
app/code/community/Jmango360/Japi/Block/Checkout/Onepage/Payment/Methods.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (@class_exists('Flagbit_Checkout_Block_Onepage_Payment_Methods')) {
4
+ class Jmango360_Japi_Block_Checkout_Onepage_Payment_Methods_Abstract extends Flagbit_Checkout_Block_Onepage_Payment_Methods
5
+ {
6
+ }
7
+ } else {
8
+ class Jmango360_Japi_Block_Checkout_Onepage_Payment_Methods_Abstract extends Mage_Checkout_Block_Onepage_Payment_Methods
9
+ {
10
+ }
11
+ }
12
+
13
+ class Jmango360_Japi_Block_Checkout_Onepage_Payment_Methods extends Jmango360_Japi_Block_Checkout_Onepage_Payment_Methods_Abstract
14
+ {
15
+
16
+ }
app/code/community/Jmango360/Japi/Block/Checkout/Onepage/Shipping.php CHANGED
@@ -17,6 +17,14 @@ if (Mage::helper('core')->isModuleEnabled('Nedstars_Checkout') && @class_exists(
17
 
18
  class Jmango360_Japi_Block_Checkout_Onepage_Shipping extends Jmango360_Japi_Block_Checkout_Onepage_Shipping_Abstract
19
  {
 
 
 
 
 
 
 
 
20
  public function getAddress()
21
  {
22
  if (is_null($this->_address)) {
17
 
18
  class Jmango360_Japi_Block_Checkout_Onepage_Shipping extends Jmango360_Japi_Block_Checkout_Onepage_Shipping_Abstract
19
  {
20
+ public function __construct()
21
+ {
22
+ if (Mage::helper('core')->isModuleEnabled('Massamarkt_Core')) {
23
+ $this->setTemplate('japi/checkout/onepage/massamarkt/shipping.phtml');
24
+ }
25
+ parent::__construct();
26
+ }
27
+
28
  public function getAddress()
29
  {
30
  if (is_null($this->_address)) {
app/code/community/Jmango360/Japi/Block/Customer/Form/Register.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jmango360_Japi_Block_Customer_Form_Register extends Mage_Customer_Block_Form_Register
4
+ {
5
+ /**
6
+ * Retrieve success url
7
+ */
8
+ public function getSuccessUrl()
9
+ {
10
+ return $this->getUrl('*/*/register', array('_secure' => true));
11
+ }
12
+
13
+ /**
14
+ * Retrieve error url
15
+ */
16
+ public function getErrorUrl()
17
+ {
18
+ return $this->getUrl('*/*/register', array('_secure' => true));
19
+ }
20
+
21
+ /**
22
+ * Retrieve form posting url
23
+ *
24
+ * @return string
25
+ */
26
+ public function getPostActionUrl()
27
+ {
28
+ return $this->getUrl('*/*/createPost', array('_secure' => true));
29
+ }
30
+ }
app/code/community/Jmango360/Japi/Helper/ConfigurableSwatches/Mediafallback.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jmango360_Japi_Helper_ConfigurableSwatches_Mediafallback extends Mage_ConfigurableSwatches_Helper_Mediafallback
4
+ {
5
+ /**
6
+ * Resize specified type of image on the product for use in the fallback and returns the image URL
7
+ * or returns the image URL for the specified image path if present
8
+ *
9
+ * @param Mage_Catalog_Model_Product $product
10
+ * @param string $type
11
+ * @param bool $keepFrame
12
+ * @param string $image
13
+ * @param bool $placeholder
14
+ * @return string|bool
15
+ */
16
+ protected function _resizeProductImage($product, $type, $keepFrame, $image = null, $placeholder = false)
17
+ {
18
+ $hasTypeData = $product->hasData($type) && $product->getData($type) != 'no_selection';
19
+ if ($image == 'no_selection') {
20
+ $image = null;
21
+ }
22
+ if ($hasTypeData || $placeholder || $image) {
23
+ $helper = Mage::helper('catalog/image')
24
+ ->init($product, $type, $image)
25
+ ->keepFrame(($hasTypeData || $image) ? $keepFrame : false) // don't keep frame if placeholder
26
+ ;
27
+
28
+ $size = Mage::getStoreConfig(Mage_Catalog_Helper_Image::XML_NODE_PRODUCT_BASE_IMAGE_WIDTH);
29
+ if ($type == 'small_image') {
30
+ $size = Mage::getStoreConfig(Mage_Catalog_Helper_Image::XML_NODE_PRODUCT_SMALL_IMAGE_WIDTH);
31
+ }
32
+ if (is_numeric($size)) {
33
+ /**
34
+ * MPLUGIN-2282: Remove constrainOnly
35
+ */
36
+ $helper->constrainOnly(false)->resize($size);
37
+ }
38
+ return (string)$helper;
39
+ }
40
+ return false;
41
+ }
42
+ }
app/code/community/Jmango360/Japi/Helper/Data.php CHANGED
@@ -714,12 +714,18 @@ class Jmango360_Japi_Helper_Data extends Mage_Core_Helper_Abstract
714
  if ($this->isModuleEnabled('Experius_Geoipredirect')) {
715
  Mage::getSingleton('core/session')->setData('ipcheck_redirected', Mage::app()->getStore()->getId());
716
  }
 
717
 
718
  if (Mage::getStoreConfigFlag('japi/jmango_rest_checkout_settings/onepage')) {
719
- $checkoutUrl = Mage::getUrl('japi/checkout/onepage', array('_secure' => true));
720
  if (Mage::helper('core')->isModuleEnabled('Vaimo_Klarna')) {
721
  if (Mage::getStoreConfigFlag('payment/vaimo_klarna_checkout/active')) {
722
- $checkoutUrl = Mage::getUrl('japi/klarna/checkout', array('_secure' => true));
 
 
 
 
 
723
  }
724
  }
725
  } else {
@@ -730,7 +736,7 @@ class Jmango360_Japi_Helper_Data extends Mage_Core_Helper_Abstract
730
  if (strpos($checkoutUrl, 'http') === 0) {
731
  return $checkoutUrl;
732
  } else {
733
- return Mage::getUrl($checkoutUrl);
734
  }
735
  }
736
 
@@ -1228,14 +1234,17 @@ class Jmango360_Japi_Helper_Data extends Mage_Core_Helper_Abstract
1228
  */
1229
  public function isAddressesReady()
1230
  {
1231
- if ($isAddressesApiUpdate = Mage::getSingleton('core/session')->getData('is_address_update')) {
1232
- return $isAddressesApiUpdate;
1233
- }
1234
-
1235
  /** @var Mage_Checkout_Model_Session $checkoutSession */
1236
  $checkoutSession = Mage::getSingleton('checkout/session');
1237
  $quote = $checkoutSession->getQuote();
1238
  $shippingAddress = $quote->getShippingAddress();
 
 
 
 
 
 
 
1239
  if ($shippingAddress->getGroupedAllShippingRates()) {
1240
  return true;
1241
  }
714
  if ($this->isModuleEnabled('Experius_Geoipredirect')) {
715
  Mage::getSingleton('core/session')->setData('ipcheck_redirected', Mage::app()->getStore()->getId());
716
  }
717
+ $params = Mage::app()->getRequest()->getParams();
718
 
719
  if (Mage::getStoreConfigFlag('japi/jmango_rest_checkout_settings/onepage')) {
720
+ $checkoutUrl = Mage::getUrl('japi/checkout/onepage', array('_secure' => true, '_query' => $params));
721
  if (Mage::helper('core')->isModuleEnabled('Vaimo_Klarna')) {
722
  if (Mage::getStoreConfigFlag('payment/vaimo_klarna_checkout/active')) {
723
+ $checkoutUrl = Mage::getUrl('japi/klarna/checkout', array('_secure' => true, '_query' => $params));
724
+ }
725
+ }
726
+ if (Mage::helper('core')->isModuleEnabled('Trollweb_KCO')) {
727
+ if (Mage::getStoreConfigFlag('payment/kco_checkout/active')) {
728
+ $checkoutUrl = Mage::getUrl('japi/trollweb', array('_secure' => true, '_query' => $params));
729
  }
730
  }
731
  } else {
736
  if (strpos($checkoutUrl, 'http') === 0) {
737
  return $checkoutUrl;
738
  } else {
739
+ return Mage::getUrl($checkoutUrl, array('_query' => $params));
740
  }
741
  }
742
 
1234
  */
1235
  public function isAddressesReady()
1236
  {
 
 
 
 
1237
  /** @var Mage_Checkout_Model_Session $checkoutSession */
1238
  $checkoutSession = Mage::getSingleton('checkout/session');
1239
  $quote = $checkoutSession->getQuote();
1240
  $shippingAddress = $quote->getShippingAddress();
1241
+
1242
+ if (Mage::getSingleton('core/session')->getData('is_address_update')) {
1243
+ if ($shippingAddress->getCountryId()) {
1244
+ return true;
1245
+ }
1246
+ }
1247
+
1248
  if ($shippingAddress->getGroupedAllShippingRates()) {
1249
  return true;
1250
  }
app/code/community/Jmango360/Japi/Helper/Product.php CHANGED
@@ -186,7 +186,11 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
186
  $request = Mage::helper('japi')->getRequest();
187
 
188
  /* @var $toolBarBlock Mage_Catalog_Block_Product_List_Toolbar */
189
- $toolBarBlock = Mage::helper('japi')->getBlock('catalog/product_list_toolbar');
 
 
 
 
190
 
191
  if ($limit = $request->getParam('limit')) {
192
  $toolBarBlock->setDefaultListPerPage($limit);
@@ -248,8 +252,22 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
248
  * Always add sort by 'entity_id' for website http://www.gopro-mania.nl
249
  */
250
  if ($field == 'position' && ($_isUseFlatOnWeb || $this->isModuleEnabled('Samiflabs_Shopby'))) {
251
- $collection->getSelect()->order('cat_index_position ' . strtoupper($direction));
252
- $collection->setOrder('entity_id', 'asc');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  }
254
  /**
255
  * Fix list order when sort by position
@@ -263,20 +281,40 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
263
  } else {
264
  $_ignoreOrder = array('position', 'entity_id', 'relevance');
265
  }
 
 
 
 
 
 
 
 
 
 
 
 
266
  if (!in_array($field, $_ignoreOrder)) {
267
  if ($request->getParam('category_id')) {
268
  if ($toolBarBlock->getCurrentOrder() != 'position')
269
  $collection->setOrder('position', 'asc');
270
  }
 
 
 
271
  if ($this->isModuleEnabled('Samiflabs_Shopby')) {
272
- //Always add sort by 'entity_id' for website http://www.gopro-mania.nl
273
  $collection->setOrder('entity_id', 'asc');
274
  }
 
 
 
275
  if ($this->isModuleEnabled('Plusman_Custom')) {
276
- //Always add sort by 'entity_id' for website http://www.plusman.nl
277
  $collection->setOrder('entity_id', 'asc');
278
  }
279
- if (stripos($_SERVER['HTTP_HOST'], 'motodiffusion') >= 0) {
 
 
 
 
280
  $collection->setOrder('entity_id', 'asc');
281
  }
282
  }
@@ -416,15 +454,22 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
416
  ->setStoreId(Mage::app()->getStore()->getId())
417
  ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
418
  ->addFieldToFilter('type_id', array('in' => array('simple', 'configurable', 'grouped', 'bundle')))
419
- ->addMinimalPrice()
420
- ->addFinalPrice()
421
- ->addTaxPercents()
422
  ->addIdFilter($product);
423
 
424
  if (!isset($config['no_apply_hide_on_app'])) {
425
  $this->applyHideOnAppFilter($collection);
426
  }
427
 
 
 
 
 
 
 
 
428
  Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
429
  //Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
430
 
@@ -529,12 +574,15 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
529
 
530
  /**
531
  * @param Mage_Catalog_Model_Resource_Product_Collection $collection
532
- * @param bool $details
 
533
  * @return array
534
  */
535
- public function convertProductCollectionToApiResponseV2(Mage_Catalog_Model_Resource_Product_Collection $collection, $details = false)
536
  {
537
- $collection->applyFrontendPriceLimitations();
 
 
538
 
539
  if ($details) {
540
  $attributeDetails = Mage::getStoreConfig('japi/jmango_rest_catalog_settings/attribute_on_details');
@@ -560,7 +608,6 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
560
  $collection->addAttributeToSelect($attributeTag);
561
  }
562
 
563
-
564
  // Append review data
565
  $this->addProductReview($collection);
566
 
@@ -782,23 +829,76 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
782
  if (in_array($attributeCode, array('short_description', 'description'))) {
783
  if ($attribute->getData('is_wysiwyg_enabled') == 1) {
784
  $html = $this->_getCustomHtmlStyle();
785
- if ($attributeCode == 'description' && stripos($_SERVER['HTTP_HOST'], 'buyyourwine') >= 0) {
786
  $html .= $productHelper->productAttribute($product, $product->getData('about'), 'about');
787
  } else {
788
  $html .= $productHelper->productAttribute($product, $product->getData($attributeCode), $attributeCode);
789
  }
790
  if ($attributeCode == 'description' && $this->isModuleEnabled('Massamarkt_Core')) {
791
- $html .= '<br />'. $productHelper->productAttribute($product, $product->getData('extra_information'), 'extra_information');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
792
  }
793
  $result[$attributeCode] = $this->_cleanHtml($html);
794
  } else {
795
- if ($attributeCode == 'description' && stripos($_SERVER['HTTP_HOST'], 'buyyourwine') >= 0) {
796
  $html = $product->getData('about');
 
 
 
 
 
 
 
797
  } else {
798
  $html = $product->getData($attributeCode);
799
  }
800
  if ($attributeCode == 'description' && $this->isModuleEnabled('Massamarkt_Core')) {
801
- $html .= '<br />'. $productHelper->productAttribute($product, $product->getData('extra_information'), 'extra_information');
802
  }
803
  $result[$attributeCode] = $html;
804
  }
@@ -839,11 +939,16 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
839
  }
840
  if ($attribute->getIsVisibleOnFront()) {
841
  if (is_string($value) && strlen($value)) {
842
- $result['additional_information'][] = array(
843
- 'label' => $attribute->getStoreLabel(),
844
- 'value' => $value,
845
- 'code' => $attributeCode
846
- );
 
 
 
 
 
847
  }
848
  }
849
  } elseif ($attributeCode == $attributeListing) {
@@ -916,6 +1021,173 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
916
  return $result;
917
  }
918
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
919
  /**
920
  * Get product tag data
921
  *
@@ -1032,13 +1304,13 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
1032
  * MPLUGIN-1031: Validate data of attribute
1033
  * Return empty data if value of attribute null or contains only html tags
1034
  */
1035
- if ($attributeCode == 'description' && stripos($_SERVER['HTTP_HOST'], 'buyyourwine') >= 0) {
1036
  $attrContent = $productHelper->productAttribute($product, $product->getData('about'), 'about');
1037
  } else {
1038
  $attrContent = $productHelper->productAttribute($product, $product->getData($attributeCode), $attributeCode);
1039
  }
1040
  if ($attributeCode == 'description' && $this->isModuleEnabled('Massamarkt_Core')) {
1041
- $attrContent .= '<br />'. $productHelper->productAttribute($product, $product->getData('extra_information'), 'extra_information');
1042
  }
1043
  if (!$attrContent || $attrContent == '' || trim(strip_tags($attrContent)) == '') {
1044
  $result[$attributeCode] = '';
@@ -1048,9 +1320,9 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
1048
  $result[$attributeCode] = $this->_cleanHtml($html);
1049
  }
1050
  } else {
1051
- $html = ($attributeCode == 'description' && stripos($_SERVER['HTTP_HOST'], 'buyyourwine') >= 0) ? $product->getData('about') : $product->getData($attributeCode);
1052
  if ($attributeCode == 'description' && $this->isModuleEnabled('Massamarkt_Core')) {
1053
- $html .= '<br />'. $productHelper->productAttribute($product, $product->getData('extra_information'), 'extra_information');
1054
  }
1055
  $result[$attributeCode] = $html;
1056
  }
@@ -1162,6 +1434,12 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
1162
  if ($custtomCss = Mage::getStoreConfig('japi/jmango_rest_catalog_settings/custom_css')) {
1163
  $css .= str_replace("\n", '', $custtomCss);
1164
  }
 
 
 
 
 
 
1165
  $css .= '</style>';
1166
 
1167
  return $css;
@@ -1179,7 +1457,12 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
1179
  if (!$html) return $html;
1180
 
1181
  $html = str_replace('&nbsp; ', ' ', str_replace('&nbsp;&nbsp;', ' ', $html));
1182
- $html = nl2br($html);
 
 
 
 
 
1183
 
1184
  return $html;
1185
  }
@@ -2076,6 +2359,15 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
2076
  } else {
2077
  return $product->getPrice();
2078
  }
 
 
 
 
 
 
 
 
 
2079
  } else {
2080
  return $product->getPrice();
2081
  }
@@ -2424,19 +2716,16 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
2424
  // If there are no filters, return empty array.
2425
  if (empty($filters)) return $attributes;
2426
 
2427
- foreach($filters as $filter)
2428
- {
2429
- $key = (string) $filter['key'];
2430
- $attributes[$key] = array('label' => (string) $filter['label']);
2431
  $attributes[$key]['options'] = array();
2432
- if($filter['options'])
2433
- {
2434
- foreach($filter['options'] as $option)
2435
- {
2436
  $attributes[$key]['options'][] = array(
2437
- 'label' => trim((string) $option['name']),
2438
- 'count' => trim((string) $option['count']),
2439
- 'selected' => trim((string) $option['selected'])
2440
  );
2441
  }
2442
  }
186
  $request = Mage::helper('japi')->getRequest();
187
 
188
  /* @var $toolBarBlock Mage_Catalog_Block_Product_List_Toolbar */
189
+ if ($this->isModuleEnabled('Amasty_Sorting')) {
190
+ $toolBarBlock = Mage::helper('japi')->getBlock('catalog/product_list_toolbar');
191
+ } else {
192
+ $toolBarBlock = Mage::helper('japi')->getBlock('Mage_Catalog_Block_Product_List_Toolbar');
193
+ }
194
 
195
  if ($limit = $request->getParam('limit')) {
196
  $toolBarBlock->setDefaultListPerPage($limit);
252
  * Always add sort by 'entity_id' for website http://www.gopro-mania.nl
253
  */
254
  if ($field == 'position' && ($_isUseFlatOnWeb || $this->isModuleEnabled('Samiflabs_Shopby'))) {
255
+ if (!strpos(Mage::getBaseUrl(), 'bloomfashion.nl') && !strpos($_SERVER['HTTP_HOST'], 'motodiffusion')) {
256
+ $collection->getSelect()->order('cat_index_position ' . strtoupper($direction));
257
+ $collection->setOrder('entity_id', 'asc');
258
+ }
259
+ }
260
+ /**
261
+ * MPLUGIN-2154: Fix bloomfashion.nl ignore sort
262
+ */
263
+ if ($field && strpos(Mage::getBaseUrl(), 'bloomfashion.nl') !== false) {
264
+ if ($field == 'price') {
265
+ $collection->setOrder($toolBarBlock->getCurrentOrder(), $toolBarBlock->getCurrentDirection());
266
+ $collection->setOrder('entity_id', 'asc');
267
+ } elseif ($field != 'position') {
268
+ $collection->unshiftOrder($toolBarBlock->getCurrentOrder(), $toolBarBlock->getCurrentDirection());
269
+ $collection->setOrder('entity_id', 'asc');
270
+ }
271
  }
272
  /**
273
  * Fix list order when sort by position
281
  } else {
282
  $_ignoreOrder = array('position', 'entity_id', 'relevance');
283
  }
284
+ if (strpos($_SERVER['HTTP_HOST'], 'motodiffusion')) {
285
+ array_push(
286
+ $_ignoreOrder,
287
+ array('highlited_product', 'rewardpoints_spend', 'rating_summary')
288
+ );
289
+ }
290
+ if ($this->isModuleEnabled('GGMGastro_Catalog')) {
291
+ array_push(
292
+ $_ignoreOrder,
293
+ array('popularity_by_reviews', 'popularity_by_rating', 'popularity_by_sells')
294
+ );
295
+ }
296
  if (!in_array($field, $_ignoreOrder)) {
297
  if ($request->getParam('category_id')) {
298
  if ($toolBarBlock->getCurrentOrder() != 'position')
299
  $collection->setOrder('position', 'asc');
300
  }
301
+ /**
302
+ * Always add sort by 'entity_id' for website http://www.gopro-mania.nl
303
+ */
304
  if ($this->isModuleEnabled('Samiflabs_Shopby')) {
 
305
  $collection->setOrder('entity_id', 'asc');
306
  }
307
+ /**
308
+ * Always add sort by 'entity_id' for website http://www.plusman.nl
309
+ */
310
  if ($this->isModuleEnabled('Plusman_Custom')) {
 
311
  $collection->setOrder('entity_id', 'asc');
312
  }
313
+
314
+ /**
315
+ * This code not affect floyd.no product ordering, it crazy
316
+ */
317
+ if (strpos(Mage::getBaseUrl(), 'floyd.no') !== false) {
318
  $collection->setOrder('entity_id', 'asc');
319
  }
320
  }
454
  ->setStoreId(Mage::app()->getStore()->getId())
455
  ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
456
  ->addFieldToFilter('type_id', array('in' => array('simple', 'configurable', 'grouped', 'bundle')))
457
+ //->addMinimalPrice()
458
+ //->addFinalPrice()
459
+ //->addTaxPercents()
460
  ->addIdFilter($product);
461
 
462
  if (!isset($config['no_apply_hide_on_app'])) {
463
  $this->applyHideOnAppFilter($collection);
464
  }
465
 
466
+ if (!isset($config['no_apply_price'])) {
467
+ $collection
468
+ ->addMinimalPrice()
469
+ ->addFinalPrice()
470
+ ->addTaxPercents();
471
+ }
472
+
473
  Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
474
  //Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
475
 
574
 
575
  /**
576
  * @param Mage_Catalog_Model_Resource_Product_Collection $collection
577
+ * @param bool $details Is get product details request
578
+ * @param bool $includePrice Should include price in SQL query
579
  * @return array
580
  */
581
+ public function convertProductCollectionToApiResponseV2(Mage_Catalog_Model_Resource_Product_Collection $collection, $details = false, $includePrice = true)
582
  {
583
+ if ($includePrice) {
584
+ $collection->applyFrontendPriceLimitations();
585
+ }
586
 
587
  if ($details) {
588
  $attributeDetails = Mage::getStoreConfig('japi/jmango_rest_catalog_settings/attribute_on_details');
608
  $collection->addAttributeToSelect($attributeTag);
609
  }
610
 
 
611
  // Append review data
612
  $this->addProductReview($collection);
613
 
829
  if (in_array($attributeCode, array('short_description', 'description'))) {
830
  if ($attribute->getData('is_wysiwyg_enabled') == 1) {
831
  $html = $this->_getCustomHtmlStyle();
832
+ if ($attributeCode == 'description' && strpos($_SERVER['HTTP_HOST'], 'buyyourwine') !== false) {
833
  $html .= $productHelper->productAttribute($product, $product->getData('about'), 'about');
834
  } else {
835
  $html .= $productHelper->productAttribute($product, $product->getData($attributeCode), $attributeCode);
836
  }
837
  if ($attributeCode == 'description' && $this->isModuleEnabled('Massamarkt_Core')) {
838
+ $html .= '<br />' . $productHelper->productAttribute($product, $product->getData('extra_information'), 'extra_information');
839
+ }
840
+ /**
841
+ * MPLUGIN-2275: GGM "short_description", "description"
842
+ * MPLUGIN-2287: GGM "important" data
843
+ */
844
+ if ($attributeCode == 'description' && $this->isModuleEnabled('Flagbit_DynamicTabs')) {
845
+ $html .= $productHelper->productAttribute($product, $product->getData('technical'), 'technical');
846
+ $html .= '<br/><b>' . $this->__('Important') . '</b><br/><br/>';
847
+ $html .= nl2br($productHelper->productAttribute($product, $product->getData('important'), 'important'));
848
+ }
849
+ if ($attributeCode == 'short_description' && $this->isModuleEnabled('GGMGastro_Catalog')) {
850
+ $html = $this->_getCustomHtmlStyle();
851
+ $html .= $this->_addDeliveryTimeHtmlGGMGastro($product);
852
+ $html .= $this->_addTaxHtmlGGMGastro($product);
853
+ if ($product->getBstock() == 1) {
854
+ $html .= $product->getBstockDescription();
855
+ } else {
856
+ if (Mage::app()->getStore()->getId() == 1) {
857
+ $html .= "
858
+ <ul>
859
+ <li>Leasing möglich</li>
860
+ <li>Bezahlung per Rechnung möglich</li>
861
+ <li>12 Monate Gewährleistung & Garantie auf Ersatzteile</li>
862
+ <li><a href=\"". $this->_getUrl('service-ggm') ."\" target=\"new\" >14 Tage Rückgaberecht → Mehr Info</a></li>";
863
+ if (method_exists($product, 'getbestellartikel')) {
864
+ if ($product->getbestellartikel() == 1) {
865
+ $html .= "<li>Bestellartikel → Bitte beachten Sie die gesonderten Rückgabebedingungen</li>";
866
+ }
867
+ }
868
+
869
+ $html .= "</ul>";
870
+ }
871
+ }
872
+ }
873
+
874
+ /**
875
+ * MPLUGIN-2284: popcorn.nl show Article number on short_description
876
+ */
877
+ if ($attributeCode == 'short_description' && strpos($_SERVER['HTTP_HOST'], 'popcorn.nl') !== false) {
878
+ $html .= '<strong>' . $productHelper->__("SKU:") . $product->getSku() . '</strong><br />';
879
+ }
880
+ /**
881
+ * JM-250: Support Amasty Brand
882
+ */
883
+ if ($attributeCode == 'description' && strpos(Mage::getBaseUrl(), 'abcleksaker') !== false) {
884
+ $html .= $this->_getAmastyBrand($product);
885
  }
886
  $result[$attributeCode] = $this->_cleanHtml($html);
887
  } else {
888
+ if ($attributeCode == 'description' && strpos($_SERVER['HTTP_HOST'], 'buyyourwine') !== false) {
889
  $html = $product->getData('about');
890
+ }
891
+ if ($attributeCode == 'short_description' && strpos($_SERVER['HTTP_HOST'], 'popcorn.nl') !== false) {
892
+ /**
893
+ * MPLUGIN-2284: popcorn.nl show Article number on short_description
894
+ */
895
+ $html = '<strong>' . $productHelper->__("SKU:") . $product->getSku() . '</strong><br />';
896
+ $html .= $product->getData($attributeCode);
897
  } else {
898
  $html = $product->getData($attributeCode);
899
  }
900
  if ($attributeCode == 'description' && $this->isModuleEnabled('Massamarkt_Core')) {
901
+ $html .= '<br />' . $productHelper->productAttribute($product, $product->getData('extra_information'), 'extra_information');
902
  }
903
  $result[$attributeCode] = $html;
904
  }
939
  }
940
  if ($attribute->getIsVisibleOnFront()) {
941
  if (is_string($value) && strlen($value)) {
942
+ /**
943
+ * MPLUGIN-2275: GGM short_description vs description
944
+ */
945
+ if (!$this->isModuleEnabled('Flagbit_DynamicTabs')) {
946
+ $result['additional_information'][] = array(
947
+ 'label' => $attribute->getStoreLabel(),
948
+ 'value' => $value,
949
+ 'code' => $attributeCode
950
+ );
951
+ }
952
  }
953
  }
954
  } elseif ($attributeCode == $attributeListing) {
1021
  return $result;
1022
  }
1023
 
1024
+ protected function _addDeliveryTimeHtmlGGMGastro($product)
1025
+ {
1026
+ if (!Mage::getStoreConfigFlag('catalog/price/display_delivery_time_on_categories')) {
1027
+ return '';
1028
+ }
1029
+ $website_id = Mage::app()->getWebsite()->getId();
1030
+ $pathInfo = Mage::app()->getRequest()->getPathInfo();
1031
+ $html = '';
1032
+ if ($product->getDeliveryTime()) {
1033
+ $helperdelivery = Mage::helper('magesetup');
1034
+ if($product->getBstock() == '1'){
1035
+ $html = '<p class="delivery-time" style="color: red;">';
1036
+ $html .= $helperdelivery->__('Selbstabholung');
1037
+ $html .= '</p>';
1038
+ }else{
1039
+ if($product->getDeliveryTimeSpan()){
1040
+ if($product->getDeliveryTimeSpanDays()){
1041
+ $html = '<p class="delivery-time delivery-time-color-'. $product->getDeliveryTimeColor() . '">';
1042
+ $html .= $helperdelivery->__('Delivery Time') . ': ' . $product->getDeliveryTimeSpan();
1043
+ $html .= '</p>';
1044
+ }else{
1045
+ $html = '<p class="delivery-time delivery-time-color-'. $product->getDeliveryTimeColor() . '">';
1046
+ $html .= $helperdelivery->__('Deliverable') . ': ' . $product->getDeliveryTimeSpan();
1047
+ $html .= '</p>';
1048
+ $html .= '<p class="delivery-time delivery-time-color-'. $product->getDeliveryTimeColor() . '">';
1049
+ $html .= $helperdelivery->__('In stock') . ': ca. ' . $product->getDeliveryTime();
1050
+ $html .= '</p>';
1051
+ }
1052
+ }else{
1053
+ if($website_id!=2){
1054
+ $del = $product->getDeliveryTime();
1055
+
1056
+ if($del[0]!="2"){
1057
+ $html = '<p class="delivery-time delivery-time-color-'. $product->getDeliveryTimeColor() . '">';
1058
+ $html .= $helperdelivery->__('Delivery Time') . ': ' . $product->getDeliveryTime();
1059
+ $html .= '</p>';
1060
+ }else{
1061
+ if($del == "2 - 5 Werktage"){
1062
+ $html = '<p class="delivery-time delivery-time-color-green">';
1063
+ $html .= $helperdelivery->__('Delivery Time') . ': ' . $product->getDeliveryTime();
1064
+ $html .= '</p>';
1065
+ }
1066
+ else {
1067
+ $html = '<p class="delivery-time delivery-time-color-'. $product->getDeliveryTimeColor() . '">';
1068
+ $html .= $helperdelivery->__('Delivery Time') . ': ' . $product->getDeliveryTime();
1069
+ $html .= '</p>';
1070
+ }
1071
+ }
1072
+ }else{
1073
+ $del = $product->getDeliveryTime();
1074
+
1075
+ if($del[0]!="3"){
1076
+ $html = '<p class="delivery-time delivery-time-color-'. $product->getDeliveryTimeColor() . '">';
1077
+ $html .= $helperdelivery->__('Delivery Time') . ': ' . $product->getDeliveryTime();
1078
+ $html .= '</p>';
1079
+ }else{
1080
+ $html = '<p class="delivery-time" style="color: red;">';
1081
+ $html .= $helperdelivery->__('out of stock, please ask for the delivery time');
1082
+ $html .= '</p>';
1083
+ }
1084
+ }
1085
+ }
1086
+ }
1087
+
1088
+ }
1089
+
1090
+ return $html;
1091
+ }
1092
+
1093
+ protected function _addTaxHtmlGGMGastro($product)
1094
+ {
1095
+ $html = '';
1096
+ try {
1097
+ $_priceBlock = new FireGento_MageSetup_Block_Catalog_Product_Price;
1098
+ $_priceBlock->setData('product', $product);
1099
+ $htmlTemplate = new Mage_Core_Block_Template;
1100
+ $htmlTax = $htmlTemplate->setTemplate('magesetup/price_info.phtml')
1101
+ ->setFormattedTaxRate($_priceBlock->getFormattedTaxRate())
1102
+ ->setIsIncludingTax($_priceBlock->isIncludingTax())
1103
+ ->setIsIncludingShippingCosts($_priceBlock->isIncludingShippingCosts())
1104
+ ->setIsShowShippingLink($_priceBlock->isShowShippingLink())
1105
+ ->setIsShowWeightInfo($_priceBlock->getIsShowWeightInfo())
1106
+ ->setFormattedWeight($_priceBlock->getFormattedWeight())
1107
+ ->setBstock($_priceBlock->getBstock())
1108
+ ->setNoShippingPriceMessage($_priceBlock->getNoShippingPriceMessage())
1109
+ ->toHtml();
1110
+ $html .= $htmlTax;
1111
+ } catch (Exception $e) {
1112
+ return $e->getMessage();
1113
+ }
1114
+ return $html;
1115
+ }
1116
+
1117
+ protected function _addLeasingButtonGGMGastro($product)
1118
+ {
1119
+ $html = '';
1120
+ try {
1121
+ Mage::register('product', $product);
1122
+ $htmlTemplate = new Mage_Core_Block_Template;
1123
+ $htmlLeasingButton = $htmlTemplate->setTemplate('flagbit/catalog/product/view/leasing/button.phtml')
1124
+ ->toHtml();
1125
+ $html .= $htmlLeasingButton;
1126
+ } catch (Exception $e) {
1127
+ return $e->getMessage();
1128
+ }
1129
+ return $html;
1130
+ }
1131
+ /**
1132
+ * Get Amasty brand information
1133
+ *
1134
+ * @param Mage_Catalog_Model_Product $product
1135
+ * @return string
1136
+ */
1137
+ protected function _getAmastyBrand($product)
1138
+ {
1139
+ $html = '';
1140
+ $brandAttr = Mage::getStoreConfig('amshopby/brands/attr', Mage::app()->getStore()->getStoreId());
1141
+ $brandAttrValue = $product->getData($brandAttr);
1142
+ if ($brandAttr && $brandAttrValue) {
1143
+ $brand = false;
1144
+
1145
+ $filters = Mage::getResourceModel('amshopby/filter_collection')->addTitles();
1146
+ foreach ($filters as $filter) {
1147
+ $code = $filter->getAttributeCode();
1148
+ if (!$code || ($code != $brandAttr)) {
1149
+ continue;
1150
+ }
1151
+ $optionCollection = Mage::getResourceModel('amshopby/value_collection')
1152
+ ->addPositions()
1153
+ ->addValue()
1154
+ ->addFieldToFilter('filter_id', $filter->getId())
1155
+ ->addFieldToFilter('option_id', $brandAttrValue)
1156
+ ->getFirstItem();
1157
+ if ($optionCollection) {
1158
+ $brand = $optionCollection;
1159
+ }
1160
+ }
1161
+
1162
+ if ($brand && $brand->getId()) {
1163
+ $img = false;
1164
+ if ($brand->getImgMedium()) {
1165
+ $img = $brand->getImgMedium();
1166
+ } elseif ($brand->getImgBig()) {
1167
+ $img = $brand->getImgBig();
1168
+ } elseif ($brand->getImgSmall()) {
1169
+ $img = $brand->getImgSmall();
1170
+ }
1171
+
1172
+ if ($img) {
1173
+ $img = Mage::getBaseUrl('media') . 'amshopby/' . $img;
1174
+ }
1175
+
1176
+ $html .= sprintf('<b>%s</b><br/>', $this->__('Brand'));
1177
+ if ($img) {
1178
+ $html .= sprintf('<img src="%s"/>', $img);
1179
+ } else {
1180
+ $html .= sprintf('<p>%s</p>', $this->escapeHtml($brand->getCurrentTitle()));
1181
+ }
1182
+ if ($brand->getCurrentDescr()) {
1183
+ $html .= $this->escapeHtml($brand->getCurrentDescr());
1184
+ }
1185
+ }
1186
+ }
1187
+
1188
+ return $html;
1189
+ }
1190
+
1191
  /**
1192
  * Get product tag data
1193
  *
1304
  * MPLUGIN-1031: Validate data of attribute
1305
  * Return empty data if value of attribute null or contains only html tags
1306
  */
1307
+ if ($attributeCode == 'description' && strpos($_SERVER['HTTP_HOST'], 'buyyourwine') !== false) {
1308
  $attrContent = $productHelper->productAttribute($product, $product->getData('about'), 'about');
1309
  } else {
1310
  $attrContent = $productHelper->productAttribute($product, $product->getData($attributeCode), $attributeCode);
1311
  }
1312
  if ($attributeCode == 'description' && $this->isModuleEnabled('Massamarkt_Core')) {
1313
+ $attrContent .= '<br />' . $productHelper->productAttribute($product, $product->getData('extra_information'), 'extra_information');
1314
  }
1315
  if (!$attrContent || $attrContent == '' || trim(strip_tags($attrContent)) == '') {
1316
  $result[$attributeCode] = '';
1320
  $result[$attributeCode] = $this->_cleanHtml($html);
1321
  }
1322
  } else {
1323
+ $html = ($attributeCode == 'description' && strpos($_SERVER['HTTP_HOST'], 'buyyourwine') !== false) ? $product->getData('about') : $product->getData($attributeCode);
1324
  if ($attributeCode == 'description' && $this->isModuleEnabled('Massamarkt_Core')) {
1325
+ $html .= '<br />' . $productHelper->productAttribute($product, $product->getData('extra_information'), 'extra_information');
1326
  }
1327
  $result[$attributeCode] = $html;
1328
  }
1434
  if ($custtomCss = Mage::getStoreConfig('japi/jmango_rest_catalog_settings/custom_css')) {
1435
  $css .= str_replace("\n", '', $custtomCss);
1436
  }
1437
+ /**
1438
+ * MPLUGIN-2275: Stylish
1439
+ */
1440
+ if ($this->isModuleEnabled('Flagbit_DynamicTabs')) {
1441
+ $css .= 'table tr th,table tr td{width:50%!important;text-align:left!important}';
1442
+ }
1443
  $css .= '</style>';
1444
 
1445
  return $css;
1457
  if (!$html) return $html;
1458
 
1459
  $html = str_replace('&nbsp; ', ' ', str_replace('&nbsp;&nbsp;', ' ', $html));
1460
+ /**
1461
+ * MPLUGIN-2275: Do not mess with webview
1462
+ */
1463
+ if (!$this->isModuleEnabled('Flagbit_DynamicTabs')) {
1464
+ $html = nl2br($html);
1465
+ }
1466
 
1467
  return $html;
1468
  }
2359
  } else {
2360
  return $product->getPrice();
2361
  }
2362
+ } elseif (
2363
+ $product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE
2364
+ && $this->isModuleEnabled('Ayasoftware_SimpleProductPricing')
2365
+ ) {
2366
+ $prices = Mage::helper('spp')->getCheapestChildPrice($product);
2367
+ if (is_array($prices)) {
2368
+ return $prices['Min']['price'];
2369
+ }
2370
+ return $product->getPrice();
2371
  } else {
2372
  return $product->getPrice();
2373
  }
2716
  // If there are no filters, return empty array.
2717
  if (empty($filters)) return $attributes;
2718
 
2719
+ foreach ($filters as $filter) {
2720
+ $key = (string)$filter['key'];
2721
+ $attributes[$key] = array('label' => (string)$filter['label']);
 
2722
  $attributes[$key]['options'] = array();
2723
+ if ($filter['options']) {
2724
+ foreach ($filter['options'] as $option) {
 
 
2725
  $attributes[$key]['options'][] = array(
2726
+ 'label' => trim((string)$option['name']),
2727
+ 'count' => trim((string)$option['count']),
2728
+ 'selected' => trim((string)$option['selected'])
2729
  );
2730
  }
2731
  }
app/code/community/Jmango360/Japi/Helper/Product/Configurable.php CHANGED
@@ -143,6 +143,36 @@ class Jmango360_Japi_Helper_Product_Configurable extends Mage_Core_Helper_Abstra
143
  }
144
  }
145
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  foreach ($this->getAllowAttributes($currentProduct) as $attribute) {
147
  $productAttribute = $attribute->getProductAttribute();
148
  if (!$productAttribute) continue;
@@ -178,23 +208,62 @@ class Jmango360_Japi_Helper_Product_Configurable extends Mage_Core_Helper_Abstra
178
  $productsIndex = array();
179
  }
180
 
 
 
 
 
 
 
 
 
 
181
  $info['options'][] = array(
182
  'id' => $value['value_index'],
183
  'label' => $value['label'],
184
  'price' => $configurablePrice,
185
  'oldPrice' => $this->_prepareOldPrice($currentProduct, $value['pricing_value'], $value['is_percent']),
 
 
186
  'products' => $productsIndex,
187
  );
 
188
  $optionPrices[] = $configurablePrice;
189
  }
190
  }
 
191
  if ($this->_validateAttributeInfo($info)) {
192
  $attributes[] = $info;
193
  }
194
  }
 
195
  return $attributes;
196
  }
197
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  /**
199
  * Validating of super product option value
200
  *
143
  }
144
  }
145
 
146
+ /**
147
+ * Support Configurable Swatches
148
+ */
149
+ $optionLabels = array();
150
+ if ($this->isModuleEnabled('Mage_ConfigurableSwatches') && Mage::getStoreConfigFlag('configswatches/general/enabled')) {
151
+ $store = Mage::app()->getStore();
152
+ $imageW = Mage::getStoreConfig('japi/jmango_rest_gallery_settings/image_width');
153
+ $store->setConfig(Mage_Catalog_Helper_Image::XML_NODE_PRODUCT_BASE_IMAGE_WIDTH, $imageW);
154
+ /* @var $mediaFallbackHelper Mage_ConfigurableSwatches_Helper_Mediafallback */
155
+ $mediaFallbackHelper = Mage::helper('configurableswatches/mediafallback');
156
+ $imageFallback = $mediaFallbackHelper->getConfigurableImagesFallbackArray($currentProduct, array('image'), true);
157
+ if (is_array($imageFallback['option_labels'])) {
158
+ foreach ($imageFallback['option_labels'] as $option_label => $option) {
159
+ if (isset($option['configurable_product'][Mage_ConfigurableSwatches_Helper_Productimg::MEDIA_IMAGE_TYPE_BASE])) {
160
+ $optionLabels[$option_label] = $option['configurable_product'][Mage_ConfigurableSwatches_Helper_Productimg::MEDIA_IMAGE_TYPE_BASE];
161
+ } else {
162
+ if (is_array($imageFallback[Mage_ConfigurableSwatches_Helper_Productimg::MEDIA_IMAGE_TYPE_BASE])) {
163
+ $compatibleProducts = array_intersect(
164
+ array_keys($imageFallback[Mage_ConfigurableSwatches_Helper_Productimg::MEDIA_IMAGE_TYPE_BASE]),
165
+ $option['products']
166
+ );
167
+ if (count($compatibleProducts)) {
168
+ $optionLabels[$option_label] = $imageFallback[Mage_ConfigurableSwatches_Helper_Productimg::MEDIA_IMAGE_TYPE_BASE][reset($compatibleProducts)];
169
+ }
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }
175
+
176
  foreach ($this->getAllowAttributes($currentProduct) as $attribute) {
177
  $productAttribute = $attribute->getProductAttribute();
178
  if (!$productAttribute) continue;
208
  $productsIndex = array();
209
  }
210
 
211
+ /**
212
+ * Support Configurable Swatches
213
+ */
214
+ if ($this->isModuleEnabled('Mage_ConfigurableSwatches') && Mage::getStoreConfigFlag('configswatches/general/enabled')) {
215
+ $normalizeLabel = Mage_ConfigurableSwatches_Helper_Data::normalizeKey($value['label']);
216
+ } else {
217
+ $normalizeLabel = $value['label'];
218
+ }
219
+
220
  $info['options'][] = array(
221
  'id' => $value['value_index'],
222
  'label' => $value['label'],
223
  'price' => $configurablePrice,
224
  'oldPrice' => $this->_prepareOldPrice($currentProduct, $value['pricing_value'], $value['is_percent']),
225
+ 'image_url' => $this->_getImageUrl($currentProduct, $value['label']),
226
+ 'product_images' => isset($optionLabels[$normalizeLabel]) ? array($optionLabels[$normalizeLabel]) : array(),
227
  'products' => $productsIndex,
228
  );
229
+
230
  $optionPrices[] = $configurablePrice;
231
  }
232
  }
233
+
234
  if ($this->_validateAttributeInfo($info)) {
235
  $attributes[] = $info;
236
  }
237
  }
238
+
239
  return $attributes;
240
  }
241
 
242
+ /**
243
+ * Get image url form Configurable Swatches
244
+ *
245
+ * @param Mage_Catalog_Model_Product $product
246
+ * @param string $label
247
+ * @return string
248
+ */
249
+ protected function _getImageUrl($product, $label)
250
+ {
251
+ if (!$product || !$label) return '';
252
+
253
+ if ($this->isModuleEnabled('Mage_ConfigurableSwatches') && Mage::getStoreConfigFlag('configswatches/general/enabled')) {
254
+ /** @var Mage_ConfigurableSwatches_Helper_Productimg $imgHelper */
255
+ $imgHelper = Mage::helper('configurableswatches/productimg');
256
+ /** @var Mage_ConfigurableSwatches_Helper_Swatchdimensions $dimHelper */
257
+ $dimHelper = Mage::helper('configurableswatches/swatchdimensions');
258
+ $swatchInnerWidth = $dimHelper->getInnerWidth(Mage_ConfigurableSwatches_Helper_Swatchdimensions::AREA_DETAIL);
259
+ $swatchInnerHeight = $dimHelper->getInnerHeight(Mage_ConfigurableSwatches_Helper_Swatchdimensions::AREA_DETAIL);
260
+ $swatchType = null;
261
+ return $imgHelper->getSwatchUrl($product, $label, $swatchInnerWidth, $swatchInnerHeight, $swatchType);
262
+ }
263
+
264
+ return '';
265
+ }
266
+
267
  /**
268
  * Validating of super product option value
269
  *
app/code/community/Jmango360/Japi/Helper/Product/Options.php CHANGED
@@ -13,14 +13,78 @@ class Jmango360_Japi_Helper_Product_Options extends Mage_Core_Helper_Abstract
13
  public function getOptionList(Mage_Catalog_Model_Product $product)
14
  {
15
  $result = array();
 
16
  /** @var $option Mage_Catalog_Model_Product_Option */
17
  foreach ($product->getProductOptionsCollection() as $option) {
18
  if (in_array($option->getType(), $this->excludeTypes)) continue;
19
  $result[] = $this->_getOptionInfo($product, $option);
20
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  return $result;
22
  }
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  /**
25
  * Get full information about custom option in product
26
  *
13
  public function getOptionList(Mage_Catalog_Model_Product $product)
14
  {
15
  $result = array();
16
+
17
  /** @var $option Mage_Catalog_Model_Product_Option */
18
  foreach ($product->getProductOptionsCollection() as $option) {
19
  if (in_array($option->getType(), $this->excludeTypes)) continue;
20
  $result[] = $this->_getOptionInfo($product, $option);
21
  }
22
+
23
+ if ($this->isModuleEnabled('MadeByMouses_DynamicOptions')) {
24
+ $options = $this->getDynamicOptionsFromMadeByMouses();
25
+ if (count($options)) {
26
+ $dynamicOptions = array();
27
+ $i = 0;
28
+ foreach ($options as $optionKey => $option) {
29
+ $optionData = array(
30
+ 'option_id' => $option['jidx'],
31
+ 'title' => @$option['label'],
32
+ 'type' => 'drop_down',
33
+ 'is_require' => 0,
34
+ 'sort_order' => $i++,
35
+ 'additional_fields' => array()
36
+ );
37
+ if (!isset($option['values'][0])) {
38
+ $optionData['additional_fields'][] = array(
39
+ 'value_id' => 0,
40
+ 'title' => $this->__('Select a value'),
41
+ 'price' => 0,
42
+ 'price_type' => 'fixed',
43
+ 'sku' => null,
44
+ 'sort_order' => 0
45
+ );
46
+ }
47
+ if (is_array($option['values'])) {
48
+ $j = 0;
49
+ foreach ($option['values'] as $key => $value) {
50
+ $optionData['additional_fields'][] = array(
51
+ 'value_id' => $key,
52
+ 'title' => $value,
53
+ 'price' => 0,
54
+ 'price_type' => 'fixed',
55
+ 'sku' => null,
56
+ 'sort_order' => $j++
57
+ );
58
+ }
59
+ }
60
+ $dynamicOptions[] = $optionData;
61
+ }
62
+ $result = array_merge($result, $dynamicOptions);
63
+ }
64
+ }
65
+
66
  return $result;
67
  }
68
 
69
+ /**
70
+ * Get options from MadeByMouses_DynamicOptions
71
+ * Also convert option_id from string to int (negative) for mobile work
72
+ *
73
+ * @return array
74
+ */
75
+ public function getDynamicOptionsFromMadeByMouses()
76
+ {
77
+ /** @var MadeByMouses_DynamicOptions_Block_List $block */
78
+ $block = Mage::app()->getLayout()->createBlock('dynamicoptions/list');
79
+ $options = $block->getDynamicOptions();
80
+ $i = -1;
81
+ foreach ($options as $key => $option) {
82
+ $options[$key]['jkey'] = $key;
83
+ $options[$key]['jidx'] = $i--;
84
+ }
85
+ return $options;
86
+ }
87
+
88
  /**
89
  * Get full information about custom option in product
90
  *
app/code/community/Jmango360/Japi/Helper/Search/Algolia.php ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jmango360_Japi_Helper_Search_Algolia extends Algolia_Algoliasearch_Helper_Data
4
+ {
5
+ public function getSearchResult($query = null, $storeId = null)
6
+ {
7
+ $storeId = Mage::app()->getStore()->getId();
8
+ $request = Mage::app()->getFrontController()->getRequest();
9
+ $query = $request->getParam('q');
10
+ $limit = (int)$request->getParam('limit', 12);
11
+ $page = (int)$request->getParam('p', 1);
12
+ $defaultIndex = $this->product_helper->getIndexName($storeId);
13
+ $order = $request->getParam('order', $defaultIndex);
14
+ $dir = $request->getParam('dir', 'desc');
15
+ $indexName = $order ? $order : $defaultIndex;
16
+ $facetsConfig = $this->config->getFacets($storeId);
17
+ $facetsLabel = array();
18
+ if (is_array($facetsConfig)) {
19
+ foreach ($facetsConfig as $facet) {
20
+ $facetsLabel[$facet['attribute']] = $facet['label'];
21
+ }
22
+ }
23
+ $filters = array();
24
+ foreach ($request->getParams() as $param => $value) {
25
+ $param = str_replace('_', '.', $param);
26
+ list($newParam) = explode('.', $param);
27
+ if (isset($facetsLabel[$newParam])) {
28
+ $filters[$newParam] = sprintf('%s:%s', $param, $value);
29
+ }
30
+ }
31
+ $params = array(
32
+ 'hitsPerPage' => $limit,
33
+ 'maxValuesPerFacet' => 1000,
34
+ 'attributesToRetrieve' => 'objectID',
35
+ 'attributesToHighlight' => '',
36
+ 'page' => $page - 1,
37
+ 'facets' => array('categories.level0', 'color'),
38
+ 'numericFilters' => 'visibility_search=1',
39
+ 'facetFilters' => array_values($filters)
40
+ );
41
+ $answer = $this->algolia_helper->query($indexName, $query, $params);
42
+
43
+ $data = array('filters' => array(), 'toolbar_info' => array(), 'products' => array());
44
+
45
+ if (is_array($answer['facets'])) {
46
+ $facets = $answer['facets'];
47
+ foreach ($facets as $code => $facet) {
48
+ list($newCode) = explode('.', $code);
49
+ if (isset($filters[$newCode])) {
50
+ continue;
51
+ }
52
+ $filter = array(
53
+ 'name' => isset($facetsLabel[$newCode]) ? $facetsLabel[$newCode] : $newCode,
54
+ 'code' => $code,
55
+ 'items' => array()
56
+ );
57
+ if (is_array($facet)) {
58
+ foreach ($facet as $itemLabel => $itemCount) {
59
+ $filter['items'][] = array(
60
+ 'label' => $itemLabel,
61
+ 'value' => $itemLabel,
62
+ 'count' => $itemCount
63
+ );
64
+ }
65
+ }
66
+ $data['filters'][] = $filter;
67
+ }
68
+ }
69
+
70
+ $data['toolbar_info'] = array(
71
+ 'current_page_num' => $page,
72
+ 'current_limit' => $limit,
73
+ 'last_page_num' => ceil(@$answer['nbHits'] / $limit),
74
+ 'available_limit' => null,
75
+ 'current_order' => $order,
76
+ 'current_direction' => $dir,
77
+ 'available_orders' => array(
78
+ $defaultIndex => $this->__('Relevance')
79
+ )
80
+ );
81
+
82
+ $sortingIndices = $this->config->getSortingIndices($storeId);
83
+ if (is_array($sortingIndices)) {
84
+ foreach ($sortingIndices as $sortingIndex) {
85
+ $data['toolbar_info']['available_orders'][$sortingIndex['name']] = $sortingIndex['label'];
86
+ }
87
+ }
88
+
89
+ $productIds = array();
90
+ if (is_array($answer['hits'])) {
91
+ $hits = $answer['hits'];
92
+ foreach ($hits as $hit) {
93
+ $productIds[] = $hit['objectID'];
94
+ }
95
+ }
96
+ if (count($productIds)) {
97
+ /** @var Jmango360_Japi_Helper_Product $japiHelper */
98
+ $japiHelper = Mage::helper('japi/product');
99
+ /** @var Mage_Catalog_Model_Resource_Product_Collection $collection */
100
+ $collection = Mage::getModel('catalog/product')->getCollection();
101
+ Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
102
+ Mage::getSingleton('catalog/product_visibility')->addVisibleInSiteFilterToCollection($collection);
103
+ $japiHelper->applySupportedProductTypes($collection);
104
+ $japiHelper->applyHideOnAppFilter($collection);
105
+ $collection->addAttributeToFilter('entity_id', array('in' => $productIds));
106
+ $collection->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes());
107
+ $collection->getSelect()->order(sprintf("find_in_set(e.entity_id, '%s')", implode(',', $productIds)));
108
+
109
+ $data['products'] = $japiHelper->convertProductCollectionToApiResponseV2($collection, false, false);
110
+ } else {
111
+ $data['message'] = $this->__('Your search returns no results.');
112
+ }
113
+
114
+ return $data;
115
+ }
116
+ }
app/code/community/Jmango360/Japi/Model/Flagbit/LanguageSelector/Observer.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (Mage::helper('core')->isModuleEnabled('Flagbit_LanguageSelector') && @class_exists('Flagbit_LanguageSelector_Model_Observer')) {
3
+ class Jmango360_Japi_Model_Flagbit_LanguageSelector_Observer extends Flagbit_LanguageSelector_Model_Observer
4
+ {
5
+ public function redirectByBrowserLang($observe)
6
+ {
7
+ if ($this->_japiBypass($observe)) {
8
+ return;
9
+ }
10
+
11
+ parent::redirectByBrowserLang($observe);
12
+ }
13
+
14
+ public function syncCookieWithSession($observe)
15
+ {
16
+ if ($this->_japiBypass($observe)) {
17
+ return;
18
+ }
19
+
20
+ parent::syncCookieWithSession($observe);
21
+ }
22
+
23
+ protected function _getStoreToRedirect()
24
+ {
25
+ if (Mage::app()->getRequest()->getModuleName() == 'japi') {
26
+ return Mage::app()->getStore();
27
+ }
28
+ return parent::_getStoreToRedirect();
29
+ }
30
+
31
+ /**
32
+ * @param Varien_Event_Observer $observe
33
+ * @return bool
34
+ */
35
+ protected function _japiBypass($observe)
36
+ {
37
+ /** @var Mage_Core_Controller_Varien_Action $action */
38
+ $action = $observe->getEvent()->getControllerAction();
39
+ $moduleName = $action->getRequest()->getModuleName();
40
+ if ($moduleName == 'japi') {
41
+ if ($action->getRequest()->getActionName() == 'onepage') {
42
+ return false;
43
+ }
44
+ return true;
45
+ } elseif ($moduleName == 'adyen') {
46
+ return true;
47
+ }
48
+ }
49
+ }
50
+ } else {
51
+ class Jmango360_Japi_Model_Flagbit_LanguageSelector_Observer
52
+ {
53
+ }
54
+ }
app/code/community/Jmango360/Japi/Model/Observer.php CHANGED
@@ -2,6 +2,18 @@
2
 
3
  class Jmango360_Japi_Model_Observer
4
  {
 
 
 
 
 
 
 
 
 
 
 
 
5
  public function TIG_PostNL__addressBookPostcodeCheck($observe)
6
  {
7
  if (Mage::app()->getRequest()->getModuleName() != 'japi') return;
@@ -732,6 +744,35 @@ class Jmango360_Japi_Model_Observer
732
  }
733
  }
734
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
735
  return $this;
736
  }
737
 
@@ -773,4 +814,60 @@ class Jmango360_Japi_Model_Observer
773
  $order->addStatusHistoryComment(sprintf('Paypal payment ID (%s) verified.', $paymentId));
774
  }
775
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
776
  }
2
 
3
  class Jmango360_Japi_Model_Observer
4
  {
5
+ public function GGMGastro_CustomCheckoutFields__agreements($observe)
6
+ {
7
+ $block = $observe->getBlock();
8
+ if (strpos(Mage::app()->getRequest()->getServer('HTTP_REFERER'), 'japi/checkout/onepage') !== false) {
9
+ if ($block instanceof GGMGastro_CustomCheckoutFields_Block_Commentbox_Additional) {
10
+ if ($block->getTemplate() == 'ggmgastro_customcheckoutfields/agreements.phtml') {
11
+ $block->setTemplate('japi/checkout/onepage/agreements.phtml');
12
+ }
13
+ }
14
+ }
15
+ }
16
+
17
  public function TIG_PostNL__addressBookPostcodeCheck($observe)
18
  {
19
  if (Mage::app()->getRequest()->getModuleName() != 'japi') return;
744
  }
745
  }
746
 
747
+ if (Mage::helper('core')->isModuleEnabled('Flagbit_Checkout')) {
748
+ if ($request->getModuleName() == 'checkout' && $request->getActionName() == 'saveBilling') {
749
+ if (Mage::getStoreConfigFlag('japi/jmango_rest_checkout_settings/adyen_pin')
750
+ && Mage::getStoreConfigFlag('japi/jmango_rest_checkout_settings/adyen_pin_only')) {
751
+ if (strpos($request->getServer('HTTP_REFERER'), 'japi/checkout/onepage') !== false) {
752
+ $store = Mage::app()->getStore();
753
+ /** @var Mage_Payment_Helper_Data $paymentHelper */
754
+ $paymentHelper = Mage::helper('payment');
755
+ $storePayments = $paymentHelper->getPaymentMethods($store);
756
+ foreach ($storePayments as $code => $methodConfig) {
757
+ if ($code == Jmango360_Japi_Model_Payment_Adyen_Pin::CODE) continue;
758
+ $configPath = sprintf('%s/model', Mage_Payment_Helper_Data::XML_PATH_PAYMENT_METHODS . '/' . $code);
759
+ $store->setConfig($configPath, null);
760
+ }
761
+ }
762
+ }
763
+ } elseif ($request->getModuleName() == 'customer' && $request->getActionName() == 'edit') {
764
+ if (strpos($request->getServer('HTTP_REFERER'), 'japi/checkout/onepage') !== false) {
765
+ $request
766
+ ->initForward()
767
+ ->setModuleName('japi')
768
+ ->setControllerName('customer')
769
+ ->setActionName('address')
770
+ ->setParam('is_checkout', 1)
771
+ ->setDispatched(false);
772
+ }
773
+ }
774
+ }
775
+
776
  return $this;
777
  }
778
 
814
  $order->addStatusHistoryComment(sprintf('Paypal payment ID (%s) verified.', $paymentId));
815
  }
816
  }
817
+
818
+ public function japiCatalogProductLoadAfter(Varien_Event_Observer $observer)
819
+ {
820
+ /**
821
+ * MPLUGIN-2086: Support MadeByMouses_DynamicOptions
822
+ */
823
+ if (Mage::helper('core')->isModuleEnabled('MadeByMouses_DynamicOptions')) {
824
+ $controller = Mage::app()->getFrontController();
825
+ $action = $controller->getAction();
826
+
827
+ $allowedActions = array('japi_rest_cart_updateCart', 'japi_rest_cart_updateCartItem');
828
+
829
+ if ($action && in_array($action->getFullActionName(), $allowedActions)) {
830
+ /** @var Mage_Catalog_Model_Product $product */
831
+ $product = $observer->getProduct();
832
+ if (!$product || !$product->getId()) {
833
+ return $this;
834
+ }
835
+
836
+ $request = $controller->getRequest();
837
+ $options = $request->getParam('options', array());
838
+
839
+ /** @var Jmango360_Japi_Helper_Product_Options $helper */
840
+ $helper = Mage::helper('japi/product_options');
841
+ $dynamicOptions = $helper->getDynamicOptionsFromMadeByMouses();
842
+
843
+ if (count($options)) {
844
+ $additionalOptions = array();
845
+ foreach ($options as $optionId => $optionValue) {
846
+ if (empty($optionValue) || $optionId > 0) {
847
+ continue;
848
+ }
849
+
850
+ $optionKey = null;
851
+ if ($optionId < 0) {
852
+ foreach ($dynamicOptions as $key => $dynamicOption) {
853
+ if ($dynamicOption['jidx'] == $optionId) {
854
+ $optionKey = $key;
855
+ }
856
+ }
857
+ }
858
+
859
+ if ($optionKey) {
860
+ $dynamicOption = Mage::helper('dynamicoptions')->getLabels($optionKey, $optionValue);
861
+ if ($dynamicOption) {
862
+ $additionalOptions[] = $dynamicOption;
863
+ }
864
+ }
865
+ }
866
+ if (count($additionalOptions)) {
867
+ $product->addCustomOption('additional_options', serialize($additionalOptions));
868
+ }
869
+ }
870
+ }
871
+ }
872
+ }
873
  }
app/code/community/Jmango360/Japi/Model/Observer/Controller/Front.php CHANGED
@@ -21,6 +21,15 @@ class Jmango360_Japi_Model_Observer_Controller_Front
21
  {
22
  /* @var $helper Jmango360_Japi_Helper_Data */
23
  $helper = Mage::helper('japi');
 
 
 
 
 
 
 
 
 
24
  if ($helper->isNeedByPassSessionValidation() || $helper->isNeedByPassMIMT() || !$helper->isUseSidFrontend()) {
25
  /* @var $front Mage_Core_Controller_Varien_Front */
26
  $front = $observe->getEvent()->getFront();
@@ -31,16 +40,25 @@ class Jmango360_Japi_Model_Observer_Controller_Front
31
  if (!$this->_getListModuleNeedToByPassSession() && ($route[2] == 'checkout' && $route[3] == 'onepage')) {
32
  return;
33
  }
 
 
 
34
  Mage::register('_singleton/core/session', Mage::getModel('japi/core_session', array('name' => 'frontend')), true);
35
  } elseif (count($route) > 3 && in_array('japi', $route)) {
36
  if (!$this->_getListModuleNeedToByPassSession() && (in_array('checkout', $route) && in_array('onepage', $route))) {
37
  return;
38
  }
 
 
 
39
  Mage::register('_singleton/core/session', Mage::getModel('japi/core_session', array('name' => 'frontend')), true);
40
  } elseif (strpos(Mage::app()->getRequest()->getHeader('Referer'), 'japi/checkout/onepage') !== false) {
41
  if (!$this->_getListModuleNeedToByPassSession()) {
42
  return;
43
  }
 
 
 
44
  Mage::register('_singleton/core/session', Mage::getModel('japi/core_session', array('name' => 'frontend')), true);
45
  }
46
  }
21
  {
22
  /* @var $helper Jmango360_Japi_Helper_Data */
23
  $helper = Mage::helper('japi');
24
+
25
+ /**
26
+ * Set current store if exist
27
+ */
28
+ $storeId = Mage::app()->getRequest()->getParam('store_id', null);
29
+ if ($storeId) {
30
+ Mage::app()->setCurrentStore($storeId);
31
+ }
32
+
33
  if ($helper->isNeedByPassSessionValidation() || $helper->isNeedByPassMIMT() || !$helper->isUseSidFrontend()) {
34
  /* @var $front Mage_Core_Controller_Varien_Front */
35
  $front = $observe->getEvent()->getFront();
40
  if (!$this->_getListModuleNeedToByPassSession() && ($route[2] == 'checkout' && $route[3] == 'onepage')) {
41
  return;
42
  }
43
+ if($store = Mage::app()->getRequest()->getParam('___store', false)) {
44
+ Mage::app()->setCurrentStore(Mage::app()->getStore($store)->getId());
45
+ }
46
  Mage::register('_singleton/core/session', Mage::getModel('japi/core_session', array('name' => 'frontend')), true);
47
  } elseif (count($route) > 3 && in_array('japi', $route)) {
48
  if (!$this->_getListModuleNeedToByPassSession() && (in_array('checkout', $route) && in_array('onepage', $route))) {
49
  return;
50
  }
51
+ if($store = Mage::app()->getRequest()->getParam('___store', false)) {
52
+ Mage::app()->setCurrentStore(Mage::app()->getStore($store)->getId());
53
+ }
54
  Mage::register('_singleton/core/session', Mage::getModel('japi/core_session', array('name' => 'frontend')), true);
55
  } elseif (strpos(Mage::app()->getRequest()->getHeader('Referer'), 'japi/checkout/onepage') !== false) {
56
  if (!$this->_getListModuleNeedToByPassSession()) {
57
  return;
58
  }
59
+ if($store = Mage::app()->getRequest()->getParam('___store', false)) {
60
+ Mage::app()->setCurrentStore(Mage::app()->getStore($store)->getId());
61
+ }
62
  Mage::register('_singleton/core/session', Mage::getModel('japi/core_session', array('name' => 'frontend')), true);
63
  }
64
  }
app/code/community/Jmango360/Japi/Model/Payment/Adyen/Pin.php CHANGED
@@ -15,7 +15,9 @@ if (@class_exists('Adyen_Payment_Model_Adyen_Abstract')) {
15
 
16
  class Jmango360_Japi_Model_Payment_Adyen_Pin extends Jmango360_Japi_Model_Payment_Adyen_Abstract
17
  {
18
- protected $_code = 'jmango_payment_adyen_pin';
 
 
19
  protected $_formBlockType = 'japi/payment_form';
20
  protected $_infoBlockType = 'japi/payment_info';
21
 
@@ -45,7 +47,10 @@ class Jmango360_Japi_Model_Payment_Adyen_Pin extends Jmango360_Japi_Model_Paymen
45
  */
46
  public function isAvailable($quote = null)
47
  {
48
- return false;//Mage::app()->getRequest()->getModuleName() == 'japi';
 
 
 
49
  }
50
 
51
  /**
15
 
16
  class Jmango360_Japi_Model_Payment_Adyen_Pin extends Jmango360_Japi_Model_Payment_Adyen_Abstract
17
  {
18
+ const CODE = 'jmango_payment_adyen_pin';
19
+
20
+ protected $_code = self::CODE;
21
  protected $_formBlockType = 'japi/payment_form';
22
  protected $_infoBlockType = 'japi/payment_info';
23
 
47
  */
48
  public function isAvailable($quote = null)
49
  {
50
+ return (
51
+ Mage::app()->getRequest()->getModuleName() == 'japi'
52
+ || strpos(Mage::app()->getRequest()->getHeader('Referer'), 'japi/checkout/onepage') !== false
53
+ ) && Mage::getStoreConfigFlag('japi/jmango_rest_checkout_settings/adyen_pin');
54
  }
55
 
56
  /**
app/code/community/Jmango360/Japi/Model/Rest/Cart/Update.php CHANGED
@@ -267,30 +267,50 @@ class Jmango360_Japi_Model_Rest_Cart_Update extends Jmango360_Japi_Model_Rest_Ca
267
 
268
  public function emptyCart()
269
  {
270
- /* @var $cart Mage_Checkout_Model_Cart */
271
- $cart = Mage::getSingleton('checkout/cart');
272
- $cart->truncate()->save();
273
  /* @var $session Mage_Checkout_Model_Session */
274
  $session = Mage::getSingleton('checkout/session');
275
- $session->setCartWasUpdated(true);
276
- /* @var $quote Mage_Sales_Model_Quote */
277
- $quote = $session->getQuote();
278
- $quote->removePayment()->save();
279
- $quote->getShippingAddress()->setShippingMethod('')->save();
280
- if ($quote->getCheckoutMethod() != Mage_Sales_Model_Quote::CHECKOUT_METHOD_LOGIN_IN)
281
- {
282
- $quote->setIsActive(true)
283
- ->setCustomerId(null)
284
- ->setCustomerEmail(null)
285
- ->setCustomerFirstname(null)
286
- ->setCustomerMiddlename(null)
287
- ->setCustomerLastname(null)
288
- ->setCustomerGroupId(Mage_Customer_Model_Group::NOT_LOGGED_IN_ID)
289
- ->setIsPersistent(false);
290
- foreach($quote->getAllAddresses() as $address){
291
- $address->isDeleted(true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
292
  }
293
- $quote->collectTotals()->save();
294
  }
295
 
296
  $data = $this->_getCart();
267
 
268
  public function emptyCart()
269
  {
 
 
 
270
  /* @var $session Mage_Checkout_Model_Session */
271
  $session = Mage::getSingleton('checkout/session');
272
+ if ($quoteId = $session->getData('japi_quote_id')) {
273
+ $quote = Mage::getSingleton('sales/quote')->load($quoteId);
274
+ if ($quote->getId()) {
275
+ $quote->setIsActive(false)->save();
276
+ }
277
+ $session->clear();
278
+ $session->unsetData('japi_quote_id');
279
+ } else {
280
+ /* @var $cart Mage_Checkout_Model_Cart */
281
+ $cart = Mage::getSingleton('checkout/cart');
282
+ $cart->truncate()->save();
283
+ $session->setCartWasUpdated(true);
284
+ /* @var $quote Mage_Sales_Model_Quote */
285
+ $quote = $session->getQuote();
286
+ $quote->removePayment()->save();
287
+ $quote->getShippingAddress()->setShippingMethod('')->save();
288
+
289
+ /**
290
+ * MPLUGIN-2167: Clear data stored by Flagbit_Checkout
291
+ */
292
+ if ($quote->getCheckoutMethod() != Mage_Sales_Model_Quote::CHECKOUT_METHOD_LOGIN_IN) {
293
+ $quote->setIsActive(true)
294
+ ->setCustomerId(null)
295
+ ->setCustomerEmail(null)
296
+ ->setCustomerFirstname(null)
297
+ ->setCustomerMiddlename(null)
298
+ ->setCustomerLastname(null)
299
+ ->setCustomerGroupId(Mage_Customer_Model_Group::NOT_LOGGED_IN_ID)
300
+ ->setIsPersistent(false);
301
+ foreach ($quote->getAllAddresses() as $address) {
302
+ $address->isDeleted(true);
303
+ }
304
+ $quote->collectTotals()->save();
305
+ }
306
+ if (Mage::helper('core')->isModuleEnabled('Flagbit_Checkout')) {
307
+ Mage::helper('flagbit_checkout')->storeAddressData('billing', array());
308
+ Mage::helper('flagbit_checkout')->storeAddressData('shipping', array());
309
+ Mage::helper('flagbit_checkout')->storeAddressData('payment', array());
310
+ Mage::helper('flagbit_checkout')->storeAddressData('use_vat_id', null);
311
+ Mage::helper('flagbit_checkout')->storeAddressData('entitled', null);
312
+ Mage::helper('flagbit_checkout')->storeAddressData('customer', null);
313
  }
 
314
  }
315
 
316
  $data = $this->_getCart();
app/code/community/Jmango360/Japi/Model/Rest/Catalog/Category/Assignedproducts.php CHANGED
@@ -65,6 +65,9 @@ class Jmango360_Japi_Model_Rest_Catalog_Category_Assignedproducts extends Mage_C
65
  * MPLUGIN-1601: Support Amasty_Shopby
66
  */
67
  if (Mage::helper('core')->isModuleEnabled('Amasty_Shopby')) {
 
 
 
68
  return Mage::helper('japi')->getBlock('Amasty_Shopby_Block_Catalog_Layer_View');
69
  }
70
 
@@ -99,14 +102,19 @@ class Jmango360_Japi_Model_Rest_Catalog_Category_Assignedproducts extends Mage_C
99
  protected function _getFilters()
100
  {
101
  $data = array();
 
 
 
 
 
 
 
 
102
  $block = $this->_getLayerBlock();
103
  $filters = $block->getFilters();
104
 
105
  if (!$filters || !is_array($filters)) return $data;
106
 
107
- /* @var $helper Jmango360_Japi_Helper_Data */
108
- $helper = Mage::helper('japi');
109
-
110
  foreach ($filters as $key => $filter) {
111
  /* @var $filter Mage_Catalog_Block_Layer_Filter_Abstract */
112
  if ($filter->getType() == 'catalog/layer_filter_category') {
@@ -117,7 +125,7 @@ class Jmango360_Japi_Model_Rest_Catalog_Category_Assignedproducts extends Mage_C
117
  ) {
118
  continue;
119
  }
120
- if ($filter->getItemsCount() && $helper->isFilterEnabled($filter, $block)) {
121
  $filterData = $this->_filterToArray($filter);
122
  if (!empty($filterData['items'])) $data[] = $filterData;
123
  }
@@ -139,6 +147,14 @@ class Jmango360_Japi_Model_Rest_Catalog_Category_Assignedproducts extends Mage_C
139
  $data['code'] = $filter->getAttributeModel()->getAttributeCode();
140
  if ($filter instanceof Amasty_Shopby_Block_Catalog_Layer_Filter_Attribute) {
141
  foreach ($filter->getItemsAsArray() as $item) {
 
 
 
 
 
 
 
 
142
  $data['items'][] = array(
143
  'count' => $item['countValue'],
144
  'label' => $item['label'],
@@ -147,9 +163,7 @@ class Jmango360_Japi_Model_Rest_Catalog_Category_Assignedproducts extends Mage_C
147
  );
148
  }
149
  } elseif ($filter instanceof Mage_Catalog_Block_Layer_Filter_Price) {
150
- if (Mage::helper('core')->isModuleEnabled('Amasty_Shopby')
151
- && class_exists('Amasty_Shopby_Model_Catalog_Layer_Filter_Price')
152
- ) {
153
  if ((defined('Amasty_Shopby_Model_Catalog_Layer_Filter_Price::DT_DEFAULT') && $filter->hasDisplayType() == Amasty_Shopby_Model_Catalog_Layer_Filter_Price::DT_DEFAULT)
154
  || (defined('Amasty_Shopby_Model_Catalog_Layer_Filter_Price::DT_DROPDOWN') && $filter->hasDisplayType() == Amasty_Shopby_Model_Catalog_Layer_Filter_Price::DT_DROPDOWN)
155
  ) {
@@ -157,6 +171,10 @@ class Jmango360_Japi_Model_Rest_Catalog_Category_Assignedproducts extends Mage_C
157
  $data['items'][] = $this->_itemToArray($item, $data['code']);
158
  }
159
  }
 
 
 
 
160
  }
161
  } else {
162
  foreach ($filter->getItems() as $item) {
@@ -197,7 +215,7 @@ class Jmango360_Japi_Model_Rest_Catalog_Category_Assignedproducts extends Mage_C
197
 
198
  $data = array();
199
  $data['count'] = (int)$item->getCount();
200
- $data['label'] = $_label;
201
  $data['value'] = $_value;
202
  $data['url'] = null;
203
 
65
  * MPLUGIN-1601: Support Amasty_Shopby
66
  */
67
  if (Mage::helper('core')->isModuleEnabled('Amasty_Shopby')) {
68
+ if (strpos($_SERVER['HTTP_HOST'], 'dangerousminds') !== false) {
69
+ return Mage::helper('japi')->getBlock('Amasty_Shopby_Block_Catalog_Layer_View_Top');
70
+ }
71
  return Mage::helper('japi')->getBlock('Amasty_Shopby_Block_Catalog_Layer_View');
72
  }
73
 
102
  protected function _getFilters()
103
  {
104
  $data = array();
105
+
106
+ /* @var $helper Jmango360_Japi_Helper_Data */
107
+ $helper = Mage::helper('japi');
108
+
109
+ if ($helper->isModuleEnabled('GGMGastro_Catalog')) {
110
+ return $data;
111
+ }
112
+
113
  $block = $this->_getLayerBlock();
114
  $filters = $block->getFilters();
115
 
116
  if (!$filters || !is_array($filters)) return $data;
117
 
 
 
 
118
  foreach ($filters as $key => $filter) {
119
  /* @var $filter Mage_Catalog_Block_Layer_Filter_Abstract */
120
  if ($filter->getType() == 'catalog/layer_filter_category') {
125
  ) {
126
  continue;
127
  }
128
+ if ($helper->isFilterEnabled($filter, $block) && $filter->getItemsCount()) {
129
  $filterData = $this->_filterToArray($filter);
130
  if (!empty($filterData['items'])) $data[] = $filterData;
131
  }
147
  $data['code'] = $filter->getAttributeModel()->getAttributeCode();
148
  if ($filter instanceof Amasty_Shopby_Block_Catalog_Layer_Filter_Attribute) {
149
  foreach ($filter->getItemsAsArray() as $item) {
150
+ if (empty($item['id'])) {
151
+ foreach ($filter->getItems() as $oItem) {
152
+ if ($oItem->getLabel() == $item['label']) {
153
+ $item['id'] = $oItem->getValue();
154
+ break;
155
+ }
156
+ }
157
+ }
158
  $data['items'][] = array(
159
  'count' => $item['countValue'],
160
  'label' => $item['label'],
163
  );
164
  }
165
  } elseif ($filter instanceof Mage_Catalog_Block_Layer_Filter_Price) {
166
+ if (Mage::helper('core')->isModuleEnabled('Amasty_Shopby') && class_exists('Amasty_Shopby_Model_Catalog_Layer_Filter_Price')) {
 
 
167
  if ((defined('Amasty_Shopby_Model_Catalog_Layer_Filter_Price::DT_DEFAULT') && $filter->hasDisplayType() == Amasty_Shopby_Model_Catalog_Layer_Filter_Price::DT_DEFAULT)
168
  || (defined('Amasty_Shopby_Model_Catalog_Layer_Filter_Price::DT_DROPDOWN') && $filter->hasDisplayType() == Amasty_Shopby_Model_Catalog_Layer_Filter_Price::DT_DROPDOWN)
169
  ) {
171
  $data['items'][] = $this->_itemToArray($item, $data['code']);
172
  }
173
  }
174
+ } else {
175
+ foreach ($filter->getItems() as $item) {
176
+ $data['items'][] = $this->_itemToArray($item, $data['code']);
177
+ }
178
  }
179
  } else {
180
  foreach ($filter->getItems() as $item) {
215
 
216
  $data = array();
217
  $data['count'] = (int)$item->getCount();
218
+ $data['label'] = strip_tags($_label);
219
  $data['value'] = $_value;
220
  $data['url'] = null;
221
 
app/code/community/Jmango360/Japi/Model/Rest/Catalog/Search/Products.php CHANGED
@@ -102,7 +102,9 @@ class Jmango360_Japi_Model_Rest_Catalog_Search_Products extends Mage_CatalogSear
102
 
103
  if ($coreHelper->isModuleEnabled('Smile_ElasticSearch')) {
104
  return Mage::app()->getLayout()->createBlock('Smile_ElasticSearch_Block_Catalogsearch_Layer');
105
- } else if ($coreHelper->isModuleEnabled('Amasty_Shopby')) {
 
 
106
  return Mage::app()->getLayout()->createBlock('Amasty_Shopby_Block_Search_Layer');
107
  } else {
108
  return Mage::app()->getLayout()->createBlock('Jmango360_Japi_Block_Catalogsearch_Layer');
@@ -163,6 +165,9 @@ class Jmango360_Japi_Model_Rest_Catalog_Search_Products extends Mage_CatalogSear
163
  if ($helper->isModuleEnabled('Klevu_Search')) {
164
  return false;
165
  }
 
 
 
166
  }
167
 
168
  return true;
102
 
103
  if ($coreHelper->isModuleEnabled('Smile_ElasticSearch')) {
104
  return Mage::app()->getLayout()->createBlock('Smile_ElasticSearch_Block_Catalogsearch_Layer');
105
+ } elseif ($coreHelper->isModuleEnabled('ElasticSearch_Asn')){
106
+ return Mage::app()->getLayout()->createBlock('ElasticSearch_Asn_Block_Catalog_Layer_Elasticsearch');
107
+ } elseif ($coreHelper->isModuleEnabled('Amasty_Shopby')) {
108
  return Mage::app()->getLayout()->createBlock('Amasty_Shopby_Block_Search_Layer');
109
  } else {
110
  return Mage::app()->getLayout()->createBlock('Jmango360_Japi_Block_Catalogsearch_Layer');
165
  if ($helper->isModuleEnabled('Klevu_Search')) {
166
  return false;
167
  }
168
+ if ($helper->isModuleEnabled('GGMGastro_Catalog')) {
169
+ return false;
170
+ }
171
  }
172
 
173
  return true;
app/code/community/Jmango360/Japi/Model/Rest/Checkout/Submit.php CHANGED
@@ -83,11 +83,6 @@ class Jmango360_Japi_Model_Rest_Checkout_Submit extends Jmango360_Japi_Model_Res
83
  */
84
  $this->validateOrder();
85
 
86
- /**
87
- * Cancel order if order with this quote ID already exists
88
- */
89
- $makeCartInactiveAfterSubmit = $request->getParam('make_cart_inactive_after_submit', $this->_makeCartInactiveAfterSubmit);
90
-
91
  /**
92
  * Flag as JMango360 order
93
  */
@@ -99,19 +94,17 @@ class Jmango360_Japi_Model_Rest_Checkout_Submit extends Jmango360_Japi_Model_Res
99
  $this->saveOrder();
100
 
101
  /**
102
- * Inactivate card
103
- * -- This behaviour could be changed:
104
- * -- -- inactivating the card creates a new cart the next time the cart is touched
105
- * -- -- If anything goes wrong with the payment the cart is not automatically activated
106
- * -- -- another way to deal with this is to cancel the existing order the next time the App calls the submitOrder function
107
- * -- -- and automticaly create a new order.
108
- * -- -- In order to do this uncomment the "this->cancelOrder" above before the this->saveOrder
109
- * -- -- and switch off the setIsActive below.
110
- * -- -- setIsActive has to be added to the success function after payment
111
- * Added a parameter so behaviour cab be inluenced by parameters in the call
112
  */
113
- if ($makeCartInactiveAfterSubmit) {
114
- $quote->setIsActive(false);
 
 
 
 
 
 
 
115
  }
116
 
117
  /**
83
  */
84
  $this->validateOrder();
85
 
 
 
 
 
 
86
  /**
87
  * Flag as JMango360 order
88
  */
94
  $this->saveOrder();
95
 
96
  /**
97
+ * MPLUGIN-2211: Not inactive quote if checkout with "jmango_payment_adyen_pin"
 
 
 
 
 
 
 
 
 
98
  */
99
+ try {
100
+ $payment = $quote->getPayment();
101
+ if ($payment->getMethod() == Jmango360_Japi_Model_Payment_Adyen_Pin::CODE) {
102
+ $quote->setIsActive(true);
103
+ $checkoutSession = Mage::getSingleton('checkout/session');
104
+ $checkoutSession->setData('japi_quote_id', $quote->getId());
105
+ }
106
+ } catch (Exception $e) {
107
+
108
  }
109
 
110
  /**
app/code/community/Jmango360/Japi/Model/Rest/Customer/Order/List.php CHANGED
@@ -306,6 +306,14 @@ class Jmango360_Japi_Model_Rest_Customer_Order_List extends Mage_Customer_Model_
306
 
307
  if (!empty($totalsBlock)) {
308
  /* @var $totalsBlock Mage_Sales_Block_Order_Totals */
 
 
 
 
 
 
 
 
309
  $totalsBlock->setOrder($order);
310
  $totalsBlock->toHtml();
311
 
306
 
307
  if (!empty($totalsBlock)) {
308
  /* @var $totalsBlock Mage_Sales_Block_Order_Totals */
309
+
310
+ /**
311
+ * MPLUGIN-2242: Support CP_Rushorder
312
+ */
313
+ if ($helper->isModuleEnabled('CP_Rushorder')) {
314
+ $totalsBlock->setChild('rushorder', $helper->getBlock('rushorder/sales_order_rushorder'));
315
+ }
316
+
317
  $totalsBlock->setOrder($order);
318
  $totalsBlock->toHtml();
319
 
app/code/community/Jmango360/Japi/Model/Rest/Mage.php CHANGED
@@ -155,6 +155,9 @@ class Jmango360_Japi_Model_Rest_Mage extends Mage_Core_Model_Abstract
155
  protected function _savePluginSettings()
156
  {
157
  $json = $this->_getRequest()->getParam('data');
 
 
 
158
 
159
  if (!$json) {
160
  throw new Jmango360_Japi_Exception(
155
  protected function _savePluginSettings()
156
  {
157
  $json = $this->_getRequest()->getParam('data');
158
+ if (stripos($_SERVER['HTTP_HOST'], 'popcorn.nl') !== false) {
159
+ $json = html_entity_decode($json);
160
+ }
161
 
162
  if (!$json) {
163
  throw new Jmango360_Japi_Exception(
app/code/community/Jmango360/Japi/Model/Rest/Product.php CHANGED
@@ -214,7 +214,13 @@ class Jmango360_Japi_Model_Rest_Product extends Mage_Core_Model_Abstract
214
 
215
  /* @var $helper Jmango360_Japi_Helper_Product */
216
  $helper = Mage::helper('japi/product');
217
- $data['product'] = $helper->convertProductIdToApiResponseV2($product->getId());
 
 
 
 
 
 
218
  if (!$data['product']) {
219
  throw new Jmango360_Japi_Exception(
220
  Mage::helper('japi')->__('Product not found'),
214
 
215
  /* @var $helper Jmango360_Japi_Helper_Product */
216
  $helper = Mage::helper('japi/product');
217
+
218
+ $config = array();
219
+ if ($helper->isModuleEnabled('Algolia_Algoliasearch')) {
220
+ $config['no_apply_price'] = true;
221
+ }
222
+
223
+ $data['product'] = $helper->convertProductIdToApiResponseV2($product->getId(), $config);
224
  if (!$data['product']) {
225
  throw new Jmango360_Japi_Exception(
226
  Mage::helper('japi')->__('Product not found'),
app/code/community/Jmango360/Japi/Model/Rest/Product/Related.php CHANGED
@@ -10,7 +10,9 @@ class Jmango360_Japi_Model_Rest_Product_Related extends Jmango360_Japi_Model_Res
10
  ->addAttributeToSelect('required_options')
11
  ->setPositionOrder()
12
  ->addStoreFilter();
13
-
 
 
14
  if (Mage::helper('catalog')->isModuleEnabled('Mage_Checkout')) {
15
  Mage::getResourceSingleton('checkout/cart')->addExcludeProductFilter(
16
  $collection,
10
  ->addAttributeToSelect('required_options')
11
  ->setPositionOrder()
12
  ->addStoreFilter();
13
+ if (Mage::helper('core')->isModuleEnabled('GGMGastro_Catalog')) {
14
+ $collection->getSelect()->order(new Zend_Db_Expr('RAND()'));
15
+ }
16
  if (Mage::helper('catalog')->isModuleEnabled('Mage_Checkout')) {
17
  Mage::getResourceSingleton('checkout/cart')->addExcludeProductFilter(
18
  $collection,
app/code/community/Jmango360/Japi/Model/Rest/Product/Search.php CHANGED
@@ -40,6 +40,24 @@ class Jmango360_Japi_Model_Rest_Product_Search extends Jmango360_Japi_Model_Rest
40
  return $helper->getProductCollectionFromSolrBridgeSolrsearch();
41
  }
42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  if ($searchHelper->isMinQueryLength()) {
44
  $query->setId(0)
45
  ->setIsActive(1)
40
  return $helper->getProductCollectionFromSolrBridgeSolrsearch();
41
  }
42
 
43
+ /**
44
+ * Support Algolia_Algoliasearch
45
+ */
46
+ if ($helper->isModuleEnabled('Algolia_Algoliasearch')) {
47
+ try {
48
+ /** @var Algolia_Algoliasearch_Helper_Config $config */
49
+ $config = Mage::helper('algoliasearch/config');
50
+ $storeId = Mage::app()->getStore()->getId();
51
+ if ($config->getApplicationID() && $config->getAPIKey() && $config->isEnabledFrontEnd($storeId)) {
52
+ /** @var Jmango360_Japi_Helper_Search_Algolia $algoliaHelper */
53
+ $algoliaHelper = Mage::helper('japi/search_algolia');
54
+ return $algoliaHelper->getSearchResult();
55
+ }
56
+ } catch (Exception $e) {
57
+
58
+ }
59
+ }
60
+
61
  if ($searchHelper->isMinQueryLength()) {
62
  $query->setId(0)
63
  ->setIsActive(1)
app/code/community/Jmango360/Japi/Model/Server.php CHANGED
@@ -82,13 +82,17 @@ class Jmango360_Japi_Model_Server extends Mage_Api2_Model_Server
82
  $request->getActionName() != 'getCrossSell' &&
83
  $request->getActionName() != 'getUpSell'
84
  ) {
85
- $store->setConfig(Mage_Catalog_Helper_Product_Flat::XML_PATH_USE_PRODUCT_FLAT, 0);
 
 
86
  }
87
 
88
  /**
89
  * Bypass flat category check
90
  */
91
- $store->setConfig(Mage_Catalog_Helper_Category_Flat::XML_PATH_IS_ENABLED_FLAT_CATALOG_CATEGORY, 0);
 
 
92
 
93
  /**
94
  * MPLUGIN-2038: Bypass Netzarbeiter_NicerImageNames modify image url
82
  $request->getActionName() != 'getCrossSell' &&
83
  $request->getActionName() != 'getUpSell'
84
  ) {
85
+ if (!strpos($_SERVER['HTTP_HOST'], 'motodiffusion')) {
86
+ $store->setConfig(Mage_Catalog_Helper_Product_Flat::XML_PATH_USE_PRODUCT_FLAT, 0);
87
+ }
88
  }
89
 
90
  /**
91
  * Bypass flat category check
92
  */
93
+ if (!strpos($_SERVER['HTTP_HOST'], 'motodiffusion')) {
94
+ $store->setConfig(Mage_Catalog_Helper_Category_Flat::XML_PATH_IS_ENABLED_FLAT_CATALOG_CATEGORY, 0);
95
+ }
96
 
97
  /**
98
  * MPLUGIN-2038: Bypass Netzarbeiter_NicerImageNames modify image url
app/code/community/Jmango360/Japi/controllers/AdyenController.php CHANGED
@@ -20,7 +20,21 @@ class Jmango360_Japi_AdyenController extends Mage_Core_Controller_Front_Action
20
  $order = Mage::getSingleton('sales/order');
21
  $order->loadByIncrementId($lastRealOrderId);
22
  if ($order->getId()) {
23
- $checkoutSession->clear();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
  $this->loadLayout();
26
 
@@ -32,6 +46,7 @@ class Jmango360_Japi_AdyenController extends Mage_Core_Controller_Front_Action
32
  sprintf('<meta name="%s" content="%s">', 'order-id', $order->getIncrementId()),
33
  sprintf('<meta name="%s" content="%s">', 'order-amount', $order->getGrandTotal()),
34
  sprintf('<meta name="%s" content="%s">', 'order-currency', $order->getOrderCurrency()->getCode()),
 
35
  );
36
  $metaBlock->setText(implode('', $texts));
37
  $content->append($metaBlock, 'order-info');
20
  $order = Mage::getSingleton('sales/order');
21
  $order->loadByIncrementId($lastRealOrderId);
22
  if ($order->getId()) {
23
+ $quoteId = $checkoutSession->getLastQuoteId();
24
+ $quote = Mage::getSingleton('sales/quote')->load($quoteId);
25
+ if ($quote->getId()) {
26
+ $checkoutSession->setData('japi_quote_id', $quoteId);
27
+ $quote->setIsActive(true)->save();
28
+ }
29
+
30
+ if (Mage::helper('core')->isModuleEnabled('Flagbit_Checkout')) {
31
+ Mage::helper('flagbit_checkout')->storeAddressData('billing', array());
32
+ Mage::helper('flagbit_checkout')->storeAddressData('shipping', array());
33
+ Mage::helper('flagbit_checkout')->storeAddressData('payment', array());
34
+ Mage::helper('flagbit_checkout')->storeAddressData('use_vat_id', null);
35
+ Mage::helper('flagbit_checkout')->storeAddressData('entitled', null);
36
+ Mage::helper('flagbit_checkout')->storeAddressData('customer', null);
37
+ }
38
 
39
  $this->loadLayout();
40
 
46
  sprintf('<meta name="%s" content="%s">', 'order-id', $order->getIncrementId()),
47
  sprintf('<meta name="%s" content="%s">', 'order-amount', $order->getGrandTotal()),
48
  sprintf('<meta name="%s" content="%s">', 'order-currency', $order->getOrderCurrency()->getCode()),
49
+ sprintf('<meta name="%s" content="%s">', 'order-amount-format', $order->formatPriceTxt($order->getGrandTotal()))
50
  );
51
  $metaBlock->setText(implode('', $texts));
52
  $content->append($metaBlock, 'order-info');
app/code/community/Jmango360/Japi/controllers/CheckoutController.php CHANGED
@@ -2,9 +2,22 @@
2
  /**
3
  * Copyright 2015 JMango360
4
  */
5
- include_once('Mage/Checkout/controllers/OnepageController.php');
6
 
7
- class Jmango360_Japi_CheckoutController extends Mage_Checkout_OnepageController
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  {
9
  /**
10
  * Make sure customer is valid, if logged in
@@ -101,8 +114,12 @@ class Jmango360_Japi_CheckoutController extends Mage_Checkout_OnepageController
101
  $helper->checkValidSession();
102
 
103
  $checkoutUrl = $helper->getCheckoutUrl();
104
- if ($checkoutUrl) $this->_redirectUrl($checkoutUrl);
105
- else $this->_redirect('checkout/onepage', array('_secure' => true));
 
 
 
 
106
  }
107
 
108
  /**
@@ -161,6 +178,7 @@ class Jmango360_Japi_CheckoutController extends Mage_Checkout_OnepageController
161
  $this->loadLayout();
162
  $this->_updateLayout();
163
  $this->getLayout()->getBlock('head')->setTitle($this->__('Checkout'));
 
164
  $this->_initLayoutMessages(array('checkout/session'));
165
  $this->renderLayout();
166
  }
@@ -528,6 +546,76 @@ class Jmango360_Japi_CheckoutController extends Mage_Checkout_OnepageController
528
  </reference>";
529
  }
530
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
531
  try {
532
  $this->getLayout()->getUpdate()->addUpdate($xml);
533
  $this->generateLayoutXml()->generateLayoutBlocks();
@@ -627,46 +715,50 @@ class Jmango360_Japi_CheckoutController extends Mage_Checkout_OnepageController
627
  */
628
  public function savePaymentAction()
629
  {
630
- if ($this->_expireAjax()) {
631
- return;
632
- }
633
-
634
- try {
635
- if (!$this->getRequest()->isPost()) {
636
- $this->_ajaxRedirectResponse();
637
  return;
638
  }
639
 
640
- $data = $this->getRequest()->getPost('payment', array());
641
- $result = $this->getOnepage()->savePayment($data);
642
-
643
- // get section and redirect data
644
- $redirectUrl = $this->getOnepage()->getQuote()->getPayment()->getCheckoutRedirectUrl();
645
- if (empty($result['error'])) {
646
- $result['goto_section'] = 'review';
647
- $result['update_section'] = array(
648
- 'name' => 'review',
649
- 'html' => $this->_getReviewHtml()
650
- );
651
- }
652
- if ($redirectUrl) {
653
- $result['redirect'] = $redirectUrl;
654
- }
655
- } catch (Mage_Payment_Exception $e) {
656
- if ($e->getFields()) {
657
- $result['fields'] = $e->getFields();
 
 
 
 
 
 
 
 
 
 
 
 
 
658
  }
659
- $result['error'] = $e->getMessage();
660
- } catch (Mage_Core_Exception $e) {
661
- $result['error'] = $e->getMessage();
662
- } catch (Exception $e) {
663
- Mage::logException($e);
664
- $result['error'] = $this->__('Unable to set Payment Method.');
665
- }
666
 
667
- /* @var $helper Mage_Core_Helper_Data */
668
- $helper = Mage::helper('core');
669
- $this->getResponse()->setBody($helper->jsonEncode($result));
 
670
  }
671
 
672
  /**
@@ -865,4 +957,23 @@ class Jmango360_Japi_CheckoutController extends Mage_Checkout_OnepageController
865
  return parent::_getPaymentMethodsHtml();
866
  }
867
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
868
  }
2
  /**
3
  * Copyright 2015 JMango360
4
  */
 
5
 
6
+ if (Mage::helper('core')->isModuleEnabled('Flagbit_Checkout')) {
7
+ include_once 'Flagbit/Checkout/controllers/OnepageController.php';
8
+
9
+ class Jmango360_Japi_Checkout_Abstract extends Flagbit_Checkout_OnepageController
10
+ {
11
+ }
12
+ } else {
13
+ include_once 'Mage/Checkout/controllers/OnepageController.php';
14
+
15
+ class Jmango360_Japi_Checkout_Abstract extends Mage_Checkout_OnepageController
16
+ {
17
+ }
18
+ }
19
+
20
+ class Jmango360_Japi_CheckoutController extends Jmango360_Japi_Checkout_Abstract
21
  {
22
  /**
23
  * Make sure customer is valid, if logged in
114
  $helper->checkValidSession();
115
 
116
  $checkoutUrl = $helper->getCheckoutUrl();
117
+ if ($checkoutUrl) {
118
+ $this->_redirectUrl($checkoutUrl);
119
+ } else {
120
+ $params = $this->getRequest()->getParams();
121
+ $this->_redirect('checkout/onepage', array('_secure' => true, '_query' => $params));
122
+ }
123
  }
124
 
125
  /**
178
  $this->loadLayout();
179
  $this->_updateLayout();
180
  $this->getLayout()->getBlock('head')->setTitle($this->__('Checkout'));
181
+ $this->_appendPopupUrls();
182
  $this->_initLayoutMessages(array('checkout/session'));
183
  $this->renderLayout();
184
  }
546
  </reference>";
547
  }
548
 
549
+ if ($helper->isModuleEnabled('Flagbit_Checkout')) {
550
+ $xml .= "
551
+ <reference name=\"head\">
552
+ <action method=\"addCss\"><stylesheet>css/flagbit_checkout.css</stylesheet></action>
553
+ </reference>
554
+ <reference name=\"content\">
555
+ <block type=\"page/html_wrapper\" name=\"checkout.progress.wrapper\" before=\"-\" translate=\"label\">
556
+ <action method=\"setElementId\"><value>checkout-progress-wrapper</value></action>
557
+ <block type=\"checkout/onepage_progress\" name=\"checkout.progress\" before=\"-\" template=\"flagbit_checkout/progress.phtml\"/>
558
+ </block>
559
+ </reference>
560
+ <reference name=\"checkout.onepage\">
561
+ <action method=\"setTemplate\"><template>japi/flagbit_checkout/onepage.phtml</template></action>
562
+ <action method=\"setTemplate\" ifconfig=\"kickstarter_checkout/settings/compact_mode\"><template>japi/flagbit_checkout/onepage_compact.phtml</template></action>
563
+ </reference>
564
+ <reference name=\"checkout.onepage.billing\">
565
+ <action method=\"setTemplate\"><template>flagbit_checkout/billing.phtml</template></action>
566
+ <action method=\"setTemplate\" ifconfig=\"kickstarter_checkout/settings/compact_mode\"><template>flagbit_checkout/billing_compact.phtml</template></action>
567
+ <block type=\"magesetup/checkout_agreements\" name=\"magesetup.checkout.billing.agreements\">
568
+ <action method=\"setTemplate\" ifconfig=\"kickstarter_checkout/review/agreements_on_billing\"><template>magesetup/checkout/onepage/agreements_plain.phtml</template></action>
569
+ </block>
570
+ <action method=\"append\" ifconfig=\"kickstarter_checkout/settings/compact_mode\">
571
+ <block>checkout.onepage.payment</block>
572
+ </action>
573
+ </reference>
574
+ <reference name=\"checkout.onepage.payment\">
575
+ <action method=\"setTemplate\"><template>checkout/onepage/payment.phtml</template></action>
576
+ </reference>";
577
+ }
578
+
579
+ if ($helper->isModuleEnabled('GGMGastro_CustomCheckoutFields')) {
580
+ $xml .= "
581
+ <reference name=\"head\">
582
+ <action method=\"addJs\"><script>GGMGastro/CustomCheckoutFields/AdditionalFields.js</script></action>
583
+ <action method=\"addItem\"><type>skin_js</type><name>js/override.js</name></action>
584
+ <action method=\"removeItem\"><type>skin_css</type><name>css/magesetup/checkout.css</name></action>
585
+ <action method=\"addCss\"><stylesheet>css/partial/checkout.css</stylesheet><params>media=\"screen\"</params></action>
586
+ </reference>
587
+ <reference name=\"checkout.onepage.billing\">
588
+ <block type=\"customcheckoutfields/options\" name=\"customcheckoutfields.options\">
589
+ <action method=\"setTemplate\"><template>ggmgastro_customcheckoutfields/options.phtml</template></action>
590
+ <block type=\"cms/block\" name=\"partial_delivery_info\" as=\"partial_delivery_info\" output=\"toHtml\">
591
+ <action method=\"setBlockId\"><block_id>partial_delivery_info</block_id></action>
592
+ </block>
593
+ <block type=\"cms/block\" name=\"neutral_bill_info\" as=\"neutral_bill_info\" output=\"toHtml\">
594
+ <action method=\"setBlockId\"><block_id>neutral_bill_info</block_id></action>
595
+ </block>
596
+ <block type=\"cms/block\" name=\"separate_invoice_info\" as=\"separate_invoice_info\" output=\"toHtml\">
597
+ <action method=\"setBlockId\"><block_id>separate_invoice_info</block_id></action>
598
+ </block>
599
+ </block>
600
+ </reference>";
601
+ }
602
+
603
+ if (Mage::getStoreConfigFlag('japi/jmango_rest_checkout_settings/adyen_pin')
604
+ && Mage::getStoreConfigFlag('japi/jmango_rest_checkout_settings/adyen_pin_only')) {
605
+ $xml .= "
606
+ <reference name=\"root\">
607
+ <action method=\"addBodyClass\"><name>adyen-pin-only</name></action>
608
+ </reference>";
609
+ }
610
+ if ($helper->isModuleEnabled('Dhl_Magentolws')) {
611
+ $xml .= "<reference name=\"head\">"
612
+ . "<action method=\"addItem\"><type>js</type><name>lib/jquery/jquery-1.10.2.js</name></action>"
613
+ . "<action method=\"addItem\"><type>js</type><name>dhl/magentolws/venobox.min.js</name><params><![CDATA[ name=\"zjs_last\" ]]></params></action>"
614
+ . "<action method=\"addItem\"><type>js</type><name>dhl/magentolws/location_picker.js</name></action>"
615
+ . "<action method=\"addCss\"><stylesheet>css/dhl/magentolws/style.css</stylesheet></action>"
616
+ . "</reference>";
617
+ }
618
+
619
  try {
620
  $this->getLayout()->getUpdate()->addUpdate($xml);
621
  $this->generateLayoutXml()->generateLayoutBlocks();
715
  */
716
  public function savePaymentAction()
717
  {
718
+ if (Mage::helper('core')->isModuleEnabled('GGMGastro_CustomCheckoutFields')) {
719
+ return parent::savePaymentAction();
720
+ } else {
721
+ if ($this->_expireAjax()) {
 
 
 
722
  return;
723
  }
724
 
725
+ try {
726
+ if (!$this->getRequest()->isPost()) {
727
+ $this->_ajaxRedirectResponse();
728
+ return;
729
+ }
730
+
731
+ $data = $this->getRequest()->getPost('payment', array());
732
+ $result = $this->getOnepage()->savePayment($data);
733
+
734
+ // get section and redirect data
735
+ $redirectUrl = $this->getOnepage()->getQuote()->getPayment()->getCheckoutRedirectUrl();
736
+ if (empty($result['error'])) {
737
+ $result['goto_section'] = 'review';
738
+ $result['update_section'] = array(
739
+ 'name' => 'review',
740
+ 'html' => $this->_getReviewHtml()
741
+ );
742
+ }
743
+ if ($redirectUrl) {
744
+ $result['redirect'] = $redirectUrl;
745
+ }
746
+ } catch (Mage_Payment_Exception $e) {
747
+ if ($e->getFields()) {
748
+ $result['fields'] = $e->getFields();
749
+ }
750
+ $result['error'] = $e->getMessage();
751
+ } catch (Mage_Core_Exception $e) {
752
+ $result['error'] = $e->getMessage();
753
+ } catch (Exception $e) {
754
+ Mage::logException($e);
755
+ $result['error'] = $this->__('Unable to set Payment Method.');
756
  }
 
 
 
 
 
 
 
757
 
758
+ /* @var $helper Mage_Core_Helper_Data */
759
+ $helper = Mage::helper('core');
760
+ $this->getResponse()->setBody($helper->jsonEncode($result));
761
+ }
762
  }
763
 
764
  /**
957
  return parent::_getPaymentMethodsHtml();
958
  }
959
  }
960
+
961
+ /**
962
+ * Append all url need open in a popup on custom checkout page
963
+ */
964
+ protected function _appendPopupUrls()
965
+ {
966
+ $urls = explode("\n", Mage::getStoreConfig('japi/jmango_rest_checkout_settings/klarna_popup_urls'));
967
+ if (!count($urls)) return;
968
+
969
+ $urlsString = implode(';', $urls);
970
+ $this->getResponse()->setHeader('Klarna-Popup-Urls', $urlsString, true);
971
+
972
+ $head = $this->getLayout()->getBlock('head');
973
+ if (!$head) return;
974
+
975
+ $block = $this->getLayout()->createBlock('core/text');
976
+ $block->setText(sprintf('<meta name="%s" content="%s">', 'Klarna-Popup-Urls', $urlsString));
977
+ $head->append($block, 'Klarna-Popup-Urls');
978
+ }
979
  }
app/code/community/Jmango360/Japi/controllers/CustomerController.php CHANGED
@@ -11,8 +11,10 @@ class Jmango360_Japi_CustomerController extends Mage_Customer_AccountController
11
  public function registerAction()
12
  {
13
  $this->loadLayout();
 
14
  $this->getLayout()->getBlock('head')->setTitle($this->__('Create New Customer Account'));
15
  $session = $this->_getSession();
 
16
  if ($session->getIsSubmit()) {
17
  $session->setIsSubmit(false);
18
  $this->getResponse()->setHeader('JM-Account-Id', $session->getCustomerId());
@@ -467,6 +469,28 @@ class Jmango360_Japi_CustomerController extends Mage_Customer_AccountController
467
  return $this->_redirect('*/*/address', array('_secure' => true, '_current' => true));
468
  }
469
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
470
  protected function _updateLayout()
471
  {
472
  $xml = '';
11
  public function registerAction()
12
  {
13
  $this->loadLayout();
14
+ $this->_updateLayoutRegister();
15
  $this->getLayout()->getBlock('head')->setTitle($this->__('Create New Customer Account'));
16
  $session = $this->_getSession();
17
+ $session->setBeforeAuthUrl($this->_getUrl('*/*/register', array('_secure' => true)));
18
  if ($session->getIsSubmit()) {
19
  $session->setIsSubmit(false);
20
  $this->getResponse()->setHeader('JM-Account-Id', $session->getCustomerId());
469
  return $this->_redirect('*/*/address', array('_secure' => true, '_current' => true));
470
  }
471
 
472
+ protected function _updateLayoutRegister()
473
+ {
474
+ $xml = '';
475
+
476
+ if (Mage::helper('core')->isModuleEnabled('GGMGastro_CustomCheckoutFields')) {
477
+ $xml .= "
478
+ <reference name=\"head\">
479
+ <action method=\"addJs\"><script>GGMGastro/CustomCheckoutFields/AdditionalFields.js</script></action>
480
+ </reference>
481
+ <reference name=\"customer_form_register\">
482
+ <action method=\"setTemplate\"><template>persistent/customer/form/register.phtml</template></action>
483
+ </reference>";
484
+ }
485
+
486
+ try {
487
+ $this->getLayout()->getUpdate()->addUpdate($xml);
488
+ $this->generateLayoutXml()->generateLayoutBlocks();
489
+ } catch (Exception $e) {
490
+ Mage::logException($e);
491
+ }
492
+ }
493
+
494
  protected function _updateLayout()
495
  {
496
  $xml = '';
app/code/community/Jmango360/Japi/controllers/Rest/MageController.php CHANGED
@@ -104,6 +104,19 @@ class Jmango360_Japi_Rest_MageController extends Jmango360_Japi_Controller_Abstr
104
  }
105
 
106
  $url = $this->getRequest()->getParam('url');
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  if (strpos($url, 'http') === 0) {
108
  $this->_redirectUrl($url);
109
  } else {
104
  }
105
 
106
  $url = $this->getRequest()->getParam('url');
107
+
108
+ /**
109
+ * MPLUGIN-2279: Workaround for Flagbit_LanguageSelector and GGM
110
+ */
111
+ if ($helper->isModuleEnabled('Flagbit_LanguageSelector')) {
112
+ $storeCode = Mage::app()->getStore()->getCode();
113
+ if (strpos($url, '?') !== false) {
114
+ $url .= '&___store=' . $storeCode;
115
+ } else {
116
+ $url .= '?___store=' . $storeCode;
117
+ }
118
+ }
119
+
120
  if (strpos($url, 'http') === 0) {
121
  $this->_redirectUrl($url);
122
  } else {
app/code/community/Jmango360/Japi/controllers/TrollwebController.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ include_once 'Mage/Checkout/controllers/OnepageController.php';
3
+
4
+ class Jmango360_Japi_TrollwebController extends Mage_Checkout_OnepageController
5
+ {
6
+ public function preDispatch()
7
+ {
8
+ if (Mage::getStoreConfigFlag('japi/jmango_rest_developer_settings/enable')) {
9
+ ini_set('display_errors', 1);
10
+ }
11
+ parent::preDispatch();
12
+ }
13
+
14
+ public function indexAction()
15
+ {
16
+ $this->loadLayout();
17
+ $this->renderLayout();
18
+ }
19
+ }
app/code/community/Jmango360/Japi/etc/config.xml CHANGED
@@ -7,7 +7,7 @@
7
  <config>
8
  <modules>
9
  <Jmango360_Japi>
10
- <version>3.5.5</version>
11
  </Jmango360_Japi>
12
  </modules>
13
 
@@ -30,6 +30,11 @@
30
  <price>Jmango360_Japi_Model_Magpleasure_Tierprices_Price</price>
31
  </rewrite>
32
  </tierprices>
 
 
 
 
 
33
  </models>
34
  <resources>
35
  <japi_setup>
@@ -66,6 +71,11 @@
66
  <japi>
67
  <class>Jmango360_Japi_Helper</class>
68
  </japi>
 
 
 
 
 
69
  </helpers>
70
  <events>
71
  <controller_front_init_before>
@@ -198,6 +208,11 @@
198
  <class>japi/observer</class>
199
  <method>TIG_PostNL__addDeliveryOptions</method>
200
  </tig_postnl_checkout_deliveryoptions>
 
 
 
 
 
201
  </observers>
202
  </core_block_abstract_to_html_before>
203
  <customer_register_success>
@@ -236,6 +251,15 @@
236
  </japi_sales_model_service_quote_submit_before>
237
  </observers>
238
  </sales_model_service_quote_submit_before>
 
 
 
 
 
 
 
 
 
239
  </events>
240
  <routers>
241
  <japi>
@@ -398,6 +422,8 @@
398
  <checkout_url></checkout_url>
399
  <klarna_popup_urls></klarna_popup_urls>
400
  <enable_coupon>1</enable_coupon>
 
 
401
  </jmango_rest_checkout_settings>
402
  <jmango_rest_mobile_settings>
403
  <ios_scheme></ios_scheme>
7
  <config>
8
  <modules>
9
  <Jmango360_Japi>
10
+ <version>3.6.0</version>
11
  </Jmango360_Japi>
12
  </modules>
13
 
30
  <price>Jmango360_Japi_Model_Magpleasure_Tierprices_Price</price>
31
  </rewrite>
32
  </tierprices>
33
+ <languageselector>
34
+ <rewrite>
35
+ <observer>Jmango360_Japi_Model_Flagbit_LanguageSelector_Observer</observer>
36
+ </rewrite>
37
+ </languageselector>
38
  </models>
39
  <resources>
40
  <japi_setup>
71
  <japi>
72
  <class>Jmango360_Japi_Helper</class>
73
  </japi>
74
+ <configurableswatches>
75
+ <rewrite>
76
+ <mediafallback>Jmango360_Japi_Helper_ConfigurableSwatches_Mediafallback</mediafallback>
77
+ </rewrite>
78
+ </configurableswatches>
79
  </helpers>
80
  <events>
81
  <controller_front_init_before>
208
  <class>japi/observer</class>
209
  <method>TIG_PostNL__addDeliveryOptions</method>
210
  </tig_postnl_checkout_deliveryoptions>
211
+ <customcheckoutfields_commentbox_additional>
212
+ <type>signleton</type>
213
+ <class>japi/observer</class>
214
+ <method>GGMGastro_CustomCheckoutFields__agreements</method>
215
+ </customcheckoutfields_commentbox_additional>
216
  </observers>
217
  </core_block_abstract_to_html_before>
218
  <customer_register_success>
251
  </japi_sales_model_service_quote_submit_before>
252
  </observers>
253
  </sales_model_service_quote_submit_before>
254
+ <catalog_product_load_after>
255
+ <observers>
256
+ <japi_catalog_product_load_after>
257
+ <type>model</type>
258
+ <class>japi/observer</class>
259
+ <method>japiCatalogProductLoadAfter</method>
260
+ </japi_catalog_product_load_after>
261
+ </observers>
262
+ </catalog_product_load_after>
263
  </events>
264
  <routers>
265
  <japi>
422
  <checkout_url></checkout_url>
423
  <klarna_popup_urls></klarna_popup_urls>
424
  <enable_coupon>1</enable_coupon>
425
+ <adyen_pin>0</adyen_pin>
426
+ <adyen_pin_only>1</adyen_pin_only>
427
  </jmango_rest_checkout_settings>
428
  <jmango_rest_mobile_settings>
429
  <ios_scheme></ios_scheme>
app/code/community/Jmango360/Japi/etc/system.xml CHANGED
@@ -36,7 +36,9 @@
36
  <show_in_default>1</show_in_default>
37
  <show_in_website>1</show_in_website>
38
  <show_in_store>1</show_in_store>
39
- <comment>This username will be checked from every App while a session is set up between the App and the Magento store.</comment>
 
 
40
  </apiuser>
41
  <apikey translate="label comment" module="japi">
42
  <label>Api Key</label>
@@ -45,7 +47,9 @@
45
  <show_in_default>1</show_in_default>
46
  <show_in_website>1</show_in_website>
47
  <show_in_store>1</show_in_store>
48
- <comment>This key will be checked from every App while a session is set up between the App and the Magento store.</comment>
 
 
49
  </apikey>
50
  <use_token translate="label comment" module="japi">
51
  <label>Use token for Api communications</label>
@@ -132,7 +136,8 @@
132
  <show_in_default>1</show_in_default>
133
  <show_in_website>1</show_in_website>
134
  <show_in_store>1</show_in_store>
135
- <comment>Enable this option to choose whether or not this product is visible in the app</comment>
 
136
  </visible_on_app>
137
  <!--default_direction translate="label comment" module="japi">
138
  <label>Override Default Sort Direction</label>
@@ -265,7 +270,7 @@
265
  </depends>
266
  </checkout_url-->
267
  <klarna_popup_urls translate="label comment" module="japi">
268
- <label>Klarna Popup URLs</label>
269
  <frontend_type>textarea</frontend_type>
270
  <sort_order>40</sort_order>
271
  <show_in_default>1</show_in_default>
@@ -295,6 +300,29 @@
295
  <can_be_empty>1</can_be_empty>
296
  <comment>This code will automatically fill the coupon field on JMango360 Checkout page</comment>
297
  </coupon_code-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
298
  </fields>
299
  </jmango_rest_checkout_settings>
300
  <!--jmango_rest_mobile_settings translate="label" module="japi">
@@ -1035,7 +1063,8 @@
1035
  <show_in_default>1</show_in_default>
1036
  <show_in_website>1</show_in_website>
1037
  <show_in_store>1</show_in_store>
1038
- <comment><![CDATA[Enter each line a query string.<br>Example: Filter|ContentLocale:eq:nl_NL,en_GB]]></comment>
 
1039
  <depends>
1040
  <enable>1</enable>
1041
  </depends>
@@ -1047,7 +1076,8 @@
1047
  <show_in_default>1</show_in_default>
1048
  <show_in_website>1</show_in_website>
1049
  <show_in_store>1</show_in_store>
1050
- <comment>Customize the terms and conditions that your users will see for all submissions</comment>
 
1051
  <depends>
1052
  <enable>1</enable>
1053
  </depends>
@@ -1125,11 +1155,35 @@
1125
  <show_in_website>1</show_in_website>
1126
  <show_in_store>1</show_in_store>
1127
  <can_be_empty>1</can_be_empty>
1128
- <comment>List of modules need bypass session validation. Enter each line a module name, ex "TIG_PostNL"</comment>
 
 
1129
  </exclude_modules>
1130
  </fields>
1131
  </jmango_rest_developer_settings>
1132
  </groups>
1133
  </japi>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1134
  </sections>
1135
  </config>
36
  <show_in_default>1</show_in_default>
37
  <show_in_website>1</show_in_website>
38
  <show_in_store>1</show_in_store>
39
+ <comment>This username will be checked from every App while a session is set up between the
40
+ App and the Magento store.
41
+ </comment>
42
  </apiuser>
43
  <apikey translate="label comment" module="japi">
44
  <label>Api Key</label>
47
  <show_in_default>1</show_in_default>
48
  <show_in_website>1</show_in_website>
49
  <show_in_store>1</show_in_store>
50
+ <comment>This key will be checked from every App while a session is set up between the App
51
+ and the Magento store.
52
+ </comment>
53
  </apikey>
54
  <use_token translate="label comment" module="japi">
55
  <label>Use token for Api communications</label>
136
  <show_in_default>1</show_in_default>
137
  <show_in_website>1</show_in_website>
138
  <show_in_store>1</show_in_store>
139
+ <comment>Enable this option to choose whether or not this product is visible in the app
140
+ </comment>
141
  </visible_on_app>
142
  <!--default_direction translate="label comment" module="japi">
143
  <label>Override Default Sort Direction</label>
270
  </depends>
271
  </checkout_url-->
272
  <klarna_popup_urls translate="label comment" module="japi">
273
+ <label>Popup URLs</label>
274
  <frontend_type>textarea</frontend_type>
275
  <sort_order>40</sort_order>
276
  <show_in_default>1</show_in_default>
300
  <can_be_empty>1</can_be_empty>
301
  <comment>This code will automatically fill the coupon field on JMango360 Checkout page</comment>
302
  </coupon_code-->
303
+ <!--adyen_pin translate="label comment" module="japi">
304
+ <label>Enable Adyen Terminal Payment</label>
305
+ <frontend_type>select</frontend_type>
306
+ <source_model>adminhtml/system_config_source_yesno</source_model>
307
+ <sort_order>70</sort_order>
308
+ <show_in_default>1</show_in_default>
309
+ <show_in_website>1</show_in_website>
310
+ <show_in_store>1</show_in_store>
311
+ <can_be_empty>1</can_be_empty>
312
+ </adyen_pin>
313
+ <adyen_pin_only translate="label comment" module="japi">
314
+ <label>Only show Adyen Terminal Payment</label>
315
+ <frontend_type>select</frontend_type>
316
+ <source_model>adminhtml/system_config_source_yesno</source_model>
317
+ <sort_order>80</sort_order>
318
+ <show_in_default>1</show_in_default>
319
+ <show_in_website>1</show_in_website>
320
+ <show_in_store>1</show_in_store>
321
+ <can_be_empty>1</can_be_empty>
322
+ <depends>
323
+ <adyen_pin>1</adyen_pin>
324
+ </depends>
325
+ </adyen_pin_only-->
326
  </fields>
327
  </jmango_rest_checkout_settings>
328
  <!--jmango_rest_mobile_settings translate="label" module="japi">
1063
  <show_in_default>1</show_in_default>
1064
  <show_in_website>1</show_in_website>
1065
  <show_in_store>1</show_in_store>
1066
+ <comment>
1067
+ <![CDATA[Enter each line a query string.<br>Example: Filter|ContentLocale:eq:nl_NL,en_GB]]></comment>
1068
  <depends>
1069
  <enable>1</enable>
1070
  </depends>
1076
  <show_in_default>1</show_in_default>
1077
  <show_in_website>1</show_in_website>
1078
  <show_in_store>1</show_in_store>
1079
+ <comment>Customize the terms and conditions that your users will see for all submissions
1080
+ </comment>
1081
  <depends>
1082
  <enable>1</enable>
1083
  </depends>
1155
  <show_in_website>1</show_in_website>
1156
  <show_in_store>1</show_in_store>
1157
  <can_be_empty>1</can_be_empty>
1158
+ <comment>List of modules need bypass session validation. Enter each line a module name, ex
1159
+ "TIG_PostNL"
1160
+ </comment>
1161
  </exclude_modules>
1162
  </fields>
1163
  </jmango_rest_developer_settings>
1164
  </groups>
1165
  </japi>
1166
+ <payment>
1167
+ <groups>
1168
+ <jmango_payment_adyen_pin type="group" translate="label">
1169
+ <label>Adyen Payment Terminal by JMango360</label>
1170
+ <frontend_type>text</frontend_type>
1171
+ <show_in_default>1</show_in_default>
1172
+ <show_in_website>1</show_in_website>
1173
+ <show_in_store>1</show_in_store>
1174
+ <sort_order>220</sort_order>
1175
+ <fields>
1176
+ <title translate="label">
1177
+ <label>Title</label>
1178
+ <frontend_type>text</frontend_type>
1179
+ <sort_order>20</sort_order>
1180
+ <show_in_default>1</show_in_default>
1181
+ <show_in_website>1</show_in_website>
1182
+ <show_in_store>1</show_in_store>
1183
+ </title>
1184
+ </fields>
1185
+ </jmango_payment_adyen_pin>
1186
+ </groups>
1187
+ </payment>
1188
  </sections>
1189
  </config>
app/design/frontend/base/default/layout/jmango360_japi.xml CHANGED
@@ -52,7 +52,7 @@
52
  <action method="addItem"><type>skin_js</type><file>japi/lib/bootstrap/js/modal.js</file></action>
53
  <action method="addItem"><type>skin_js</type><file>japi/lib/scrollto/scrollTo.js</file></action>
54
  <action method="addItem"><type>skin_js</type><file>js/opcheckout.js</file></action>
55
- <action method="addItem"><type>skin_js</type><file>japi/js/checkout.js?v=3.5.1</file></action>
56
  <action method="addJs" ifconfig="giftvoucher/general/active"><script>magestore/giftvoucher/giftvoucher.js</script></action>
57
  <action method="addJs" ifconfig="rewardpoints/general/enable"><script>magestore/rewardpoints.js</script></action>
58
  </block>
@@ -95,13 +95,22 @@
95
  <block type="core/text_list" name="checkout.onepage.shipping_method.advanced" as="advanced"/>
96
  </block>
97
  <block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="japi/checkout/onepage/payment.phtml">
98
- <block type="checkout/onepage_payment_methods" name="checkout.onepage.payment.methods" as="methods" template="japi/checkout/onepage/payment/info.phtml"/>
99
  <block type="core/template" name="checkout.onepage.payment.additional" as="additional" />
100
  <block type="core/template" name="checkout.onepage.payment.methods_additional" as="methods_additional" />
101
  </block>
102
  <block type="checkout/onepage_review" name="checkout.onepage.review" as="review" template="japi/checkout/onepage/review.phtml"/>
103
  </block>
104
  </reference>
 
 
 
 
 
 
 
 
 
105
  </japi_checkout_onepage>
106
 
107
  <japi_checkout_review>
@@ -201,7 +210,7 @@
201
  <update handle="japi_customer_default"/>
202
  <reference name="content">
203
  <block type="core/template" name="checkout.onepage.style" as="checkout.onepage.style" template="japi/checkout/onepage/style.phtml"/>
204
- <block type="customer/form_register" name="customer_form_register" template="japi/customer/form/register.phtml">
205
  <block type="page/html_wrapper" name="customer.form.register.fields.before" as="form_fields_before" translate="label">
206
  <label>Form Fields Before</label>
207
  </block>
@@ -348,7 +357,7 @@
348
 
349
  <japi_kco_index>
350
  <update handle="japi_checkout_default"/>
351
-
352
  <label>NWT Klarna Checkout Page</label>
353
 
354
  <reference name="root">
@@ -425,4 +434,99 @@
425
  </block>
426
  </reference>
427
  </japi_kco_thankyou>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
428
  </layout>
52
  <action method="addItem"><type>skin_js</type><file>japi/lib/bootstrap/js/modal.js</file></action>
53
  <action method="addItem"><type>skin_js</type><file>japi/lib/scrollto/scrollTo.js</file></action>
54
  <action method="addItem"><type>skin_js</type><file>js/opcheckout.js</file></action>
55
+ <action method="addItem"><type>skin_js</type><file>japi/js/checkout.js?v=3.5.6</file></action>
56
  <action method="addJs" ifconfig="giftvoucher/general/active"><script>magestore/giftvoucher/giftvoucher.js</script></action>
57
  <action method="addJs" ifconfig="rewardpoints/general/enable"><script>magestore/rewardpoints.js</script></action>
58
  </block>
95
  <block type="core/text_list" name="checkout.onepage.shipping_method.advanced" as="advanced"/>
96
  </block>
97
  <block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="japi/checkout/onepage/payment.phtml">
98
+ <block type="japi/checkout_onepage_payment_methods" name="checkout.onepage.payment.methods" as="methods" template="japi/checkout/onepage/payment/info.phtml"/>
99
  <block type="core/template" name="checkout.onepage.payment.additional" as="additional" />
100
  <block type="core/template" name="checkout.onepage.payment.methods_additional" as="methods_additional" />
101
  </block>
102
  <block type="checkout/onepage_review" name="checkout.onepage.review" as="review" template="japi/checkout/onepage/review.phtml"/>
103
  </block>
104
  </reference>
105
+ <reference name="checkout.onepage">
106
+ <block type="japi/checkout_onepage_olifant" name="checkout.onepage.olifant" as="olifant">
107
+ <block type="core/template" name="rewards_js_points_captions" as="rewards_cartpoints_spender_js" template="rewards/js/captions.phtml" />
108
+ <block type="rewards/checkout_cart" name="rewards_points_cart_minibox" as="rewards_cartpoints_spender" template="rewards/checkout/cartmini.phtml" >
109
+ <block type="rewards/checkout_cart_slider" name="points_cart_box.slider" as="points_slider" template="olifant/rewards-slider.phtml" />
110
+ <block type="core/template" name="points_cart_box.js" as="minicart_js" template="rewards/checkout/minicart_js.phtml" />
111
+ </block>
112
+ </block>
113
+ </reference>
114
  </japi_checkout_onepage>
115
 
116
  <japi_checkout_review>
210
  <update handle="japi_customer_default"/>
211
  <reference name="content">
212
  <block type="core/template" name="checkout.onepage.style" as="checkout.onepage.style" template="japi/checkout/onepage/style.phtml"/>
213
+ <block type="japi/customer_form_register" name="customer_form_register" template="japi/customer/form/register.phtml">
214
  <block type="page/html_wrapper" name="customer.form.register.fields.before" as="form_fields_before" translate="label">
215
  <label>Form Fields Before</label>
216
  </block>
357
 
358
  <japi_kco_index>
359
  <update handle="japi_checkout_default"/>
360
+ <update handle="nwtkco_checkout_index"/>
361
  <label>NWT Klarna Checkout Page</label>
362
 
363
  <reference name="root">
434
  </block>
435
  </reference>
436
  </japi_kco_thankyou>
437
+
438
+ <japi_trollweb_index>
439
+ <update handle="japi_checkout_onepage"/>
440
+
441
+ <reference name="root">
442
+ <action method="addBodyClass">
443
+ <classname>klarna-checkout</classname>
444
+ </action>
445
+ </reference>
446
+
447
+ <reference name="head">
448
+ <action method="addItem"><type>skin_js</type><name>js/trollweb/kco/checkout.js</name></action>
449
+ <action method="addItem"><type>skin_css</type><name>css/trollweb/kco/checkout.css</name></action>
450
+ </reference>
451
+
452
+ <reference name="checkout.onepage">
453
+ <action method="setTemplate">
454
+ <template>trollweb/kco/onepage.phtml</template>
455
+ </action>
456
+
457
+ <block type="checkout/cart" name="checkout.cart">
458
+ <block type="core/text_list" name="checkout.cart.before" as="before"/>
459
+ <block name="formkey" type="core/template" template="core/formkey.phtml" />
460
+ <action method="setCartTemplate"><value>trollweb/kco/cart.phtml</value></action>
461
+ <action method="setEmptyTemplate"><value>checkout/cart/noItems.phtml</value></action>
462
+ <action method="chooseTemplate"/>
463
+ <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>trollweb/kco/cart/item/default.phtml</template></action>
464
+ <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>trollweb/kco/cart/item/default.phtml</template></action>
465
+ <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>trollweb/kco/cart/item/default.phtml</template></action>
466
+ <action method="addItemRender"><type>bundle</type><block>bundle/checkout_cart_item_renderer</block><template>trollweb/kco/cart/item/default.phtml</template></action>
467
+ <action method="addItemRender"><type>downloadable</type><block>downloadable/checkout_cart_item_renderer</block><template>trollweb/kco/cart/item/default.phtml</template></action>
468
+ <block type="checkout/cart_totals" name="checkout.cart.totals" as="totals" template="checkout/cart/totals.phtml"/>
469
+ <block type="core/text_list" name="checkout.cart.after" as="after"/>
470
+ </block>
471
+
472
+ <block type="trollweb_kco/coupon" name="checkout.kco.coupon" as="kco.coupon" template="trollweb/kco/coupon.phtml"/>
473
+ <block type="core/text_list" name="checkout.kco.additional" as="kco.additional"/>
474
+
475
+ <block type="trollweb_kco/payment" name="checkout.kco.payment" as="kco.payment" template="trollweb/kco/payment.phtml">
476
+ <block type="trollweb_kco/checkout" name="checkout.kco" as="kco" template="trollweb/kco/checkout.phtml"/>
477
+ <block type="trollweb_kco/paymentform" name="kco.payment.form" as="kco.payment.form" template="trollweb/kco/payment_form.phtml">
478
+ <block type="checkout/agreements" name="checkout.onepage.agreements" as="agreements" template="checkout/onepage/agreements.phtml"/>
479
+ </block>
480
+ </block>
481
+
482
+ <block type="trollweb_kco/email" name="checkout.kco.email.input" as="kco.email" template="trollweb/kco/emailinput.phtml"/>
483
+ <block type="trollweb_kco/postal" name="checkout.kco.postal.input" as="kco.postal" template="trollweb/kco/postalinput.phtml"/>
484
+ <block type="trollweb_kco/newsletter" name="checkout.kco.newsletter" as="kco.newsletter" template="trollweb/kco/newsletter.phtml"/>
485
+
486
+ <action method="unsetChild" ifconfig="payment/kco_checkout/disable_coupon_code_input">
487
+ <child>kco.coupon</child>
488
+ </action>
489
+ <action method="unsetChild" ifconfig="payment/kco_checkout/disable_newsletter">
490
+ <child>kco.newsletter</child>
491
+ </action>
492
+ </reference>
493
+
494
+ <reference name="checkout.onepage.review">
495
+ <block type="checkout/onepage_review_info" name="checkout.onepage.review.info" as="info" template="checkout/onepage/review/info.phtml">
496
+ <action method="addItemRender">
497
+ <type>default</type>
498
+ <block>checkout/cart_item_renderer</block>
499
+ <template>checkout/onepage/review/item.phtml</template>
500
+ </action>
501
+ <action method="addItemRender">
502
+ <type>grouped</type>
503
+ <block>checkout/cart_item_renderer_grouped</block>
504
+ <template>checkout/onepage/review/item.phtml</template>
505
+ </action>
506
+ <action method="addItemRender">
507
+ <type>configurable</type>
508
+ <block>checkout/cart_item_renderer_configurable</block>
509
+ <template>checkout/onepage/review/item.phtml</template>
510
+ </action>
511
+ <action method="addItemRender">
512
+ <type>bundle</type>
513
+ <block>bundle/checkout_cart_item_renderer</block>
514
+ <template>trollweb/kco/cart/item/default.phtml</template>
515
+ </action>
516
+ <action method="addItemRender">
517
+ <type>downloadable</type>
518
+ <block>downloadable/checkout_cart_item_renderer</block>
519
+ <template>trollweb/kco/cart/item/default.phtml</template>
520
+ </action>
521
+ <block type="checkout/cart_totals" name="checkout.onepage.review.info.totals" as="totals" template="checkout/onepage/review/totals.phtml"/>
522
+ <block type="core/text_list" name="checkout.onepage.review.info.items.before" as="items_before" translate="label">
523
+ <label>Items Before</label>
524
+ </block>
525
+ <block type="core/text_list" name="checkout.onepage.review.info.items.after" as="items_after" translate="label">
526
+ <label>Items After</label>
527
+ </block>
528
+ <block type="checkout/agreements" name="checkout.onepage.agreements" as="agreements" template="checkout/onepage/agreements.phtml"/>
529
+ </block>
530
+ </reference>
531
+ </japi_trollweb_index>
532
  </layout>
app/design/frontend/base/default/template/japi/checkout/onepage.phtml CHANGED
@@ -25,9 +25,6 @@
25
  */
26
  ?>
27
  <?php /* @var $this Mage_Checkout_Block_Onepage */ ?>
28
- <div class="page-title">
29
- <h1><?php echo $this->__('Checkout') ?></h1>
30
- </div>
31
  <?php $error = $this->getMessagesBlock()->getGroupedHtml() ?>
32
  <?php echo $error ?>
33
  <?php if ($this->getQuote()->getHasError()) return ?>
25
  */
26
  ?>
27
  <?php /* @var $this Mage_Checkout_Block_Onepage */ ?>
 
 
 
28
  <?php $error = $this->getMessagesBlock()->getGroupedHtml() ?>
29
  <?php echo $error ?>
30
  <?php if ($this->getQuote()->getHasError()) return ?>
app/design/frontend/base/default/template/japi/checkout/onepage/agreements.phtml CHANGED
@@ -30,7 +30,20 @@
30
  */
31
  ?>
32
  <?php if (!$this->getAgreements()) return; ?>
33
- <form action="" id="checkout-agreements" onsubmit="return false;">
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  <dl class="sp-methods">
35
  <?php foreach ($this->getAgreements() as $_a): ?>
36
  <dt>
@@ -54,14 +67,14 @@
54
  <span aria-hidden="true">&times;</span>
55
  </button>
56
  <h1 class="modal-title" id="agreementModalLabel<?php echo $_a->getId() ?>">
57
- <?php echo $this->escapeHtml($_a->getName()) ?>
58
  </h1>
59
  </div>
60
  <div class="modal-body">
61
  <?php if ($_a->getIsHtml()): ?>
62
- <?php echo $_a->getContent() ?>
63
  <?php else: ?>
64
- <?php echo nl2br($this->escapeHtml($_a->getContent())) ?>
65
  <?php endif; ?>
66
  </div>
67
  </div>
@@ -74,5 +87,19 @@
74
  <script type="text/javascript">
75
  //<![CDATA[
76
  new JMAgreement($('checkout-agreements'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  //]]>
78
  </script>
30
  */
31
  ?>
32
  <?php if (!$this->getAgreements()) return; ?>
33
+ <?php
34
+ /* @var $processor Mage_Cms_Model_Template_Filter */
35
+ $processor = Mage::getModel('cms/template_filter');
36
+ ?>
37
+ <form action="" id="checkout-agreements" class="checkout-agreements" onsubmit="return false;">
38
+ <?php if (Mage::helper('core')->isModuleEnabled('GGMGastro_CustomCheckoutFields')): ?>
39
+ <div class="commentbox">
40
+ <?php echo $this->getLayout()->createBlock('customcheckoutfields/commentbox_additional')->setTemplate('flagbit_checkout/commentbox.phtml')->toHtml(); ?>
41
+ <span><?php echo $this->__('Number of remaining letters') ?></span>: <span id="remainingLetters"><?php echo $this->getMaximumNumberOfLetters(); ?></span>
42
+ <script>
43
+ new CommentHandler(<?php echo $this->getMaximumNumberOfLetters(); ?>);
44
+ </script>
45
+ </div>
46
+ <?php endif; ?>
47
  <dl class="sp-methods">
48
  <?php foreach ($this->getAgreements() as $_a): ?>
49
  <dt>
67
  <span aria-hidden="true">&times;</span>
68
  </button>
69
  <h1 class="modal-title" id="agreementModalLabel<?php echo $_a->getId() ?>">
70
+ <?php echo $this->escapeHtml($_a->getCheckboxText()) ?>
71
  </h1>
72
  </div>
73
  <div class="modal-body">
74
  <?php if ($_a->getIsHtml()): ?>
75
+ <?php echo $processor->filter($_a->getContent()) ?>
76
  <?php else: ?>
77
+ <?php echo nl2br($this->escapeHtml($processor->filter($_a->getContent()))) ?>
78
  <?php endif; ?>
79
  </div>
80
  </div>
87
  <script type="text/javascript">
88
  //<![CDATA[
89
  new JMAgreement($('checkout-agreements'));
90
+ <?php if (strpos(Mage::getBaseUrl(), 'popcorn.nl') !== false): ?>
91
+ (function($){
92
+ $(function() {
93
+ $('#checkout-agreements dt').each(
94
+ function (index) {
95
+ if (index > 0) {
96
+ $(this).find('input[type=checkbox]').prop('checked', true);
97
+ $(this).hide();
98
+ }
99
+ }
100
+ );
101
+ });
102
+ })(jQuery);
103
+ <?php endif; ?>
104
  //]]>
105
  </script>
app/design/frontend/base/default/template/japi/checkout/onepage/massamarkt/billing.phtml ADDED
@@ -0,0 +1,459 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magento.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magento.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2006-2015 X.commerce, Inc. (http://www.magento.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <form id="co-billing-form" action="">
28
+ <fieldset>
29
+ <ul class="form-list">
30
+ <li>
31
+ <div class="field form-group input-box input-bestelling">
32
+ <label class="label control-label col-sm-3"><font><font>type of order</font></font></label>
33
+ <div class="input-box input-type_bestelling billing frame">
34
+ <input type="radio" checked="checked" value="particulier" id="billing:type_bestelling-1" name="billing[type_bestelling]">
35
+ <label for="billing:type_bestelling-1"><font><font>Private</font></font></label>
36
+ <input type="radio" value="zakelijk" id="billing:type_bestelling-2" name="billing[type_bestelling]">
37
+ <label for="billing:type_bestelling-2"><font><font>Business</font></font></label>
38
+ </div>
39
+ </div>
40
+ </li>
41
+ <li class="fields input-company">
42
+ <div class="field">
43
+ <label for="billing:company"><?php echo $this->__('Company') ?></label>
44
+ <div class="input-box">
45
+ <input type="text" id="billing:company" name="billing[company]"
46
+ value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>"
47
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Company')) ?>"
48
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>"/>
49
+ </div>
50
+ </div>
51
+ </li>
52
+ <?php if ($this->customerHasAddresses()): ?>
53
+ <li class="wide">
54
+ <label
55
+ for="billing-address-select"><?php echo $this->__('Select a billing address from your address book or enter a new address.') ?></label>
56
+ <div class="input-box">
57
+ <?php echo $this->getAddressesHtmlSelect('billing') ?>
58
+ </div>
59
+ </li>
60
+ <?php endif; ?>
61
+ <li id="billing-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif; ?>>
62
+ <fieldset>
63
+ <input type="hidden" name="billing[address_id]" value="<?php echo $this->getAddress()->getId() ?>"
64
+ id="billing:address_id"/>
65
+ <ul>
66
+ <li class="fields"><?php echo $this->getLayout()->createBlock('japi/customer_widget_name')->setObject($this->getAddress()->getFirstname() ? $this->getAddress() : $this->getQuote()->getCustomer())->setForceUseCustomerRequiredAttributes(!$this->isCustomerLoggedIn())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?></li>
67
+ <li class="fields">
68
+ <div class="field">
69
+ <label for="billing:company"><?php echo $this->__('Company') ?></label>
70
+ <div class="input-box">
71
+ <input type="text" id="billing:company" name="billing[company]"
72
+ value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>"
73
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Company')) ?>"
74
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>"/>
75
+ </div>
76
+ </div>
77
+ <?php if (!$this->isCustomerLoggedIn()): ?>
78
+ <div class="field">
79
+ <label for="billing:email"
80
+ class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
81
+ <div class="input-box">
82
+ <input type="text" name="billing[email]" id="billing:email"
83
+ value="<?php echo $this->escapeHtml($this->getAddress()->getEmail()) ?>"
84
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Email Address')) ?>"
85
+ class="input-text validate-email required-entry"/>
86
+ </div>
87
+ </div>
88
+ <?php endif; ?>
89
+ </li>
90
+
91
+ <?php
92
+ /**
93
+ * MLUGIN-1440: Only fix for https://www.teakea.nl/ - follow customize template of this website.
94
+ */
95
+ if (Mage::helper('core')->isModuleEnabled('GoMage_Checkout') && strpos(Mage::getBaseUrl(), 'teakea.nl') !== false):
96
+ ?>
97
+ <li>
98
+ <label for="zakelijke-yes" class="">Zakelijke klant ?</label>
99
+ <div class="input-box">
100
+ <input type="checkbox"
101
+ name="zakelijke-yes" <?php if (Mage::getSingleton('customer/session')->getCustomer()->getKvk() && Mage::getSingleton('customer/session')->getCustomer()->getTaxvat()) { ?> checked="checked" <?php } ?>
102
+ value="yes" id="zakelijke-yes">Ja
103
+ </div>
104
+ </li>
105
+ <ul id="japi-zakelijke-content" style="margin-bottom: 15px; display:none">
106
+ <li>
107
+ <label for="kvk" class="">KVK nummer</label>
108
+ <div class="input-box kvk">
109
+ <input type="text" name="kvk"
110
+ id="kvk" <?php if (Mage::getSingleton('customer/session')->getCustomer()->getKvk()) { ?> value="<?php echo Mage::getSingleton('customer/session')->getCustomer()->getKvk(); ?>" <?php } ?>
111
+ class="input-text"/>
112
+ </div>
113
+ </li>
114
+ <li>
115
+ <label for="vat" class="">BTW nummer</label>
116
+ <div class="input-box vat">
117
+ <input type="text" name="vat"
118
+ id="vat" <?php if (Mage::getSingleton('customer/session')->getCustomer()->getTaxvat()) { ?> value="<?php echo Mage::getSingleton('customer/session')->getCustomer()->getTaxvat(); ?>" <?php } ?>
119
+ class="input-text"/>
120
+ </div>
121
+ </li>
122
+ <li>
123
+ <label for="btw-factuur" class="">BTW factuur ontvangen?</label>
124
+ <div class="input-box btw-factuur">
125
+ <input type="checkbox"
126
+ name="btw-factuur" <?php if (Mage::getSingleton('customer/session')->getCustomer()->getKvk() && Mage::getSingleton('customer/session')->getCustomer()->getTaxvat()) { ?> checked="checked" <?php } ?>
127
+ value="yes" id="btw-factuur">Ja
128
+ <p class="btw-info" style="display: none;">Mocht u vaker aankopen doen bij
129
+ Teakea voor uw eigen onderneming รณf voor uw eigen klanten, dan krijgt u als
130
+ zakelijke klant 10% korting op iedere volgende aankoop.</p>
131
+ </div>
132
+ </li>
133
+ </ul>
134
+ <script type="text/javascript">
135
+ JMango(document).ready(function () {
136
+ if (JMango('#zakelijke-yes').is(':checked')) {
137
+ JMango('#japi-zakelijke-content').show();
138
+ }
139
+ if (JMango('#btw-factuur').is(':checked')) {
140
+ JMango('p.btw-info').show();
141
+ }
142
+ });
143
+ JMango('#zakelijke-yes').click(function () {
144
+ JMango("#japi-zakelijke-content").toggle(this.checked);
145
+ });
146
+ JMango('#btw-factuur').click(function () {
147
+ JMango("p.btw-info").toggle(this.checked);
148
+ });
149
+ </script>
150
+ <?php endif;//END if (Mage::helper('core')->isModuleEnabled('GoMage_Checkout') && strpos(Mage::getBaseUrl(), 'teakea') !== false) ?>
151
+
152
+ <?php $_streetValidationClass = $this->helper('customer/address')->getAttributeValidationClass('street'); ?>
153
+ <li class="wide">
154
+ <label for="billing:street1" class="required"><em>*</em><?php echo $this->__('Address') ?>
155
+ </label>
156
+ <div class="input-box">
157
+ <input type="text"
158
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Street Address')) ?>"
159
+ name="billing[street][]" id="billing:street1"
160
+ value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>"
161
+ class="input-text <?php echo $_streetValidationClass ?>"/>
162
+ </div>
163
+ </li>
164
+ <?php
165
+ $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass));
166
+ $_streetConfig = Mage::getStoreConfig('japi/jmango_rest_customer_settings');
167
+ ?>
168
+ <?php for ($_i = 2, $_n = $this->helper('customer/address')->getStreetLines(); $_i <= $_n; $_i++): ?>
169
+ <li class="wide">
170
+ <?php
171
+ if (!empty($_streetConfig['street' . $_i . '_label'])) {
172
+ $_title = Mage::helper('core')->quoteEscape($this->__($_streetConfig['street' . $_i . '_label']));
173
+ } else {
174
+ $_title = Mage::helper('core')->quoteEscape($this->__('Street Address %s', $_i));
175
+ }
176
+ ?>
177
+ <label for="billing:street<?php echo $_i ?>"
178
+ class="<?php echo empty($_streetConfig['street' . $_i . '_require']) ? '' : 'required' ?>">
179
+ <?php if (!empty($_streetConfig['street' . $_i . '_require'])): ?>
180
+ <em>*</em>
181
+ <?php endif; ?>
182
+ <?php echo $_title ?>
183
+ </label>
184
+ <?php
185
+ $additionValidate = '';
186
+ if (!empty($_streetConfig['street' . $_i . '_require'])) {
187
+ $additionValidate .= ' required-entry';
188
+ }
189
+ if (!empty($_streetConfig['street' . $_i . '_type'])
190
+ && $_streetConfig['street' . $_i . '_type'] == 'number'
191
+ ) {
192
+ $additionValidate .= ' validate-number';
193
+ }
194
+ ?>
195
+ <div class="input-box">
196
+ <input type="text" name="billing[street][]"
197
+ value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>"
198
+ title="<?php echo $_title ?>"
199
+ id="billing:street<?php echo $_i ?>"
200
+ class="input-text <?php echo $_streetValidationClass . $additionValidate ?>"/>
201
+ </div>
202
+ </li>
203
+ <?php endfor; ?>
204
+ <?php if ($this->helper('customer/address')->isVatAttributeVisible()) : ?>
205
+ <li class="wide input-tax">
206
+ <label for="billing:vat_id"><?php echo $this->__('VAT Number') ?></label>
207
+ <div class="input-box">
208
+ <input type="text" id="billing:vat_id" name="billing[vat_id]"
209
+ value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>"
210
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('VAT Number')) ?>"
211
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('vat_id') ?>"/>
212
+ </div>
213
+ </li>
214
+ <?php endif; ?>
215
+ <li class="fields">
216
+ <div class="field">
217
+ <label for="billing:city" class="required"><em>*</em><?php echo $this->__('City') ?>
218
+ </label>
219
+ <div class="input-box">
220
+ <input type="text"
221
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('City')) ?>"
222
+ name="billing[city]"
223
+ value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>"
224
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('city') ?>"
225
+ id="billing:city"/>
226
+ </div>
227
+ </div>
228
+ <div class="field">
229
+ <label for="billing:region_id"
230
+ class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
231
+ <div class="input-box">
232
+ <select id="billing:region_id" name="billing[region_id]"
233
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('State/Province')) ?>"
234
+ class="validate-select" style="display:none;">
235
+ <option
236
+ value=""><?php echo $this->__('Please select region, state or province') ?></option>
237
+ </select>
238
+ <script type="text/javascript">
239
+ //<![CDATA[
240
+ $('billing:region_id').setAttribute('defaultValue', "<?php echo $this->getAddress()->getRegionId() ?>");
241
+ //]]>
242
+ </script>
243
+ <input type="text" id="billing:region" name="billing[region]"
244
+ value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"
245
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('State/Province')) ?>"
246
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>"
247
+ style="display:none;"/>
248
+ </div>
249
+ </div>
250
+ </li>
251
+ <li class="fields">
252
+ <div class="field">
253
+ <label for="billing:postcode"
254
+ class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
255
+ <div class="input-box">
256
+ <input type="text"
257
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Zip/Postal Code')) ?>"
258
+ name="billing[postcode]" id="billing:postcode"
259
+ value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>"
260
+ class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>"/>
261
+ </div>
262
+ </div>
263
+ <div class="field">
264
+ <label for="billing:country_id"
265
+ class="required"><em>*</em><?php echo $this->__('Country') ?></label>
266
+ <div class="input-box">
267
+ <?php echo $this->getCountryHtmlSelect('billing') ?>
268
+ </div>
269
+ </div>
270
+ </li>
271
+ <li class="fields">
272
+ <div class="field">
273
+ <label for="billing:telephone"
274
+ class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
275
+ <div class="input-box">
276
+ <input type="text" name="billing[telephone]"
277
+ value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>"
278
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Telephone')) ?>"
279
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>"
280
+ id="billing:telephone"/>
281
+ </div>
282
+ </div>
283
+ <div class="field">
284
+ <label for="billing:fax"><?php echo $this->__('Fax') ?></label>
285
+ <div class="input-box">
286
+ <input type="text" name="billing[fax]"
287
+ value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>"
288
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Fax')) ?>"
289
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('fax') ?>"
290
+ id="billing:fax"/>
291
+ </div>
292
+ </div>
293
+ </li>
294
+ <?php if (!$this->isCustomerLoggedIn() || strpos(Mage::getUrl(), 'bloomfashion.nl') !== false): ?>
295
+
296
+ <?php $_dob = $this->getLayout()->createBlock('customer/widget_dob') ?>
297
+ <?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?>
298
+ <?php if ($_dob->isEnabled() || $_gender->isEnabled()): ?>
299
+ <li class="fields">
300
+ <?php if ($_dob->isEnabled()): ?>
301
+ <div class="field">
302
+ <?php echo $_dob->setDate($this->getQuote()->getCustomerDob())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
303
+ </div>
304
+ <?php endif; ?>
305
+ <?php if ($_gender->isEnabled()): ?>
306
+ <div class="field">
307
+ <?php echo $_gender->setGender($this->getQuote()->getCustomerGender())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
308
+ </div>
309
+ <?php endif ?>
310
+ </li>
311
+ <?php endif ?>
312
+
313
+ <?php $_taxvat = $this->getLayout()->createBlock('customer/widget_taxvat') ?>
314
+ <?php if ($_taxvat->isEnabled()): ?>
315
+ <li>
316
+ <?php echo $_taxvat->setTaxvat($this->getQuote()->getCustomerTaxvat())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
317
+ </li>
318
+ <?php endif ?>
319
+ <?php endif ?>
320
+
321
+ <?php if (!$this->isCustomerLoggedIn()): ?>
322
+ <li class="fields" id="register-customer-password">
323
+ <div class="field">
324
+ <label for="billing:customer_password"
325
+ class="required"><em>*</em><?php echo $this->__('Password') ?></label>
326
+ <div class="input-box">
327
+ <input type="password" name="billing[customer_password]"
328
+ id="billing:customer_password"
329
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Password')) ?>"
330
+ class="input-text required-entry validate-password"/>
331
+ </div>
332
+ </div>
333
+ <div class="field">
334
+ <label for="billing:confirm_password"
335
+ class="required"><em>*</em><?php echo $this->__('Confirm Password') ?>
336
+ </label>
337
+ <div class="input-box">
338
+ <input type="password" name="billing[confirm_password]"
339
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Confirm Password')) ?>"
340
+ id="billing:confirm_password"
341
+ class="input-text required-entry validate-cpassword"/>
342
+ </div>
343
+ </div>
344
+ </li>
345
+ <?php endif; ?>
346
+
347
+ <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()): ?>
348
+ <li class="control">
349
+ <input type="checkbox" name="billing[save_in_address_book]" value="1"
350
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Save in address book')) ?>"
351
+ id="billing:save_in_address_book"
352
+ onchange="if(window.shipping) shipping.setSameAsBilling(false);"<?php if ($this->getAddress()->getSaveInAddressBook()): ?> checked="checked"<?php endif; ?>
353
+ class="checkbox"/>
354
+ <label
355
+ for="billing:save_in_address_book"><?php echo $this->__('Save in address book') ?></label>
356
+ </li>
357
+ <?php else: ?>
358
+ <li class="no-display"><input type="hidden" name="billing[save_in_address_book]" value="1"/>
359
+ </li>
360
+ <?php endif; ?>
361
+
362
+ <?php echo $this->getChildHtml('form.additional.info'); ?>
363
+ </ul>
364
+ </fieldset>
365
+ </li>
366
+ <?php /* Extensions placeholder */ ?>
367
+ <?php echo $this->getChildHtml('checkout.onepage.billing.extra') ?>
368
+ <?php if ($this->canShip()): ?>
369
+ <li class="control">
370
+ <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_yes"
371
+ value="1"<?php if ($this->isUseBillingAddressForShipping()) { ?> checked="checked"<?php } ?>
372
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Ship to this address')) ?>"
373
+ onclick="$('shipping:same_as_billing').checked = true;" class="radio"/>
374
+ <label for="billing:use_for_shipping_yes"><?php echo $this->__('Ship to this address') ?></label>
375
+ </li>
376
+ <li class="control">
377
+ <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_no"
378
+ value="0"<?php if (!$this->isUseBillingAddressForShipping()) { ?> checked="checked"<?php } ?>
379
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Ship to different address')) ?>"
380
+ onclick="$('shipping:same_as_billing').checked = false;" class="radio"/>
381
+ <label
382
+ for="billing:use_for_shipping_no"><?php echo $this->__('Ship to different address') ?></label>
383
+ </li>
384
+ <?php endif; ?>
385
+ </ul>
386
+ <?php if (!$this->canShip()): ?>
387
+ <input type="hidden" name="billing[use_for_shipping]" value="1"/>
388
+ <?php endif; ?>
389
+ <div class="buttons-set" id="billing-buttons-container">
390
+ <button id="billing-button" type="button"
391
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Continue')) ?>"
392
+ class="ladda-button" onclick="billing.save()" data-color="jmango" data-style="slide-up"
393
+ data-size="s">
394
+ <span class="ladda-label"><?php echo $this->__('Continue') ?></span>
395
+ </button>
396
+ </div>
397
+ <?php echo $this->getBlockHtml('formkey') ?>
398
+ </fieldset>
399
+ </form>
400
+ <script type="text/javascript">
401
+ //<![CDATA[
402
+ var billing = new Billing(
403
+ 'co-billing-form',
404
+ '<?php echo $this->getUrl('japi/checkout/getAddress', array('_secure' => true)) ?>address/',
405
+ '<?php echo $this->getUrl('japi/checkout/saveBilling', array('_secure' => true)) ?>'
406
+ );
407
+ var billingForm = new VarienForm('co-billing-form');
408
+ $('billing-address-select') && billing.newAddress(!$('billing-address-select').value);
409
+ var billingRegionUpdater = new RegionUpdater(
410
+ 'billing:country_id', 'billing:region', 'billing:region_id',
411
+ <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'billing:postcode'
412
+ );
413
+
414
+ (function($){
415
+ $(function() {
416
+ var blockVat = $('.input-tax'),
417
+ blockCompany = $(".input-company");
418
+ $("input[name='billing[type_bestelling]']").change(function() {
419
+ if ($("input[name='billing[type_bestelling]']:checked").val() == 'zakelijk') {
420
+ blockVat.show();
421
+ blockCompany.show();
422
+ } else {
423
+ blockVat.hide();
424
+ blockCompany.hide();
425
+ }
426
+ });
427
+ if ($("input[name='billing[type_bestelling]']:checked").val() == 'particulier') {
428
+ blockVat.hide();
429
+ blockCompany.hide();
430
+ }
431
+ });
432
+ })(jQuery);
433
+
434
+ document.observe("dom:loaded", PCNL_START_FUNCTION = function()
435
+ {
436
+ // If we have no configuration, do not do anything
437
+ if (typeof PCNLAPI_CONFIG == 'undefined') return;
438
+ postNlBillingAdjustment();
439
+ });
440
+ function postNlBillingAdjustment() {
441
+ if(jQuery('#billing\\:postcode_input\\:info').is(":visible")){
442
+ jQuery('#billing\\:postcode_input\\:info').hide();
443
+ jQuery('#billing\\:postcode_input\\:checkbox input').hide();
444
+ jQuery("label[for='billing:postcode_input_checkbox']").hide();
445
+ jQuery('#billing\\:postcode_input\\:checkbox label').addClass('control-label col-sm-3').text('');
446
+ jQuery('#billing\\:postcode_input\\:checkbox label').after('<div class="col-sm-9"><label for="billing:postcode_input_checkbox">Handmatig invullen</label></div>')
447
+ jQuery('#billing_address_list .input-postcode').addClass('field form-group input-box');
448
+ jQuery("#billing_address_list .input-postcode label").addClass('control-label col-sm-3');
449
+ jQuery("#billing_address_list .input-postcode .input-box").addClass('col-sm-9');
450
+ jQuery("#billing\\:postcode_input\\:output .input-box").addClass("field");
451
+ jQuery("#billing\\:postcode_input\\:output label").text("");
452
+ jQuery("#billing\\:postcode_output").addClass('col-sm-9 col-sm-offset-3');
453
+ jQuery('#billing\\:postcode_input\\:wrapper #billing\\:postcode_input').after('<small class="appendix">Bijvoorbeeld \'9999AA\'</small>');
454
+ jQuery('#billing\\:postcode_input\\:wrapper #billing\\:postcode_housenumber').after('<small class="appendix">Bijvoorbeeld \'20-8\'</small>');
455
+ jQuery("label[for='billing:vat_id'").html('BTW/VAT nummer');
456
+ }
457
+ }
458
+ //]]>
459
+ </script>
app/design/frontend/base/default/template/japi/checkout/onepage/massamarkt/shipping.phtml ADDED
@@ -0,0 +1,288 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magento.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magento.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2006-2015 X.commerce, Inc. (http://www.magento.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <form action="" id="co-shipping-form">
28
+ <ul class="form-list">
29
+ <li class="fields input-company">
30
+ <div class="fields">
31
+ <label for="shipping:company"><?php echo $this->__('Company') ?></label>
32
+ <div class="input-box">
33
+ <input type="text" id="shipping:company" name="shipping[company]"
34
+ value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>"
35
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Company')) ?>"
36
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>"
37
+ onchange="shipping.setSameAsBilling(false);"/>
38
+ </div>
39
+ </div>
40
+ </li>
41
+ <?php if ($this->customerHasAddresses()): ?>
42
+ <li class="wide">
43
+ <label
44
+ for="shipping-address-select"><?php echo $this->__('Select a shipping address from your address book or enter a new address.') ?></label>
45
+ <div class="input-box">
46
+ <?php echo $this->getAddressesHtmlSelect('shipping') ?>
47
+ </div>
48
+ </li>
49
+ <?php endif ?>
50
+ <li id="shipping-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif ?>>
51
+ <fieldset>
52
+ <input type="hidden" name="shipping[address_id]" value="<?php echo $this->getAddress()->getId() ?>"
53
+ id="shipping:address_id"/>
54
+ <ul>
55
+ <li class="fields"><?php echo $this->getLayout()->createBlock('japi/customer_widget_name')->setObject($this->getAddress())->setFieldIdFormat('shipping:%s')->setFieldNameFormat('shipping[%s]')->setFieldParams('onchange="shipping.setSameAsBilling(false)"')->toHtml() ?></li>
56
+ <?php $_streetValidationClass = $this->helper('customer/address')->getAttributeValidationClass('street'); ?>
57
+ <li class="wide">
58
+ <label for="shipping:street1" class="required"><em>*</em><?php echo $this->__('Address') ?>
59
+ </label>
60
+ <div class="input-box">
61
+ <input type="text"
62
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Street Address')) ?>"
63
+ name="shipping[street][]" id="shipping:street1"
64
+ value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>"
65
+ class="input-text <?php echo $_streetValidationClass ?>"
66
+ onchange="shipping.setSameAsBilling(false);"/>
67
+ </div>
68
+ </li>
69
+ <?php
70
+ $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass));
71
+ $_streetConfig = Mage::getStoreConfig('japi/jmango_rest_customer_settings');
72
+ ?>
73
+ <?php for ($_i = 2, $_n = $this->helper('customer/address')->getStreetLines(); $_i <= $_n; $_i++): ?>
74
+ <li class="wide">
75
+ <?php
76
+ if (!empty($_streetConfig['street' . $_i . '_label'])) {
77
+ $_title = Mage::helper('core')->quoteEscape($this->__($_streetConfig['street' . $_i . '_label']));
78
+ } else {
79
+ $_title = Mage::helper('core')->quoteEscape($this->__('Street Address %s', $_i));
80
+ }
81
+ ?>
82
+ <label for="shipping:street<?php echo $_i ?>"
83
+ class="<?php echo empty($_streetConfig['street' . $_i . '_require']) ? '' : 'required' ?>">
84
+ <?php if (!empty($_streetConfig['street' . $_i . '_require'])): ?>
85
+ <em>*</em>
86
+ <?php endif; ?>
87
+ <?php echo $_title ?>
88
+ </label>
89
+ <?php
90
+ $additionValidate = '';
91
+ if (!empty($_streetConfig['street' . $_i . '_require'])) {
92
+ $additionValidate .= ' required-entry';
93
+ }
94
+ if (!empty($_streetConfig['street' . $_i . '_type'])
95
+ && $_streetConfig['street' . $_i . '_type'] == 'number'
96
+ ) {
97
+ $additionValidate .= ' validate-number';
98
+ }
99
+ ?>
100
+ <div class="input-box">
101
+ <input type="text" name="shipping[street][]"
102
+ value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>"
103
+ title="<?php echo $_title ?>"
104
+ id="shipping:street<?php echo $_i ?>"
105
+ class="input-text <?php echo $_streetValidationClass . $additionValidate ?>"/>
106
+ </div>
107
+ </li>
108
+ <?php endfor; ?>
109
+ <?php if ($this->helper('customer/address')->isVatAttributeVisible()) : ?>
110
+ <li class="wide input-tax">
111
+ <label for="billing:vat_id"><?php echo $this->__('VAT Number'); ?></label>
112
+ <div class="input-box">
113
+ <input type="text" id="shipping:vat_id" name="shipping[vat_id]"
114
+ value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()); ?>"
115
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('VAT Number')); ?>"
116
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('vat_id') ?>"/>
117
+ </div>
118
+ </li>
119
+ <?php endif; ?>
120
+ <li class="fields">
121
+ <div class="field">
122
+ <label for="shipping:city" class="required"><em>*</em><?php echo $this->__('City') ?>
123
+ </label>
124
+ <div class="input-box">
125
+ <input type="text"
126
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('City')) ?>"
127
+ name="shipping[city]"
128
+ value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>"
129
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('city') ?>"
130
+ id="shipping:city" onchange="shipping.setSameAsBilling(false);"/>
131
+ </div>
132
+ </div>
133
+ <div class="field">
134
+ <label for="shipping:region"
135
+ class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
136
+ <div class="input-box">
137
+ <select id="shipping:region_id" name="shipping[region_id]"
138
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('State/Province')) ?>"
139
+ class="validate-select" style="display:none;">
140
+ <option
141
+ value=""><?php echo $this->__('Please select region, state or province') ?></option>
142
+ </select>
143
+ <script type="text/javascript">
144
+ //<![CDATA[
145
+ $('shipping:region_id').setAttribute('defaultValue', "<?php echo $this->getAddress()->getRegionId() ?>");
146
+ //]]>
147
+ </script>
148
+ <input type="text" id="shipping:region" name="shipping[region]"
149
+ value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"
150
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('State/Province')) ?>"
151
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>"
152
+ style="display:none;"/>
153
+ </div>
154
+ </div>
155
+ </li>
156
+ <li class="fields">
157
+ <div class="field">
158
+ <label for="shipping:postcode"
159
+ class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
160
+ <div class="input-box">
161
+ <input type="text"
162
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Zip/Postal Code')) ?>"
163
+ name="shipping[postcode]" id="shipping:postcode"
164
+ value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>"
165
+ class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>"
166
+ onchange="shipping.setSameAsBilling(false);"/>
167
+ </div>
168
+ </div>
169
+ <div class="field">
170
+ <label for="shipping:country_id"
171
+ class="required"><em>*</em><?php echo $this->__('Country') ?></label>
172
+ <div class="input-box">
173
+ <?php echo $this->getCountryHtmlSelect('shipping') ?>
174
+ </div>
175
+ </div>
176
+ </li>
177
+ <li class="fields">
178
+ <div class="field">
179
+ <label for="shipping:telephone"
180
+ class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
181
+ <div class="input-box">
182
+ <input type="text" name="shipping[telephone]"
183
+ value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>"
184
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Telephone')) ?>"
185
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>"
186
+ id="shipping:telephone" onchange="shipping.setSameAsBilling(false);"/>
187
+ </div>
188
+ </div>
189
+ <div class="field">
190
+ <label for="shipping:fax"><?php echo $this->__('Fax') ?></label>
191
+ <div class="input-box">
192
+ <input type="text" name="shipping[fax]"
193
+ value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>"
194
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Fax')) ?>"
195
+ class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('fax') ?>"
196
+ id="shipping:fax" onchange="shipping.setSameAsBilling(false);"/>
197
+ </div>
198
+ </div>
199
+ </li>
200
+
201
+ <!-- Additional customer address fields -->
202
+ <?php echo $this->getLayout()->createBlock('japi/form')->setFields(Mage::helper('japi')->getCustomerAddressFormFields())->setPrefix('shipping')->toHtml() ?>
203
+
204
+ <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()): ?>
205
+ <li class="control">
206
+ <input type="checkbox" name="shipping[save_in_address_book]" value="1"
207
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Save in address book')) ?>"
208
+ id="shipping:save_in_address_book"
209
+ onchange="shipping.setSameAsBilling(false);"<?php if ($this->getAddress()->getSaveInAddressBook()): ?> checked="checked"<?php endif; ?>
210
+ class="checkbox"/>
211
+ <label
212
+ for="shipping:save_in_address_book"><?php echo $this->__('Save in address book') ?></label>
213
+ </li>
214
+ <?php else: ?>
215
+ <li class="no-display"><input type="hidden" name="shipping[save_in_address_book]" value="1"/>
216
+ </li>
217
+ <?php endif; ?>
218
+ </ul>
219
+ </fieldset>
220
+ </li>
221
+ <li class="control">
222
+ <input type="checkbox" name="shipping[same_as_billing]" id="shipping:same_as_billing"
223
+ value="1"<?php if ($this->getAddress()->getSameAsBilling()): ?> checked="checked"<?php endif; ?>
224
+ title="<?php echo $this->__('Use Billing Address') ?>"
225
+ onclick="shipping.setSameAsBilling(this.checked)" class="checkbox"/>
226
+ <label for="shipping:same_as_billing"><?php echo $this->__('Use Billing Address') ?></label>
227
+ </li>
228
+ </ul>
229
+ <div class="buttons-set" id="shipping-buttons-container">
230
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
231
+ <p class="back-link"><a href="#" onclick="checkout.back(); return false;">
232
+ <small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
233
+ <button id="shipping-button" type="button" class="ladda-button" data-color="jmango" data-style="slide-up"
234
+ data-size="s"
235
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Continue')) ?>"
236
+ onclick="shipping.save()">
237
+ <span class="ladda-label"><?php echo $this->__('Continue') ?></span>
238
+ </button>
239
+ <span id="shipping-please-wait" class="please-wait" style="display:none;">
240
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>"
241
+ alt="<?php echo Mage::helper('core')->quoteEscape($this->__('Loading next step...')) ?>"
242
+ title="<?php echo Mage::helper('core')->quoteEscape($this->__('Loading next step...')) ?>"
243
+ class="v-middle"/> <?php echo $this->__('Loading next step...') ?>
244
+ </span>
245
+ </div>
246
+ <?php echo $this->getBlockHtml('formkey') ?>
247
+ </form>
248
+ <script type="text/javascript">
249
+ //<![CDATA[
250
+ var shipping = new Shipping(
251
+ 'co-shipping-form',
252
+ '<?php echo $this->getUrl('japi/checkout/getAddress', array('_secure' => true)) ?>address/',
253
+ '<?php echo $this->getUrl('japi/checkout/saveShipping', array('_secure' => true)) ?>',
254
+ '<?php echo $this->getUrl('japi/checkout/shippingMethod', array('_secure' => true)) ?>'
255
+ );
256
+ var shippingForm = new VarienForm('co-shipping-form');
257
+ shippingForm.extraChildParams = ' onchange="shipping.setSameAsBilling(false);"';
258
+ $('shipping-address-select') && shipping.newAddress(!$('shipping-address-select').value);
259
+ var shippingRegionUpdater = new RegionUpdater('shipping:country_id', 'shipping:region', 'shipping:region_id',
260
+ <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'shipping:postcode'
261
+ );
262
+
263
+ document.observe("dom:loaded", PCNL_START_FUNCTION = function()
264
+ {
265
+ // If we have no configuration, do not do anything
266
+ if (typeof PCNLAPI_CONFIG == 'undefined')
267
+ return;
268
+ postNlShippingAdjustment();
269
+ });
270
+
271
+ function postNlShippingAdjustment(){
272
+ if(jQuery('#shipping\\:postcode_input\\:info').is(":visible")){
273
+ jQuery('#shipping\\:postcode_input\\:info').hide();
274
+ jQuery('#shipping\\:postcode_input\\:checkbox input').hide();
275
+ jQuery('#shipping\\:postcode_input\\:checkbox label').addClass('control-label col-sm-3').text(' ');
276
+ jQuery('#shipping\\:postcode_input\\:checkbox label').after('<div class="col-sm-9"><label for="shipping:postcode_input_checkbox">Handmatig invullen</label></div>');
277
+ jQuery('#shipping_address_list .input-postcode').addClass('field form-group input-box');
278
+ jQuery("#shipping_address_list .input-postcode label").addClass('control-label col-sm-3');
279
+ jQuery("#shipping_address_list .input-postcode .input-box").addClass('col-sm-9');
280
+ jQuery("#shipping\\:postcode_input\\:output .input-box").addClass("field");
281
+ jQuery("#shipping\\:postcode_input\\:output label").text("");
282
+ jQuery("#shipping\\:postcode_output").addClass('col-sm-9 col-sm-offset-3');
283
+ jQuery('#shipping\\:postcode_input\\:wrapper #shipping\\:postcode_input').after('<small class="appendix">Bijvoorbeeld \'9999AA\'</small>');
284
+ jQuery('#shipping\\:postcode_input\\:wrapper #shipping\\:postcode_housenumber').after('<small class="appendix">Bijvoorbeeld \'20-8\'</small>');
285
+ }
286
+ }
287
+ //]]>
288
+ </script>
app/design/frontend/base/default/template/japi/checkout/onepage/style.phtml CHANGED
@@ -8,7 +8,6 @@ $buttonBgColor = '#d3d3d3';
8
  $buttonFgColor = '#000000';
9
  try {
10
  $data = Mage::helper('core')->jsonDecode($data);
11
- $barStyle = isset($data['titleBar']) ? $data['titleBar'] : array();
12
  $buttonStyle = isset($data['actionbutton']) ? $data['actionbutton'] : array();
13
  $buttonBgColor = isset($buttonStyle['bgColor']) ? $buttonStyle['bgColor'] : $buttonBgColor;
14
  $buttonFgColor = isset($buttonStyle['fgColor']) ? $buttonStyle['fgColor'] : $buttonFgColor;
@@ -19,7 +18,7 @@ $customCss = Mage::getStoreConfig('japi/jmango_rest_checkout_settings/custom_css
19
  $TIGPostNLVersion = Mage::helper('japi')->getExtensionVersion('TIG_PostNL');
20
  ?>
21
  <link type="text/css" rel="stylesheet" media="all"
22
- href="<?php echo $this->getSkinUrl('japi/css/style.css?v=3.5.4') ?>"/>
23
 
24
  <?php if (Mage::helper('japi')->isModuleEnabled('GoMage_Checkout')): ?>
25
  <link type="text/css" rel="stylesheet" media="all"
@@ -31,6 +30,11 @@ $TIGPostNLVersion = Mage::helper('japi')->getExtensionVersion('TIG_PostNL');
31
  href="<?php echo $this->getSkinUrl('japi/css/send-cloud.css') ?>"/>
32
  <?php endif;//END if (Mage::helper('japi')->isModuleEnabled('SendCloud_Integration')) ?>
33
 
 
 
 
 
 
34
  <style type="text/css">
35
  .ladda-button[data-color=jmango] {
36
  background: <?php echo $buttonBgColor ?>;
@@ -120,6 +124,22 @@ $TIGPostNLVersion = Mage::helper('japi')->getExtensionVersion('TIG_PostNL');
120
  }
121
 
122
  <?php endif; ?>
 
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  <?php echo $customCss ?>
125
- </style>
8
  $buttonFgColor = '#000000';
9
  try {
10
  $data = Mage::helper('core')->jsonDecode($data);
 
11
  $buttonStyle = isset($data['actionbutton']) ? $data['actionbutton'] : array();
12
  $buttonBgColor = isset($buttonStyle['bgColor']) ? $buttonStyle['bgColor'] : $buttonBgColor;
13
  $buttonFgColor = isset($buttonStyle['fgColor']) ? $buttonStyle['fgColor'] : $buttonFgColor;
18
  $TIGPostNLVersion = Mage::helper('japi')->getExtensionVersion('TIG_PostNL');
19
  ?>
20
  <link type="text/css" rel="stylesheet" media="all"
21
+ href="<?php echo $this->getSkinUrl('japi/css/style.css?v=3.5.6') ?>"/>
22
 
23
  <?php if (Mage::helper('japi')->isModuleEnabled('GoMage_Checkout')): ?>
24
  <link type="text/css" rel="stylesheet" media="all"
30
  href="<?php echo $this->getSkinUrl('japi/css/send-cloud.css') ?>"/>
31
  <?php endif;//END if (Mage::helper('japi')->isModuleEnabled('SendCloud_Integration')) ?>
32
 
33
+ <?php if (Mage::helper('core')->isModuleEnabled('Trollweb_KCO')): ?>
34
+ <link type="text/css" rel="stylesheet" media="all"
35
+ href="<?php echo $this->getSkinUrl('japi/css/trollweb_kco.css?v=2') ?>"/>
36
+ <?php endif ?>
37
+
38
  <style type="text/css">
39
  .ladda-button[data-color=jmango] {
40
  background: <?php echo $buttonBgColor ?>;
124
  }
125
 
126
  <?php endif; ?>
127
+ </style>
128
 
129
+ <?php if (Mage::helper('core')->isModuleEnabled('Flagbit_Checkout')): ?>
130
+ <link type="text/css" rel="stylesheet" media="all"
131
+ href="<?php echo $this->getSkinUrl('japi/css/flagbit_checkout.css?v=9') ?>"/>
132
+ <style type="text/css">
133
+ .buttons-set button {
134
+ background: <?php echo $buttonBgColor ?>;
135
+ }
136
+
137
+ .buttons-set button span {
138
+ color: <?php echo $buttonFgColor ?>;
139
+ }
140
+ </style>
141
+ <?php endif ?>
142
+
143
+ <style type="text/css">
144
  <?php echo $customCss ?>
145
+ </style>
app/design/frontend/base/default/template/japi/flagbit_checkout/onepage.phtml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('varien/accordion.js') ?>"></script>
2
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('flagbit/libs/accordion.js') ?>"></script>
3
+ <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/opcheckout.js') ?>"></script>
4
+ <script type="text/javascript">countryRegions = <?php echo $this->helper('directory')->getRegionJson() ?></script>
5
+ <ol class="opc" id="checkoutSteps">
6
+ <?php $i=0; foreach($this->getSteps() as $_stepId => $_stepInfo): ?>
7
+ <?php if (!$this->getChild($_stepId) || !$this->getChild($_stepId)->isShow()): continue; endif; $i++ ?>
8
+ <li id="opc-<?php echo $_stepId ?>" class="opc-<?php echo $_stepId ?> section<?php echo !empty($_stepInfo['allow'])?' allow':'' ?><?php echo !empty($_stepInfo['complete'])?' saved':'' ?>">
9
+ <div class="step-title">
10
+ <span class="number"><?php echo $i ?></span>
11
+ <h2><?php echo $_stepInfo['label'] ?></h2>
12
+ </div>
13
+ <div id="checkout-step-<?php echo $_stepId ?>" class="step a-item" style="display:none;">
14
+ <?php echo $this->getChildHtml($_stepId) ?>
15
+ </div>
16
+ </li>
17
+ <?php endforeach ?>
18
+ </ol>
19
+ <script type="text/javascript">
20
+ //<![CDATA[
21
+ var accordion = new Accordion('checkoutSteps', '.step-title', true);
22
+ var checkout = new Checkout(accordion,{
23
+ review: '<?php echo $this->getUrl('checkout/onepage/review') ?>',
24
+ saveMethod: '<?php echo $this->getUrl('checkout/onepage/saveMethod') ?>',
25
+ failure: '<?php echo $this->getUrl('checkout/cart') ?>'}
26
+ );
27
+ <?php if($this->getActiveStep()): ?>
28
+ checkout.accordion.openSection('opc-<?php echo $this->getActiveStep() ?>');
29
+ <?php endif ?>
30
+ checkout.assignDisallowEvent('tab-content-item-address');
31
+ //]]>
32
+ </script>
33
+ <script type="text/javascript">
34
+ Checkout.prototype.gotoSection = function(section,reloadProgressBlock) {
35
+ if (reloadProgressBlock) {
36
+ this.reloadProgressBlock(this.currentStep);
37
+ }
38
+ this.currentStep = section;
39
+ var sectionElement = $('opc-' + section);
40
+ sectionElement.addClassName('allow');
41
+ this.accordion.openSection('opc-' + section);
42
+ if(!reloadProgressBlock) {
43
+ this.updateProgressBlock();
44
+ }
45
+ };
46
+ </script>
47
+
48
+
app/design/frontend/base/default/template/japi/flagbit_checkout/onepage_compact.phtml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('varien/accordion.js') ?>"></script>
2
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('flagbit/libs/accordion.js') ?>"></script>
3
+ <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/opcheckout_compact.js') ?>"></script>
4
+ <script type="text/javascript">countryRegions = <?php echo $this->helper('directory')->getRegionJson() ?></script>
5
+ <ol class="opc" id="checkoutSteps">
6
+ <?php $i=0; foreach($this->getSteps() as $_stepId => $_stepInfo): ?>
7
+ <?php if (!$this->getChild($_stepId) || !$this->getChild($_stepId)->isShow()): continue; endif; $i++ ?>
8
+ <li id="opc-<?php echo $_stepId ?>" class="opc-<?php echo $_stepId ?> section<?php echo !empty($_stepInfo['allow'])?' allow':'' ?><?php echo !empty($_stepInfo['complete'])?' saved':'' ?><?php if (Mage::helper('flagbit_checkout')->isCompactMode()): ?> compact<?php endif; ?>">
9
+ <div class="step-title">
10
+ <span class="number"><?php echo $i ?></span>
11
+ <h2><?php echo $_stepInfo['label'] ?></h2>
12
+ </div>
13
+ <div id="checkout-step-<?php echo $_stepId ?>" class="step a-item" style="display:none;">
14
+ <?php echo $this->getChildHtml($_stepId) ?>
15
+ </div>
16
+ </li>
17
+ <?php endforeach ?>
18
+ </ol>
19
+ <script type="text/javascript">
20
+ //<![CDATA[
21
+ var accordion = new Accordion('checkoutSteps', '.step-title', true);
22
+ var checkout = new Checkout(accordion,{
23
+ review: '<?php echo $this->getUrl('checkout/onepage/review') ?>',
24
+ saveMethod: '<?php echo $this->getUrl('checkout/onepage/saveMethod') ?>',
25
+ failure: '<?php echo $this->getUrl('checkout/cart') ?>'}
26
+ );
27
+ <?php if($this->getActiveStep()): ?>
28
+ checkout.accordion.openSection('opc-<?php echo $this->getActiveStep() ?>');
29
+ <?php endif ?>
30
+ checkout.assignDisallowEvent('tab-content-item-address');
31
+ //]]>
32
+ </script>
33
+ <script type="text/javascript">
34
+ Checkout.prototype.gotoSection = function(section,reloadProgressBlock) {
35
+ if (reloadProgressBlock) {
36
+ this.reloadProgressBlock(this.currentStep);
37
+ }
38
+ this.currentStep = section;
39
+ var sectionElement = $('opc-' + section);
40
+ sectionElement.addClassName('allow');
41
+ this.accordion.openSection('opc-' + section);
42
+ if(!reloadProgressBlock) {
43
+ this.updateProgressBlock();
44
+ }
45
+ };
46
+ </script>
47
+
48
+
app/design/frontend/base/default/template/japi/page/rwd.phtml CHANGED
@@ -10,11 +10,15 @@
10
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/>
11
  <?php echo $this->getChildHtml('head') ?>
12
  </head>
13
- <body>
14
  <?php echo $this->getChildHtml('after_body_start') ?>
15
  <?php //echo $this->getChildHtml('header') ?>
16
  <?php echo $this->getChildHtml('global_messages') ?>
17
- <?php echo $this->getChildHtml('content') ?>
 
 
 
 
18
  <?php //echo $this->getChildHtml('footer') ?>
19
  <?php echo $this->getChildHtml('before_body_end') ?>
20
  </body>
10
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/>
11
  <?php echo $this->getChildHtml('head') ?>
12
  </head>
13
+ <body class="<?php echo $this->getBodyClass() ?>">
14
  <?php echo $this->getChildHtml('after_body_start') ?>
15
  <?php //echo $this->getChildHtml('header') ?>
16
  <?php echo $this->getChildHtml('global_messages') ?>
17
+ <div class="main-container">
18
+ <div class="col-main">
19
+ <?php echo $this->getChildHtml('content') ?>
20
+ </div>
21
+ </div>
22
  <?php //echo $this->getChildHtml('footer') ?>
23
  <?php echo $this->getChildHtml('before_body_end') ?>
24
  </body>
app/locale/de_DE/Jmango360_Japi.csv CHANGED
@@ -250,3 +250,4 @@
250
  "Re-run SQL upgrade","Neu-start SQL Upgrade"
251
  "Re-run successfully.","Neu-start erfolgreich."
252
  "Back to app","Terug naar de app"
 
250
  "Re-run SQL upgrade","Neu-start SQL Upgrade"
251
  "Re-run successfully.","Neu-start erfolgreich."
252
  "Back to app","Terug naar de app"
253
+ "Waiting for payment complete...", "Auf Vervollständigung der Zahlung warten..."
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Jmango360_Japi</name>
4
- <version>3.5.5</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0">Apache License</license>
7
  <channel>community</channel>
@@ -30,9 +30,9 @@ Other generic mobile apps that you can add and configure:&#xD;
30
  For more details on JMango360 please visit our website http://www.jmango360.com or out knowledge site http://support.jmango360.com</description>
31
  <notes>* Bug fixes</notes>
32
  <authors><author><name>Duc Ngo</name><user>jmango360</user><email>duc@jmango360.com</email></author></authors>
33
- <date>2017-08-07</date>
34
- <time>03:16:09</time>
35
- <contents><target name="magecommunity"><dir name="Jmango360"><dir name="Japi"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Hide.php" hash="2e9fb95869151bb2a2c7cf7fca6f998f"/></dir></dir></dir></dir></dir><dir name="Order"><file name="Grid.php" hash="22273d3d0acaf1b0a093e524f87c6aff"/></dir><file name="Order.php" hash="04e94160608b989286aebeb190299565"/><dir name="Report"><dir name="Chart"><file name="Customers.php" hash="9a4c7c4af19c584aeb2dd5bc0f6d4735"/><file name="Orders.php" hash="ae5f516c56c5c8c72c14a7b0aa275ac6"/><file name="Sales.php" hash="7d5db491deeaa90571e965bbc2c07e23"/></dir><dir name="Customers"><file name="Chart.php" hash="69f2a7121d61f24d9b75de7281def8e5"/><file name="Grid.php" hash="f1adb7504646338330b7e7ef64a4fc5c"/></dir><file name="Customers.php" hash="6ffd72b1280b6cce39665fd35b5c4a78"/><dir name="Filter"><dir name="Form"><file name="Orders.php" hash="92574de82aa73cdd9de0cc59e20dadc4"/></dir><file name="Form.php" hash="7bf3f161f66abf97fc7db57e0acd59cf"/></dir><dir name="Orders"><file name="Chart.php" hash="75bd0bbe8649f423918dec555d3e9592"/><file name="Grid.php" hash="35590c1a54c8490c3982f0df038b8328"/></dir><file name="Orders.php" hash="6416ac5f6889d5a06f2a32f5ff00cbe2"/><dir name="Sales"><file name="Chart.php" hash="416f4ff4cdaa7f8f099dad3ffccacd68"/><file name="Grid.php" hash="baa9caa57906627ed3f31ec4fd87a500"/></dir><file name="Sales.php" hash="c1d1df3e7b90451e42142bb414a28d6b"/></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Button"><file name="Paypal.php" hash="26ddf9a5b820c3fb23c1c4e0a46d6db4"/></dir><file name="Button.php" hash="2b02a6c90256c9bcc6d99d2d9301413e"/><file name="Log.php" hash="9a228a569090c0fc9a905c5fb29a7c4d"/><file name="User.php" hash="cb7dfc72c7acde78efbabc49617cba3c"/><file name="Version.php" hash="b9802c302ef7ecacf106993e8506d314"/></dir></dir></dir><dir name="Widget"><dir name="Form"><dir name="Renderer"><dir name="Element"><file name="Chart.php" hash="f6f4c2ff80cb71f3e0758809b8ad480d"/></dir></dir></dir></dir></dir><file name="Banner.php" hash="0cafa22b3012e1a3b39f0e72a03534fa"/><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="43581de27feb1a0187bb0aee68bab0e9"/><file name="Category.php" hash="5d01fc7d90af7eccd412ef61056b825b"/><file name="Decimal.php" hash="d40a09709bda7b1011e4d2c970308638"/><file name="Price.php" hash="02dfe6d9429f0190ecf9a41f73653330"/></dir><file name="View.php" hash="e217dfaf2a2ee6c2fa59ba9db0244eb9"/></dir><dir name="Product"><file name="List.php" hash="e1336372e4aa63e0e35c7e9ea1bd3852"/></dir></dir><dir name="Catalogsearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="4ba3d242a3343b1786cf081047650bb9"/></dir></dir><file name="Layer.php" hash="4d48db1a2b35151c363ed045646199a9"/></dir><dir name="Checkout"><dir name="Cart"><file name="Totals.php" hash="ed2ac76f7ebb2830c763deb80e1ea59e"/></dir><dir name="Onepage"><file name="Additional.php" hash="22a3c60e8fd44f5dfaec4b51d6fc1a62"/><file name="Addjs.php" hash="077d09b15ec8823c76854a575359cb1a"/><file name="Address.php" hash="bf596c77e982d4350fc532a3deb79e47"/><file name="Billing.php" hash="78b745f2b7b4c9fdbcd0185bbf341a17"/><file name="Button.php" hash="039d56b9b7982d5e32433d71f4b53959"/><file name="Shipping.php" hash="4fa143e48eb395304d02dfb03d8d6e95"/></dir><file name="Onepage.php" hash="f6c3ef9390a3ac38560a34fbecf00eba"/><dir name="Total"><file name="Grandtotal.php" hash="0714677162e5c6e0ca9e1076083ee26e"/><file name="Shipping.php" hash="1bb99456f936de791df3b1e9cb4103d5"/><file name="Subtotal.php" hash="aa7cdd3b66df0ea397ad909848234a0e"/><file name="Tax.php" hash="91c12499a56a034d4733f8040feb7156"/></dir></dir><dir name="Customer"><dir name="Widget"><file name="Name.php" hash="aca4eea6675b64e1bc6d165307e1b958"/></dir></dir><file name="Form.php" hash="e16eaa258cf650bd2106372fcf43ae9b"/><dir name="GiftMessage"><dir name="Message"><file name="Inline.php" hash="8f20e9383634f46b624f15d77b616380"/></dir></dir><file name="Js.php" hash="8e8091283a5a3142fec7486077a9586e"/><dir name="Payment"><file name="Form.php" hash="f014c3faaad4e31a14052a76137f5dac"/><file name="Info.php" hash="2171f7379f4017b7a541926a9224cd54"/></dir><dir name="Socolissimosimplicite"><file name="Iframe.php" hash="91e096613f73e1edc7fcce4c6a17ce39"/></dir></dir><dir name="Controller"><file name="Abstract.php" hash="ccb6cc7460e7bbf30293983bbe61a07d"/></dir><file name="Exception.php" hash="bd30a2efecdf9a8197f066d9574cd1ab"/><dir name="Helper"><dir name="Adminhtml"><dir name="Report"><file name="Order.php" hash="9f7a02c48f3f8e0545488375b03d7333"/></dir></dir><file name="Data.php" hash="bf5c647cc712595627b1b7c4b11c130b"/><file name="Debug.php" hash="1002a59a5dee41f34da875979e907cbf"/><dir name="GiftMessage"><file name="Message.php" hash="5d1df4710b0aa3154ce0fa744b0244f3"/></dir><file name="Js.php" hash="55565b7d668b993fae6c180b30766d17"/><dir name="Product"><file name="Bundle.php" hash="c89baf5638e81d030f5a72b011af7cfd"/><file name="Configurable.php" hash="ac9d2847adc70af0470f9d1106845cf7"/><file name="Downloadable.php" hash="db531632adda525a91625da8d13296d6"/><file name="File.php" hash="0968c5688015b9c7a002457428607f80"/><file name="Grouped.php" hash="8e9cfa89b62e210744b799a1134ec064"/><file name="Media.php" hash="291003011bdca7299280ef0136089edf"/><file name="Options.php" hash="1bc8973b5a9227b0b7de93f2307c7fb9"/><file name="Review.php" hash="e415a0215a8dfbdac5ed76e6c065c705"/><file name="TierPrice.php" hash="4a7e94d83eed9e7ba47ee196b4ae15d9"/></dir><file name="Product.php" hash="0ae18c49647a6eb1cfc9dc5d07e2d7d4"/><dir name="Review"><file name="Bazaarvoice.php" hash="c2e918b6a5f6fc8671ab016c30fbc1ca"/></dir><file name="Tax.php" hash="05c99785012d55fce12c4f094385e25c"/></dir><dir name="Model"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="f058e0ced4579a556cbb969a98c7fc66"/><file name="Decimal.php" hash="849e1dbc11c99fb8f7a1f9d33e0d7908"/><file name="Price.php" hash="2bdc6f1ff06ad5aa736972c72558fd25"/></dir></dir></dir><dir name="Catalogsearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="81b287f96c40094c2a3743ddc6f6c6cb"/></dir></dir></dir><dir name="Core"><file name="Session.php" hash="7c5531af03c6a98e14dda3d358270938"/></dir><file name="Dispatcher.php" hash="81004902926427ba06a1a90d6e799554"/><dir name="Magpleasure"><dir name="Tierprices"><file name="Price.php" hash="1bfd6ed086649f518b3e98436513a491"/></dir></dir><dir name="Observer"><dir name="Controller"><file name="Front.php" hash="1098d9b5f6a214e53fb8657fe1fd250d"/></dir></dir><file name="Observer.php" hash="af8170d215a232c9aab87f69c386b3bf"/><dir name="Payment"><dir name="Adyen"><file name="Pin.php" hash="6b68a57e6de2ce6db5f93b2fe0d0125b"/></dir><file name="Braintree.php" hash="212d788906a3d94e2e10135d4de6bb58"/><file name="Paypal.php" hash="3a349b8e55f5abae4a960962e2191cd0"/></dir><file name="Payment.php" hash="0e2f9ff405b47e63bb8a3d27e82fb6ea"/><dir name="Renderer"><file name="Json.php" hash="b7c471548eecae7c9d05072aa6695cbb"/></dir><file name="Renderer.php" hash="47c320f795f1328a8df37d4b9af56abc"/><file name="Request.php" hash="ece58a0074c2ba238c102983e05d15a8"/><dir name="Resource"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="5bd13fbb5e8012ad24dc7908bc5ea755"/><file name="Decimal.php" hash="551120b728226ed408292fac732a05d7"/><file name="Price.php" hash="321f70b515b4d3deb9c7cc58eb803bf2"/></dir></dir></dir><dir name="Report"><dir name="Order"><file name="Collection.php" hash="1c5e69f548f2b4a0da8f789d7d03b643"/></dir></dir><dir name="Sales"><dir name="Report"><dir name="Order"><dir name="Collection"><file name="Aggregated.php" hash="61848c0b80699acbf478f279231c161d"/><file name="Live.php" hash="ea323ca0eec324ece97f08ece6639fb9"/></dir></dir><file name="Order.php" hash="53641b24d23bd811c278f65b56d5765f"/></dir></dir><file name="Setup.php" hash="3a97ea2e652869965f5b47b9e3099896"/></dir><file name="Response.php" hash="7209bb2e9c5b97b2a46d10ff97aa6740"/><dir name="Rest"><dir name="Cart"><file name="Coupon.php" hash="a5be6cfe674b46b6ba290b0388edf8ad"/><file name="Update.php" hash="087b022bbfcc4633fcccdd2c9457b55a"/></dir><file name="Cart.php" hash="53dbdc6c448c8bb161a861e88e22c098"/><dir name="Catalog"><dir name="Category"><file name="Assignedproducts.php" hash="674135f3d0b85eb6d1b73d2f50917250"/><file name="Tree.php" hash="5dce196312e33d3f7ac4a2235312e587"/></dir><dir name="Search"><file name="Products.php" hash="8b8f43f4f563dc27002884a57d42c858"/><file name="Terms.php" hash="71cadbe1fa7b19c96f2201f087c832ff"/></dir></dir><file name="Catalog.php" hash="a71eed5f39431b40a80b06f566baa653"/><dir name="Checkout"><file name="Methods.php" hash="e8ea7716b28587ecfb73bff7bb37b059"/><file name="Onepage.php" hash="746c2ca251a1785d55d7a5dd2a38a927"/><file name="Redirect.php" hash="19932aa45299e5ea3995f52cb9987183"/><file name="Submit.php" hash="f76e5952a9864e8d747c6123757e13bc"/></dir><file name="Checkout.php" hash="7241b560aedbc7eb728af8ea937af335"/><dir name="Cms"><file name="Page.php" hash="a4fc6cf59e6aa37c2857e104d766560c"/></dir><file name="Cms.php" hash="a12fd4b2a437c8a6c0b2b65a1e471c23"/><dir name="Customer"><file name="Address.php" hash="cef92ca089a5cd7cd1218339104c4894"/><file name="Edit.php" hash="226f77d8cee872c4c622c062cfe1eff0"/><file name="Group.php" hash="c717d5faf52919787aa0f87270856ca3"/><file name="List.php" hash="17f0096755be01327c163a701b9f3780"/><file name="Login.php" hash="77df1e0afcf40e6129fb61397217f053"/><dir name="Order"><file name="List.php" hash="1e6ea53a87108ca487d9a58ac42f382f"/></dir><file name="Order.php" hash="da1565601bac963b72f64b0e6a147704"/><file name="Password.php" hash="6df128903742a8723f0a59c4203f8b12"/><file name="Register.php" hash="e25d0045e0d8ff650ca208b9fe75e3ae"/></dir><file name="Customer.php" hash="ecf57dcf8bbba1ebb12ed10630bd1715"/><file name="Mage.php" hash="731d7a85645d95af3a8fb281d0efaf42"/><dir name="Product"><file name="Crosssell.php" hash="1fbc8c3886de3703a77e911ac459422c"/><file name="List.php" hash="8d84ec9326a6747de6d2ca0a5aceee6c"/><file name="Price.php" hash="d47c9903d5719b0cee73836419e27bb1"/><file name="Purchased.php" hash="feb7fd9176da74e59722984732d04a9a"/><file name="Related.php" hash="8a6b52fc39f099f4339a91ad5709537a"/><file name="Review.php" hash="549ffdfaea3d95ac1f18e9d4ef18d6eb"/><file name="Search.php" hash="f760256b6158dacf44754cc026286c97"/><file name="Upsell.php" hash="319fe08a0a4c52c41ec4418b312e1842"/><file name="Url.php" hash="4b920cc4913b77b1e463afad27ad5b78"/><file name="Viewed.php" hash="c2a9c99a56b57d8288eec75657f9bd47"/></dir><file name="Product.php" hash="742def7273607bc2f6a79826d0886bf9"/><file name="Wishlist.php" hash="ee26b4efcbf3b2c39aec2c1e3402c35b"/></dir><file name="Server.php" hash="c242c56df9293c5e5dd8bee62012e82f"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Icon.php" hash="242de9b094f94e397dc606dc926cc33f"/><file name="Payment.php" hash="5964322419785004a6c3f84a940d8d13"/><file name="Shipping.php" hash="016f22646fbac10cd81c6b7904c9abde"/></dir><dir name="Source"><dir name="Address"><file name="Attributes.php" hash="1a29b64d271693fba3ea76599d3408e2"/><file name="Validatetype.php" hash="6f4d9767ac0e476ec6a6cd3964882721"/></dir><file name="Attributes.php" hash="4b4de29e00623c971038d6fe895e5e76"/><dir name="Bazaarvoice"><file name="Env.php" hash="bc619503d1b175e74f7eaf2ba15ae8b4"/></dir><dir name="Catalog"><file name="Direction.php" hash="68cd86444037506ec39de8eba3c07d8b"/><file name="Sortby.php" hash="d2aba9a3798b8e2eee8c275fbbd202e1"/></dir><file name="Catalogimage.php" hash="500f9994ea13e463a5e5e5d3963cfbd1"/><dir name="Customer"><file name="Attributes.php" hash="8963356aabf88647ab5ecbbbe8cfb9f1"/></dir><file name="Defaultimage.php" hash="04c896116c01b16e2ac8d7f23bbc29d6"/><file name="Payment.php" hash="70e82f4887eb297d6a58160f64bfd204"/><file name="Shipping.php" hash="7d8e5a2dc8a57099d908bef2403aad46"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Japi"><file name="LogController.php" hash="b17e024285aea7b6834cf5bc9b868916"/><file name="OrderController.php" hash="e6b7c1f5a7156a06fa3f51c32e6bbba9"/><file name="PaymentController.php" hash="a6f7cce53b85e2011bfb457cef98683a"/><file name="ReportController.php" hash="e88b2425e0a39f7f2b0c2902a6d2d5e9"/><file name="TroubleshootingController.php" hash="bb8951d1523a56a0f55e827614a38d66"/></dir></dir><file name="AdyenController.php" hash="22cedc9f37c2a5e4c80e5e31447d99b3"/><file name="CheckoutController.php" hash="9cd07ee9a799f881e8d4a1acd7c2a4a1"/><dir name="Customer"><file name="AccountController.php" hash="2e055c5b22a2414263a1b7d3fd0607f9"/></dir><file name="CustomerController.php" hash="e3204496e61f58a572ef8f9b3cefe38f"/><file name="ImageController.php" hash="a5b48d4e075faf989c908bd0954d3878"/><file name="KcoController.php" hash="38e15112f3438edd6723478cf18c6cab"/><file name="KlarnaController.php" hash="90474b512fdc813039a86ae8f24a0b39"/><dir name="Rest"><file name="CartController.php" hash="3994aafe8e31094b765fc0120c888fa3"/><file name="CatalogController.php" hash="8df5b798bb0330f5e3182717e1e15bf7"/><file name="CheckoutController.php" hash="65b3a3592cdfc0a51c254451505dedea"/><file name="CmsController.php" hash="cb1bc3f67136434c4d8af1b5660eab1e"/><file name="CustomerController.php" hash="ca2b76f8f4e8a84d81749b37910287bd"/><file name="MageController.php" hash="e267156b2acf82d309b6c8c4680a7371"/><file name="ProductController.php" hash="81c0a0b0afcdfe99d6c651244baa075c"/><file name="WishlistController.php" hash="d7b0c8ff628b4244d120843d54a41248"/></dir><file name="TestController.php" hash="ffb60653808c0e0af00cc73d4755ef99"/></dir><dir name="data"><dir name="japi_setup"><file name="data-install-2.0.0.php" hash="bcf6de66f6b296182268b11b3e80bbeb"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="9d1888abb4ed93ec7b3e1fa678fb1411"/><file name="config.xml" hash="1e39e78d2e5353a4f53b01755671eda2"/><file name="system.xml" hash="46a786207b54a0c8178992e065a8ff3e"/></dir><dir name="sql"><dir name="japi_setup"><file name="install-1.0.0.php" hash="ce407ff5715c837d02b1aba7975bf512"/><file name="upgrade-2.0.1.2-2.0.2.php" hash="6fc0e0306b685279fc60f298643d181a"/><file name="upgrade-2.1.6-2.2.0.php" hash="947afcf7e20dfc2c3a3e45d8e5c316cd"/><file name="upgrade-2.2.0-2.2.1.php" hash="12a28845acf823eefc5f613b048efe52"/><file name="upgrade-2.8.2-2.9.0.php" hash="2761423f65920af0f8ba05d438710869"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Jmango360_Japi.xml" hash="b60701b3a14084fa1a440ca5fe5bf47b"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="jmango360_japi.xml" hash="d6e1656e4a8e79dd9e37e0b09a5f57a6"/></dir><dir name="template"><dir name="japi"><dir name="report"><file name="chart.phtml" hash="102704d97cf69793a50fa96538bd767f"/><dir name="grid"><file name="container.phtml" hash="79050f4e2bc7b70ae452e850fc27e0b7"/></dir></dir><dir name="system"><dir name="config"><dir name="form"><dir name="button"><file name="paypal.phtml" hash="247d0fd0a221f61bfa5b97dae8d95640"/></dir></dir></dir></dir><dir name="widget"><dir name="form"><dir name="renderer"><dir name="element"><file name="chart.phtml" hash="fb14be221a9ec0faad4ace8579c5dddc"/></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="jmango360_japi.xml" hash="14520315a18bad0f9c1ce619c0a1082b"/></dir><dir name="template"><dir name="japi"><dir name="TIG"><dir name="PostNL"><dir name="av"><dir name="checkout"><dir name="onepage"><file name="billing.phtml" hash="6756588fef4d689418cbb4ea8d4ad92e"/><file name="shipping.phtml" hash="95a2f56b36a8111eba9c582b2b3d1d57"/></dir></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="9a623e8c2184d08c2b288456ba50aef4"/><file name="postcode_check.phtml" hash="cbb8bfd76db65041cafacf976312ceb7"/></dir></dir></dir><dir name="do"><dir name="onepage"><file name="available.phtml" hash="8fce41a1696540a4546b52c025f3dde7"/></dir></dir></dir></dir><dir name="checkout"><dir name="onepage"><file name="additional_agreements.phtml" hash="2169df7f5c0d8b03e046cd000c9bea5f"/><file name="address.phtml" hash="3164ff4fc2d5f798e591a168d9d937d1"/><file name="agreements.phtml" hash="ae43c3b670b0d11a1217ca927a184ff7"/><file name="billing.phtml" hash="105051160f867d8e016593edcb6888b8"/><file name="coupon.phtml" hash="85175029f770fe8ba6a3800197372904"/><file name="js.phtml" hash="ac1740fe3e829d228a57b1e1a9dda58b"/><dir name="payment"><file name="info.phtml" hash="26bb640843ee3fb6e72b4f2739f0a111"/><file name="methods.phtml" hash="1680b5e33d8123fdb58ecbd353ff1ba7"/></dir><file name="payment.phtml" hash="966bfc2c8ca160086fa10bf63022172b"/><dir name="review"><file name="button.phtml" hash="e2089ae34e409df2fa13977a55db5f04"/><file name="info.phtml" hash="306936f465adcc1c09ad37b58609085d"/><file name="item.phtml" hash="244bba60d9151be71777e80e138b6ee7"/><dir name="totals"><file name="grand_total.phtml" hash="4ee3bdd1190a459e243249e288e6caff"/><file name="shipping.phtml" hash="75900b7d4cfb370e803d1489148450ad"/><file name="subtotal.phtml" hash="f91e3bc1a39761fa7cea8fc296091430"/><file name="tax.phtml" hash="37173b32341b2692a7890111f02f2938"/></dir><file name="totals.phtml" hash="0decbe242701193fee270e1f0f520a93"/></dir><file name="review.phtml" hash="d2494b8faac5833e747a5d329ee4fab7"/><file name="shipping.phtml" hash="f955c8b11f494041f1a88939219c1590"/><dir name="shipping_method"><file name="additional.phtml" hash="78c6dab72fefb888f587221639bf9177"/><file name="available.phtml" hash="4feca53deabec45bc3b223e64e32c4f0"/></dir><file name="shipping_method.phtml" hash="7f948fdc0601e48be0834178b56dbfb3"/><file name="style.phtml" hash="b6901a6157b5735aed361e3c0b6b8d88"/></dir><file name="onepage.phtml" hash="d91debcaeaa823b1e5cd2f642b968455"/></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="900db1b8385f75e448f7ca42c8d113da"/></dir><dir name="form"><file name="additional.phtml" hash="0d413b832a447a524de18c74cbd17844"/><file name="edit.phtml" hash="484b2b56cbf34dba73c78dc97552c024"/><file name="register.phtml" hash="b7081047e13e2c065d88ed0adc9fa633"/></dir></dir><dir name="fatturazione"><dir name="customer"><dir name="address"><file name="edit.phtml" hash="e7f27a8a61d9554bfbc4f36dfff60e4d"/></dir></dir></dir><file name="form.phtml" hash="eec0416c8830c4ebe004256d86c7ea59"/><dir name="giftmessage"><file name="inline.phtml" hash="78814da47aed68315b7d1d6b2e64c4c7"/></dir><file name="js.phtml" hash="9af5ac67d9b1a4fc689084e135215f99"/><dir name="kega_checkout"><dir name="onepage"><file name="payment.phtml" hash="a8d62337a136e32bed218f2de0523ac8"/></dir></dir><dir name="nwt"><dir name="kco"><dir name="cart"><dir name="item"><file name="default.phtml" hash="212018e8f0c4472a07fc81633d27c550"/></dir></dir><file name="checkout.phtml" hash="c7781347405e7e59322d9fc3b2f42b3c"/></dir></dir><dir name="page"><dir name="html"><file name="head.phtml" hash="b6a8cc30cd31bf642c2f885ed1fda855"/><file name="smart-app-banner.phtml" hash="8423731f246db33efb61026dd9ef5ddc"/></dir><file name="rwd.phtml" hash="be4381f91e46165ddb760ce8fca4da30"/></dir><dir name="symfony"><dir name="postcode"><dir name="checkout"><dir name="onepage"><file name="billing.phtml" hash="dea3cefc72e6317c5ea6e0db553d8758"/><file name="shipping.phtml" hash="56d1f7414cc62887b3d9d8de7e192440"/></dir></dir></dir></dir><dir name="vaimo"><dir name="klarna"><dir name="klarnacheckout"><dir name="cart"><dir name="item"><file name="default.phtml" hash="f9f469de9cd1243cab176fc56071db64"/></dir></dir><file name="cart.phtml" hash="b40f17348beb248c4f1ff22374a1a05d"/><dir name="customer"><file name="balance.phtml" hash="198809cb8ebf8a468b89497c9abba07c"/></dir><dir name="discount"><file name="coupon.phtml" hash="1f3686b00a610d3f038c84e3621ef913"/></dir><file name="header.phtml" hash="fed93df0c84265a0f980b0de103945b8"/><file name="main.phtml" hash="94ad4f3aa30ae7db1131a1fe48ea2a99"/><file name="newsletter.phtml" hash="3a2251b9559e8b87b46ddf08b7cd27e2"/><file name="reward.phtml" hash="38c218d3777f11b03c3686067a706d00"/><file name="shipping_method.phtml" hash="44bb3c6efaab76641e02a07c2007a090"/><file name="sidebar.phtml" hash="410508fd9089e0be030915836abb42e2"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="japi"><dir name="css"><dir name="TIG"><dir name="Buckaroo3Extended"><file name="styles_opc.css" hash="9b0ecbbeb22655e2e896ec8134fa8188"/></dir></dir><file name="gomage-checkout.css" hash="223657dbb0aba2783bb9e8de4b633d93"/><dir name="icomoon"><dir name="fonts"><file name="icomoon.eot" hash="842065e274d718c38968a81a721d49f4"/><file name="icomoon.svg" hash="2deea3fcd9ecc464a422aa37943b5848"/><file name="icomoon.ttf" hash="8ffbfccd78de7c37eadeca837ee40344"/><file name="icomoon.woff" hash="32df67c3aed8769c316b3e7ff1bb637c"/></dir><file name="style.css" hash="178c956df2a327dc88e4ef8069caa9bc"/></dir><file name="send-cloud.css" hash="77f77fa89359fe508708ec522a5e76d8"/><file name="style.css" hash="219a66142de531680970b18e4854d5d4"/><file name="style.less" hash="21609d6853c78cdbf46d97d21e64718e"/></dir><dir name="images"><file name="ajax-loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/><file name="bg-down.png" hash="04d7cd2963010b610f608aca03a45c63"/><file name="bg-up.png" hash="2882d38108532275fb1d425bbd021c9d"/><file name="glc_sprite.png" hash="5cd6f3ba1df3a6d26db5bbc193ce9c61"/></dir><dir name="js"><file name="checkout.js" hash="4b5fd941afad32667d86c9b22853f927"/><dir name="vaimo"><dir name="klarna"><file name="klarnautils.js" hash="e29553aa8446af7672c9ba1814fac3a5"/></dir></dir><dir name="varien"><file name="form.js" hash="9abc0bb4419828513b5c6e904a041616"/></dir></dir><dir name="lib"><dir name="bootstrap"><dir name="css"><file name="bootstrap.min.css" hash="5d5357cb3704e1f43a1f5bfed2aebf42"/></dir><dir name="fonts"><file name="glyphicons-halflings-regular.eot" hash="f4769f9bdb7466be65088239c12046d1"/><file name="glyphicons-halflings-regular.svg" hash="89889688147bd7575d6327160d64e760"/><file name="glyphicons-halflings-regular.ttf" hash="e18bbf611f2a2e43afc071aa2f4e1512"/><file name="glyphicons-halflings-regular.woff" hash="fa2772327f55d8198301fdb8bcfc8158"/><file name="glyphicons-halflings-regular.woff2" hash="448c34a56d699c29117adc64c43affeb"/></dir><dir name="js"><file name="collapse.js" hash="2bc99ca6c9b060ba5616f41ddd5e2703"/><file name="modal.js" hash="b7d8f688e67e78c07ffde44ec4248fd9"/><file name="transition.js" hash="3cb001675410903ecaadcfeb7c296965"/></dir></dir><dir name="jquery"><file name="jquery-1.11.2.min.js" hash="5790ead7ad3ba27397aedfa3d263b867"/><file name="jquery-noconflict.js" hash="32eb0a33820167f328a227e11210d32a"/></dir><dir name="ladda"><file name="ladda.min.css" hash="614e769024385cf21879d6a238b682e1"/><file name="ladda.min.js" hash="a34bcf417de7fc290ac5b034caca2371"/></dir><dir name="scrollto"><file name="scrollTo.js" hash="5c86793da8a4bfec6338bec965d35f6b"/></dir><dir name="smart-app-banner"><file name="smart-app-banner.css" hash="64c15053dbd22b44a519f55e75f6c2ca"/><file name="smart-app-banner.js" hash="4162cb20424080964b5d886125b73b47"/></dir><dir name="spin"><file name="spin.min.js" hash="1d06ceb800acbeae82d1fa2ad5b571de"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Jmango360_Japi.csv" hash="71742d72d5706532272914927ce9cec9"/></dir><dir name="fr_FR"><file name="Jmango360_Japi.csv" hash="49fa338f05916214904965ca3009eadf"/></dir><dir name="it_IT"><file name="Jmango360_Japi.csv" hash="2ff891468a5c5fe0bd3775cc155341cb"/></dir><dir name="pt_PT"><file name="Jmango360_Japi.csv" hash="3a70c94cf76ccf0649ab2c525f2acece"/></dir><dir name="pt_BR"><file name="Jmango360_Japi.csv" hash="3a70c94cf76ccf0649ab2c525f2acece"/></dir><dir name="ar_SA"><file name="Jmango360_Japi.csv" hash="289005e8852ede1e8a6101ca1a175cad"/></dir><dir name="nl_NL"><file name="Jmango360_Japi.csv" hash="e7bf7f06b20dfa3ed3f5fcc49b5591a0"/></dir><dir name="sv_SE"><file name="Jmango360_Japi.csv" hash="3414d54579206e71cabaaea3153bc266"/></dir><dir name="da_DK"><file name="Jmango360_Japi.csv" hash="bbc71fbb4b35a4bb9289972430fedfa9"/></dir><dir name="es_ES"><file name="Jmango360_Japi.csv" hash="0f763b984f64e095f863c2e66335c791"/></dir><dir name="de_DE"><file name="Jmango360_Japi.csv" hash="d9b0379bdb87bd4e70c12f131db76dd8"/></dir><dir name="el_GR"><file name="Jmango360_Japi.csv" hash="485815339ffff7bc4aac29803866e60d"/></dir><dir name="nb_NO"><file name="Jmango360_Japi.csv" hash="b3a88ce7326f6847ecf8e6c99eec6847"/></dir><dir name="fi_FI"><file name="Jmango360_Japi.csv" hash="26cb5c5ac8d3bf7186a5b852da27bc20"/></dir><dir name="nn_NO"><file name="Jmango360_Japi.csv" hash="b3a88ce7326f6847ecf8e6c99eec6847"/></dir></target><target name="magelib"><dir name="Jmango360"><dir name="Braintree"><file name="LICENSE" hash="7203c8834a3b633e63fba98aaedf7246"/><dir name="lib"><dir name="Braintree"><file name="AccountUpdaterDailyReport.php" hash="24081e5126e923c106d38de6d4bfa206"/><file name="AchMandate.php" hash="1c27b15b8508745e678f9637c495f126"/><file name="AddOn.php" hash="82925560fd6d09575150d03851132999"/><file name="AddOnGateway.php" hash="71f1cf435ad4a0f846cbdb61f54582b6"/><file name="Address.php" hash="80b3e24e93c142cc2fdb0401542c74f9"/><file name="AddressGateway.php" hash="5785772be266f1095ec9badc42872eda"/><file name="AmexExpressCheckoutCard.php" hash="e8638efd3aa53c9029c9a779c9a3c0d3"/><file name="AndroidPayCard.php" hash="b2dea285101ac3a6a811b35f854a8f70"/><file name="ApplePayCard.php" hash="ad86024899c22c02b2fe4661fb9795c3"/><file name="Base.php" hash="e32c757071d8f8effc5660cd1ce58c6b"/><file name="ClientToken.php" hash="81e2f643f912c8943560008d2fa7869d"/><file name="ClientTokenGateway.php" hash="bbac8367658b596480b50e1e7dd049b5"/><file name="CoinbaseAccount.php" hash="a0794c8d29dbab81ecf32dac6c4d66c1"/><file name="Collection.php" hash="ba52af974da21b424c7b9a6a881f4f26"/><file name="Configuration.php" hash="1e4c293d778380623a9806674cf1944f"/><file name="ConnectedMerchantPayPalStatusChanged.php" hash="3ebdd7be5c997c811ae134d6a6451f41"/><file name="ConnectedMerchantStatusTransitioned.php" hash="7ead86a6c4fc0c79d0f9277f0efd0068"/><file name="CredentialsParser.php" hash="85c9539be64146fa3ddde216f4ac20c9"/><file name="CreditCard.php" hash="0452233946373d6a6c3ac4e686a7b572"/><file name="CreditCardGateway.php" hash="e8ebf4e755318acfa0c6c014a64c9675"/><file name="CreditCardVerification.php" hash="b06ad08b7120572732498d2035a25952"/><file name="CreditCardVerificationGateway.php" hash="38a299c6e9a500fbf7e962e39f34e4bf"/><file name="CreditCardVerificationSearch.php" hash="93e08c9a258af84003700013d497cd82"/><file name="Customer.php" hash="4fd732fd33dfcf173fcb39cb005c4e3e"/><file name="CustomerGateway.php" hash="78d8a3f62be79d7ae67846ce6359646c"/><file name="CustomerSearch.php" hash="8e8d024b951a4baa458556d4281fe988"/><file name="Descriptor.php" hash="97dc19a001fb6845c0c0eb0ee396f9bf"/><file name="Digest.php" hash="622fb0f1a11cf4dc8ee0a6f5fe7150e8"/><file name="Disbursement.php" hash="851eb18f89594984838ce1c59f8e6d8c"/><file name="DisbursementDetails.php" hash="ce5af619a858d883453c21c0f9217163"/><file name="Discount.php" hash="ba59054dd8d42d600c6dfb5813267150"/><file name="DiscountGateway.php" hash="8c354a122a23e3ad2136905e1c9b1d95"/><dir name="Dispute"><file name="TransactionDetails.php" hash="3a554f1576f6269d1d7137d14be8b361"/></dir><file name="Dispute.php" hash="1478be0c3c39725eef8976c6531f4ebb"/><file name="EqualityNode.php" hash="62715d694920f751dfa270ee6234eb43"/><dir name="Error"><file name="Codes.php" hash="6f16da1bd831cb48faeb6f62389ed6f5"/><file name="ErrorCollection.php" hash="b32f1904ee32cf078470c109cec497c8"/><file name="Validation.php" hash="f5062b7d7385bac2c9fb8e653e7ecbdf"/><file name="ValidationErrorCollection.php" hash="bb82bf92f7d33e607d59fc9c36aaf8e0"/></dir><file name="EuropeBankAccount.php" hash="8784a357d37c42673e60f8c866228af8"/><dir name="Exception"><file name="Authentication.php" hash="d21bc381984fa6078377aacfe930f27f"/><file name="Authorization.php" hash="4b17dca02c715fcd50d6d80a40e808ce"/><file name="Configuration.php" hash="225dfca2a3fcb48620e971a03acc6213"/><file name="Connection.php" hash="97bf914cc5e53e573932b57eb60167be"/><file name="DownForMaintenance.php" hash="f9827287436a4c51669fad4c637238a6"/><file name="ForgedQueryString.php" hash="c8a65e4c3e20f4f834914d67a9e782cc"/><file name="InvalidChallenge.php" hash="d825f5fc7acf8dd0e92dc886e7351721"/><file name="InvalidSignature.php" hash="a627af00c19b01a92fe01d432e3296d9"/><file name="NotFound.php" hash="7ee49bce52fc34db868443d569300470"/><file name="SSLCaFileNotFound.php" hash="fcc6e63349cad74ae9651af421cfec15"/><file name="SSLCertificate.php" hash="2b23ad8a5f477accd97a5d26db3e9b68"/><file name="ServerError.php" hash="2dbc5d988ed3bf2ba858dfe8c1ce68e6"/><file name="TestOperationPerformedInProduction.php" hash="55dcb7ed8f8886a77edfd754a775567a"/><file name="Timeout.php" hash="48b27846cc5a412148be05ed081288f9"/><file name="TooManyRequests.php" hash="84c506492eae180f47a325871c7e4d5a"/><file name="Unexpected.php" hash="eb871413e9d4c394b2e4a5d4da02c7d4"/><file name="UpgradeRequired.php" hash="22d1766b6d115cd7144ed2b9186afc85"/><file name="ValidationsFailed.php" hash="3ee5ce23d0bda2f2794f5d5451111417"/></dir><file name="Exception.php" hash="cedf12b332e21324f4a6579426a3ab00"/><file name="FacilitatorDetails.php" hash="7a25557b06c663197d1aea39bd93e776"/><file name="Gateway.php" hash="d7705ccfa1caa0734c505651fc1381a2"/><file name="Http.php" hash="6c1428f7a9a397b1a6a45ebcdd0f6897"/><file name="IbanBankAccount.php" hash="fd44b18d5e0e64dec0e1fcffc445e6c1"/><file name="IdealPayment.php" hash="474ea0309045ed88db4de538ec739a4c"/><file name="IdealPaymentGateway.php" hash="b79384c4be5c89f212096cb1cb3c701f"/><file name="Instance.php" hash="827ebd75d39217e53873c82e753fc1ed"/><file name="IsNode.php" hash="783c6ad65c6030a12ad52253cd5bc1a8"/><file name="KeyValueNode.php" hash="6668a312a6aaaddbdcfc940775ed5820"/><file name="MasterpassCard.php" hash="24a6394c5ae1370c01ee35dbd764654b"/><file name="Merchant.php" hash="b1f8444fc109708a43017d6cda9536a2"/><dir name="MerchantAccount"><file name="AddressDetails.php" hash="540f9e79b8df5da5267835dd01db45c1"/><file name="BusinessDetails.php" hash="ca8a0dc16bce3fff5831fd22652b2f6b"/><file name="FundingDetails.php" hash="9ba992a0dda1be9a0cf8bd8b53ea33be"/><file name="IndividualDetails.php" hash="4855a6aa64b35ecab7bada4e3e0fc0c3"/></dir><file name="MerchantAccount.php" hash="a4ba2e530164c06b8e50ef8ff10f76f2"/><file name="MerchantAccountGateway.php" hash="ad62343cbbdb3e0d9732edfb7255d26c"/><file name="MerchantGateway.php" hash="e9d0fc529b7a32f7080201991deb29d1"/><file name="Modification.php" hash="5df7d89d7365e9edf7235f09b9b7ced4"/><file name="MultipleValueNode.php" hash="2555632262d8b7d81a69739817e1887d"/><file name="MultipleValueOrTextNode.php" hash="9d4a49bc8051d47fd820da2ffef03936"/><file name="OAuthCredentials.php" hash="661accf840ad921523b48ec1be8d9075"/><file name="OAuthGateway.php" hash="f1e54a919b9b65117114b8de7ebfc6f0"/><file name="OAuthResult.php" hash="6f7384d12e28b6748ef3cb92128d833d"/><file name="PaginatedCollection.php" hash="c45cd3395c53ac37946ab3defaab84ef"/><file name="PaginatedResult.php" hash="821bdf0de25d98df7054af24c33b1ce4"/><file name="PartialMatchNode.php" hash="084258b5f9f39a493ca6b02e7019a101"/><file name="PartnerMerchant.php" hash="389c4fae22a19d75b312998027b3fe0e"/><file name="PayPalAccount.php" hash="902debd6d7cdc62e018e3541484a8a5e"/><file name="PayPalAccountGateway.php" hash="5d0a865c2d012511f4a2b3e2c9029053"/><file name="PaymentInstrumentType.php" hash="44cfb496a9bd50eae618e18fcf41e856"/><file name="PaymentMethod.php" hash="3e53b3edd2bdd87fec010709c8acab8c"/><file name="PaymentMethodGateway.php" hash="3ac1231bc63edf1fff681442d4474db0"/><file name="PaymentMethodNonce.php" hash="73330240522e5655bbf01bb90629487f"/><file name="PaymentMethodNonceGateway.php" hash="f103b6749b9700a923e4cc1679f8ba4e"/><file name="Plan.php" hash="fcf369071d74d273604fc63ea2548f2b"/><file name="PlanGateway.php" hash="8713f672e916f26460b06a156b511e32"/><file name="RangeNode.php" hash="a3f74af2c4811a68c9f31ca136cc1c82"/><file name="ResourceCollection.php" hash="8e9da02c6ca6bf5e819efe6ad7837bf2"/><dir name="Result"><file name="CreditCardVerification.php" hash="c64c8bb4a76f77688ebc49a4f6769a20"/><file name="Error.php" hash="09b138f5992593ae33ea3e6f588d1ceb"/><file name="Successful.php" hash="9d2d014d188cbadf773ccca83cc2408d"/></dir><file name="RiskData.php" hash="61de70d88d4b40168e54cea84d2afc70"/><file name="SettlementBatchSummary.php" hash="73a3b6b583b5a852b3d1437b2d62ec5f"/><file name="SettlementBatchSummaryGateway.php" hash="d66b1708f32d1bcc4d738bf39df649b7"/><file name="SignatureService.php" hash="566a5d18567a513f4a527ebf3c8cd410"/><dir name="Subscription"><file name="StatusDetails.php" hash="4c01d220704e6d285c77dc2011f8746e"/></dir><file name="Subscription.php" hash="07ed981ef67b946f97598f48ae00e871"/><file name="SubscriptionGateway.php" hash="b82884333c65a8b747e1dae4919bf2a8"/><file name="SubscriptionSearch.php" hash="e97a9a2a7187058082afab7701f37b1a"/><dir name="Test"><file name="CreditCardNumbers.php" hash="c7b8fbac49f64deb33a8ac3d66757d68"/><file name="MerchantAccount.php" hash="2c700e2724472c0af362ecee6de04bc8"/><file name="Nonces.php" hash="19e6111751b9980732ebb00b41d1d35f"/><file name="Transaction.php" hash="54a421889bb7753192d06150758523ac"/><file name="TransactionAmounts.php" hash="aff59733ffd5a23ddd44ed37f6bda9a7"/><file name="VenmoSdk.php" hash="92872ddddd03c83489a81f8da99839a5"/></dir><file name="TestingGateway.php" hash="3ec7fe4a5a11f2db91b5ecaa6ab6d1c1"/><file name="TextNode.php" hash="da1cc61af2896b945552318d67bd2a46"/><file name="ThreeDSecureInfo.php" hash="8cbb2a63c256368123cb01f2e2a2a194"/><dir name="Transaction"><file name="AddressDetails.php" hash="ca29baa27dcc5c7ccddb7c653d6d99d4"/><file name="AmexExpressCheckoutCardDetails.php" hash="18c96b2d98d81918ec128101d8d69709"/><file name="AndroidPayCardDetails.php" hash="0c278d6aa4bddf669c949617ae37a880"/><file name="ApplePayCardDetails.php" hash="1a544ea0efe19943ff1618ada4100fcc"/><file name="CoinbaseDetails.php" hash="5a5e297bcc19f7d5e21c2f2886abaa09"/><file name="CreditCardDetails.php" hash="13385b916ec0e321e61c18e63baf1c58"/><file name="CustomerDetails.php" hash="fe0012e585006193a39cea9fd6c6eb7c"/><file name="EuropeBankAccountDetails.php" hash="520703e2689c99547bde17e8464df7d5"/><file name="IdealPaymentDetails.php" hash="444d3093c700de8217708a94cd2575e7"/><file name="MasterpassCardDetails.php" hash="f4aa0601b94d6ada0f9b29e27f8a4bc6"/><file name="PayPalDetails.php" hash="022041c82de738e45db9cef4da2eee1f"/><file name="StatusDetails.php" hash="59a90119124d8cb1efcb476e66db984e"/><file name="SubscriptionDetails.php" hash="8fe6507f04dda08b8aafc45a93ed2a4f"/><file name="UsBankAccountDetails.php" hash="52fdad1e440a36a8f2ce27719ecf72b6"/><file name="VenmoAccountDetails.php" hash="87f02410e01dea1e68f1d07130dd0539"/><file name="VisaCheckoutCardDetails.php" hash="d4909eb31f17abc5b16775e09c18687f"/></dir><file name="Transaction.php" hash="95e1fcccd0b58c0547646568fe16cc4f"/><file name="TransactionGateway.php" hash="2c4d9dc9f4a1d2a99788db533a868c6f"/><file name="TransactionSearch.php" hash="634b7a51905a41c1f037f186b53b540e"/><file name="TransparentRedirect.php" hash="134d55a603fa9d0c203c6a0635b93605"/><file name="TransparentRedirectGateway.php" hash="30deff1d0369b6a340260dac78f677ce"/><file name="UnknownPaymentMethod.php" hash="2b5d3ccae34ae73cf728ec38266a42e3"/><file name="UsBankAccount.php" hash="51ab8e304753c92de6ea87d019163b78"/><file name="UsBankAccountGateway.php" hash="ccde686657990c8db38a844ab86809ae"/><file name="Util.php" hash="9b2f24aab2919001d2e859ee8fce1207"/><file name="VenmoAccount.php" hash="fe5a40901d3924f956902f88b9490727"/><file name="Version.php" hash="6480d6b1aa6be1647a3c6b665e99e67d"/><file name="VisaCheckoutCard.php" hash="011c44b8bbf554eb5a114b65b8f02dab"/><file name="WebhookNotification.php" hash="fd2cb2c1872d55795140da78368af6d3"/><file name="WebhookNotificationGateway.php" hash="9a021c6b737362d61890e9e43dff57c2"/><file name="WebhookTesting.php" hash="f3a95c38979c11c1ac3d5d55e65b5a74"/><dir name="Xml"><file name="Generator.php" hash="3a4f2ad0e8c6ae17788c218587dcfc03"/><file name="Parser.php" hash="af8f3729c58efd1d8f8fbf2672faf8a8"/></dir><file name="Xml.php" hash="30bb301518e06e41a17eb4d03c4d8db9"/></dir><file name="Braintree.php" hash="40f87e43c5b205b646186e0b638da941"/><file name="autoload.php" hash="700bd7dbe39f8d89d925ccbb33651898"/><dir name="ssl"><file name="api_braintreegateway_com.ca.crt" hash="d1155107b085a1ee04dd13a634b00c42"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="jmango360"><dir name="prototype"><file name="prototype.js" hash="3b4b13dad33b475e11feb26fd3468ecc"/></dir></dir></dir></target></contents>
36
  <compatible/>
37
  <dependencies><required><php><min>5.2.0</min><max>7.1.0</max></php></required></dependencies>
38
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Jmango360_Japi</name>
4
+ <version>3.6.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0">Apache License</license>
7
  <channel>community</channel>
30
  For more details on JMango360 please visit our website http://www.jmango360.com or out knowledge site http://support.jmango360.com</description>
31
  <notes>* Bug fixes</notes>
32
  <authors><author><name>Duc Ngo</name><user>jmango360</user><email>duc@jmango360.com</email></author></authors>
33
+ <date>2017-09-05</date>
34
+ <time>10:28:36</time>
35
+ <contents><target name="magecommunity"><dir name="Jmango360"><dir name="Japi"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Hide.php" hash="2e9fb95869151bb2a2c7cf7fca6f998f"/></dir></dir></dir></dir></dir><dir name="Order"><file name="Grid.php" hash="22273d3d0acaf1b0a093e524f87c6aff"/></dir><file name="Order.php" hash="04e94160608b989286aebeb190299565"/><dir name="Report"><dir name="Chart"><file name="Customers.php" hash="9a4c7c4af19c584aeb2dd5bc0f6d4735"/><file name="Orders.php" hash="ae5f516c56c5c8c72c14a7b0aa275ac6"/><file name="Sales.php" hash="7d5db491deeaa90571e965bbc2c07e23"/></dir><dir name="Customers"><file name="Chart.php" hash="69f2a7121d61f24d9b75de7281def8e5"/><file name="Grid.php" hash="f1adb7504646338330b7e7ef64a4fc5c"/></dir><file name="Customers.php" hash="6ffd72b1280b6cce39665fd35b5c4a78"/><dir name="Filter"><dir name="Form"><file name="Orders.php" hash="92574de82aa73cdd9de0cc59e20dadc4"/></dir><file name="Form.php" hash="7bf3f161f66abf97fc7db57e0acd59cf"/></dir><dir name="Orders"><file name="Chart.php" hash="75bd0bbe8649f423918dec555d3e9592"/><file name="Grid.php" hash="35590c1a54c8490c3982f0df038b8328"/></dir><file name="Orders.php" hash="6416ac5f6889d5a06f2a32f5ff00cbe2"/><dir name="Sales"><file name="Chart.php" hash="416f4ff4cdaa7f8f099dad3ffccacd68"/><file name="Grid.php" hash="baa9caa57906627ed3f31ec4fd87a500"/></dir><file name="Sales.php" hash="c1d1df3e7b90451e42142bb414a28d6b"/></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Button"><file name="Paypal.php" hash="26ddf9a5b820c3fb23c1c4e0a46d6db4"/></dir><file name="Button.php" hash="2b02a6c90256c9bcc6d99d2d9301413e"/><file name="Log.php" hash="9a228a569090c0fc9a905c5fb29a7c4d"/><file name="User.php" hash="cb7dfc72c7acde78efbabc49617cba3c"/><file name="Version.php" hash="b9802c302ef7ecacf106993e8506d314"/></dir></dir></dir><dir name="Widget"><dir name="Form"><dir name="Renderer"><dir name="Element"><file name="Chart.php" hash="f6f4c2ff80cb71f3e0758809b8ad480d"/></dir></dir></dir></dir></dir><file name="Banner.php" hash="0cafa22b3012e1a3b39f0e72a03534fa"/><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="43581de27feb1a0187bb0aee68bab0e9"/><file name="Category.php" hash="5d01fc7d90af7eccd412ef61056b825b"/><file name="Decimal.php" hash="d40a09709bda7b1011e4d2c970308638"/><file name="Price.php" hash="02dfe6d9429f0190ecf9a41f73653330"/></dir><file name="View.php" hash="e217dfaf2a2ee6c2fa59ba9db0244eb9"/></dir><dir name="Product"><file name="List.php" hash="e1336372e4aa63e0e35c7e9ea1bd3852"/></dir></dir><dir name="Catalogsearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="4ba3d242a3343b1786cf081047650bb9"/></dir></dir><file name="Layer.php" hash="4d48db1a2b35151c363ed045646199a9"/></dir><dir name="Checkout"><dir name="Cart"><file name="Totals.php" hash="ed2ac76f7ebb2830c763deb80e1ea59e"/></dir><dir name="Onepage"><file name="Additional.php" hash="22a3c60e8fd44f5dfaec4b51d6fc1a62"/><file name="Addjs.php" hash="077d09b15ec8823c76854a575359cb1a"/><file name="Address.php" hash="bf596c77e982d4350fc532a3deb79e47"/><file name="Billing.php" hash="380076fedbe8f3b6facc460caf15df2a"/><file name="Button.php" hash="039d56b9b7982d5e32433d71f4b53959"/><file name="Olifant.php" hash="a530e3954f13bf981d95c513eddaeada"/><dir name="Payment"><file name="Methods.php" hash="1c4310ee304d6e512bf8fdcf83505b44"/></dir><file name="Shipping.php" hash="fbf6c7dc51256227b21fbe7565b21b2d"/></dir><file name="Onepage.php" hash="70159fa1922d401447f4a0924beb90d7"/><dir name="Total"><file name="Grandtotal.php" hash="0714677162e5c6e0ca9e1076083ee26e"/><file name="Shipping.php" hash="1bb99456f936de791df3b1e9cb4103d5"/><file name="Subtotal.php" hash="aa7cdd3b66df0ea397ad909848234a0e"/><file name="Tax.php" hash="91c12499a56a034d4733f8040feb7156"/></dir></dir><dir name="Customer"><dir name="Form"><file name="Register.php" hash="f3c79a4f08ac25d210539e14d216ff21"/></dir><dir name="Widget"><file name="Name.php" hash="aca4eea6675b64e1bc6d165307e1b958"/></dir></dir><file name="Form.php" hash="e16eaa258cf650bd2106372fcf43ae9b"/><dir name="GiftMessage"><dir name="Message"><file name="Inline.php" hash="8f20e9383634f46b624f15d77b616380"/></dir></dir><file name="Js.php" hash="8e8091283a5a3142fec7486077a9586e"/><dir name="Payment"><file name="Form.php" hash="f014c3faaad4e31a14052a76137f5dac"/><file name="Info.php" hash="2171f7379f4017b7a541926a9224cd54"/></dir><dir name="Socolissimosimplicite"><file name="Iframe.php" hash="91e096613f73e1edc7fcce4c6a17ce39"/></dir></dir><dir name="Controller"><file name="Abstract.php" hash="ccb6cc7460e7bbf30293983bbe61a07d"/></dir><file name="Exception.php" hash="bd30a2efecdf9a8197f066d9574cd1ab"/><dir name="Helper"><dir name="Adminhtml"><dir name="Report"><file name="Order.php" hash="9f7a02c48f3f8e0545488375b03d7333"/></dir></dir><dir name="ConfigurableSwatches"><file name="Mediafallback.php" hash="e4475d158cdc61c7be0777d2d55ab594"/></dir><file name="Data.php" hash="11ae1dbceaf98c2650cb648acdfb914e"/><file name="Debug.php" hash="1002a59a5dee41f34da875979e907cbf"/><dir name="GiftMessage"><file name="Message.php" hash="5d1df4710b0aa3154ce0fa744b0244f3"/></dir><file name="Js.php" hash="55565b7d668b993fae6c180b30766d17"/><dir name="Product"><file name="Bundle.php" hash="c89baf5638e81d030f5a72b011af7cfd"/><file name="Configurable.php" hash="e38a5e45c9dcddd7d761da424bc1feac"/><file name="Downloadable.php" hash="db531632adda525a91625da8d13296d6"/><file name="File.php" hash="0968c5688015b9c7a002457428607f80"/><file name="Grouped.php" hash="8e9cfa89b62e210744b799a1134ec064"/><file name="Media.php" hash="291003011bdca7299280ef0136089edf"/><file name="Options.php" hash="431575aa72fe57154281959eef93fca4"/><file name="Review.php" hash="e415a0215a8dfbdac5ed76e6c065c705"/><file name="TierPrice.php" hash="4a7e94d83eed9e7ba47ee196b4ae15d9"/></dir><file name="Product.php" hash="cae0acfa094add0682e883b0519ad561"/><dir name="Review"><file name="Bazaarvoice.php" hash="c2e918b6a5f6fc8671ab016c30fbc1ca"/></dir><dir name="Search"><file name="Algolia.php" hash="bd67394af42b60a7090c49511abdc344"/></dir><file name="Tax.php" hash="05c99785012d55fce12c4f094385e25c"/></dir><dir name="Model"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="f058e0ced4579a556cbb969a98c7fc66"/><file name="Decimal.php" hash="849e1dbc11c99fb8f7a1f9d33e0d7908"/><file name="Price.php" hash="2bdc6f1ff06ad5aa736972c72558fd25"/></dir></dir></dir><dir name="Catalogsearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="81b287f96c40094c2a3743ddc6f6c6cb"/></dir></dir></dir><dir name="Core"><file name="Session.php" hash="7c5531af03c6a98e14dda3d358270938"/></dir><file name="Dispatcher.php" hash="81004902926427ba06a1a90d6e799554"/><dir name="Flagbit"><dir name="LanguageSelector"><file name="Observer.php" hash="bc20d951b7dbc54335a461d9568e490e"/></dir></dir><dir name="Magpleasure"><dir name="Tierprices"><file name="Price.php" hash="1bfd6ed086649f518b3e98436513a491"/></dir></dir><dir name="Observer"><dir name="Controller"><file name="Front.php" hash="00398a7fc4e5682a1eff59c24a43cc41"/></dir></dir><file name="Observer.php" hash="071d9cfb54fff3e946ab342cb26ff0ae"/><dir name="Payment"><dir name="Adyen"><file name="Pin.php" hash="3ff0aaaa0ca5d21ffa88d340367d649b"/></dir><file name="Braintree.php" hash="212d788906a3d94e2e10135d4de6bb58"/><file name="Paypal.php" hash="3a349b8e55f5abae4a960962e2191cd0"/></dir><file name="Payment.php" hash="0e2f9ff405b47e63bb8a3d27e82fb6ea"/><dir name="Renderer"><file name="Json.php" hash="b7c471548eecae7c9d05072aa6695cbb"/></dir><file name="Renderer.php" hash="47c320f795f1328a8df37d4b9af56abc"/><file name="Request.php" hash="ece58a0074c2ba238c102983e05d15a8"/><dir name="Resource"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="5bd13fbb5e8012ad24dc7908bc5ea755"/><file name="Decimal.php" hash="551120b728226ed408292fac732a05d7"/><file name="Price.php" hash="321f70b515b4d3deb9c7cc58eb803bf2"/></dir></dir></dir><dir name="Report"><dir name="Order"><file name="Collection.php" hash="1c5e69f548f2b4a0da8f789d7d03b643"/></dir></dir><dir name="Sales"><dir name="Report"><dir name="Order"><dir name="Collection"><file name="Aggregated.php" hash="61848c0b80699acbf478f279231c161d"/><file name="Live.php" hash="ea323ca0eec324ece97f08ece6639fb9"/></dir></dir><file name="Order.php" hash="53641b24d23bd811c278f65b56d5765f"/></dir></dir><file name="Setup.php" hash="3a97ea2e652869965f5b47b9e3099896"/></dir><file name="Response.php" hash="7209bb2e9c5b97b2a46d10ff97aa6740"/><dir name="Rest"><dir name="Cart"><file name="Coupon.php" hash="a5be6cfe674b46b6ba290b0388edf8ad"/><file name="Update.php" hash="f21d597d0091b3113dda0ba8ed96e8db"/></dir><file name="Cart.php" hash="53dbdc6c448c8bb161a861e88e22c098"/><dir name="Catalog"><dir name="Category"><file name="Assignedproducts.php" hash="b014205b7e4a17f436061b97414374d9"/><file name="Tree.php" hash="5dce196312e33d3f7ac4a2235312e587"/></dir><dir name="Search"><file name="Products.php" hash="9b388c0dcfd64b7d3a2898502acfa2d0"/><file name="Terms.php" hash="71cadbe1fa7b19c96f2201f087c832ff"/></dir></dir><file name="Catalog.php" hash="a71eed5f39431b40a80b06f566baa653"/><dir name="Checkout"><file name="Methods.php" hash="e8ea7716b28587ecfb73bff7bb37b059"/><file name="Onepage.php" hash="746c2ca251a1785d55d7a5dd2a38a927"/><file name="Redirect.php" hash="19932aa45299e5ea3995f52cb9987183"/><file name="Submit.php" hash="8ba078b22f6fd1cfa899e1d05a0d3e68"/></dir><file name="Checkout.php" hash="7241b560aedbc7eb728af8ea937af335"/><dir name="Cms"><file name="Page.php" hash="a4fc6cf59e6aa37c2857e104d766560c"/></dir><file name="Cms.php" hash="a12fd4b2a437c8a6c0b2b65a1e471c23"/><dir name="Customer"><file name="Address.php" hash="cef92ca089a5cd7cd1218339104c4894"/><file name="Edit.php" hash="226f77d8cee872c4c622c062cfe1eff0"/><file name="Group.php" hash="c717d5faf52919787aa0f87270856ca3"/><file name="List.php" hash="17f0096755be01327c163a701b9f3780"/><file name="Login.php" hash="77df1e0afcf40e6129fb61397217f053"/><dir name="Order"><file name="List.php" hash="a9a8fd91f8c9df19501e0eae581220a0"/></dir><file name="Order.php" hash="da1565601bac963b72f64b0e6a147704"/><file name="Password.php" hash="6df128903742a8723f0a59c4203f8b12"/><file name="Register.php" hash="e25d0045e0d8ff650ca208b9fe75e3ae"/></dir><file name="Customer.php" hash="ecf57dcf8bbba1ebb12ed10630bd1715"/><file name="Mage.php" hash="23d84f1c038f37e7f18c6d7ddd5d5a06"/><dir name="Product"><file name="Crosssell.php" hash="1fbc8c3886de3703a77e911ac459422c"/><file name="List.php" hash="8d84ec9326a6747de6d2ca0a5aceee6c"/><file name="Price.php" hash="d47c9903d5719b0cee73836419e27bb1"/><file name="Purchased.php" hash="feb7fd9176da74e59722984732d04a9a"/><file name="Related.php" hash="a6626ea3c4089154c1e2b50487077aaa"/><file name="Review.php" hash="549ffdfaea3d95ac1f18e9d4ef18d6eb"/><file name="Search.php" hash="d930eacc88e4a9518b1bca25b4d973ce"/><file name="Upsell.php" hash="319fe08a0a4c52c41ec4418b312e1842"/><file name="Url.php" hash="4b920cc4913b77b1e463afad27ad5b78"/><file name="Viewed.php" hash="c2a9c99a56b57d8288eec75657f9bd47"/></dir><file name="Product.php" hash="0502a3ab27027c3492db29fc87babe09"/><file name="Wishlist.php" hash="ee26b4efcbf3b2c39aec2c1e3402c35b"/></dir><file name="Server.php" hash="efb21dfeced837fc686c9a76eec197e9"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Icon.php" hash="242de9b094f94e397dc606dc926cc33f"/><file name="Payment.php" hash="5964322419785004a6c3f84a940d8d13"/><file name="Shipping.php" hash="016f22646fbac10cd81c6b7904c9abde"/></dir><dir name="Source"><dir name="Address"><file name="Attributes.php" hash="1a29b64d271693fba3ea76599d3408e2"/><file name="Validatetype.php" hash="6f4d9767ac0e476ec6a6cd3964882721"/></dir><file name="Attributes.php" hash="4b4de29e00623c971038d6fe895e5e76"/><dir name="Bazaarvoice"><file name="Env.php" hash="bc619503d1b175e74f7eaf2ba15ae8b4"/></dir><dir name="Catalog"><file name="Direction.php" hash="68cd86444037506ec39de8eba3c07d8b"/><file name="Sortby.php" hash="d2aba9a3798b8e2eee8c275fbbd202e1"/></dir><file name="Catalogimage.php" hash="500f9994ea13e463a5e5e5d3963cfbd1"/><dir name="Customer"><file name="Attributes.php" hash="8963356aabf88647ab5ecbbbe8cfb9f1"/></dir><file name="Defaultimage.php" hash="04c896116c01b16e2ac8d7f23bbc29d6"/><file name="Payment.php" hash="70e82f4887eb297d6a58160f64bfd204"/><file name="Shipping.php" hash="7d8e5a2dc8a57099d908bef2403aad46"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Japi"><file name="LogController.php" hash="b17e024285aea7b6834cf5bc9b868916"/><file name="OrderController.php" hash="e6b7c1f5a7156a06fa3f51c32e6bbba9"/><file name="PaymentController.php" hash="a6f7cce53b85e2011bfb457cef98683a"/><file name="ReportController.php" hash="e88b2425e0a39f7f2b0c2902a6d2d5e9"/><file name="TroubleshootingController.php" hash="bb8951d1523a56a0f55e827614a38d66"/></dir></dir><file name="AdyenController.php" hash="f4f670b13871e90e7c7b121eebdee283"/><file name="CheckoutController.php" hash="dfe21a7e7e77c9cbdabcc7bec9746c6d"/><dir name="Customer"><file name="AccountController.php" hash="2e055c5b22a2414263a1b7d3fd0607f9"/></dir><file name="CustomerController.php" hash="74679789c860e46edc92af58c2e9a514"/><file name="ImageController.php" hash="a5b48d4e075faf989c908bd0954d3878"/><file name="KcoController.php" hash="38e15112f3438edd6723478cf18c6cab"/><file name="KlarnaController.php" hash="90474b512fdc813039a86ae8f24a0b39"/><dir name="Rest"><file name="CartController.php" hash="3994aafe8e31094b765fc0120c888fa3"/><file name="CatalogController.php" hash="8df5b798bb0330f5e3182717e1e15bf7"/><file name="CheckoutController.php" hash="65b3a3592cdfc0a51c254451505dedea"/><file name="CmsController.php" hash="cb1bc3f67136434c4d8af1b5660eab1e"/><file name="CustomerController.php" hash="ca2b76f8f4e8a84d81749b37910287bd"/><file name="MageController.php" hash="a9eb4743a50f159daae3c1836e185c8c"/><file name="ProductController.php" hash="81c0a0b0afcdfe99d6c651244baa075c"/><file name="WishlistController.php" hash="d7b0c8ff628b4244d120843d54a41248"/></dir><file name="TestController.php" hash="ffb60653808c0e0af00cc73d4755ef99"/><file name="TrollwebController.php" hash="9b83937cbe665722df2d13b592b03b8a"/></dir><dir name="data"><dir name="japi_setup"><file name="data-install-2.0.0.php" hash="bcf6de66f6b296182268b11b3e80bbeb"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="9d1888abb4ed93ec7b3e1fa678fb1411"/><file name="config.xml" hash="45cfdeab143606c420c00a298dc74ecb"/><file name="system.xml" hash="775a24b3873d4e1051a58e4673e333c7"/></dir><dir name="sql"><dir name="japi_setup"><file name="install-1.0.0.php" hash="ce407ff5715c837d02b1aba7975bf512"/><file name="upgrade-2.0.1.2-2.0.2.php" hash="6fc0e0306b685279fc60f298643d181a"/><file name="upgrade-2.1.6-2.2.0.php" hash="947afcf7e20dfc2c3a3e45d8e5c316cd"/><file name="upgrade-2.2.0-2.2.1.php" hash="12a28845acf823eefc5f613b048efe52"/><file name="upgrade-2.8.2-2.9.0.php" hash="2761423f65920af0f8ba05d438710869"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Jmango360_Japi.xml" hash="b60701b3a14084fa1a440ca5fe5bf47b"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="jmango360_japi.xml" hash="d6e1656e4a8e79dd9e37e0b09a5f57a6"/></dir><dir name="template"><dir name="japi"><dir name="report"><file name="chart.phtml" hash="102704d97cf69793a50fa96538bd767f"/><dir name="grid"><file name="container.phtml" hash="79050f4e2bc7b70ae452e850fc27e0b7"/></dir></dir><dir name="system"><dir name="config"><dir name="form"><dir name="button"><file name="paypal.phtml" hash="247d0fd0a221f61bfa5b97dae8d95640"/></dir></dir></dir></dir><dir name="widget"><dir name="form"><dir name="renderer"><dir name="element"><file name="chart.phtml" hash="fb14be221a9ec0faad4ace8579c5dddc"/></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="jmango360_japi.xml" hash="f3ce8202ed9f278dee5d4a7892ee8838"/></dir><dir name="template"><dir name="japi"><dir name="TIG"><dir name="PostNL"><dir name="av"><dir name="checkout"><dir name="onepage"><file name="billing.phtml" hash="6756588fef4d689418cbb4ea8d4ad92e"/><file name="shipping.phtml" hash="95a2f56b36a8111eba9c582b2b3d1d57"/></dir></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="9a623e8c2184d08c2b288456ba50aef4"/><file name="postcode_check.phtml" hash="cbb8bfd76db65041cafacf976312ceb7"/></dir></dir></dir><dir name="do"><dir name="onepage"><file name="available.phtml" hash="8fce41a1696540a4546b52c025f3dde7"/></dir></dir></dir></dir><dir name="checkout"><dir name="onepage"><file name="additional_agreements.phtml" hash="2169df7f5c0d8b03e046cd000c9bea5f"/><file name="address.phtml" hash="3164ff4fc2d5f798e591a168d9d937d1"/><file name="agreements.phtml" hash="f8434a03183e33b3762d61d0c3981464"/><file name="billing.phtml" hash="105051160f867d8e016593edcb6888b8"/><file name="coupon.phtml" hash="85175029f770fe8ba6a3800197372904"/><file name="js.phtml" hash="ac1740fe3e829d228a57b1e1a9dda58b"/><dir name="massamarkt"><file name="billing.phtml" hash="c98e5c412be49481c7c5d7f1e1e79002"/><file name="shipping.phtml" hash="9235aaa0f88697cd6056076b94680a2d"/></dir><dir name="payment"><file name="info.phtml" hash="26bb640843ee3fb6e72b4f2739f0a111"/><file name="methods.phtml" hash="1680b5e33d8123fdb58ecbd353ff1ba7"/></dir><file name="payment.phtml" hash="966bfc2c8ca160086fa10bf63022172b"/><dir name="review"><file name="button.phtml" hash="e2089ae34e409df2fa13977a55db5f04"/><file name="info.phtml" hash="306936f465adcc1c09ad37b58609085d"/><file name="item.phtml" hash="244bba60d9151be71777e80e138b6ee7"/><dir name="totals"><file name="grand_total.phtml" hash="4ee3bdd1190a459e243249e288e6caff"/><file name="shipping.phtml" hash="75900b7d4cfb370e803d1489148450ad"/><file name="subtotal.phtml" hash="f91e3bc1a39761fa7cea8fc296091430"/><file name="tax.phtml" hash="37173b32341b2692a7890111f02f2938"/></dir><file name="totals.phtml" hash="0decbe242701193fee270e1f0f520a93"/></dir><file name="review.phtml" hash="d2494b8faac5833e747a5d329ee4fab7"/><file name="shipping.phtml" hash="f955c8b11f494041f1a88939219c1590"/><dir name="shipping_method"><file name="additional.phtml" hash="78c6dab72fefb888f587221639bf9177"/><file name="available.phtml" hash="4feca53deabec45bc3b223e64e32c4f0"/></dir><file name="shipping_method.phtml" hash="7f948fdc0601e48be0834178b56dbfb3"/><file name="style.phtml" hash="3eefe8b7f0c5779314a220cac56e3934"/></dir><file name="onepage.phtml" hash="b2ac098e7a14111eb02515f04ba8b916"/></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="900db1b8385f75e448f7ca42c8d113da"/></dir><dir name="form"><file name="additional.phtml" hash="0d413b832a447a524de18c74cbd17844"/><file name="edit.phtml" hash="484b2b56cbf34dba73c78dc97552c024"/><file name="register.phtml" hash="b7081047e13e2c065d88ed0adc9fa633"/></dir></dir><dir name="fatturazione"><dir name="customer"><dir name="address"><file name="edit.phtml" hash="e7f27a8a61d9554bfbc4f36dfff60e4d"/></dir></dir></dir><dir name="flagbit_checkout"><file name="onepage.phtml" hash="498fe9c04eeffcf5605a84906d248fe0"/><file name="onepage_compact.phtml" hash="9771a130918350e1e66e37d2f625a71b"/></dir><file name="form.phtml" hash="eec0416c8830c4ebe004256d86c7ea59"/><dir name="giftmessage"><file name="inline.phtml" hash="78814da47aed68315b7d1d6b2e64c4c7"/></dir><file name="js.phtml" hash="9af5ac67d9b1a4fc689084e135215f99"/><dir name="kega_checkout"><dir name="onepage"><file name="payment.phtml" hash="a8d62337a136e32bed218f2de0523ac8"/></dir></dir><dir name="nwt"><dir name="kco"><dir name="cart"><dir name="item"><file name="default.phtml" hash="212018e8f0c4472a07fc81633d27c550"/></dir></dir><file name="checkout.phtml" hash="c7781347405e7e59322d9fc3b2f42b3c"/></dir></dir><dir name="page"><dir name="html"><file name="head.phtml" hash="b6a8cc30cd31bf642c2f885ed1fda855"/><file name="smart-app-banner.phtml" hash="8423731f246db33efb61026dd9ef5ddc"/></dir><file name="rwd.phtml" hash="37c273def1dd43ba63989f14e71f21ea"/></dir><dir name="symfony"><dir name="postcode"><dir name="checkout"><dir name="onepage"><file name="billing.phtml" hash="dea3cefc72e6317c5ea6e0db553d8758"/><file name="shipping.phtml" hash="56d1f7414cc62887b3d9d8de7e192440"/></dir></dir></dir></dir><dir name="vaimo"><dir name="klarna"><dir name="klarnacheckout"><dir name="cart"><dir name="item"><file name="default.phtml" hash="f9f469de9cd1243cab176fc56071db64"/></dir></dir><file name="cart.phtml" hash="b40f17348beb248c4f1ff22374a1a05d"/><dir name="customer"><file name="balance.phtml" hash="198809cb8ebf8a468b89497c9abba07c"/></dir><dir name="discount"><file name="coupon.phtml" hash="1f3686b00a610d3f038c84e3621ef913"/></dir><file name="header.phtml" hash="fed93df0c84265a0f980b0de103945b8"/><file name="main.phtml" hash="94ad4f3aa30ae7db1131a1fe48ea2a99"/><file name="newsletter.phtml" hash="3a2251b9559e8b87b46ddf08b7cd27e2"/><file name="reward.phtml" hash="38c218d3777f11b03c3686067a706d00"/><file name="shipping_method.phtml" hash="44bb3c6efaab76641e02a07c2007a090"/><file name="sidebar.phtml" hash="410508fd9089e0be030915836abb42e2"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="japi"><dir name="css"><dir name="TIG"><dir name="Buckaroo3Extended"><file name="styles_opc.css" hash="9b0ecbbeb22655e2e896ec8134fa8188"/></dir></dir><file name="flagbit_checkout.css" hash="04e174611fd6926a83ff796209f3c343"/><file name="flagbit_checkout.less" hash="0a201bc37d625520e5febf411d3e38a3"/><file name="gomage-checkout.css" hash="223657dbb0aba2783bb9e8de4b633d93"/><dir name="icomoon"><dir name="fonts"><file name="icomoon.eot" hash="842065e274d718c38968a81a721d49f4"/><file name="icomoon.svg" hash="2deea3fcd9ecc464a422aa37943b5848"/><file name="icomoon.ttf" hash="8ffbfccd78de7c37eadeca837ee40344"/><file name="icomoon.woff" hash="32df67c3aed8769c316b3e7ff1bb637c"/></dir><file name="style.css" hash="178c956df2a327dc88e4ef8069caa9bc"/></dir><file name="send-cloud.css" hash="77f77fa89359fe508708ec522a5e76d8"/><file name="style.css" hash="38cc0d0fe11ae515719f50bfc52b7196"/><file name="style.less" hash="520229ed501c1395ca4a65b623686762"/><file name="trollweb_kco.css" hash="df87212404e5f172d853ddc149362ed3"/><file name="trollweb_kco.less" hash="47d97ac78509dff725bf583e0aa9d900"/></dir><dir name="images"><file name="ajax-loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/><file name="bg-down.png" hash="04d7cd2963010b610f608aca03a45c63"/><file name="bg-up.png" hash="2882d38108532275fb1d425bbd021c9d"/><file name="glc_sprite.png" hash="5cd6f3ba1df3a6d26db5bbc193ce9c61"/></dir><dir name="js"><file name="checkout.js" hash="5013f410af2955678561a52b96a07f5c"/><dir name="vaimo"><dir name="klarna"><file name="klarnautils.js" hash="e29553aa8446af7672c9ba1814fac3a5"/></dir></dir><dir name="varien"><file name="form.js" hash="9abc0bb4419828513b5c6e904a041616"/></dir></dir><dir name="lib"><dir name="bootstrap"><dir name="css"><file name="bootstrap.min.css" hash="5d5357cb3704e1f43a1f5bfed2aebf42"/></dir><dir name="fonts"><file name="glyphicons-halflings-regular.eot" hash="f4769f9bdb7466be65088239c12046d1"/><file name="glyphicons-halflings-regular.svg" hash="89889688147bd7575d6327160d64e760"/><file name="glyphicons-halflings-regular.ttf" hash="e18bbf611f2a2e43afc071aa2f4e1512"/><file name="glyphicons-halflings-regular.woff" hash="fa2772327f55d8198301fdb8bcfc8158"/><file name="glyphicons-halflings-regular.woff2" hash="448c34a56d699c29117adc64c43affeb"/></dir><dir name="js"><file name="collapse.js" hash="2bc99ca6c9b060ba5616f41ddd5e2703"/><file name="modal.js" hash="b7d8f688e67e78c07ffde44ec4248fd9"/><file name="transition.js" hash="3cb001675410903ecaadcfeb7c296965"/></dir></dir><dir name="jquery"><file name="jquery-1.11.2.min.js" hash="5790ead7ad3ba27397aedfa3d263b867"/><file name="jquery-noconflict.js" hash="32eb0a33820167f328a227e11210d32a"/></dir><dir name="ladda"><file name="ladda.min.css" hash="614e769024385cf21879d6a238b682e1"/><file name="ladda.min.js" hash="a34bcf417de7fc290ac5b034caca2371"/></dir><dir name="scrollto"><file name="scrollTo.js" hash="5c86793da8a4bfec6338bec965d35f6b"/></dir><dir name="smart-app-banner"><file name="smart-app-banner.css" hash="64c15053dbd22b44a519f55e75f6c2ca"/><file name="smart-app-banner.js" hash="4162cb20424080964b5d886125b73b47"/></dir><dir name="spin"><file name="spin.min.js" hash="1d06ceb800acbeae82d1fa2ad5b571de"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Jmango360_Japi.csv" hash="71742d72d5706532272914927ce9cec9"/></dir><dir name="fr_FR"><file name="Jmango360_Japi.csv" hash="49fa338f05916214904965ca3009eadf"/></dir><dir name="it_IT"><file name="Jmango360_Japi.csv" hash="2ff891468a5c5fe0bd3775cc155341cb"/></dir><dir name="pt_PT"><file name="Jmango360_Japi.csv" hash="3a70c94cf76ccf0649ab2c525f2acece"/></dir><dir name="pt_BR"><file name="Jmango360_Japi.csv" hash="3a70c94cf76ccf0649ab2c525f2acece"/></dir><dir name="ar_SA"><file name="Jmango360_Japi.csv" hash="289005e8852ede1e8a6101ca1a175cad"/></dir><dir name="nl_NL"><file name="Jmango360_Japi.csv" hash="e7bf7f06b20dfa3ed3f5fcc49b5591a0"/></dir><dir name="sv_SE"><file name="Jmango360_Japi.csv" hash="3414d54579206e71cabaaea3153bc266"/></dir><dir name="da_DK"><file name="Jmango360_Japi.csv" hash="bbc71fbb4b35a4bb9289972430fedfa9"/></dir><dir name="es_ES"><file name="Jmango360_Japi.csv" hash="0f763b984f64e095f863c2e66335c791"/></dir><dir name="de_DE"><file name="Jmango360_Japi.csv" hash="b8c80da5a767cb0d3564ba026607e5f5"/></dir><dir name="el_GR"><file name="Jmango360_Japi.csv" hash="485815339ffff7bc4aac29803866e60d"/></dir><dir name="nb_NO"><file name="Jmango360_Japi.csv" hash="b3a88ce7326f6847ecf8e6c99eec6847"/></dir><dir name="fi_FI"><file name="Jmango360_Japi.csv" hash="26cb5c5ac8d3bf7186a5b852da27bc20"/></dir><dir name="nn_NO"><file name="Jmango360_Japi.csv" hash="b3a88ce7326f6847ecf8e6c99eec6847"/></dir></target><target name="magelib"><dir name="Jmango360"><dir name="Braintree"><file name="LICENSE" hash="7203c8834a3b633e63fba98aaedf7246"/><dir name="lib"><dir name="Braintree"><file name="AccountUpdaterDailyReport.php" hash="24081e5126e923c106d38de6d4bfa206"/><file name="AchMandate.php" hash="1c27b15b8508745e678f9637c495f126"/><file name="AddOn.php" hash="82925560fd6d09575150d03851132999"/><file name="AddOnGateway.php" hash="71f1cf435ad4a0f846cbdb61f54582b6"/><file name="Address.php" hash="80b3e24e93c142cc2fdb0401542c74f9"/><file name="AddressGateway.php" hash="5785772be266f1095ec9badc42872eda"/><file name="AmexExpressCheckoutCard.php" hash="e8638efd3aa53c9029c9a779c9a3c0d3"/><file name="AndroidPayCard.php" hash="b2dea285101ac3a6a811b35f854a8f70"/><file name="ApplePayCard.php" hash="ad86024899c22c02b2fe4661fb9795c3"/><file name="Base.php" hash="e32c757071d8f8effc5660cd1ce58c6b"/><file name="ClientToken.php" hash="81e2f643f912c8943560008d2fa7869d"/><file name="ClientTokenGateway.php" hash="bbac8367658b596480b50e1e7dd049b5"/><file name="CoinbaseAccount.php" hash="a0794c8d29dbab81ecf32dac6c4d66c1"/><file name="Collection.php" hash="ba52af974da21b424c7b9a6a881f4f26"/><file name="Configuration.php" hash="1e4c293d778380623a9806674cf1944f"/><file name="ConnectedMerchantPayPalStatusChanged.php" hash="3ebdd7be5c997c811ae134d6a6451f41"/><file name="ConnectedMerchantStatusTransitioned.php" hash="7ead86a6c4fc0c79d0f9277f0efd0068"/><file name="CredentialsParser.php" hash="85c9539be64146fa3ddde216f4ac20c9"/><file name="CreditCard.php" hash="0452233946373d6a6c3ac4e686a7b572"/><file name="CreditCardGateway.php" hash="e8ebf4e755318acfa0c6c014a64c9675"/><file name="CreditCardVerification.php" hash="b06ad08b7120572732498d2035a25952"/><file name="CreditCardVerificationGateway.php" hash="38a299c6e9a500fbf7e962e39f34e4bf"/><file name="CreditCardVerificationSearch.php" hash="93e08c9a258af84003700013d497cd82"/><file name="Customer.php" hash="4fd732fd33dfcf173fcb39cb005c4e3e"/><file name="CustomerGateway.php" hash="78d8a3f62be79d7ae67846ce6359646c"/><file name="CustomerSearch.php" hash="8e8d024b951a4baa458556d4281fe988"/><file name="Descriptor.php" hash="97dc19a001fb6845c0c0eb0ee396f9bf"/><file name="Digest.php" hash="622fb0f1a11cf4dc8ee0a6f5fe7150e8"/><file name="Disbursement.php" hash="851eb18f89594984838ce1c59f8e6d8c"/><file name="DisbursementDetails.php" hash="ce5af619a858d883453c21c0f9217163"/><file name="Discount.php" hash="ba59054dd8d42d600c6dfb5813267150"/><file name="DiscountGateway.php" hash="8c354a122a23e3ad2136905e1c9b1d95"/><dir name="Dispute"><file name="TransactionDetails.php" hash="3a554f1576f6269d1d7137d14be8b361"/></dir><file name="Dispute.php" hash="1478be0c3c39725eef8976c6531f4ebb"/><file name="EqualityNode.php" hash="62715d694920f751dfa270ee6234eb43"/><dir name="Error"><file name="Codes.php" hash="6f16da1bd831cb48faeb6f62389ed6f5"/><file name="ErrorCollection.php" hash="b32f1904ee32cf078470c109cec497c8"/><file name="Validation.php" hash="f5062b7d7385bac2c9fb8e653e7ecbdf"/><file name="ValidationErrorCollection.php" hash="bb82bf92f7d33e607d59fc9c36aaf8e0"/></dir><file name="EuropeBankAccount.php" hash="8784a357d37c42673e60f8c866228af8"/><dir name="Exception"><file name="Authentication.php" hash="d21bc381984fa6078377aacfe930f27f"/><file name="Authorization.php" hash="4b17dca02c715fcd50d6d80a40e808ce"/><file name="Configuration.php" hash="225dfca2a3fcb48620e971a03acc6213"/><file name="Connection.php" hash="97bf914cc5e53e573932b57eb60167be"/><file name="DownForMaintenance.php" hash="f9827287436a4c51669fad4c637238a6"/><file name="ForgedQueryString.php" hash="c8a65e4c3e20f4f834914d67a9e782cc"/><file name="InvalidChallenge.php" hash="d825f5fc7acf8dd0e92dc886e7351721"/><file name="InvalidSignature.php" hash="a627af00c19b01a92fe01d432e3296d9"/><file name="NotFound.php" hash="7ee49bce52fc34db868443d569300470"/><file name="SSLCaFileNotFound.php" hash="fcc6e63349cad74ae9651af421cfec15"/><file name="SSLCertificate.php" hash="2b23ad8a5f477accd97a5d26db3e9b68"/><file name="ServerError.php" hash="2dbc5d988ed3bf2ba858dfe8c1ce68e6"/><file name="TestOperationPerformedInProduction.php" hash="55dcb7ed8f8886a77edfd754a775567a"/><file name="Timeout.php" hash="48b27846cc5a412148be05ed081288f9"/><file name="TooManyRequests.php" hash="84c506492eae180f47a325871c7e4d5a"/><file name="Unexpected.php" hash="eb871413e9d4c394b2e4a5d4da02c7d4"/><file name="UpgradeRequired.php" hash="22d1766b6d115cd7144ed2b9186afc85"/><file name="ValidationsFailed.php" hash="3ee5ce23d0bda2f2794f5d5451111417"/></dir><file name="Exception.php" hash="cedf12b332e21324f4a6579426a3ab00"/><file name="FacilitatorDetails.php" hash="7a25557b06c663197d1aea39bd93e776"/><file name="Gateway.php" hash="d7705ccfa1caa0734c505651fc1381a2"/><file name="Http.php" hash="6c1428f7a9a397b1a6a45ebcdd0f6897"/><file name="IbanBankAccount.php" hash="fd44b18d5e0e64dec0e1fcffc445e6c1"/><file name="IdealPayment.php" hash="474ea0309045ed88db4de538ec739a4c"/><file name="IdealPaymentGateway.php" hash="b79384c4be5c89f212096cb1cb3c701f"/><file name="Instance.php" hash="827ebd75d39217e53873c82e753fc1ed"/><file name="IsNode.php" hash="783c6ad65c6030a12ad52253cd5bc1a8"/><file name="KeyValueNode.php" hash="6668a312a6aaaddbdcfc940775ed5820"/><file name="MasterpassCard.php" hash="24a6394c5ae1370c01ee35dbd764654b"/><file name="Merchant.php" hash="b1f8444fc109708a43017d6cda9536a2"/><dir name="MerchantAccount"><file name="AddressDetails.php" hash="540f9e79b8df5da5267835dd01db45c1"/><file name="BusinessDetails.php" hash="ca8a0dc16bce3fff5831fd22652b2f6b"/><file name="FundingDetails.php" hash="9ba992a0dda1be9a0cf8bd8b53ea33be"/><file name="IndividualDetails.php" hash="4855a6aa64b35ecab7bada4e3e0fc0c3"/></dir><file name="MerchantAccount.php" hash="a4ba2e530164c06b8e50ef8ff10f76f2"/><file name="MerchantAccountGateway.php" hash="ad62343cbbdb3e0d9732edfb7255d26c"/><file name="MerchantGateway.php" hash="e9d0fc529b7a32f7080201991deb29d1"/><file name="Modification.php" hash="5df7d89d7365e9edf7235f09b9b7ced4"/><file name="MultipleValueNode.php" hash="2555632262d8b7d81a69739817e1887d"/><file name="MultipleValueOrTextNode.php" hash="9d4a49bc8051d47fd820da2ffef03936"/><file name="OAuthCredentials.php" hash="661accf840ad921523b48ec1be8d9075"/><file name="OAuthGateway.php" hash="f1e54a919b9b65117114b8de7ebfc6f0"/><file name="OAuthResult.php" hash="6f7384d12e28b6748ef3cb92128d833d"/><file name="PaginatedCollection.php" hash="c45cd3395c53ac37946ab3defaab84ef"/><file name="PaginatedResult.php" hash="821bdf0de25d98df7054af24c33b1ce4"/><file name="PartialMatchNode.php" hash="084258b5f9f39a493ca6b02e7019a101"/><file name="PartnerMerchant.php" hash="389c4fae22a19d75b312998027b3fe0e"/><file name="PayPalAccount.php" hash="902debd6d7cdc62e018e3541484a8a5e"/><file name="PayPalAccountGateway.php" hash="5d0a865c2d012511f4a2b3e2c9029053"/><file name="PaymentInstrumentType.php" hash="44cfb496a9bd50eae618e18fcf41e856"/><file name="PaymentMethod.php" hash="3e53b3edd2bdd87fec010709c8acab8c"/><file name="PaymentMethodGateway.php" hash="3ac1231bc63edf1fff681442d4474db0"/><file name="PaymentMethodNonce.php" hash="73330240522e5655bbf01bb90629487f"/><file name="PaymentMethodNonceGateway.php" hash="f103b6749b9700a923e4cc1679f8ba4e"/><file name="Plan.php" hash="fcf369071d74d273604fc63ea2548f2b"/><file name="PlanGateway.php" hash="8713f672e916f26460b06a156b511e32"/><file name="RangeNode.php" hash="a3f74af2c4811a68c9f31ca136cc1c82"/><file name="ResourceCollection.php" hash="8e9da02c6ca6bf5e819efe6ad7837bf2"/><dir name="Result"><file name="CreditCardVerification.php" hash="c64c8bb4a76f77688ebc49a4f6769a20"/><file name="Error.php" hash="09b138f5992593ae33ea3e6f588d1ceb"/><file name="Successful.php" hash="9d2d014d188cbadf773ccca83cc2408d"/></dir><file name="RiskData.php" hash="61de70d88d4b40168e54cea84d2afc70"/><file name="SettlementBatchSummary.php" hash="73a3b6b583b5a852b3d1437b2d62ec5f"/><file name="SettlementBatchSummaryGateway.php" hash="d66b1708f32d1bcc4d738bf39df649b7"/><file name="SignatureService.php" hash="566a5d18567a513f4a527ebf3c8cd410"/><dir name="Subscription"><file name="StatusDetails.php" hash="4c01d220704e6d285c77dc2011f8746e"/></dir><file name="Subscription.php" hash="07ed981ef67b946f97598f48ae00e871"/><file name="SubscriptionGateway.php" hash="b82884333c65a8b747e1dae4919bf2a8"/><file name="SubscriptionSearch.php" hash="e97a9a2a7187058082afab7701f37b1a"/><dir name="Test"><file name="CreditCardNumbers.php" hash="c7b8fbac49f64deb33a8ac3d66757d68"/><file name="MerchantAccount.php" hash="2c700e2724472c0af362ecee6de04bc8"/><file name="Nonces.php" hash="19e6111751b9980732ebb00b41d1d35f"/><file name="Transaction.php" hash="54a421889bb7753192d06150758523ac"/><file name="TransactionAmounts.php" hash="aff59733ffd5a23ddd44ed37f6bda9a7"/><file name="VenmoSdk.php" hash="92872ddddd03c83489a81f8da99839a5"/></dir><file name="TestingGateway.php" hash="3ec7fe4a5a11f2db91b5ecaa6ab6d1c1"/><file name="TextNode.php" hash="da1cc61af2896b945552318d67bd2a46"/><file name="ThreeDSecureInfo.php" hash="8cbb2a63c256368123cb01f2e2a2a194"/><dir name="Transaction"><file name="AddressDetails.php" hash="ca29baa27dcc5c7ccddb7c653d6d99d4"/><file name="AmexExpressCheckoutCardDetails.php" hash="18c96b2d98d81918ec128101d8d69709"/><file name="AndroidPayCardDetails.php" hash="0c278d6aa4bddf669c949617ae37a880"/><file name="ApplePayCardDetails.php" hash="1a544ea0efe19943ff1618ada4100fcc"/><file name="CoinbaseDetails.php" hash="5a5e297bcc19f7d5e21c2f2886abaa09"/><file name="CreditCardDetails.php" hash="13385b916ec0e321e61c18e63baf1c58"/><file name="CustomerDetails.php" hash="fe0012e585006193a39cea9fd6c6eb7c"/><file name="EuropeBankAccountDetails.php" hash="520703e2689c99547bde17e8464df7d5"/><file name="IdealPaymentDetails.php" hash="444d3093c700de8217708a94cd2575e7"/><file name="MasterpassCardDetails.php" hash="f4aa0601b94d6ada0f9b29e27f8a4bc6"/><file name="PayPalDetails.php" hash="022041c82de738e45db9cef4da2eee1f"/><file name="StatusDetails.php" hash="59a90119124d8cb1efcb476e66db984e"/><file name="SubscriptionDetails.php" hash="8fe6507f04dda08b8aafc45a93ed2a4f"/><file name="UsBankAccountDetails.php" hash="52fdad1e440a36a8f2ce27719ecf72b6"/><file name="VenmoAccountDetails.php" hash="87f02410e01dea1e68f1d07130dd0539"/><file name="VisaCheckoutCardDetails.php" hash="d4909eb31f17abc5b16775e09c18687f"/></dir><file name="Transaction.php" hash="95e1fcccd0b58c0547646568fe16cc4f"/><file name="TransactionGateway.php" hash="2c4d9dc9f4a1d2a99788db533a868c6f"/><file name="TransactionSearch.php" hash="634b7a51905a41c1f037f186b53b540e"/><file name="TransparentRedirect.php" hash="134d55a603fa9d0c203c6a0635b93605"/><file name="TransparentRedirectGateway.php" hash="30deff1d0369b6a340260dac78f677ce"/><file name="UnknownPaymentMethod.php" hash="2b5d3ccae34ae73cf728ec38266a42e3"/><file name="UsBankAccount.php" hash="51ab8e304753c92de6ea87d019163b78"/><file name="UsBankAccountGateway.php" hash="ccde686657990c8db38a844ab86809ae"/><file name="Util.php" hash="9b2f24aab2919001d2e859ee8fce1207"/><file name="VenmoAccount.php" hash="fe5a40901d3924f956902f88b9490727"/><file name="Version.php" hash="6480d6b1aa6be1647a3c6b665e99e67d"/><file name="VisaCheckoutCard.php" hash="011c44b8bbf554eb5a114b65b8f02dab"/><file name="WebhookNotification.php" hash="fd2cb2c1872d55795140da78368af6d3"/><file name="WebhookNotificationGateway.php" hash="9a021c6b737362d61890e9e43dff57c2"/><file name="WebhookTesting.php" hash="f3a95c38979c11c1ac3d5d55e65b5a74"/><dir name="Xml"><file name="Generator.php" hash="3a4f2ad0e8c6ae17788c218587dcfc03"/><file name="Parser.php" hash="af8f3729c58efd1d8f8fbf2672faf8a8"/></dir><file name="Xml.php" hash="30bb301518e06e41a17eb4d03c4d8db9"/></dir><file name="Braintree.php" hash="40f87e43c5b205b646186e0b638da941"/><file name="autoload.php" hash="700bd7dbe39f8d89d925ccbb33651898"/><dir name="ssl"><file name="api_braintreegateway_com.ca.crt" hash="d1155107b085a1ee04dd13a634b00c42"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="jmango360"><dir name="prototype"><file name="prototype.js" hash="3b4b13dad33b475e11feb26fd3468ecc"/></dir></dir></dir></target></contents>
36
  <compatible/>
37
  <dependencies><required><php><min>5.2.0</min><max>7.1.0</max></php></required></dependencies>
38
  </package>
skin/frontend/base/default/japi/css/flagbit_checkout.css ADDED
@@ -0,0 +1,278 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** Flagbit_Checkout **************************************************************************************************/
2
+ .step-title span.number {
3
+ width: 26px;
4
+ height: 26px;
5
+ color: #fff;
6
+ background: #333;
7
+ display: inline-block;
8
+ line-height: 26px;
9
+ text-align: center;
10
+ }
11
+ .step-title span.number + h2 {
12
+ display: inline-block;
13
+ }
14
+ #checkout-progress-wrapper {
15
+ display: none;
16
+ }
17
+ #co-billing-form #customer-options {
18
+ display: none;
19
+ }
20
+ .section .step-title {
21
+ display: block !important;
22
+ margin-bottom: 0;
23
+ }
24
+ #tab-content-item-login {
25
+ display: none;
26
+ }
27
+ .tax-container label.tax-text {
28
+ display: block;
29
+ }
30
+ #tab-content-item-address ul .form-row:first-child {
31
+ padding: 0;
32
+ }
33
+ #opc-billing .checkout-panel,
34
+ #opc-billing .billing-address-select,
35
+ #opc-billing #billing-new-address-form,
36
+ #opc-billing #tab-content-item-address fieldset.shippingaddress,
37
+ #opc-billing #tab-content-item-address fieldset.register,
38
+ #opc-billing #tab-content-item-address fieldset.newsletter,
39
+ #opc-billing #tab-content-item-address fieldset.agreements,
40
+ #opc-billing .customer-account-advantages-wrapper,
41
+ #opc-billing .checkout-customer-banner {
42
+ padding: 1em 0.5em;
43
+ }
44
+ #opc-billing fieldset.agreements label {
45
+ font-weight: normal;
46
+ margin: 0;
47
+ }
48
+ #opc-billing fieldset.agreements input.checkbox {
49
+ display: inline-block;
50
+ margin: 0;
51
+ }
52
+ #opc-billing fieldset.agreements ul li.form-row {
53
+ padding-bottom: 0.5em;
54
+ }
55
+ #opc-billing fieldset.shippingaddress input#ship_different,
56
+ #opc-billing fieldset.shippingaddress input#register,
57
+ #opc-billing fieldset.shippingaddress input#newsletter,
58
+ #opc-billing fieldset.register input#ship_different,
59
+ #opc-billing fieldset.register input#register,
60
+ #opc-billing fieldset.register input#newsletter,
61
+ #opc-billing fieldset.newsletter input#ship_different,
62
+ #opc-billing fieldset.newsletter input#register,
63
+ #opc-billing fieldset.newsletter input#newsletter {
64
+ width: auto;
65
+ }
66
+ fieldset.newsletter input {
67
+ width: auto !important;
68
+ }
69
+ fieldset.newsletter .label {
70
+ padding: 0;
71
+ color: #333;
72
+ font-size: 100%;
73
+ white-space: normal;
74
+ text-align: left;
75
+ font-weight: normal;
76
+ }
77
+ .opc-payment fieldset > .sp-methods {
78
+ box-shadow: none;
79
+ }
80
+ .shipping .sp-methods input[type=radio] {
81
+ display: inline;
82
+ }
83
+ .shipping .sp-methods label {
84
+ display: inline;
85
+ }
86
+ .payment .sp-methods {
87
+ box-shadow: none;
88
+ }
89
+ #payment_form_bankpayment table label {
90
+ display: inline;
91
+ }
92
+ .opc-payment .list-payments .radio {
93
+ margin-top: 5px;
94
+ }
95
+ .payment #order-comment {
96
+ margin: 0px;
97
+ }
98
+ #guarantee ul li {
99
+ display: table;
100
+ }
101
+ .paypal-express-review .buttons-set button,
102
+ .paypal-express-review .buttons-set .please-wait,
103
+ #opc-review .buttons-set button,
104
+ #opc-review .buttons-set .please-wait,
105
+ .paypal-express-review .buttons-set button,
106
+ .opc .buttons-set button {
107
+ float: none;
108
+ }
109
+ #opc-payment-compact .buttons-set {
110
+ display: none;
111
+ }
112
+ #opc-payment,
113
+ #opc-review {
114
+ display: block;
115
+ }
116
+ #checkout-review-table .product-review-image {
117
+ width: 22% !important;
118
+ padding: 0 0 0.5em 0;
119
+ vertical-align: top;
120
+ }
121
+ #checkout-review-table .product-review-image img {
122
+ width: 100%;
123
+ height: auto;
124
+ }
125
+ #checkout-review-table td .cell-label {
126
+ display: none;
127
+ }
128
+ #checkout-review-table tbody .product-review-description {
129
+ vertical-align: top;
130
+ padding-left: 1em;
131
+ }
132
+ #checkout-review-table tbody .product-review-description h3 {
133
+ font-size: 1em;
134
+ }
135
+ #checkout-review-table tbody .product-review-description .product-name {
136
+ margin-bottom: 5px;
137
+ }
138
+ #checkout-review-table tbody .product-price,
139
+ #checkout-review-table tbody .product-review-qty,
140
+ #checkout-review-table tbody .product-review-price {
141
+ vertical-align: top;
142
+ }
143
+ #checkout-review-table tbody tr {
144
+ padding: 0.5em 0;
145
+ }
146
+ .forgot-link {
147
+ display: none;
148
+ }
149
+ #order-comment {
150
+ margin: 1em 0 0;
151
+ }
152
+ #order-comment h3 {
153
+ margin-bottom: 10px;
154
+ }
155
+ .paypal-express-review h4,
156
+ .paypal-express-review h5,
157
+ .opc h4,
158
+ .opc h5 {
159
+ margin-bottom: 10px;
160
+ }
161
+ #opc-review .checkout-agreements .agree input {
162
+ width: auto;
163
+ display: inline;
164
+ }
165
+ #opc-review .checkout-agreements .agree label {
166
+ display: inline;
167
+ font-weight: normal;
168
+ }
169
+ .paypal-express-review .totals-container .totals-block table,
170
+ #opc-review .totals-container .totals-block table {
171
+ float: none;
172
+ }
173
+ .opc-payment li.shipping,
174
+ .opc-payment li.payment {
175
+ padding: 1em;
176
+ margin-bottom: 1em;
177
+ }
178
+ .opc-payment div.guarantee {
179
+ margin-bottom: 0;
180
+ }
181
+ .adyen-pin-only .opc-payment li.payment {
182
+ display: none;
183
+ }
184
+ .modal-agreement a[href="#top"] {
185
+ display: none;
186
+ }
187
+ .paypal-express-review #checkout-agreements.mandatory li,
188
+ #opc-review #checkout-agreements.mandatory li {
189
+ border: none;
190
+ }
191
+ #opc-review .modal-agreement .modal-body ul li {
192
+ padding: 0;
193
+ background: none;
194
+ margin: 0;
195
+ }
196
+ .buttons-set button {
197
+ padding: 10px;
198
+ border: none;
199
+ width: 100%;
200
+ font-size: 1em;
201
+ }
202
+ .totals-container button[type="submit"] {
203
+ display: none;
204
+ }
205
+ #opc-billing fieldset.shippingaddress input#ship_different {
206
+ margin-top: 0.5rem;
207
+ }
208
+ .cart-table .product-name a {
209
+ color: #333;
210
+ }
211
+ .cart-table .product-name .additional-info {
212
+ font-size: 90%;
213
+ }
214
+ .opc-billing .billing-address-select h3 {
215
+ font-size: 1em;
216
+ font-weight: bold;
217
+ margin-bottom: 1em;
218
+ }
219
+ .opc-payment .buttons-set .button,
220
+ .opc-payment .buttons-set .please-wait {
221
+ float: none;
222
+ }
223
+ .totals-block tr td:last-child {
224
+ text-align: right;
225
+ }
226
+ #opc-review #review-top {
227
+ overflow: visible;
228
+ }
229
+ #opc-review #review-top #checkout-progress-wrapper {
230
+ display: block;
231
+ }
232
+ #opc-review #review-top #checkout-progress-wrapper h4 {
233
+ display: none;
234
+ }
235
+ #opc-review #review-top .opc-block-progress-review .col-1 > div,
236
+ #opc-review #review-top .opc-block-progress-review .col-2 > div,
237
+ #opc-review #review-top .opc-block-progress-review .col-3 > div {
238
+ padding: 1em;
239
+ margin-bottom: 1em;
240
+ }
241
+ #opc-review #review-top .opc-block-progress-review .col-1 a,
242
+ #opc-review #review-top .opc-block-progress-review .col-2 a,
243
+ #opc-review #review-top .opc-block-progress-review .col-3 a {
244
+ color: #337ab7;
245
+ }
246
+ #opc-review #review-top #payment-progress-opcheckout .changelink {
247
+ display: none;
248
+ }
249
+ #opc-review .commentbox {
250
+ margin-bottom: 1em;
251
+ }
252
+ #opc-review .commentbox h3 {
253
+ font-size: 18px;
254
+ }
255
+ .tax-container.inactive {
256
+ display: none;
257
+ }
258
+ .tax-container label em {
259
+ color: #DF280A;
260
+ float: none !important;
261
+ }
262
+ .form-list .customer-dob .validation-advice {
263
+ float: left;
264
+ }
265
+ /** IPAD **************************************************************************************************************/
266
+ @media only screen and (min-device-width: 320px) and (max-device-width: 736px) {
267
+ #checkout-review-table tr,
268
+ #checkout-review-table .product-price,
269
+ #checkout-review-table .product-review-qty,
270
+ #checkout-review-table .product-review-price {
271
+ display: block;
272
+ width: 100%;
273
+ text-align: left;
274
+ }
275
+ #checkout-review-table td .cell-label {
276
+ display: inline-block;
277
+ }
278
+ }
skin/frontend/base/default/japi/css/flagbit_checkout.less ADDED
@@ -0,0 +1,351 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** Flagbit_Checkout **************************************************************************************************/
2
+ .step-title {
3
+ span.number {
4
+ width: 26px;
5
+ height: 26px;
6
+ color: #fff;
7
+ background: #333;
8
+ display: inline-block;
9
+ line-height: 26px;
10
+ text-align: center;
11
+ }
12
+ span.number + h2 {
13
+ display: inline-block;
14
+ }
15
+ }
16
+
17
+ #checkout-progress-wrapper {
18
+ display: none;
19
+ }
20
+
21
+ #co-billing-form #customer-options {
22
+ display: none;
23
+ }
24
+
25
+ .section .step-title {
26
+ display: block !important;
27
+ margin-bottom: 0;
28
+ }
29
+
30
+ #tab-content-item-login {
31
+ display: none;
32
+ }
33
+
34
+ .tax-container label.tax-text {
35
+ display: block;
36
+ }
37
+
38
+ #tab-content-item-address {
39
+ ul .form-row {
40
+
41
+ &:first-child {
42
+ padding: 0;
43
+ }
44
+ }
45
+ }
46
+
47
+ #opc-billing .checkout-panel,
48
+ #opc-billing .billing-address-select,
49
+ #opc-billing #billing-new-address-form,
50
+ #opc-billing #tab-content-item-address fieldset.shippingaddress,
51
+ #opc-billing #tab-content-item-address fieldset.register,
52
+ #opc-billing #tab-content-item-address fieldset.newsletter,
53
+ #opc-billing #tab-content-item-address fieldset.agreements,
54
+ #opc-billing .customer-account-advantages-wrapper,
55
+ #opc-billing .checkout-customer-banner {
56
+ padding: 1em 0.5em;
57
+ }
58
+
59
+ #opc-billing fieldset.agreements label {
60
+ font-weight: normal;
61
+ margin: 0;
62
+ }
63
+
64
+ #opc-billing fieldset.agreements input.checkbox {
65
+ display: inline-block;
66
+ margin: 0;
67
+ }
68
+
69
+ #opc-billing fieldset.agreements ul li.form-row {
70
+ padding-bottom: 0.5em;
71
+ }
72
+
73
+ #opc-billing fieldset.shippingaddress input#ship_different,
74
+ #opc-billing fieldset.shippingaddress input#register,
75
+ #opc-billing fieldset.shippingaddress input#newsletter,
76
+ #opc-billing fieldset.register input#ship_different,
77
+ #opc-billing fieldset.register input#register,
78
+ #opc-billing fieldset.register input#newsletter,
79
+ #opc-billing fieldset.newsletter input#ship_different,
80
+ #opc-billing fieldset.newsletter input#register,
81
+ #opc-billing fieldset.newsletter input#newsletter {
82
+ width: auto;
83
+ }
84
+
85
+ fieldset.newsletter {
86
+ input {
87
+ width: auto !important;
88
+ }
89
+ .label {
90
+ padding: 0;
91
+ color: #333;
92
+ font-size: 100%;
93
+ white-space: normal;
94
+ text-align: left;
95
+ font-weight: normal;
96
+ }
97
+ }
98
+
99
+ .opc-payment fieldset > .sp-methods {
100
+ box-shadow: none;
101
+ }
102
+
103
+ .shipping .sp-methods {
104
+ input[type=radio] {
105
+ display: inline;
106
+ }
107
+ label {
108
+ display: inline;
109
+ }
110
+ }
111
+
112
+ .payment .sp-methods {
113
+ box-shadow: none;
114
+ }
115
+
116
+ #payment_form_bankpayment table label {
117
+ display: inline;
118
+ }
119
+
120
+ .opc-payment .list-payments .radio {
121
+ margin-top: 5px;
122
+ }
123
+
124
+ .payment #order-comment {
125
+ margin: 0px;
126
+ }
127
+
128
+ #guarantee ul li {
129
+ display: table;
130
+ }
131
+
132
+ .paypal-express-review .buttons-set button,
133
+ .paypal-express-review .buttons-set .please-wait,
134
+ #opc-review .buttons-set button,
135
+ #opc-review .buttons-set .please-wait,
136
+ .paypal-express-review .buttons-set button,
137
+ .opc .buttons-set button {
138
+ float: none;
139
+ }
140
+
141
+ #opc-payment-compact .buttons-set {
142
+ display: none;
143
+ }
144
+
145
+ #opc-payment,
146
+ #opc-review {
147
+ display: block;
148
+ }
149
+
150
+ #checkout-review-table {
151
+ .product-review-image {
152
+ width: 22% !important;
153
+ padding: 0 0 0.5em 0;
154
+ vertical-align: top;
155
+ img {
156
+ width: 100%;
157
+ height: auto;
158
+ }
159
+ }
160
+ td .cell-label {
161
+ display: none;
162
+ }
163
+ tbody {
164
+ .product-review-description {
165
+ vertical-align: top;
166
+ padding-left: 1em;
167
+ h3 {
168
+ font-size: 1em;
169
+ }
170
+ .product-name {
171
+ margin-bottom: 5px;
172
+ }
173
+ }
174
+ .product-price, .product-review-qty, .product-review-price {
175
+ vertical-align: top;
176
+ }
177
+ tr {
178
+ padding: 0.5em 0;
179
+ }
180
+ }
181
+ }
182
+
183
+ .forgot-link {
184
+ display: none;
185
+ }
186
+
187
+ #order-comment {
188
+ margin: 1em 0 0;
189
+ h3 {
190
+ margin-bottom: 10px;
191
+ }
192
+ }
193
+
194
+ .paypal-express-review h4,
195
+ .paypal-express-review h5,
196
+ .opc h4,
197
+ .opc h5 {
198
+ margin-bottom: 10px;
199
+ }
200
+
201
+ #opc-review .checkout-agreements {
202
+ .agree {
203
+ input {
204
+ width: auto;
205
+ display: inline;
206
+ }
207
+ label {
208
+ display: inline;
209
+ font-weight: normal;
210
+ }
211
+ }
212
+ }
213
+
214
+ .paypal-express-review .totals-container .totals-block table,
215
+ #opc-review .totals-container .totals-block table {
216
+ float: none;
217
+ }
218
+
219
+ .opc-payment li.shipping,
220
+ .opc-payment li.payment {
221
+ padding: 1em;
222
+ margin-bottom: 1em;
223
+ }
224
+
225
+ .opc-payment div.guarantee {
226
+ margin-bottom: 0;
227
+ }
228
+
229
+ .adyen-pin-only .opc-payment li.payment {
230
+ display: none;
231
+ }
232
+
233
+ .modal-agreement a[href="#top"] {
234
+ display: none;
235
+ }
236
+
237
+ .paypal-express-review #checkout-agreements.mandatory li,
238
+ #opc-review #checkout-agreements.mandatory li {
239
+ border: none;
240
+ }
241
+
242
+ #opc-review .modal-agreement .modal-body ul li {
243
+ padding: 0;
244
+ background: none;
245
+ margin: 0;
246
+ }
247
+
248
+ .buttons-set {
249
+ button {
250
+ padding: 10px;
251
+ border: none;
252
+ width: 100%;
253
+ font-size: 1em;
254
+ }
255
+ }
256
+
257
+ .totals-container {
258
+ button[type="submit"] {
259
+ display: none;
260
+ }
261
+ }
262
+
263
+ #opc-billing fieldset.shippingaddress input#ship_different {
264
+ margin-top: 0.5rem;
265
+ }
266
+
267
+ .cart-table .product-name {
268
+ a {
269
+ color: #333
270
+ }
271
+ .additional-info {
272
+ font-size: 90%;
273
+ }
274
+ }
275
+
276
+ .opc-billing .billing-address-select h3 {
277
+ font-size: 1em;
278
+ font-weight: bold;
279
+ margin-bottom: 1em;
280
+ }
281
+
282
+ .opc-payment .buttons-set .button,
283
+ .opc-payment .buttons-set .please-wait {
284
+ float: none;
285
+ }
286
+
287
+ .totals-block {
288
+ tr td:last-child {
289
+ text-align: right;
290
+ }
291
+ }
292
+
293
+ #opc-review {
294
+ #review-top {
295
+ overflow: visible;
296
+ #checkout-progress-wrapper {
297
+ display: block;
298
+ h4 {
299
+ display: none;
300
+ }
301
+ }
302
+ .opc-block-progress-review .col-1 > div,
303
+ .opc-block-progress-review .col-2 > div,
304
+ .opc-block-progress-review .col-3 > div {
305
+ padding: 1em;
306
+ margin-bottom: 1em;
307
+ }
308
+ .opc-block-progress-review .col-1 a,
309
+ .opc-block-progress-review .col-2 a,
310
+ .opc-block-progress-review .col-3 a {
311
+ color: #337ab7;
312
+ }
313
+ #payment-progress-opcheckout .changelink {
314
+ display: none;
315
+ }
316
+ }
317
+ .commentbox {
318
+ margin-bottom: 1em;
319
+ h3 {
320
+ font-size: 18px;
321
+ }
322
+ }
323
+ }
324
+
325
+ .tax-container {
326
+ &.inactive {
327
+ display: none;
328
+ }
329
+ label em {
330
+ color: #DF280A;
331
+ float: none !important;
332
+ }
333
+ }
334
+
335
+ .form-list .customer-dob .validation-advice {
336
+ float: left;
337
+ }
338
+
339
+ /** IPAD **************************************************************************************************************/
340
+ @media only screen and (min-device-width: 320px) and (max-device-width: 736px) {
341
+ #checkout-review-table {
342
+ tr, .product-price, .product-review-qty, .product-review-price {
343
+ display: block;
344
+ width: 100%;
345
+ text-align: left;
346
+ }
347
+ td .cell-label {
348
+ display: inline-block;
349
+ }
350
+ }
351
+ }
skin/frontend/base/default/japi/css/style.css CHANGED
@@ -101,9 +101,6 @@ a:hover {
101
  padding: 0;
102
  margin: 0;
103
  }
104
- .opc .section:first-child .step-title {
105
- border-top: 1px solid #d9d9d9;
106
- }
107
  .opc .step > form,
108
  .opc .step > .order-review {
109
  padding: 1em 0 0 0;
101
  padding: 0;
102
  margin: 0;
103
  }
 
 
 
104
  .opc .step > form,
105
  .opc .step > .order-review {
106
  padding: 1em 0 0 0;
skin/frontend/base/default/japi/css/style.less CHANGED
@@ -107,10 +107,6 @@ a, a:focus, a:hover {
107
  box-shadow: none;
108
  padding: 0;
109
  margin: 0;
110
-
111
- &:first-child .step-title {
112
- border-top: 1px solid #d9d9d9;
113
- }
114
  }
115
 
116
  .step {
107
  box-shadow: none;
108
  padding: 0;
109
  margin: 0;
 
 
 
 
110
  }
111
 
112
  .step {
skin/frontend/base/default/japi/css/trollweb_kco.css ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .klarna-checkout {
2
+ padding: 1em;
3
+ }
4
+ #login-popup,
5
+ #kco_login {
6
+ display: none;
7
+ }
8
+ .page-title {
9
+ padding: 0;
10
+ }
11
+ #login-popupi h2,
12
+ #kco_login h2,
13
+ #kco_email h2,
14
+ #kco_postal h2,
15
+ #kco_shipping_available h2,
16
+ #kco_review h2,
17
+ #newsletter_coupon_wrapper h2,
18
+ #payment_kco h2 {
19
+ font-size: 1.2em;
20
+ }
21
+ #kco_review .cart #shopping-cart-table tr .product-name {
22
+ font-size: 1em;
23
+ font-weight: normal;
24
+ }
25
+ #kco_review .cart #shopping-cart-table tr .product-name a {
26
+ color: #333;
27
+ }
28
+ #kco_review .cart #shopping-cart-table td.input-wrapper {
29
+ text-align: center;
30
+ }
31
+ #kco_review a.btn-remove {
32
+ display: none;
33
+ }
34
+ #kco_newsletter label {
35
+ font-weight: normal;
36
+ }
37
+ #coupon_code_section label {
38
+ font-size: 0.9em;
39
+ font-weight: normal;
40
+ }
41
+ #coupon_code_section #coupon-code-form .input-box {
42
+ width: 100%;
43
+ }
44
+ .klarna-checkout .fancy-input .fancy-input__input {
45
+ border-width: 1px;
46
+ box-shadow: none;
47
+ }
48
+ .klarna-checkout .fancy-input .fancy-input__input:focus {
49
+ box-shadow: none;
50
+ }
51
+ #kco_login .buttons-set button,
52
+ #coupon_code_section #coupon-code-form button,
53
+ #kco_email .email-form button,
54
+ #kco_postal .postal-form button,
55
+ #kco_review .cart #shopping-cart-table tr .input-wrapper .qty-change,
56
+ input#kco_newsletter_checkbox:checked + label:before {
57
+ color: #fff;
58
+ font-size: 1em;
59
+ font-weight: normal;
60
+ border: none;
61
+ }
62
+ span.error {
63
+ padding: 0.5em;
64
+ background: #EF5350;
65
+ color: white;
66
+ display: -ms-flexbox;
67
+ display: flex;
68
+ text-align: left;
69
+ }
70
+ #kco_postal .postal-form label {
71
+ font-size: 0.9em;
72
+ font-weight: normal;
73
+ }
74
+ #kco_review .cart #shopping-cart-table tr .input-wrapper .qty-change {
75
+ height: 30px;
76
+ line-height: 30px;
77
+ width: 30px;
78
+ }
79
+ #kco_shipping_available .sp-methods {
80
+ padding: 0;
81
+ border: 0;
82
+ background-color: transparent;
83
+ }
84
+ .kco_payment {
85
+ margin-top: 3rem;
86
+ }
87
+ #payment_kco .choose_payment li {
88
+ border: 1px solid #bbb6a5;
89
+ border-bottom: none;
90
+ }
91
+ .kco_payment_form .btn-checkout {
92
+ margin: 0;
93
+ width: 100%;
94
+ font-size: 1em;
95
+ }
96
+ .klarna-checkout .main-container.suspended::after {
97
+ position: fixed;
98
+ }
99
+ .klarna-checkout .fancy-input .fancy-input__label {
100
+ top: 5px;
101
+ font-size: 0.9em;
102
+ }
103
+ #payment_kco .choose_payment li label {
104
+ margin-bottom: 1px;
105
+ }
106
+ #kco_review .cart #shopping-cart-table tr {
107
+ border-bottom: 1px solid #ccc;
108
+ }
109
+ #kco_shipping_available .sp-methods label {
110
+ display: block;
111
+ }
112
+ #kco_form {
113
+ padding: 0;
114
+ }
skin/frontend/base/default/japi/css/trollweb_kco.less ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .klarna-checkout {
2
+ padding: 1em;
3
+ }
4
+
5
+ #login-popup, #kco_login {
6
+ display: none;
7
+ }
8
+
9
+ .page-title {
10
+ padding: 0;
11
+ }
12
+
13
+ #login-popupi h2,
14
+ #kco_login h2,
15
+ #kco_email h2,
16
+ #kco_postal h2,
17
+ #kco_shipping_available h2,
18
+ #kco_review h2,
19
+ #newsletter_coupon_wrapper h2,
20
+ #payment_kco h2 {
21
+ font-size: 1.2em;
22
+ }
23
+
24
+ #kco_review {
25
+ .cart #shopping-cart-table tr .product-name {
26
+ font-size: 1em;
27
+ font-weight: normal;
28
+ a {
29
+ color: #333;
30
+ }
31
+ }
32
+ .cart #shopping-cart-table td.input-wrapper {
33
+ text-align: center;
34
+ }
35
+ a.btn-remove {
36
+ display: none;
37
+ }
38
+ }
39
+
40
+ #kco_newsletter {
41
+ label {
42
+ font-weight: normal;
43
+ }
44
+ }
45
+
46
+ #coupon_code_section {
47
+ label {
48
+ font-size: 0.9em;
49
+ font-weight: normal;
50
+ }
51
+ #coupon-code-form .input-box {
52
+ width: 100%;
53
+ }
54
+ }
55
+
56
+ .klarna-checkout .fancy-input .fancy-input__input {
57
+ border-width: 1px;
58
+ box-shadow: none;
59
+ &:focus {
60
+ box-shadow: none;
61
+ }
62
+ }
63
+
64
+ #kco_login .buttons-set button,
65
+ #coupon_code_section #coupon-code-form button,
66
+ #kco_email .email-form button,
67
+ #kco_postal .postal-form button,
68
+ #kco_review .cart #shopping-cart-table tr .input-wrapper .qty-change,
69
+ input#kco_newsletter_checkbox:checked + label:before {
70
+ color: #fff;
71
+ font-size: 1em;
72
+ font-weight: normal;
73
+ border: none;
74
+ }
75
+
76
+ span.error {
77
+ padding: 0.5em;
78
+ background: #EF5350;
79
+ color: white;
80
+ display: -ms-flexbox;
81
+ display: flex;
82
+ text-align: left;
83
+ }
84
+
85
+ #kco_postal .postal-form label {
86
+ font-size: 0.9em;
87
+ font-weight: normal;
88
+ }
89
+
90
+ #kco_review .cart #shopping-cart-table tr .input-wrapper .qty-change {
91
+ height: 30px;
92
+ line-height: 30px;
93
+ width: 30px;
94
+ }
95
+
96
+ #kco_shipping_available .sp-methods {
97
+ padding: 0;
98
+ border: 0;
99
+ background-color: transparent;
100
+ }
101
+
102
+ .kco_payment {
103
+ margin-top: 3rem;
104
+ }
105
+
106
+ #payment_kco .choose_payment li {
107
+ border: 1px solid #bbb6a5;
108
+ border-bottom: none;
109
+ }
110
+
111
+ .kco_payment_form .btn-checkout {
112
+ margin: 0;
113
+ width: 100%;
114
+ font-size: 1em;
115
+ }
116
+
117
+ .klarna-checkout .main-container.suspended::after {
118
+ position: fixed;
119
+ }
120
+
121
+ .klarna-checkout .fancy-input .fancy-input__label {
122
+ top: 5px;
123
+ font-size: 0.9em;
124
+ }
125
+
126
+ #payment_kco .choose_payment li label {
127
+ margin-bottom: 1px;
128
+ }
129
+
130
+ #kco_review .cart #shopping-cart-table tr {
131
+ border-bottom: 1px solid #ccc;
132
+ }
133
+
134
+ #kco_shipping_available .sp-methods label {
135
+ display: block;
136
+ }
137
+
138
+ #kco_form {
139
+ padding: 0;
140
+ }
skin/frontend/base/default/japi/js/checkout.js CHANGED
@@ -328,6 +328,9 @@ var JMAgreement = Class.create({
328
 
329
  initModals: function () {
330
  this.form.select('div.modal').each(function (modal) {
 
 
 
331
  JMango(modal).modal({
332
  show: false
333
  });
@@ -613,4 +616,62 @@ document.observe('dom:loaded', function () {
613
  $('shipping-method-buttons-container').show();
614
  };
615
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
616
  });
328
 
329
  initModals: function () {
330
  this.form.select('div.modal').each(function (modal) {
331
+ JMango(modal).find('a').click(function (e) {
332
+ e.preventDefault();
333
+ });
334
  JMango(modal).modal({
335
  show: false
336
  });
616
  $('shipping-method-buttons-container').show();
617
  };
618
  }
619
+ });
620
+
621
+ Event.observe(document, "dom:loaded", function () {
622
+ if (typeof Checkout != 'undefined' && Checkout.prototype.disallowSection) {
623
+ Checkout.addMethods({
624
+ setStepResponse: function (response) {
625
+ //$$('.main-container').first().scrollTo();
626
+ if (response.update_section) {
627
+ $('checkout-' + response.update_section.name + '-load').update(response.update_section.html);
628
+ this.assignDisallowEvent('checkout-' + response.update_section.name + '-load');
629
+ }
630
+ //JMANGO360: Disable product's link in cart table
631
+ if ($$('.cart-table').length) {
632
+ $$('.cart-table').each(function (table) {
633
+ $(table).select('a').each(function (a) {
634
+ $(a).observe('click', function (e) {
635
+ e.preventDefault();
636
+ });
637
+ });
638
+ });
639
+ }
640
+ //END
641
+ if (response.allow_sections) {
642
+ response.allow_sections.each(function (e) {
643
+ $('opc-' + e).addClassName('allow');
644
+ });
645
+ }
646
+ if (response.duplicateBillingInfo) {
647
+ this.syncBillingShipping = true;
648
+ shipping.setSameAsBilling(true);
649
+ }
650
+ if (response.goto_section) {
651
+ this.gotoSection(response.goto_section, false);
652
+ //JMANGO360: Apply scroll to section
653
+ var top = JMango('#opc-' + response.goto_section).offset().top;
654
+ if (typeof scrollTo == 'function') {
655
+ scrollTo(top);
656
+ } else {
657
+ JMango('html, body').animate({
658
+ scrollTop: top
659
+ });
660
+ }
661
+ //END
662
+ if (response.messages) {
663
+ response.messages.forEach(function (message, i) {
664
+ jsHelper.displayMessage(message.message, message.type);
665
+ });
666
+ }
667
+ return true;
668
+ }
669
+ if (response.redirect) {
670
+ location.href = response.redirect;
671
+ return true;
672
+ }
673
+ return false;
674
+ }
675
+ });
676
+ }
677
  });