Jmango360_Japi - Version 3.0.4

Version Notes

* Bug fixes

Download this release

Release Info

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


Code changes from version 3.0.3 to 3.0.4

app/code/community/Jmango360/Japi/Block/Banner.php CHANGED
@@ -5,6 +5,35 @@
5
  */
6
  class Jmango360_Japi_Block_Banner extends Mage_Core_Block_Template
7
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  public function getIcon($icon = null)
9
  {
10
  if (!$icon) return '';
5
  */
6
  class Jmango360_Japi_Block_Banner extends Mage_Core_Block_Template
7
  {
8
+ /**
9
+ * Check to show banner
10
+ *
11
+ * @return bool
12
+ */
13
+ public function isShow()
14
+ {
15
+ $request = Mage::app()->getRequest();
16
+ if ($request->getModuleName() == 'japi') return false;
17
+
18
+ /* @var $server Jmango360_Japi_Model_Server */
19
+ $server = Mage::getSingleton('japi/server');
20
+ if ($server->getIsRest()) return false;
21
+
22
+ if (!Mage::getStoreConfigFlag('japi/jmango_smart_app_banner/enable')) return false;
23
+
24
+ /* @var $httpHelper Mage_Core_Helper_Http */
25
+ $httpHelper = Mage::helper('core/http');
26
+ if (strpos($httpHelper->getHttpUserAgent(), 'JM360-Mobile') !== false) return false;
27
+
28
+ return true;
29
+ }
30
+
31
+ /**
32
+ * Get app icon base on OS
33
+ *
34
+ * @param null $icon
35
+ * @return mixed|string
36
+ */
37
  public function getIcon($icon = null)
38
  {
39
  if (!$icon) return '';
app/code/community/Jmango360/Japi/Block/Checkout/Onepage.php CHANGED
@@ -3,7 +3,12 @@
3
  /**
4
  * Copyright 2015 JMango360
5
  */
6
- class Jmango360_Japi_Block_Checkout_Onepage extends Mage_Checkout_Block_Onepage
7
- {
8
-
9
- }
 
 
 
 
 
3
  /**
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
+ } else {
11
+ class Jmango360_Japi_Block_Checkout_Onepage extends Mage_Checkout_Block_Onepage
12
+ {
13
+ }
14
+ }
app/code/community/Jmango360/Japi/Helper/Js.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jmango360_Japi_Helper_Js extends Mage_Core_Helper_Js
4
+ {
5
+
6
+ }
app/code/community/Jmango360/Japi/Helper/Product.php CHANGED
@@ -373,14 +373,43 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
373
  * Apply filter 'hide_in_jm360'
374
  *
375
  * @param Mage_Catalog_Model_Resource_Product_Collection $collection
 
376
  */
377
  public function applyHideOnAppFilter($collection)
378
  {
379
- if (!$collection) return;
 
380
  $collection->addAttributeToFilter(array(
381
  array('attribute' => 'hide_in_jm360', 'null' => true),
382
  array('attribute' => 'hide_in_jm360', 'eq' => 0)
383
  ), null, 'left');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  }
385
 
386
  /**
@@ -930,6 +959,7 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
930
 
931
  /**
932
  * Remove: &nbsp;
 
933
  *
934
  * @param string $html
935
  * @return string
@@ -937,7 +967,11 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
937
  protected function _cleanHtml($html)
938
  {
939
  if (!$html) return $html;
940
- return str_replace('&nbsp; ', ' ', str_replace('&nbsp;&nbsp;', ' ', $html));
 
 
 
 
941
  }
942
 
943
  /**
@@ -1759,4 +1793,159 @@ class Jmango360_Japi_Helper_Product extends Mage_Core_Helper_Abstract
1759
  {
1760
  return $this->_getProductImage($product);
1761
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1762
  }
373
  * Apply filter 'hide_in_jm360'
374
  *
375
  * @param Mage_Catalog_Model_Resource_Product_Collection $collection
376
+ * @return Mage_Catalog_Model_Resource_Product_Collection|null
377
  */
378
  public function applyHideOnAppFilter($collection)
379
  {
380
+ if (!$collection) return null;
381
+
382
  $collection->addAttributeToFilter(array(
383
  array('attribute' => 'hide_in_jm360', 'null' => true),
384
  array('attribute' => 'hide_in_jm360', 'eq' => 0)
385
  ), null, 'left');
386
+
387
+ return $collection;
388
+ }
389
+
390
+ /**
391
+ * Apply filter product types: simple, configurable, grouped, bundle
392
+ *
393
+ * @param Mage_Catalog_Model_Resource_Product_Collection $collection
394
+ * @return Mage_Catalog_Model_Resource_Product_Collection|null
395
+ */
396
+ public function applySupportedProductTypes($collection)
397
+ {
398
+ if (!$collection) return null;
399
+
400
+ /* @var $resource Mage_Core_Model_Resource */
401
+ $resource = Mage::getSingleton('core/resource');
402
+ $collection->getSelect()
403
+ ->join(
404
+ array('p' => $resource->getTableName('catalog/product')),
405
+ sprintf(
406
+ 'e.entity_id = p.entity_id AND p.type_id IN (%s)',
407
+ join(',', array('"simple"', '"configurable"', '"grouped"', '"bundle"'))
408
+ ),
409
+ null
410
+ );
411
+
412
+ return $collection;
413
  }
414
 
415
  /**
959
 
960
  /**
961
  * Remove: &nbsp;
962
+ * Convert: nl2br
963
  *
964
  * @param string $html
965
  * @return string
967
  protected function _cleanHtml($html)
968
  {
969
  if (!$html) return $html;
970
+
971
+ $html = str_replace('&nbsp; ', ' ', str_replace('&nbsp;&nbsp;', ' ', $html));
972
+ $html = nl2br($html);
973
+
974
+ return $html;
975
  }
976
 
977
  /**
1793
  {
1794
  return $this->_getProductImage($product);
1795
  }
1796
+
1797
+ /**
1798
+ * Support Emico_Tweakwise catalog storage engine
1799
+ *
1800
+ * @param bool $isSearch Is search API
1801
+ * @return array
1802
+ * @throws Jmango360_Japi_Exception
1803
+ */
1804
+ public function getProductCollectionFromEmicoTweakwise($isSearch = false)
1805
+ {
1806
+ if (!$this->isModuleEnabled('Emico_Tweakwise') || !$this->isModuleEnabled('Emico_TweakwiseExport')) {
1807
+ throw new Jmango360_Japi_Exception(
1808
+ $this->__('Module(s) %s not found.', 'Emico_Tweakwise, Emico_TweakwiseExport'),
1809
+ Jmango360_Japi_Model_Request::HTTP_INTERNAL_ERROR
1810
+ );
1811
+ }
1812
+
1813
+ /* @var $emicoExportHelper Emico_TweakwiseExport_Helper_Data */
1814
+ $emicoExportHelper = Mage::helper('emico_tweakwiseexport');
1815
+
1816
+ /* @var $layer Emico_Tweakwise_Model_Catalog_Layer */
1817
+ $layer = Mage::getSingleton('emico_tweakwise/catalog_layer');
1818
+
1819
+ $products = $layer->getProducts();
1820
+ $ids = array();
1821
+ foreach ($products as $product) {
1822
+ if ($product instanceof Emico_Tweakwise_Model_Bus_Type_Item) {
1823
+ $ids[] = $emicoExportHelper->fromStoreId($product->getId());
1824
+ } elseif ($product->getId()) {
1825
+ $ids[] = $product->getId();
1826
+ }
1827
+ }
1828
+
1829
+ if (empty($ids)) {
1830
+ $ids[] = 0;
1831
+ }
1832
+
1833
+ /* @var $category Mage_Catalog_Model_Category */
1834
+ if ($isSearch) {
1835
+ $category = Mage::getModel('catalog/category');
1836
+ } else {
1837
+ $category = Mage::registry('current_category');
1838
+ }
1839
+
1840
+ /* @var $productCollection Mage_Catalog_Model_Resource_Product_Collection */
1841
+ $productCollection = Mage::getResourceModel('catalog/product_collection')
1842
+ ->setStoreId(Mage::app()->getStore()->getId())
1843
+ ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
1844
+ ->addMinimalPrice()
1845
+ ->addFinalPrice()
1846
+ ->addTaxPercents()
1847
+ ->addIdFilter($ids);
1848
+
1849
+ if ($category->getId()) {
1850
+ $productCollection->addCategoryFilter($category)
1851
+ ->addUrlRewrite($category->getId());
1852
+ }
1853
+
1854
+ Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($productCollection);
1855
+ Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($productCollection);
1856
+ $this->applySupportedProductTypes($productCollection);
1857
+ $this->applyHideOnAppFilter($productCollection);
1858
+
1859
+ /**
1860
+ * Keep collection ordered
1861
+ */
1862
+ $orderString = array('CASE e.entity_id');
1863
+ foreach ($ids as $i => $id) {
1864
+ $orderString[] = 'WHEN ' . $id . ' THEN ' . $i;
1865
+ }
1866
+ $orderString[] = 'END';
1867
+ $orderString = implode(' ', $orderString);
1868
+ $productCollection->getSelect()->order(new Zend_Db_Expr($orderString));
1869
+
1870
+ if (!$productCollection->getSize()) {
1871
+ $data['message'] = Mage::helper('japi')->__($isSearch ? 'Your search returns no results.' : 'No products found.');
1872
+ }
1873
+
1874
+ /**
1875
+ * Get filters (facets)
1876
+ */
1877
+ $requestParams = Mage::helper('japi')->getRequest()->getParams();
1878
+ foreach ($layer->getFacets() as $facet) {
1879
+ if ($facet->getFacetSettings()->getIsVisible()) {
1880
+ if (!$facet->isCategory() && !$facet->isTree() && !$facet->isSlider()) {
1881
+ if (count($facet->getAttributes()) > 0) {
1882
+ $facetSettings = $facet->getFacetSettings();
1883
+ $code = $facetSettings->getUrlKey();
1884
+
1885
+ /**
1886
+ * Simple logic to not support multiselect filter
1887
+ */
1888
+ if (array_key_exists($code, $requestParams)) continue;
1889
+
1890
+ $filter = array(
1891
+ 'name' => Mage::helper('catalog')->__($facetSettings->getTitle()),
1892
+ 'code' => $code
1893
+ );
1894
+ foreach ($facet->getAttributes() as $item) {
1895
+ $label = Zend_Filter::filterStatic(
1896
+ $facetSettings->getPrefix() . ' ' . $item->getTitle() . ' ' . $facetSettings->getPostfix(),
1897
+ 'StringTrim'
1898
+ );
1899
+ $filter['items'][] = array(
1900
+ 'label' => $label,
1901
+ 'value' => $item->getTitle(),
1902
+ 'count' => $item->getNumberOfResults()
1903
+ );
1904
+ }
1905
+
1906
+ $data['filters'][] = $filter;
1907
+ }
1908
+ }
1909
+ }
1910
+ }
1911
+
1912
+ /**
1913
+ * Get paging data
1914
+ */
1915
+ $responseProperties = $layer->getTweakwiseResponse()->getProperties();
1916
+ $toolbarInfo = array(
1917
+ 'current_page_num' => $responseProperties->getCurrentPage(),
1918
+ 'last_page_num' => $responseProperties->getNumberOfPages(),
1919
+ 'current_limit' => $responseProperties->getPageSize(),
1920
+ 'available_limit' => null,
1921
+ 'current_order' => null,
1922
+ 'current_direction' => null
1923
+ );
1924
+ foreach ($responseProperties->getSortFields() as $sortField) {
1925
+ $toolbarInfo['available_orders'][$sortField->getTitle()] = Mage::helper('catalog')->__($sortField->getDisplayTitle());
1926
+ if ($sortField->getIsSelected()) {
1927
+ $toolbarInfo['current_order'] = $sortField->getTitle();
1928
+ $toolbarInfo['current_direction'] = strtolower($sortField->getOrder());
1929
+ }
1930
+ }
1931
+ if (empty($toolbarInfo['available_orders'])) {
1932
+ $toolbarInfo['available_orders'] = null;
1933
+ }
1934
+ if (empty($toolbarInfo['current_order'])) {
1935
+ foreach ($responseProperties->getSortFields() as $sortField) {
1936
+ if ($responseProperties->getPageUrl() == $sortField->getUrl()) {
1937
+ $toolbarInfo['current_order'] = $sortField->getTitle();
1938
+ $toolbarInfo['current_direction'] = strtolower($sortField->getOrder());
1939
+ }
1940
+ }
1941
+ }
1942
+ $data['toolbar_info'] = $toolbarInfo;
1943
+
1944
+ /**
1945
+ * Get products data
1946
+ */
1947
+ $data['products'] = $this->convertProductCollectionToApiResponseV2($productCollection);
1948
+
1949
+ return $data;
1950
+ }
1951
  }
app/code/community/Jmango360/Japi/Model/Observer.php CHANGED
@@ -110,6 +110,12 @@ class Jmango360_Japi_Model_Observer
110
  }
111
  }
112
 
 
 
 
 
 
 
113
  public function setOrderIdToHeader()
114
  {
115
  /* @var $server Jmango360_Japi_Model_Server */
@@ -118,6 +124,9 @@ class Jmango360_Japi_Model_Observer
118
  /* @var $session Mage_Checkout_Model_Session */
119
  $session = Mage::getSingleton('checkout/session');
120
  $lastRealOrderId = $session->getLastRealOrderId();
 
 
 
121
  if ($lastRealOrderId) {
122
  Mage::app()->getFrontController()->getResponse()->setHeader('Last-Real-Order-Id', $lastRealOrderId, true);
123
  }
@@ -139,6 +148,9 @@ class Jmango360_Japi_Model_Observer
139
  /* @var $session Mage_Checkout_Model_Session */
140
  $session = Mage::getSingleton('checkout/session');
141
  $lastRealOrderId = $session->getLastRealOrderId();
 
 
 
142
  if ($lastRealOrderId) {
143
  $block = $layout->createBlock('core/text');
144
  $block->setText(sprintf('<meta name="%s" content="%s">', 'last-real-order-id', $lastRealOrderId));
@@ -542,22 +554,6 @@ class Jmango360_Japi_Model_Observer
542
  }
543
  }
544
 
545
- /**
546
- * Support TIG_PostNL
547
- *
548
- * @param Varien_Event_Observer $observer
549
- * @return $this
550
- */
551
- public function TIG_PostNL__saveOrderOptions(Varien_Event_Observer $observer)
552
- {
553
- if (!Mage::helper('core')->isModuleEnabled('TIG_PostNL'))
554
- return $this;
555
-
556
- /* @var $obj TIG_PostNL_Model_DeliveryOptions_Observer_UpdatePostnlOrder */
557
- $obj = Mage::getSingleton('postnl_deliveryoptions/observer_updatePostnlOrder');
558
- $obj->saveOptions($observer);
559
- }
560
-
561
  /**
562
  * Support Vaimo_Klarna
563
  *
@@ -628,4 +624,62 @@ class Jmango360_Japi_Model_Observer
628
  $obj->applyLandingPageModelRewrites($observer);
629
  }
630
  }
631
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  }
111
  }
112
 
113
+ protected function _getOrderIncrementIdById($orderId)
114
+ {
115
+ if (!$orderId) return null;
116
+ return Mage::getResourceModel('sales/order')->getIncrementId($orderId);
117
+ }
118
+
119
  public function setOrderIdToHeader()
120
  {
121
  /* @var $server Jmango360_Japi_Model_Server */
124
  /* @var $session Mage_Checkout_Model_Session */
125
  $session = Mage::getSingleton('checkout/session');
126
  $lastRealOrderId = $session->getLastRealOrderId();
127
+ if (!$lastRealOrderId) {
128
+ $lastRealOrderId = $this->_getOrderIncrementIdById($session->getLastOrderId());
129
+ }
130
  if ($lastRealOrderId) {
131
  Mage::app()->getFrontController()->getResponse()->setHeader('Last-Real-Order-Id', $lastRealOrderId, true);
132
  }
148
  /* @var $session Mage_Checkout_Model_Session */
149
  $session = Mage::getSingleton('checkout/session');
150
  $lastRealOrderId = $session->getLastRealOrderId();
151
+ if (!$lastRealOrderId) {
152
+ $lastRealOrderId = $this->_getOrderIncrementIdById($session->getLastOrderId());
153
+ }
154
  if ($lastRealOrderId) {
155
  $block = $layout->createBlock('core/text');
156
  $block->setText(sprintf('<meta name="%s" content="%s">', 'last-real-order-id', $lastRealOrderId));
554
  }
555
  }
556
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
557
  /**
558
  * Support Vaimo_Klarna
559
  *
624
  $obj->applyLandingPageModelRewrites($observer);
625
  }
626
  }
627
+
628
+ /**
629
+ * MPLUGIN-1412: Support Kega_Checkout
630
+ *
631
+ * @param Varien_Event_Observer $observer
632
+ * @return $this
633
+ */
634
+ public function controllerActionPredispatchCheckoutOnepageSaveShippingMethod(Varien_Event_Observer $observer)
635
+ {
636
+ if (Mage::helper('core')->isModuleEnabled('Kega_Checkout')) {
637
+ /* @var $obj Kega_Checkout_Model_Onepage_Observer */
638
+ $obj = Mage::getSingleton('kega_checkout/onepage_observer');
639
+
640
+ if (method_exists($obj, 'correctAddressData')) {
641
+ $obj->correctAddressData($observer);
642
+ }
643
+
644
+ if (method_exists($obj, 'saveShippingAddress')) {
645
+ $obj->saveShippingAddress($observer);
646
+ }
647
+ }
648
+
649
+ if (Mage::helper('core')->isModuleEnabled('Kega_StorePickup')) {
650
+ /* @var $obj Kega_StorePickup_Model_Observer */
651
+ $obj = Mage::getSingleton('storepickup/observer');
652
+
653
+ if (method_exists($obj, 'saveStorePickupToQuote')) {
654
+ $obj->saveStorePickupToQuote($observer);
655
+ }
656
+ }
657
+ }
658
+
659
+ /**
660
+ * Support TIG_PostNL
661
+ *
662
+ * @param Varien_Event_Observer $observer
663
+ * @return $this
664
+ */
665
+ public function controllerActionPostdispatchCheckoutOnepageSaveShippingMethod(Varien_Event_Observer $observer)
666
+ {
667
+ if (Mage::helper('core')->isModuleEnabled('TIG_PostNL')) {
668
+ /* @var $obj TIG_PostNL_Model_DeliveryOptions_Observer_UpdatePostnlOrder */
669
+ $obj = Mage::getSingleton('postnl_deliveryoptions/observer_updatePostnlOrder');
670
+
671
+ if (method_exists($obj, 'saveOptions')) {
672
+ $obj->saveOptions($observer);
673
+ }
674
+ }
675
+
676
+ if (Mage::helper('core')->isModuleEnabled('Kega_Checkout')) {
677
+ /* @var $obj Kega_Checkout_Model_Onepage_Observer */
678
+ $obj = Mage::getSingleton('kega_checkout/onepage_observer');
679
+
680
+ if (method_exists($obj, 'applyShippingErrors')) {
681
+ $obj->applyShippingErrors($observer);
682
+ }
683
+ }
684
+ }
685
+ }
app/code/community/Jmango360/Japi/Model/Rest/Product/List.php CHANGED
@@ -10,6 +10,10 @@ class Jmango360_Japi_Model_Rest_Product_List extends Jmango360_Japi_Model_Rest_C
10
  $helper = Mage::helper('japi/product');
11
 
12
  if (is_object($category) && $category->getId()) {
 
 
 
 
13
  $block = $this->_getListBlock();
14
  $productCollection = $block->getLayer()->getProductCollection();
15
  Mage::helper('japi/product')->applyHideOnAppFilter($productCollection);
10
  $helper = Mage::helper('japi/product');
11
 
12
  if (is_object($category) && $category->getId()) {
13
+ if ($helper->isModuleEnabled('Emico_Tweakwise')) {
14
+ return $helper->getProductCollectionFromEmicoTweakwise();
15
+ }
16
+
17
  $block = $this->_getListBlock();
18
  $productCollection = $block->getLayer()->getProductCollection();
19
  Mage::helper('japi/product')->applyHideOnAppFilter($productCollection);
app/code/community/Jmango360/Japi/Model/Rest/Product/Search.php CHANGED
@@ -11,10 +11,16 @@ class Jmango360_Japi_Model_Rest_Product_Search extends Jmango360_Japi_Model_Rest
11
  $searchHelper = Mage::helper('catalogsearch');
12
  /* @var $query Mage_CatalogSearch_Model_Query */
13
  $query = $searchHelper->getQuery();
 
 
14
 
15
  $query->setStoreId(Mage::app()->getStore()->getId());
16
  $data = array();
17
  if ($query->getQueryText() != '') {
 
 
 
 
18
  if ($searchHelper->isMinQueryLength()) {
19
  $query->setId(0)
20
  ->setIsActive(1)
@@ -29,12 +35,10 @@ class Jmango360_Japi_Model_Rest_Product_Search extends Jmango360_Japi_Model_Rest
29
  $query->prepare();
30
  }
31
 
32
- $helper = Mage::helper('japi/product');
33
- /* @var $helper Jmango360_Japi_Helper_Product */
34
  $block = $this->_getSearchLayerBlock();
35
  /* @var $productCollection Mage_Catalog_Model_Resource_Product_Collection */
36
  $productCollection = $block->getLayer()->getProductCollection();
37
- Mage::helper('japi/product')->applyHideOnAppFilter($productCollection);
38
 
39
  /* @var $resource Mage_Core_Model_Resource */
40
  $resource = Mage::getSingleton('core/resource');
11
  $searchHelper = Mage::helper('catalogsearch');
12
  /* @var $query Mage_CatalogSearch_Model_Query */
13
  $query = $searchHelper->getQuery();
14
+ /* @var $helper Jmango360_Japi_Helper_Product */
15
+ $helper = Mage::helper('japi/product');
16
 
17
  $query->setStoreId(Mage::app()->getStore()->getId());
18
  $data = array();
19
  if ($query->getQueryText() != '') {
20
+ if ($helper->isModuleEnabled('Emico_Tweakwise')) {
21
+ return $helper->getProductCollectionFromEmicoTweakwise(true);
22
+ }
23
+
24
  if ($searchHelper->isMinQueryLength()) {
25
  $query->setId(0)
26
  ->setIsActive(1)
35
  $query->prepare();
36
  }
37
 
 
 
38
  $block = $this->_getSearchLayerBlock();
39
  /* @var $productCollection Mage_Catalog_Model_Resource_Product_Collection */
40
  $productCollection = $block->getLayer()->getProductCollection();
41
+ $helper->applyHideOnAppFilter($productCollection);
42
 
43
  /* @var $resource Mage_Core_Model_Resource */
44
  $resource = Mage::getSingleton('core/resource');
app/code/community/Jmango360/Japi/controllers/CheckoutController.php CHANGED
@@ -339,6 +339,77 @@ class Jmango360_Japi_CheckoutController extends Mage_Checkout_OnepageController
339
  </reference>";
340
  }
341
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
342
  if (Mage::getEdition() == Mage::EDITION_ENTERPRISE) {
343
  $xml .= "
344
  <reference name=\"content\">
339
  </reference>";
340
  }
341
 
342
+ if ($helper->isModuleEnabled('Kega_Checkout')) {
343
+ $xml .= "
344
+ <reference name=\"head\">
345
+ <action method=\"addItem\">
346
+ <type>skin_js</type>
347
+ <name>js/kega_theme/vendor/magnific.popup.min.js</name>
348
+ </action>
349
+ <action method=\"addItem\">
350
+ <type>skin_js</type>
351
+ <name>js/kega_checkout/main.js</name>
352
+ </action>
353
+ <action method=\"addItem\">
354
+ <type>skin_js</type>
355
+ <name>js/kega_form/main.js</name>
356
+ </action>
357
+ <action method=\"addItem\">
358
+ <type>skin_js</type>
359
+ <name>js/terstal_form/main.js</name>
360
+ </action>
361
+ <action method=\"addItem\">
362
+ <type>skin_js</type>
363
+ <name>js/kega_form/address-search.js</name>
364
+ </action>
365
+ </reference>
366
+ <reference name=\"checkout.onepage.billing\">
367
+ <action method=\"setTemplate\">
368
+ <template>kega_checkout/onepage/billing.phtml</template>
369
+ </action>
370
+ <block type=\"checkout/onepage\" name=\"newsletter_subscription\"
371
+ template=\"kega_checkout/onepage/newsletter_subscription.phtml\" />
372
+ <block type=\"core/text_list\" name=\"checkout_billing_before_form\"/>
373
+ <block type=\"core/text_list\" name=\"checkout_after_before_form\"/>
374
+ </reference>
375
+ <reference name=\"checkout.onepage.shipping_method\">
376
+ <remove name=\"checkout.onepage.shipping_method.additional\"/>
377
+ </reference>
378
+ <reference name=\"checkout.onepage.shipping_method.available\">
379
+ <action method=\"setTemplate\">
380
+ <template>kega_checkout/onepage/shipping_method/available.phtml</template>
381
+ </action>
382
+ </reference>
383
+ <reference name=\"checkout.onepage.payment\">
384
+ <action method=\"setTemplate\">
385
+ <template>japi/kega_checkout/onepage/payment.phtml</template>
386
+ </action>
387
+ </reference>
388
+ <reference name=\"checkout.onepage.payment.additional\">
389
+ <block type=\"checkout/agreements\" name=\"checkout.onepage.agreements\" as=\"additional\"
390
+ template=\"japi/checkout/onepage/agreements.phtml\"/>
391
+ </reference>
392
+ <reference name=\"before_body_end\">
393
+ <block type=\"kega_form/attributes\" name=\"kega.form.attributes\" template=\"kega_form/attributes.phtml\"/>
394
+ <block type=\"kega_form/address_search\" name=\"address_search\" template=\"kega_form/address-search.phtml\"/>
395
+ </reference>";
396
+ }
397
+
398
+ if ($helper->isModuleEnabled('Kega_StorePickup')) {
399
+ $xml .= "
400
+ <reference name=\"head\">
401
+ <block type=\"core/template\" name=\"google.maps.js\" template=\"kega_store/js/maps.phtml\"/>
402
+ <action method=\"addItem\">
403
+ <type>skin_js</type>
404
+ <name>js/kega_storepickup/main.js</name>
405
+ </action>
406
+ </reference>
407
+ <reference name=\"checkout.onepage.shipping_method.available\">
408
+ <block type=\"storepickup/checkout_onepage_shipping_storepickup_storelist\" name=\"kega_storepickup_delivery\"
409
+ template=\"kega_storepickup/form.phtml\"/>
410
+ </reference>";
411
+ }
412
+
413
  if (Mage::getEdition() == Mage::EDITION_ENTERPRISE) {
414
  $xml .= "
415
  <reference name=\"content\">
app/code/community/Jmango360/Japi/etc/config.xml CHANGED
@@ -7,7 +7,7 @@
7
  <config>
8
  <modules>
9
  <Jmango360_Japi>
10
- <version>3.0.3</version>
11
  </Jmango360_Japi>
12
  </modules>
13
 
@@ -93,21 +93,20 @@
93
  </vaimo_klarna>
94
  </observers>
95
  </controller_action_predispatch_checkout_klarna_success>
96
- <!--controller_action_predispatch_japi_checkout_onepage>
97
  <observers>
98
- <vaimo_klarna>
99
- <type>singleton</type>
100
  <class>japi/observer</class>
101
- <method>Vaimo_Klarna__checkLaunchKlarnaCheckout</method>
102
- </vaimo_klarna>
103
  </observers>
104
- </controller_action_predispatch_japi_checkout_onepage-->
105
  <controller_action_postdispatch_japi_checkout_saveShippingMethod>
106
  <observers>
107
  <tig_postnl>
108
  <type>singleton</type>
109
  <class>japi/observer</class>
110
- <method>TIG_PostNL__saveOrderOptions</method>
111
  </tig_postnl>
112
  </observers>
113
  </controller_action_postdispatch_japi_checkout_saveShippingMethod>
7
  <config>
8
  <modules>
9
  <Jmango360_Japi>
10
+ <version>3.0.4</version>
11
  </Jmango360_Japi>
12
  </modules>
13
 
93
  </vaimo_klarna>
94
  </observers>
95
  </controller_action_predispatch_checkout_klarna_success>
96
+ <controller_action_predispatch_japi_checkout_saveShippingMethod>
97
  <observers>
98
+ <kega_checkout_correctaddressdata>
 
99
  <class>japi/observer</class>
100
+ <method>controllerActionPredispatchCheckoutOnepageSaveShippingMethod</method>
101
+ </kega_checkout_correctaddressdata>
102
  </observers>
103
+ </controller_action_predispatch_japi_checkout_saveShippingMethod>
104
  <controller_action_postdispatch_japi_checkout_saveShippingMethod>
105
  <observers>
106
  <tig_postnl>
107
  <type>singleton</type>
108
  <class>japi/observer</class>
109
+ <method>controllerActionPostdispatchCheckoutOnepageSaveShippingMethod</method>
110
  </tig_postnl>
111
  </observers>
112
  </controller_action_postdispatch_japi_checkout_saveShippingMethod>
app/design/frontend/base/default/layout/jmango360_japi.xml CHANGED
@@ -44,7 +44,7 @@
44
  <action method="addItem"><type>skin_js</type><file>japi/lib/bootstrap/js/modal.js</file></action>
45
  <action method="addItem"><type>skin_js</type><file>japi/lib/scrollto/scrollTo.js</file></action>
46
  <action method="addItem"><type>skin_js</type><file>js/opcheckout.js</file></action>
47
- <action method="addItem"><type>skin_js</type><file>japi/js/checkout.js?v=2.9.2</file></action>
48
  </block>
49
  <block type="core/text_list" name="after_body_start" as="after_body_start" translate="label">
50
  <label>Page Top</label>
@@ -86,6 +86,8 @@
86
  </block>
87
  <block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="japi/checkout/onepage/payment.phtml">
88
  <block type="checkout/onepage_payment_methods" name="checkout.onepage.payment.methods" as="methods" template="japi/checkout/onepage/payment/info.phtml"/>
 
 
89
  </block>
90
  <block type="checkout/onepage_review" name="checkout.onepage.review" as="review" template="japi/checkout/onepage/review.phtml"/>
91
  </block>
44
  <action method="addItem"><type>skin_js</type><file>japi/lib/bootstrap/js/modal.js</file></action>
45
  <action method="addItem"><type>skin_js</type><file>japi/lib/scrollto/scrollTo.js</file></action>
46
  <action method="addItem"><type>skin_js</type><file>js/opcheckout.js</file></action>
47
+ <action method="addItem"><type>skin_js</type><file>japi/js/checkout.js?v=3.0.4</file></action>
48
  </block>
49
  <block type="core/text_list" name="after_body_start" as="after_body_start" translate="label">
50
  <label>Page Top</label>
86
  </block>
87
  <block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="japi/checkout/onepage/payment.phtml">
88
  <block type="checkout/onepage_payment_methods" name="checkout.onepage.payment.methods" as="methods" template="japi/checkout/onepage/payment/info.phtml"/>
89
+ <block type="core/template" name="checkout.onepage.payment.additional" as="additional" />
90
+ <block type="core/template" name="checkout.onepage.payment.methods_additional" as="methods_additional" />
91
  </block>
92
  <block type="checkout/onepage_review" name="checkout.onepage.review" as="review" template="japi/checkout/onepage/review.phtml"/>
93
  </block>
app/design/frontend/base/default/template/japi/checkout/onepage/style.phtml CHANGED
@@ -19,7 +19,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=2.9.4') ?>"/>
23
 
24
  <?php if (Mage::helper('japi')->isModuleEnabled('GoMage_Checkout')): ?>
25
  <link type="text/css" rel="stylesheet" media="all"
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.0.4') ?>"/>
23
 
24
  <?php if (Mage::helper('japi')->isModuleEnabled('GoMage_Checkout')): ?>
25
  <link type="text/css" rel="stylesheet" media="all"
app/design/frontend/base/default/template/japi/kega_checkout/onepage/payment.phtml ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ //<![CDATA[
3
+ var quoteBaseGrandTotal = <?php echo (float)$this->getQuoteBaseGrandTotal(); ?>;
4
+ var checkQuoteBaseGrandTotal = quoteBaseGrandTotal;
5
+ var payment = new Payment('co-payment-form', '<?php echo $this->getUrl('checkout/onepage/savePayment') ?>');
6
+ var lastPrice;
7
+
8
+ /**
9
+ * Add agreement validation
10
+ */
11
+ payment.addMoreValidateFunction('checkout-agreements', function () {
12
+ var result = true;
13
+ if ($$('#checkout-step-payment #checkout-agreements')[0]) {
14
+ var checkboxes = $$('#checkout-agreements input');
15
+ for (var i = 0, l = checkboxes.length; i < l; i++) {
16
+ if (!checkboxes[i].checked) {
17
+ alert("<?php echo $this->jsQuoteEscape($this->__('Please agree to all Terms and Conditions before placing the orders.')) ?>");
18
+ result = false;
19
+ }
20
+ }
21
+ }
22
+ return result;
23
+ });
24
+ //]]>
25
+ </script>
26
+ <form action="" id="co-payment-form">
27
+ <div class="fieldset" id="checkout-payment-method-load">
28
+ <?php echo $this->getChildChildHtml('methods_additional', '', true, true) ?>
29
+ <?php echo $this->getChildHtml('methods') ?>
30
+ </div>
31
+ </form>
32
+ <div class="tool-tip" id="payment-tool-tip" style="display:none;">
33
+ <div class="btn-close">
34
+ <a href="#" id="payment-tool-tip-close"
35
+ title="<?php echo $this->__('Close') ?>"><?php echo $this->__('Close') ?></a>
36
+ </div>
37
+ <div class="tool-tip-content">
38
+ <img src="<?php echo $this->getSkinUrl('images/cvv.gif') ?>"
39
+ alt="<?php echo $this->__('Card Verification Number Visual Reference') ?>"
40
+ title="<?php echo $this->__('Card Verification Number Visual Reference') ?>"/>
41
+ </div>
42
+ </div>
43
+ <?php echo $this->getChildChildHtml('additional') ?>
44
+ <div class="buttons-set" id="payment-buttons-container">
45
+ <?php // Moved to CC form ?>
46
+ <button type="button" id="payment-button" class="ladda-button" onclick="payment.save()" data-style="slide-up"
47
+ data-color="jmango" data-size="s">
48
+ <span class="ladda-label"><?php echo $this->__('Confirm order') ?></span>
49
+ </button>
50
+ </div>
51
+ <script type="text/javascript">
52
+ //<![CDATA[
53
+ function toggleToolTip(event) {
54
+ if ($('payment-tool-tip')) {
55
+ $('payment-tool-tip').setStyle({
56
+ top: (Event.pointerY(event) - 560) + 'px'
57
+ //left: (Event.pointerX(event)+100)+'px'
58
+ })
59
+ $('payment-tool-tip').toggle();
60
+ }
61
+ Event.stop(event);
62
+ }
63
+ if ($('payment-tool-tip-close')) {
64
+ Event.observe($('payment-tool-tip-close'), 'click', toggleToolTip);
65
+ }
66
+ //]]>
67
+ </script>
68
+ <script type="text/javascript">
69
+ //<![CDATA[
70
+ payment.currentMethod = "<?php echo $this->getChild('methods')->getSelectedMethodCode() ?>";
71
+ //]]>
72
+ </script>
app/design/frontend/base/default/template/japi/page/html/head.phtml CHANGED
@@ -41,5 +41,5 @@
41
  <![endif]-->
42
  <?php echo $this->getCssJsHtml() ?>
43
  <?php echo $this->getChildHtml() ?>
44
- <?php echo $this->helper('core/js')->getTranslatorScript() ?>
45
  <?php //echo $this->getIncludes() ?>
41
  <![endif]-->
42
  <?php echo $this->getCssJsHtml() ?>
43
  <?php echo $this->getChildHtml() ?>
44
+ <?php echo $this->helper('japi/js')->getTranslatorScript() ?>
45
  <?php //echo $this->getIncludes() ?>
app/design/frontend/base/default/template/japi/page/html/smart-app-banner.phtml CHANGED
@@ -2,16 +2,10 @@
2
  /**
3
  * Copyright 2016 JMango360
4
  */
 
 
5
  /* @var $this Jmango360_Japi_Block_Banner */
6
-
7
- $request = Mage::app()->getRequest();
8
- if ($request->getModuleName() == 'japi') return;
9
-
10
- /* @var $server Jmango360_Japi_Model_Server */
11
- $server = Mage::getSingleton('japi/server');
12
- if ($server->getIsRest()) return;
13
-
14
- if (!Mage::getStoreConfigFlag('japi/jmango_smart_app_banner/enable')) return;
15
  ?>
16
  <meta name="apple-itunes-app"
17
  content="app-id=<?php echo Mage::getStoreConfig('japi/jmango_smart_app_banner/ios_app_id') ?>">
2
  /**
3
  * Copyright 2016 JMango360
4
  */
5
+ ?>
6
+ <?php
7
  /* @var $this Jmango360_Japi_Block_Banner */
8
+ if (!$this->isShow()) return;
 
 
 
 
 
 
 
 
9
  ?>
10
  <meta name="apple-itunes-app"
11
  content="app-id=<?php echo Mage::getStoreConfig('japi/jmango_smart_app_banner/ios_app_id') ?>">
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Jmango360_Japi</name>
4
- <version>3.0.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0">Apache License</license>
7
  <channel>community</channel>
@@ -31,9 +31,9 @@ Other generic mobile apps that you can add and configure:&#xD;
31
  For more details on JMango360 please visit our website http://www.jmango360.com or out knowledge site http://support.jmango360.com</description>
32
  <notes>* Bug fixes</notes>
33
  <authors><author><name>Duc Ngo</name><user>jmango360</user><email>duc@jmango360.com</email></author></authors>
34
- <date>2017-02-08</date>
35
- <time>07:46:20</time>
36
- <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"><file name="Button.php" hash="2b02a6c90256c9bcc6d99d2d9301413e"/><file name="Log.php" hash="d9221555160853639e1d8939040fb95e"/><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="c355a485f79acfab0795f3ae8858f3f5"/><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="cc03d4012f37b248e1b7d21c1fe9f539"/></dir><dir name="Product"><file name="List.php" hash="7a905e6f378ebfaa0604a51e066427dc"/></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="7aced913b0e0cd1622dd8d03b376327d"/></dir><dir name="Onepage"><file name="Addjs.php" hash="077d09b15ec8823c76854a575359cb1a"/><file name="Address.php" hash="bf596c77e982d4350fc532a3deb79e47"/><file name="Billing.php" hash="c2276c96503c44e79d54a4cc659af42b"/><file name="Shipping.php" hash="37f8cf7ca7cbd93d991837f0c59eb1c7"/></dir><file name="Onepage.php" hash="ebafb31ffc5ce424491fa17608b1d6ae"/></dir><file name="Form.php" hash="ea37bc2a15eeaa808ef3acd06dba4a91"/><dir name="GiftMessage"><dir name="Message"><file name="Inline.php" hash="8f20e9383634f46b624f15d77b616380"/></dir></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="9e971e39e83d3e40603649920f07bded"/><file name="Debug.php" hash="1002a59a5dee41f34da875979e907cbf"/><dir name="GiftMessage"><file name="Message.php" hash="5d1df4710b0aa3154ce0fa744b0244f3"/></dir><dir name="Product"><file name="Bundle.php" hash="c89baf5638e81d030f5a72b011af7cfd"/><file name="Configurable.php" hash="ade7d5ca64b091be916d54746ee38571"/><file name="Downloadable.php" hash="db531632adda525a91625da8d13296d6"/><file name="File.php" hash="0968c5688015b9c7a002457428607f80"/><file name="Grouped.php" hash="e9b47fc58b1ddd3e63e285cd19f1b66d"/><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="3afb3a4b78f95e92f156ff068e8ab354"/><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><file name="Observer.php" hash="c7fd5cd5a6c0bc7f92c78c2abf26c0bb"/><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="57fd6285bb4c9e043c9117f31d211653"/></dir><file name="Cart.php" hash="7aacc81fa3229f077d842f5d66ff3a5c"/><dir name="Catalog"><dir name="Category"><file name="Assignedproducts.php" hash="6e7aa946a3aaad24b9ddb862f8ef6382"/><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="ce5e08ab2b5cf944c5b6b9ccc25773e0"/><file name="Onepage.php" hash="2aaa71fd90f16b9290e49e198e0704b3"/><file name="Redirect.php" hash="19932aa45299e5ea3995f52cb9987183"/><file name="Submit.php" hash="50ac35f8218f5c3abeb0946e138db2ae"/></dir><file name="Checkout.php" hash="514f5be707f0a1a1175b825983831705"/><dir name="Cms"><file name="Page.php" hash="dcad4498870df70f87c9ad9a9940d976"/></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="ea7a040c3e206c673df007df99ff17c2"/></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="1d3efa624b4a9459e88dbc1a65da030a"/><dir name="Product"><file name="Crosssell.php" hash="b21821bd444112354a31dc8b683c4f4c"/><file name="List.php" hash="8cfbe03db4bd650b3558c2ca8e6276ae"/><file name="Price.php" hash="d47c9903d5719b0cee73836419e27bb1"/><file name="Purchased.php" hash="feb7fd9176da74e59722984732d04a9a"/><file name="Related.php" hash="8a6b52fc39f099f4339a91ad5709537a"/><file name="Review.php" hash="842153c90bd08fb9ec550f9aea8c7030"/><file name="Search.php" hash="2555bcc57c103486519f4c9540e765de"/><file name="Upsell.php" hash="56a4075e88a75d1cfa89e7da1130a2b4"/><file name="Url.php" hash="0372ce63d63bc5f2982a35b335643661"/><file name="Viewed.php" hash="c2a9c99a56b57d8288eec75657f9bd47"/></dir><file name="Product.php" hash="33f395e10d5578d948bf32a7bd5388fd"/><file name="Wishlist.php" hash="ee26b4efcbf3b2c39aec2c1e3402c35b"/></dir><file name="Server.php" hash="02856ceb6c954f303bc4f3f0d5dd48be"/><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="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="ReportController.php" hash="e88b2425e0a39f7f2b0c2902a6d2d5e9"/><file name="TroubleshootingController.php" hash="bb8951d1523a56a0f55e827614a38d66"/></dir></dir><file name="CheckoutController.php" hash="c170e82bd15e76d8e00bcf2057d2ad8a"/><dir name="Customer"><file name="AccountController.php" hash="2e055c5b22a2414263a1b7d3fd0607f9"/></dir><file name="CustomerController.php" hash="2cc4407dc6a31c51d276433de67530f0"/><file name="ImageController.php" hash="a5b48d4e075faf989c908bd0954d3878"/><file name="KlarnaController.php" hash="fafb22cc7b5e2f69ee3dfb9094a04dcd"/><dir name="Rest"><file name="CartController.php" hash="3994aafe8e31094b765fc0120c888fa3"/><file name="CatalogController.php" hash="8df5b798bb0330f5e3182717e1e15bf7"/><file name="CheckoutController.php" hash="2fd4a4bca1a37788616645f50392a701"/><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="f2fe10154ab84dd7acfb8b5a17679785"/><file name="system.xml" hash="c4bd0cc3bc8b92dbdf398b3f4d71c36f"/></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="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="8e4c69f69fc114ddb53d7fd331fb7505"/></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="0cb781955d33fae46da09d62bd6fdaf3"/><file name="shipping.phtml" hash="cb72f56f0d26171c429d7a70701e0913"/></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="address.phtml" hash="3164ff4fc2d5f798e591a168d9d937d1"/><file name="agreements.phtml" hash="ae43c3b670b0d11a1217ca927a184ff7"/><file name="billing.phtml" hash="d5491399cbce3e565757023dc3e594ed"/><file name="coupon.phtml" hash="a27beeba5f8b2160dccc6d4198c6517d"/><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="cc3bfd21f2a141ea403db094e1264781"/><dir name="review"><file name="button.phtml" hash="e2089ae34e409df2fa13977a55db5f04"/><file name="info.phtml" hash="54ea567e7273a0942fcdddfb95340e8e"/><file name="item.phtml" hash="244bba60d9151be71777e80e138b6ee7"/><file name="totals.phtml" hash="0decbe242701193fee270e1f0f520a93"/></dir><file name="review.phtml" hash="d2494b8faac5833e747a5d329ee4fab7"/><file name="shipping.phtml" hash="d0aba8dade93f6798285f7163ec65e58"/><dir name="shipping_method"><file name="additional.phtml" hash="78c6dab72fefb888f587221639bf9177"/><file name="available.phtml" hash="4feca53deabec45bc3b223e64e32c4f0"/></dir><file name="shipping_method.phtml" hash="edc75d0aecc103ed69b216ef76bc6af2"/><file name="style.phtml" hash="8b8aa20157ebddafa066e1d3a5d65c60"/></dir><file name="onepage.phtml" hash="2be9b999efcf0f2d9b32a8b6121c3ffe"/></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="4d028d4ca89472c1e0caadb43134d9fd"/></dir><dir name="form"><file name="edit.phtml" hash="484b2b56cbf34dba73c78dc97552c024"/><file name="register.phtml" hash="978dc0d67f796c90e8675cbaec1a06ba"/></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><dir name="page"><dir name="html"><file name="head.phtml" hash="ed3fc3dddf9f54ec8b53539b9fd28851"/><file name="smart-app-banner.phtml" hash="99c449ee9159e22a181919ca0b09fcc9"/></dir><file name="rwd.phtml" hash="06c53b02ad843574b22a803a709988f6"/></dir><dir name="symfony"><dir name="postcode"><dir name="checkout"><dir name="onepage"><file name="billing.phtml" hash="65181e0ab40a40671f35c54bc25b99af"/><file name="shipping.phtml" hash="a6e2a192b9998889e5d113a92df62623"/></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="0334fec3567f083475ae545af830fafe"/><file name="style.less" hash="442a4392d7e3982ec13b2d6d50fb4e37"/></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="52a92fccaad11ac66cbb046fd67e7f7c"/><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="883a2aeb63d6bb6595e93eab58ac4d7a"/></dir><dir name="fr_FR"><file name="Jmango360_Japi.csv" hash="4fa0b7d7c2bd1f984160aaf1b5225f11"/></dir><dir name="it_IT"><file name="Jmango360_Japi.csv" hash="39e1394b01ab1b941b4e6e03d5cf4b9e"/></dir><dir name="pt_PT"><file name="Jmango360_Japi.csv" hash="818a9fa3c1f6fea344bcfeef1a432f35"/></dir><dir name="pt_BR"><file name="Jmango360_Japi.csv" hash="818a9fa3c1f6fea344bcfeef1a432f35"/></dir><dir name="ar_SA"><file name="Jmango360_Japi.csv" hash="25b829fa5515c567af7ed8e5e4a2690a"/></dir><dir name="nl_NL"><file name="Jmango360_Japi.csv" hash="e658d12bbdc2f0417086b9ac1db990cb"/></dir><dir name="sv_SE"><file name="Jmango360_Japi.csv" hash="3414d54579206e71cabaaea3153bc266"/></dir><dir name="da_DK"><file name="Jmango360_Japi.csv" hash="a8f243d230a312f4d5cee8c99a275ee7"/></dir><dir name="es_ES"><file name="Jmango360_Japi.csv" hash="0f763b984f64e095f863c2e66335c791"/></dir><dir name="de_DE"><file name="Jmango360_Japi.csv" hash="d97408dc0ece1a193669bc491798355a"/></dir></target></contents>
37
  <compatible/>
38
  <dependencies><required><php><min>5.2.0</min><max>7.1.0</max></php></required></dependencies>
39
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Jmango360_Japi</name>
4
+ <version>3.0.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0">Apache License</license>
7
  <channel>community</channel>
31
  For more details on JMango360 please visit our website http://www.jmango360.com or out knowledge site http://support.jmango360.com</description>
32
  <notes>* Bug fixes</notes>
33
  <authors><author><name>Duc Ngo</name><user>jmango360</user><email>duc@jmango360.com</email></author></authors>
34
+ <date>2017-02-16</date>
35
+ <time>03:45:08</time>
36
+ <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"><file name="Button.php" hash="2b02a6c90256c9bcc6d99d2d9301413e"/><file name="Log.php" hash="d9221555160853639e1d8939040fb95e"/><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="cc03d4012f37b248e1b7d21c1fe9f539"/></dir><dir name="Product"><file name="List.php" hash="7a905e6f378ebfaa0604a51e066427dc"/></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="7aced913b0e0cd1622dd8d03b376327d"/></dir><dir name="Onepage"><file name="Addjs.php" hash="077d09b15ec8823c76854a575359cb1a"/><file name="Address.php" hash="bf596c77e982d4350fc532a3deb79e47"/><file name="Billing.php" hash="c2276c96503c44e79d54a4cc659af42b"/><file name="Shipping.php" hash="37f8cf7ca7cbd93d991837f0c59eb1c7"/></dir><file name="Onepage.php" hash="b02fe40ae9c73c0d1248c178a4f2d133"/></dir><file name="Form.php" hash="ea37bc2a15eeaa808ef3acd06dba4a91"/><dir name="GiftMessage"><dir name="Message"><file name="Inline.php" hash="8f20e9383634f46b624f15d77b616380"/></dir></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="9e971e39e83d3e40603649920f07bded"/><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="ade7d5ca64b091be916d54746ee38571"/><file name="Downloadable.php" hash="db531632adda525a91625da8d13296d6"/><file name="File.php" hash="0968c5688015b9c7a002457428607f80"/><file name="Grouped.php" hash="e9b47fc58b1ddd3e63e285cd19f1b66d"/><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="389d3d91ca2d84fc975c8b89bc083a3e"/><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><file name="Observer.php" hash="19bdc05046c4c994d8741d79b248b25b"/><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="57fd6285bb4c9e043c9117f31d211653"/></dir><file name="Cart.php" hash="7aacc81fa3229f077d842f5d66ff3a5c"/><dir name="Catalog"><dir name="Category"><file name="Assignedproducts.php" hash="6e7aa946a3aaad24b9ddb862f8ef6382"/><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="ce5e08ab2b5cf944c5b6b9ccc25773e0"/><file name="Onepage.php" hash="2aaa71fd90f16b9290e49e198e0704b3"/><file name="Redirect.php" hash="19932aa45299e5ea3995f52cb9987183"/><file name="Submit.php" hash="50ac35f8218f5c3abeb0946e138db2ae"/></dir><file name="Checkout.php" hash="514f5be707f0a1a1175b825983831705"/><dir name="Cms"><file name="Page.php" hash="dcad4498870df70f87c9ad9a9940d976"/></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="ea7a040c3e206c673df007df99ff17c2"/></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="1d3efa624b4a9459e88dbc1a65da030a"/><dir name="Product"><file name="Crosssell.php" hash="b21821bd444112354a31dc8b683c4f4c"/><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="842153c90bd08fb9ec550f9aea8c7030"/><file name="Search.php" hash="b118477df326de2b7a738954032b93e9"/><file name="Upsell.php" hash="56a4075e88a75d1cfa89e7da1130a2b4"/><file name="Url.php" hash="0372ce63d63bc5f2982a35b335643661"/><file name="Viewed.php" hash="c2a9c99a56b57d8288eec75657f9bd47"/></dir><file name="Product.php" hash="33f395e10d5578d948bf32a7bd5388fd"/><file name="Wishlist.php" hash="ee26b4efcbf3b2c39aec2c1e3402c35b"/></dir><file name="Server.php" hash="02856ceb6c954f303bc4f3f0d5dd48be"/><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="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="ReportController.php" hash="e88b2425e0a39f7f2b0c2902a6d2d5e9"/><file name="TroubleshootingController.php" hash="bb8951d1523a56a0f55e827614a38d66"/></dir></dir><file name="CheckoutController.php" hash="c5e0690df5ae2c6249c6a6711468fd65"/><dir name="Customer"><file name="AccountController.php" hash="2e055c5b22a2414263a1b7d3fd0607f9"/></dir><file name="CustomerController.php" hash="2cc4407dc6a31c51d276433de67530f0"/><file name="ImageController.php" hash="a5b48d4e075faf989c908bd0954d3878"/><file name="KlarnaController.php" hash="fafb22cc7b5e2f69ee3dfb9094a04dcd"/><dir name="Rest"><file name="CartController.php" hash="3994aafe8e31094b765fc0120c888fa3"/><file name="CatalogController.php" hash="8df5b798bb0330f5e3182717e1e15bf7"/><file name="CheckoutController.php" hash="2fd4a4bca1a37788616645f50392a701"/><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="92fd8d0839b348a0658933a9fb806a69"/><file name="system.xml" hash="c4bd0cc3bc8b92dbdf398b3f4d71c36f"/></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="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="70d473a3ff1ce3c669bc89d5ae14d762"/></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="0cb781955d33fae46da09d62bd6fdaf3"/><file name="shipping.phtml" hash="cb72f56f0d26171c429d7a70701e0913"/></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="address.phtml" hash="3164ff4fc2d5f798e591a168d9d937d1"/><file name="agreements.phtml" hash="ae43c3b670b0d11a1217ca927a184ff7"/><file name="billing.phtml" hash="d5491399cbce3e565757023dc3e594ed"/><file name="coupon.phtml" hash="a27beeba5f8b2160dccc6d4198c6517d"/><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="cc3bfd21f2a141ea403db094e1264781"/><dir name="review"><file name="button.phtml" hash="e2089ae34e409df2fa13977a55db5f04"/><file name="info.phtml" hash="54ea567e7273a0942fcdddfb95340e8e"/><file name="item.phtml" hash="244bba60d9151be71777e80e138b6ee7"/><file name="totals.phtml" hash="0decbe242701193fee270e1f0f520a93"/></dir><file name="review.phtml" hash="d2494b8faac5833e747a5d329ee4fab7"/><file name="shipping.phtml" hash="d0aba8dade93f6798285f7163ec65e58"/><dir name="shipping_method"><file name="additional.phtml" hash="78c6dab72fefb888f587221639bf9177"/><file name="available.phtml" hash="4feca53deabec45bc3b223e64e32c4f0"/></dir><file name="shipping_method.phtml" hash="edc75d0aecc103ed69b216ef76bc6af2"/><file name="style.phtml" hash="9236d27739d826fbf2f1ff0d011ee6d8"/></dir><file name="onepage.phtml" hash="2be9b999efcf0f2d9b32a8b6121c3ffe"/></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="4d028d4ca89472c1e0caadb43134d9fd"/></dir><dir name="form"><file name="edit.phtml" hash="484b2b56cbf34dba73c78dc97552c024"/><file name="register.phtml" hash="978dc0d67f796c90e8675cbaec1a06ba"/></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><dir name="kega_checkout"><dir name="onepage"><file name="payment.phtml" hash="36ceb7a03629f08c789f42e98b1c1535"/></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="06c53b02ad843574b22a803a709988f6"/></dir><dir name="symfony"><dir name="postcode"><dir name="checkout"><dir name="onepage"><file name="billing.phtml" hash="65181e0ab40a40671f35c54bc25b99af"/><file name="shipping.phtml" hash="a6e2a192b9998889e5d113a92df62623"/></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="493bff149b9b5ce64873737f7cd3b6b0"/><file name="style.less" hash="d7b2efcca06aeaec6777486bfa7298cf"/></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="6cf632251c7521d8a219bca8f1896413"/><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="883a2aeb63d6bb6595e93eab58ac4d7a"/></dir><dir name="fr_FR"><file name="Jmango360_Japi.csv" hash="4fa0b7d7c2bd1f984160aaf1b5225f11"/></dir><dir name="it_IT"><file name="Jmango360_Japi.csv" hash="39e1394b01ab1b941b4e6e03d5cf4b9e"/></dir><dir name="pt_PT"><file name="Jmango360_Japi.csv" hash="818a9fa3c1f6fea344bcfeef1a432f35"/></dir><dir name="pt_BR"><file name="Jmango360_Japi.csv" hash="818a9fa3c1f6fea344bcfeef1a432f35"/></dir><dir name="ar_SA"><file name="Jmango360_Japi.csv" hash="25b829fa5515c567af7ed8e5e4a2690a"/></dir><dir name="nl_NL"><file name="Jmango360_Japi.csv" hash="e658d12bbdc2f0417086b9ac1db990cb"/></dir><dir name="sv_SE"><file name="Jmango360_Japi.csv" hash="3414d54579206e71cabaaea3153bc266"/></dir><dir name="da_DK"><file name="Jmango360_Japi.csv" hash="a8f243d230a312f4d5cee8c99a275ee7"/></dir><dir name="es_ES"><file name="Jmango360_Japi.csv" hash="0f763b984f64e095f863c2e66335c791"/></dir><dir name="de_DE"><file name="Jmango360_Japi.csv" hash="d97408dc0ece1a193669bc491798355a"/></dir></target></contents>
37
  <compatible/>
38
  <dependencies><required><php><min>5.2.0</min><max>7.1.0</max></php></required></dependencies>
39
  </package>
skin/frontend/base/default/japi/css/style.css CHANGED
@@ -222,6 +222,10 @@ a:hover {
222
  .jm-item .jm-item-detail .jm-item-desc .jm-item-desc-item {
223
  display: block;
224
  }
 
 
 
 
225
  .modal-agreement .modal-dialog {
226
  margin: 0;
227
  }
@@ -1026,3 +1030,163 @@ span.price {
1026
  vertical-align: middle;
1027
  margin: 0;
1028
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  .jm-item .jm-item-detail .jm-item-desc .jm-item-desc-item {
223
  display: block;
224
  }
225
+ .modal-agreement .modal-title {
226
+ font-size: 30px;
227
+ line-height: 1;
228
+ }
229
  .modal-agreement .modal-dialog {
230
  margin: 0;
231
  }
1030
  vertical-align: middle;
1031
  margin: 0;
1032
  }
1033
+ /******** Kega_Checkout ***********/
1034
+ .personal.register-form > h3 {
1035
+ margin-bottom: 10px;
1036
+ }
1037
+ .personal.register-form ul li.clearfix {
1038
+ margin: 1em 0;
1039
+ }
1040
+ .customer-name-middlename.field-count-3 > div {
1041
+ margin-top: 1em;
1042
+ }
1043
+ .adresssearch-address-order .address-street,
1044
+ .adresssearch-address-order .address-city {
1045
+ margin-top: 1em;
1046
+ }
1047
+ .adresssearch-address-order .address-autofill > label {
1048
+ display: block;
1049
+ }
1050
+ .adresssearch-address-order .address-autofill > label em {
1051
+ float: none;
1052
+ }
1053
+ .adresssearch-address-order .address-postcode label,
1054
+ .adresssearch-address-order .street-number label,
1055
+ .adresssearch-address-order .street-addition label {
1056
+ display: none;
1057
+ }
1058
+ .adresssearch-address-order .address-postcode,
1059
+ .adresssearch-address-order .street-number,
1060
+ .adresssearch-address-order .street-addition {
1061
+ width: 32%;
1062
+ display: inline-block;
1063
+ vertical-align: top;
1064
+ }
1065
+ .adresssearch-address-order input.small {
1066
+ font-size: 100%;
1067
+ }
1068
+ .billing-address-details.register-form #store_pickup_id_wrapper,
1069
+ .billing-address-details.register-form #store_pickup_id_wrapper input,
1070
+ .billing-address-details.register-form #additional_data_wrapper,
1071
+ .billing-address-details.register-form #additional_data_wrapper input {
1072
+ display: none;
1073
+ }
1074
+ .billing-address-details.register-form label[for="billing:telephone"] {
1075
+ margin-top: 1em;
1076
+ }
1077
+ .billing-address-details.register-form .new-account-guest-checkout-options {
1078
+ display: none;
1079
+ }
1080
+ .billing-address-details.register-form .control.field.newsletter input,
1081
+ .billing-address-details.register-form .control.field.newsletter label {
1082
+ display: inline;
1083
+ }
1084
+ .shipping-methods .shipping-intro {
1085
+ padding: 1em;
1086
+ }
1087
+ .shipping-methods .shipping-intro:last-child {
1088
+ padding-bottom: 0;
1089
+ }
1090
+ .shipping-methods .shipping-container h3 {
1091
+ font-size: 1em;
1092
+ font-weight: bold;
1093
+ }
1094
+ .shipping-methods .shipping-container .shipping-address-form {
1095
+ padding: 0 1em 0 2em;
1096
+ margin-left: 5px;
1097
+ }
1098
+ .shipping-methods .shipping-container .store-pickup-fieldset > ul li {
1099
+ padding: 0 !important;
1100
+ margin-bottom: 1em;
1101
+ }
1102
+ .shipping-methods .shipping-container .store-pickup-fieldset label[for="store-pickup-store-select"] {
1103
+ display: block;
1104
+ }
1105
+ .shipping-methods .shipping-container .store-pickup-fieldset .store-pickup-postcode-search > div {
1106
+ width: 49%;
1107
+ display: inline-block;
1108
+ }
1109
+ .shipping-methods .shipping-container .store-pickup-fieldset .store-pickup-postcode-search button.store-pickup-find {
1110
+ padding: 4px 5px;
1111
+ }
1112
+ .shipping-methods .shipping-container .store-pickup-fieldset .store-pickup-results .store span {
1113
+ display: block;
1114
+ }
1115
+ .shipping-methods .shipping-container .store-pickup-fieldset .store-pickup-results .store span.name {
1116
+ font-weight: bold;
1117
+ display: inline;
1118
+ }
1119
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct .address-view {
1120
+ padding: 0;
1121
+ }
1122
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct .shipping-new-address-form {
1123
+ padding: 0;
1124
+ }
1125
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct fieldset ul li {
1126
+ padding: 0;
1127
+ }
1128
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct .customer-name-middlename > div:first-child {
1129
+ margin-top: 0;
1130
+ }
1131
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct label[for="shipping:kega_tnt_direct-company"],
1132
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct label[for="shipping:kega_tnt_direct-telephone"],
1133
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct label[for="shipping:kega_tnt_direct-postcode"] {
1134
+ margin: 1em 0 0 0;
1135
+ display: block;
1136
+ }
1137
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct label[for="shipping:kega_tnt_direct-company"] em,
1138
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct label[for="shipping:kega_tnt_direct-telephone"] em,
1139
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct label[for="shipping:kega_tnt_direct-postcode"] em {
1140
+ float: none;
1141
+ }
1142
+ .shipping-methods .shipping-container .shipping_method_kega_tnt_direct .use-billing-address-link {
1143
+ padding: 1em 1em 0 0;
1144
+ }
1145
+ #checkout-payment-method-load h3.header {
1146
+ margin-bottom: 10px;
1147
+ }
1148
+ #checkout-payment-method-load .address-wrapper p.header {
1149
+ font-weight: bold;
1150
+ }
1151
+ #checkout-payment-method-load .address-wrapper address {
1152
+ margin: 0;
1153
+ }
1154
+ #checkout-payment-method-load .address-wrapper address span {
1155
+ display: block;
1156
+ }
1157
+ #checkout-payment-method-load .address-wrapper > div {
1158
+ margin-bottom: 1em;
1159
+ border: 1px solid #d9d9d9;
1160
+ padding: 1em;
1161
+ }
1162
+ #checkout-payment-method-load .payment-details h3 {
1163
+ font-size: 1em;
1164
+ text-transform: uppercase;
1165
+ }
1166
+ #checkout-payment-method-load .payment-details dl {
1167
+ border: 1px solid #d9d9d9;
1168
+ }
1169
+ #checkout-payment-method-load .payment-details dl dt {
1170
+ border-bottom: 1px solid #d9d9d9;
1171
+ padding: .5em;
1172
+ display: table;
1173
+ width: 100%;
1174
+ }
1175
+ #checkout-payment-method-load .payment-details dl dt:last-child {
1176
+ border-bottom: none;
1177
+ }
1178
+ #checkout-payment-method-load .payment-details dl dt input {
1179
+ display: table-cell;
1180
+ }
1181
+ #checkout-payment-method-load .payment-details dl dt label {
1182
+ display: table-cell;
1183
+ width: 100%;
1184
+ padding-left: 10px;
1185
+ }
1186
+ #checkout-payment-method-load .payment-details dl dt label span {
1187
+ font-weight: normal;
1188
+ }
1189
+ #checkout-payment-method-load .payment-details dl dd.active {
1190
+ padding: 1em;
1191
+ border-bottom: 1px solid #d9d9d9;
1192
+ }
skin/frontend/base/default/japi/css/style.less CHANGED
@@ -266,6 +266,11 @@ a, a:focus, a:hover {
266
  }
267
 
268
  .modal-agreement {
 
 
 
 
 
269
  .modal-dialog {
270
  margin: 0;
271
 
@@ -1263,4 +1268,194 @@ span.price {
1263
  margin: 0;
1264
  }
1265
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1266
  }
266
  }
267
 
268
  .modal-agreement {
269
+ .modal-title {
270
+ font-size: 30px;
271
+ line-height: 1;
272
+ }
273
+
274
  .modal-dialog {
275
  margin: 0;
276
 
1268
  margin: 0;
1269
  }
1270
  }
1271
+ }
1272
+
1273
+ /******** Kega_Checkout ***********/
1274
+ .personal.register-form {
1275
+ > h3 {
1276
+ margin-bottom: 10px;
1277
+ }
1278
+ ul li.clearfix {
1279
+ margin: 1em 0;
1280
+ }
1281
+ }
1282
+
1283
+ .customer-name-middlename.field-count-3 > div {
1284
+ margin-top: 1em;
1285
+ }
1286
+
1287
+ .adresssearch-address-order {
1288
+ .address-street, .address-city {
1289
+ margin-top: 1em;
1290
+ }
1291
+ .address-autofill > label {
1292
+ display: block;
1293
+ em {
1294
+ float: none;
1295
+ }
1296
+ }
1297
+ .address-postcode label, .street-number label, .street-addition label {
1298
+ display: none;
1299
+ }
1300
+ .address-postcode, .street-number, .street-addition {
1301
+ width: 32%;
1302
+ display: inline-block;
1303
+ vertical-align: top;
1304
+ }
1305
+ input.small {
1306
+ font-size: 100%;
1307
+ }
1308
+ }
1309
+
1310
+ .billing-address-details.register-form {
1311
+ #store_pickup_id_wrapper,
1312
+ #store_pickup_id_wrapper input,
1313
+ #additional_data_wrapper,
1314
+ #additional_data_wrapper input {
1315
+ display: none;
1316
+ }
1317
+
1318
+ label[for="billing:telephone"] {
1319
+ margin-top: 1em;
1320
+ }
1321
+
1322
+ .new-account-guest-checkout-options {
1323
+ display: none;
1324
+ }
1325
+
1326
+ .control.field.newsletter {
1327
+ input, label {
1328
+ display: inline;
1329
+ }
1330
+ }
1331
+ }
1332
+
1333
+ .shipping-methods {
1334
+ .shipping-intro {
1335
+ padding: 1em;
1336
+
1337
+ &:last-child {
1338
+ padding-bottom: 0;
1339
+ }
1340
+ }
1341
+ .shipping-container {
1342
+ h3 {
1343
+ font-size: 1em;
1344
+ font-weight: bold;
1345
+ }
1346
+ .shipping-address-form {
1347
+ padding: 0 1em 0 2em;
1348
+ margin-left: 5px;
1349
+ }
1350
+ .store-pickup-fieldset {
1351
+ > ul li {
1352
+ padding: 0 !important;
1353
+ margin-bottom: 1em;
1354
+ }
1355
+ label[for="store-pickup-store-select"] {
1356
+ display: block;
1357
+ }
1358
+ .store-pickup-postcode-search {
1359
+ > div {
1360
+ width: 49%;
1361
+ display: inline-block;
1362
+ }
1363
+ button.store-pickup-find {
1364
+ padding: 4px 5px;
1365
+ }
1366
+ }
1367
+ .store-pickup-results .store {
1368
+ span {
1369
+ display: block;
1370
+ }
1371
+ span.name {
1372
+ font-weight: bold;
1373
+ display: inline;
1374
+ }
1375
+ }
1376
+ }
1377
+ .shipping_method_kega_tnt_direct {
1378
+ .address-view {
1379
+ padding: 0;
1380
+ }
1381
+ .shipping-new-address-form {
1382
+ padding: 0;
1383
+ }
1384
+ fieldset ul li {
1385
+ padding: 0;
1386
+ }
1387
+ .customer-name-middlename > div:first-child {
1388
+ margin-top: 0;
1389
+ }
1390
+ label[for="shipping:kega_tnt_direct-company"],
1391
+ label[for="shipping:kega_tnt_direct-telephone"],
1392
+ label[for="shipping:kega_tnt_direct-postcode"] {
1393
+ margin: 1em 0 0 0;
1394
+ display: block;
1395
+ em {
1396
+ float: none;
1397
+ }
1398
+ }
1399
+ .use-billing-address-link {
1400
+ padding: 1em 1em 0 0;
1401
+ }
1402
+ }
1403
+ }
1404
+ }
1405
+
1406
+ #checkout-payment-method-load {
1407
+ h3.header {
1408
+ margin-bottom: 10px;
1409
+ }
1410
+ .address-wrapper {
1411
+ p.header {
1412
+ font-weight: bold;
1413
+ }
1414
+ address {
1415
+ margin: 0;
1416
+ span {
1417
+ display: block;
1418
+ }
1419
+ }
1420
+ > div {
1421
+ margin-bottom: 1em;
1422
+ border: 1px solid #d9d9d9;
1423
+ padding: 1em;
1424
+ }
1425
+ }
1426
+ .payment-details {
1427
+ h3 {
1428
+ font-size: 1em;
1429
+ text-transform: uppercase;
1430
+ }
1431
+ dl {
1432
+ border: 1px solid #d9d9d9;
1433
+ dt {
1434
+ border-bottom: 1px solid #d9d9d9;
1435
+ padding: .5em;
1436
+ display: table;
1437
+ width: 100%;
1438
+ &:last-child {
1439
+ border-bottom: none;
1440
+ }
1441
+ input {
1442
+ display: table-cell;
1443
+ }
1444
+ label {
1445
+ display: table-cell;
1446
+ width: 100%;
1447
+ padding-left: 10px;
1448
+ span {
1449
+ font-weight: normal;
1450
+ }
1451
+ }
1452
+ }
1453
+ dd {
1454
+ &.active {
1455
+ padding: 1em;
1456
+ border-bottom: 1px solid #d9d9d9;
1457
+ }
1458
+ }
1459
+ }
1460
+ }
1461
  }
skin/frontend/base/default/japi/js/checkout.js CHANGED
@@ -93,11 +93,24 @@ if (typeof Checkout !== "undefined") {
93
  }
94
 
95
  ['billing', 'shipping'].each(function (section) {
96
- $(section + '-buttons-container').select('button').each(function (button) {
97
  $(button).setAttribute('id', section + '-button');
98
  this.getLaddaButton(button);
99
  }.bind(this));
100
  }.bind(this));
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  },
102
 
103
  setLoadWaiting: function (step, keepDisabled) {
@@ -149,7 +162,7 @@ if (typeof Checkout !== "undefined") {
149
  },
150
 
151
  allowSection: function (section) {
152
- $('opc-' + section).addClassName('allow');
153
  this.accordion.find('#checkout-step-' + section).collapse({
154
  parent: this.accordion,
155
  toggle: false
@@ -392,6 +405,49 @@ if (typeof Payment !== 'undefined') {
392
  checkout.setStepResponse(response);
393
  //checkout.setPayment();
394
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
395
  }
396
 
397
  if (typeof Review !== 'undefined') {
93
  }
94
 
95
  ['billing', 'shipping'].each(function (section) {
96
+ $(section + '-buttons-container') && $(section + '-buttons-container').select('button').each(function (button) {
97
  $(button).setAttribute('id', section + '-button');
98
  this.getLaddaButton(button);
99
  }.bind(this));
100
  }.bind(this));
101
+
102
+ /**
103
+ * Kega_Checkout: Bind some shortcut links
104
+ */
105
+ document.on('click', '#edit-billing-address', function () {
106
+ this.gotoSection('billing');
107
+ }.bind(this));
108
+ document.on('click', '#edit-shipping-address', function () {
109
+ this.gotoSection('billing');
110
+ }.bind(this));
111
+ document.on('click', '#edit-shipping-method', function () {
112
+ this.gotoSection('shipping_method');
113
+ }.bind(this));
114
  },
115
 
116
  setLoadWaiting: function (step, keepDisabled) {
162
  },
163
 
164
  allowSection: function (section) {
165
+ $('opc-' + section) && $('opc-' + section).addClassName('allow');
166
  this.accordion.find('#checkout-step-' + section).collapse({
167
  parent: this.accordion,
168
  toggle: false
405
  checkout.setStepResponse(response);
406
  //checkout.setPayment();
407
  };
408
+
409
+ /**
410
+ * Kega_Checkout: Add additional validation functions to payment step
411
+ */
412
+ Payment.prototype.addMoreValidateFunction = function (code, func) {
413
+ if (!this.moreValidateFunc) this.moreValidateFunc = $H({});
414
+ this.moreValidateFunc.set(code, func);
415
+ };
416
+
417
+ /**
418
+ * Kega_Checkout: Validate additional validation functions
419
+ */
420
+ Payment.prototype.moreValidate = function () {
421
+ var validateResult = true;
422
+ if (!this.moreValidateFunc) this.moreValidateFunc = $H({});
423
+ (this.moreValidateFunc).each(function (validate) {
424
+ if ((validate.value)() == false) {
425
+ validateResult = false;
426
+ }
427
+ }.bind(this));
428
+ return validateResult;
429
+ };
430
+
431
+ /**
432
+ * Kega_Checkout: Run additional validations
433
+ */
434
+ Payment.prototype.save = function () {
435
+ if (checkout.loadWaiting != false) return;
436
+ var validator = new Validation(this.form);
437
+ if (this.validate() && this.moreValidate() && validator.validate()) {
438
+ checkout.setLoadWaiting('payment');
439
+ var request = new Ajax.Request(
440
+ this.saveUrl,
441
+ {
442
+ method: 'post',
443
+ onComplete: this.onComplete,
444
+ onSuccess: this.onSave,
445
+ onFailure: checkout.ajaxFailure.bind(checkout),
446
+ parameters: Form.serialize(this.form)
447
+ }
448
+ );
449
+ }
450
+ };
451
  }
452
 
453
  if (typeof Review !== 'undefined') {