Futurenext_Zakeke - Version 1.2.0.0

Version Notes

Bug fixing release

Download this release

Release Info

Developer Futurenext
Extension Futurenext_Zakeke
Version 1.2.0.0
Comparing to
See all releases


Code changes from version 1.1.1.0 to 1.2.0.0

Files changed (39) hide show
  1. app/code/community/Futurenext/Zakeke/Block/Adminhtml/Sales/Items/Column/Zakeke/Name.php +2 -2
  2. app/code/community/Futurenext/Zakeke/Block/CartItemRenderer.php +2 -2
  3. app/code/community/Futurenext/Zakeke/Block/CheckoutItemRenderer.php +2 -2
  4. app/code/community/Futurenext/Zakeke/Block/Customize.php +2 -2
  5. app/code/community/Futurenext/Zakeke/Block/Customize/Add.php +2 -2
  6. app/code/community/Futurenext/Zakeke/Block/Customize/Configure.php +2 -2
  7. app/code/community/Futurenext/Zakeke/Block/CustomizeButton.php +2 -2
  8. app/code/community/Futurenext/Zakeke/Block/ModuleChecker.php +2 -2
  9. app/code/community/Futurenext/Zakeke/Block/SalesItemRenderer.php +2 -2
  10. app/code/community/Futurenext/Zakeke/Block/View.php +2 -2
  11. app/code/community/Futurenext/Zakeke/Helper/Data.php +60 -6
  12. app/code/community/Futurenext/Zakeke/Helper/ZakekeApi.php +6 -3
  13. app/code/community/Futurenext/Zakeke/Model/Api2/Colors.php +2 -2
  14. app/code/community/Futurenext/Zakeke/Model/Api2/Colors/Rest/Admin/V1.php +2 -2
  15. app/code/community/Futurenext/Zakeke/Model/Api2/ProductAttribute.php +2 -2
  16. app/code/community/Futurenext/Zakeke/Model/Api2/ProductAttribute/Rest/Admin/V1.php +2 -2
  17. app/code/community/Futurenext/Zakeke/Model/Api2/ProductOptions.php +2 -2
  18. app/code/community/Futurenext/Zakeke/Model/Api2/ProductOptions/Rest/Admin/V1.php +2 -2
  19. app/code/community/Futurenext/Zakeke/Model/Api2/Settings.php +2 -2
  20. app/code/community/Futurenext/Zakeke/Model/Api2/Settings/Rest/Admin/V1.php +2 -2
  21. app/code/community/Futurenext/Zakeke/Model/Api2/ZakekeEnabled.php +2 -2
  22. app/code/community/Futurenext/Zakeke/Model/Api2/ZakekeEnabled/Rest/Admin/V1.php +2 -2
  23. app/code/community/Futurenext/Zakeke/Model/ModuleList.php +2 -2
  24. app/code/community/Futurenext/Zakeke/Model/Observer.php +141 -73
  25. app/code/community/Futurenext/Zakeke/Model/Resource/Setup.php +2 -2
  26. app/code/community/Futurenext/Zakeke/Model/Resource/ZakekeEnabled.php +2 -2
  27. app/code/community/Futurenext/Zakeke/Model/Resource/ZakekeEnabled/Collection.php +2 -2
  28. app/code/community/Futurenext/Zakeke/Model/ZakekeEnabled.php +2 -2
  29. app/code/community/Futurenext/Zakeke/controllers/CustomizeController.php +11 -10
  30. app/code/community/Futurenext/Zakeke/controllers/Zakeke/ModuleCheckerController.php +2 -2
  31. app/code/community/Futurenext/Zakeke/etc/adminhtml.xml +2 -2
  32. app/code/community/Futurenext/Zakeke/etc/api2.xml +2 -2
  33. app/code/community/Futurenext/Zakeke/etc/config.xml +12 -3
  34. app/code/community/Futurenext/Zakeke/etc/system.xml +3 -3
  35. app/code/community/Futurenext/Zakeke/sql/zakeke_setup/install-1.0.0.0.php +2 -2
  36. js/zakeke/customize.js +2 -2
  37. js/zakeke/preview.js +2 -2
  38. package.xml +4 -4
  39. skin/frontend/base/default/css/zakeke/zakeke.css +31 -0
app/code/community/Futurenext/Zakeke/Block/Adminhtml/Sales/Items/Column/Zakeke/Name.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Block/CartItemRenderer.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Block/CheckoutItemRenderer.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Block/Customize.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2017 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Block/Customize/Add.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Block/Customize/Configure.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Block/CustomizeButton.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Block/ModuleChecker.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Block/SalesItemRenderer.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Block/View.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Helper/Data.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
@@ -52,23 +52,77 @@ class Futurenext_Zakeke_Helper_Data extends Mage_Core_Helper_Abstract
52
  return (bool) $zakekeEnabledId;
53
  }
54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  /**
56
  * Get the Zakeke option or false if the product is not customized
57
  *
58
  * @param array $options
59
  * @return array|false
60
  */
61
- public static function getZakekeOption($options)
62
  {
63
- foreach ($options as $option) {
 
 
64
  if (!isset($option['is_zakeke'])) {
65
  continue;
66
  }
67
 
68
- return $option;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  }
70
 
71
- return false;
72
  }
73
 
74
  /**
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
52
  return (bool) $zakekeEnabledId;
53
  }
54
 
55
+ /**
56
+ * Calculate the Zakeke pricing on the customized product
57
+ *
58
+ * @param float $originalFinalPrice
59
+ * @param array $pricing
60
+ * @param float $qty
61
+ * @return float
62
+ */
63
+ public static function getZakekePrice($originalFinalPrice, $pricing, $qty)
64
+ {
65
+ $zakekePrice = 0.0;
66
+
67
+ if ($pricing['modelPriceDeltaPerc'] > 0) {
68
+ $zakekePrice += $originalFinalPrice * ((float) $pricing['modelPriceDeltaPerc'] / 100);
69
+ } else {
70
+ $zakekePrice += (float) $pricing['modelPriceDeltaValue'];
71
+ }
72
+
73
+ if ($pricing['designPrice'] > 0) {
74
+ if (isset($pricing['pricingModel']) && $pricing['pricingModel'] === 'advanced') {
75
+ $zakekePrice += (float) $pricing['designPrice'] / $qty;
76
+ } else {
77
+ $zakekePrice += (float) $pricing['designPrice'];
78
+ }
79
+ }
80
+
81
+ return $zakekePrice;
82
+ }
83
+
84
  /**
85
  * Get the Zakeke option or false if the product is not customized
86
  *
87
  * @param array $options
88
  * @return array|false
89
  */
90
+ public static function &getZakekeOption(&$options)
91
  {
92
+ $result = false;
93
+
94
+ foreach ($options as &$option) {
95
  if (!isset($option['is_zakeke'])) {
96
  continue;
97
  }
98
 
99
+ $result = $option;
100
+ break;
101
+ }
102
+
103
+ return $result;
104
+ }
105
+
106
+ /**
107
+ * Get the Zakeke price option or false if the product is not customized
108
+ *
109
+ * @param array $options
110
+ * @return array|false
111
+ */
112
+ public static function &getZakekePriceOption(&$options)
113
+ {
114
+ $result = false;
115
+
116
+ foreach ($options as &$option) {
117
+ if (!isset($option['code']) || $option['code'] !== 'zakeke_price') {
118
+ continue;
119
+ }
120
+
121
+ $result = $option;
122
+ break;
123
  }
124
 
125
+ return $result;
126
  }
127
 
128
  /**
app/code/community/Futurenext/Zakeke/Helper/ZakekeApi.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
@@ -21,12 +21,15 @@ class Futurenext_Zakeke_Helper_ZakekeApi extends Mage_Core_Helper_Abstract
21
  * Get the needed data for adding a product to the cart
22
  *
23
  * @param int $designId
 
24
  * @throws Exception
25
  * @return object
26
  */
27
- public function getCartInfo($designId)
28
  {
29
  $data = $this->getMinimalData();
 
 
30
  $url = '/api/designdocs/' . $designId . '/cartinfo'
31
  . '?' . http_build_query($data);
32
  $json = $this->getRawRequest($url, null);
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
21
  * Get the needed data for adding a product to the cart
22
  *
23
  * @param int $designId
24
+ * @param float $qty
25
  * @throws Exception
26
  * @return object
27
  */
28
+ public function getCartInfo($designId, $qty)
29
  {
30
  $data = $this->getMinimalData();
31
+ $data['qty'] = $qty;
32
+
33
  $url = '/api/designdocs/' . $designId . '/cartinfo'
34
  . '?' . http_build_query($data);
35
  $json = $this->getRawRequest($url, null);
app/code/community/Futurenext/Zakeke/Model/Api2/Colors.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Api2/Colors/Rest/Admin/V1.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Api2/ProductAttribute.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Api2/ProductAttribute/Rest/Admin/V1.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Api2/ProductOptions.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Api2/ProductOptions/Rest/Admin/V1.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Api2/Settings.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Api2/Settings/Rest/Admin/V1.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Api2/ZakekeEnabled.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Api2/ZakekeEnabled/Rest/Admin/V1.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/ModuleList.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Observer.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
@@ -46,16 +46,18 @@ class Futurenext_Zakeke_Model_Observer
46
  $model = $request->getParam(
47
  Futurenext_Zakeke_Helper_Data::ZAKEKE_MODEL_PARAM
48
  );
 
49
  if (!$design || !$model) {
50
  return $this;
51
  }
52
 
53
- $qty = $request->getParam('qty');
54
- if ($qty) {
55
- $filter = new Zend_Filter_LocalizedToNormalized(
56
- array('locale' => Mage::app()->getLocale()->getLocaleCode())
57
- );
58
- $qty = $filter->filter($qty);
 
59
  }
60
 
61
  /** @var Mage_Catalog_Model_Product $product */
@@ -86,20 +88,14 @@ class Futurenext_Zakeke_Model_Observer
86
  return $this;
87
  }
88
 
89
- $zakekeCartData = $zakekeApi->getCartInfo($design);
90
 
91
  /** @var Mage_Core_Helper_Data $coreHelper */
92
  $coreHelper = Mage::helper('core');
93
 
94
  $originalFinalPrice = $product->getFinalPrice($qty);
95
 
96
- $zakekePrice = 0.0;
97
- if ($zakekeCartData->pricing['modelPriceDeltaPerc']) {
98
- $zakekePrice += $originalFinalPrice * ($zakekeCartData->pricing['modelPriceDeltaPerc'] / 100);
99
- } else {
100
- $zakekePrice += (float)$zakekeCartData->pricing['modelPriceDeltaValue'];
101
- }
102
- $zakekePrice += (float)$zakekeCartData->pricing['designPrice'];
103
 
104
  $zakekeOption = array(
105
  'label' => $coreHelper->__('Customization'),
@@ -118,13 +114,8 @@ class Futurenext_Zakeke_Model_Observer
118
 
119
  $options[] = $zakekeOption;
120
 
121
- if ($zakekePrice) {
122
- $zakekeFinalPrice = $coreHelper->currency($zakekePrice, true, false);
123
- $zakekePricingOption = [
124
- 'label' => $coreHelper->__('Customization Price'),
125
- 'value' => $zakekeFinalPrice
126
- ];
127
- $options[] = $zakekePricingOption;
128
  }
129
 
130
  $product->addCustomOption('additional_options', serialize($options));
@@ -153,6 +144,7 @@ class Futurenext_Zakeke_Model_Observer
153
  if ($action === null) {
154
  return $this;
155
  }
 
156
  $actionName = $action->getFullActionName();
157
  if ($actionName !== 'sales_order_reorder') {
158
  return $this;
@@ -178,14 +170,16 @@ class Futurenext_Zakeke_Model_Observer
178
  return $this;
179
  }
180
 
181
- $qty = $action->getRequest()->getParam('qty');
182
- if ($qty !== null) {
183
- $filter = new Zend_Filter_LocalizedToNormalized(
184
- array('locale' => Mage::app()->getLocale()->getLocaleCode())
185
- );
186
- $qty = $filter->filter($qty);
 
187
  }
188
 
 
189
  $design = $buyInfo[Futurenext_Zakeke_Helper_Data::ZAKEKE_DESIGN_PARAM];
190
  $model = $buyInfo[Futurenext_Zakeke_Helper_Data::ZAKEKE_MODEL_PARAM];
191
 
@@ -198,17 +192,11 @@ class Futurenext_Zakeke_Model_Observer
198
  /** @var Mage_Core_Helper_Data $coreHelper */
199
  $coreHelper = Mage::helper('core');
200
 
201
- $zakekeCartData = $zakekeApi->getCartInfo($design);
202
 
203
  $originalFinalPrice = $product->getFinalPrice($qty);
204
 
205
- $zakekePrice = 0.0;
206
- if ($zakekeCartData->pricing['modelPriceDeltaPerc']) {
207
- $zakekePrice += $originalFinalPrice * ($zakekeCartData->pricing['modelPriceDeltaPerc'] / 100);
208
- } else {
209
- $zakekePrice += (float)$zakekeCartData->pricing['modelPriceDeltaValue'];
210
- }
211
- $zakekePrice += (float)$zakekeCartData->pricing['designPrice'];
212
 
213
  $zakekeOption = array(
214
  'label' => $coreHelper->__('Customization'),
@@ -226,14 +214,8 @@ class Futurenext_Zakeke_Model_Observer
226
  );
227
  $additionalOptions[] = $zakekeOption;
228
 
229
- if ($zakekePrice) {
230
- $zakekeFinalPrice = $coreHelper->currency($zakekePrice);
231
-
232
- $zakekePricingOption = [
233
- 'label' => $coreHelper->__('Customization Price'),
234
- 'value' => $zakekeFinalPrice
235
- ];
236
- $additionalOptions[] = $zakekePricingOption;
237
  }
238
 
239
  $item->addOption(array(
@@ -306,16 +288,6 @@ class Futurenext_Zakeke_Model_Observer
306
  /** @var Mage_Catalog_Model_Product $product */
307
  $product = $observer->getProduct();
308
 
309
- $action = Mage::app()->getFrontController()->getAction();
310
- $request = $action->getRequest();
311
- $qty = $request->getParam('qty');
312
- if (isset($qty)) {
313
- $filter = new Zend_Filter_LocalizedToNormalized(
314
- array('locale' => Mage::app()->getLocale()->getLocaleCode())
315
- );
316
- $qty = $filter->filter($qty);
317
- }
318
-
319
  /** @var Mage_Catalog_Model_Product_Option $additionalOption */
320
  $additionalOption = $product->getCustomOption('additional_options');
321
  if (!$additionalOption) {
@@ -334,26 +306,12 @@ class Futurenext_Zakeke_Model_Observer
334
  ->setValue(Futurenext_Zakeke_Helper_Data::ZAKEKE_PRODUCT_TYPE);
335
  $quoteItem->addOption($optionType);
336
 
337
- $zakekePrice = 0.0;
338
- if (isset($option['price'])) {
339
- $zakekePrice = $option['price'];
340
  }
341
 
342
- if ($zakekePrice <= 0.0) {
343
- return $this;
344
- }
345
-
346
- /** @var Mage_Directory_Helper_Data $directoryHelper */
347
- $directoryHelper = Mage::helper('directory');
348
- $baseCurrencyCode = Mage::app()->getStore()->getBaseCurrencyCode();
349
- $currentCurrencyCode = Mage::app()->getStore()->getCurrentCurrencyCode();
350
-
351
- $baseFinalPrice = $product->getFinalPrice($quoteItem->getQty()) + $zakekePrice;
352
- $finalPrice = $directoryHelper->currencyConvert($baseFinalPrice, $baseCurrencyCode, $currentCurrencyCode);
353
-
354
- $quoteItem->setCustomPrice($finalPrice);
355
- $quoteItem->setOriginalCustomPrice($finalPrice);
356
- $product->setIsSuperMode(true);
357
  }
358
  } catch (Exception $e) {
359
  Mage::logException($e);
@@ -560,4 +518,114 @@ class Futurenext_Zakeke_Model_Observer
560
  }
561
  return $this;
562
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
563
  }
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
46
  $model = $request->getParam(
47
  Futurenext_Zakeke_Helper_Data::ZAKEKE_MODEL_PARAM
48
  );
49
+
50
  if (!$design || !$model) {
51
  return $this;
52
  }
53
 
54
+ $qty = $request->getParam('qty', '1');
55
+ $filter = new Zend_Filter_LocalizedToNormalized(
56
+ array('locale' => Mage::app()->getLocale()->getLocaleCode())
57
+ );
58
+ $qty = (float) $filter->filter($qty);
59
+ if ($qty <= 0) {
60
+ $qty = 1;
61
  }
62
 
63
  /** @var Mage_Catalog_Model_Product $product */
88
  return $this;
89
  }
90
 
91
+ $zakekeCartData = $zakekeApi->getCartInfo($design, $qty);
92
 
93
  /** @var Mage_Core_Helper_Data $coreHelper */
94
  $coreHelper = Mage::helper('core');
95
 
96
  $originalFinalPrice = $product->getFinalPrice($qty);
97
 
98
+ $zakekePrice = $zakekeHelper::getZakekePrice($originalFinalPrice, $zakekeCartData->pricing, $qty);
 
 
 
 
 
 
99
 
100
  $zakekeOption = array(
101
  'label' => $coreHelper->__('Customization'),
114
 
115
  $options[] = $zakekeOption;
116
 
117
+ if ($zakekePrice > 0) {
118
+ self::upsertZakekePricingOption($options, $zakekePrice);
 
 
 
 
 
119
  }
120
 
121
  $product->addCustomOption('additional_options', serialize($options));
144
  if ($action === null) {
145
  return $this;
146
  }
147
+
148
  $actionName = $action->getFullActionName();
149
  if ($actionName !== 'sales_order_reorder') {
150
  return $this;
170
  return $this;
171
  }
172
 
173
+ $qty = $action->getRequest()->getParam('qty', '1');
174
+ $filter = new Zend_Filter_LocalizedToNormalized(
175
+ array('locale' => Mage::app()->getLocale()->getLocaleCode())
176
+ );
177
+ $qty = (float) $filter->filter($qty);
178
+ if ($qty <= 0) {
179
+ $qty = 1;
180
  }
181
 
182
+
183
  $design = $buyInfo[Futurenext_Zakeke_Helper_Data::ZAKEKE_DESIGN_PARAM];
184
  $model = $buyInfo[Futurenext_Zakeke_Helper_Data::ZAKEKE_MODEL_PARAM];
185
 
192
  /** @var Mage_Core_Helper_Data $coreHelper */
193
  $coreHelper = Mage::helper('core');
194
 
195
+ $zakekeCartData = $zakekeApi->getCartInfo($design, $qty);
196
 
197
  $originalFinalPrice = $product->getFinalPrice($qty);
198
 
199
+ $zakekePrice = $zakekeHelper::getZakekePrice($originalFinalPrice, $zakekeCartData->pricing, $qty);
 
 
 
 
 
 
200
 
201
  $zakekeOption = array(
202
  'label' => $coreHelper->__('Customization'),
214
  );
215
  $additionalOptions[] = $zakekeOption;
216
 
217
+ if ($zakekePrice > 0) {
218
+ self::upsertZakekePricingOption($additionalOptions, $zakekePrice);
 
 
 
 
 
 
219
  }
220
 
221
  $item->addOption(array(
288
  /** @var Mage_Catalog_Model_Product $product */
289
  $product = $observer->getProduct();
290
 
 
 
 
 
 
 
 
 
 
 
291
  /** @var Mage_Catalog_Model_Product_Option $additionalOption */
292
  $additionalOption = $product->getCustomOption('additional_options');
293
  if (!$additionalOption) {
306
  ->setValue(Futurenext_Zakeke_Helper_Data::ZAKEKE_PRODUCT_TYPE);
307
  $quoteItem->addOption($optionType);
308
 
309
+ if (isset($option['price']) && $option['price'] > 0) {
310
+ $finalPrice = $product->getFinalPrice($quoteItem->getQty()) + $option['price'];
311
+ self::setQuoteItemPrice($quoteItem, $finalPrice);
312
  }
313
 
314
+ return $this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
315
  }
316
  } catch (Exception $e) {
317
  Mage::logException($e);
518
  }
519
  return $this;
520
  }
521
+
522
+ /**
523
+ * Check for quote item qty changes.
524
+ *
525
+ * @param Varien_Event_Observer $observer
526
+ * @return $this
527
+ * @throws Exception
528
+ */
529
+ public function salesQuoteItemQtySetAfter($observer)
530
+ {
531
+ /** @var Futurenext_Zakeke_Helper_ZakekeApi $zakekeApi */
532
+ $zakekeApi = Mage::helper('futurenext_zakeke/zakekeApi');
533
+
534
+ try {
535
+ /** @var Mage_Sales_Model_Quote_Item $quoteItem */
536
+ $quoteItem = $observer->getEvent()->getItem();
537
+
538
+ if ($quoteItem->isObjectNew() || !$quoteItem->dataHasChangedFor('qty')) {
539
+ return $this;
540
+ }
541
+
542
+ $qty = $quoteItem->getQty();
543
+ if ($qty <= 0) {
544
+ $qty = 1;
545
+ }
546
+
547
+ /** @var Mage_Sales_Model_Quote_Item_Option $additionalOptionsOption */
548
+ $additionalOptionsOption = $quoteItem->getOptionByCode('additional_options');
549
+ if ($additionalOptionsOption) {
550
+ $options = (array) unserialize($additionalOptionsOption->getValue());
551
+
552
+ if ($option = &Futurenext_Zakeke_Helper_Data::getZakekeOption($options)) {
553
+ $product = $quoteItem->getProduct();
554
+
555
+ $zakekeCartData = $zakekeApi->getCartInfo($option['design'], $qty);
556
+
557
+ $originalFinalPrice = $product->getFinalPrice($qty);
558
+
559
+ $zakekePrice = Futurenext_Zakeke_Helper_Data::getZakekePrice(
560
+ $originalFinalPrice,
561
+ $zakekeCartData->pricing,
562
+ $qty
563
+ );
564
+
565
+ $option['pricing'] = $zakekeCartData->pricing;
566
+ $option['price'] = $zakekePrice;
567
+ $option['original_final_price'] = $originalFinalPrice;
568
+
569
+ $finalPrice = $originalFinalPrice + $zakekePrice;
570
+ self::setQuoteItemPrice($quoteItem, $finalPrice);
571
+
572
+ self::upsertZakekePricingOption($options, $zakekePrice);
573
+
574
+ $additionalOptionsOption->setValue(serialize($options));
575
+ }
576
+ }
577
+ } catch (Exception $e) {
578
+ Mage::logException($e);
579
+ $zakekeApi->log('Observer salesQuoteItemQtySetAfter exception ' . $e);
580
+ throw $e;
581
+ }
582
+ return $this;
583
+ }
584
+
585
+ /**
586
+ * Add or update the Zakeke pricing option
587
+ *
588
+ * @param array $options
589
+ * @param float $zakekePrice
590
+ * @return void
591
+ */
592
+ private static function upsertZakekePricingOption(&$options, $zakekePrice)
593
+ {
594
+ /** @var Mage_Core_Helper_Data $coreHelper */
595
+ $coreHelper = Mage::helper('core');
596
+
597
+ if ($priceOption = &Futurenext_Zakeke_Helper_Data::getZakekePriceOption($options)) {
598
+ $zakekeFinalPrice = $coreHelper->currency($zakekePrice, true, false);
599
+ $priceOption['value'] = $zakekeFinalPrice;
600
+ } elseif ($zakekePrice > 0) {
601
+ $zakekeFinalPrice = $coreHelper->currency($zakekePrice, true, false);
602
+ $zakekePricingOption = array(
603
+ 'label' => $coreHelper->__('Customization Price'),
604
+ 'value' => $zakekeFinalPrice,
605
+ 'code' => 'zakeke_price'
606
+ );
607
+ $options[] = $zakekePricingOption;
608
+ }
609
+ }
610
+
611
+ /**
612
+ * Set a custom price to a quote item.
613
+ *
614
+ * @param Mage_Sales_Model_Quote_Item $quoteItem
615
+ * @param float $price
616
+ * @return void
617
+ */
618
+ private static function setQuoteItemPrice($quoteItem, $price)
619
+ {
620
+ /** @var Mage_Directory_Helper_Data $directoryHelper */
621
+ $directoryHelper = Mage::helper('directory');
622
+ $baseCurrencyCode = Mage::app()->getStore()->getBaseCurrencyCode();
623
+
624
+ $finalPrice = $directoryHelper->currencyConvert($price, $baseCurrencyCode);
625
+
626
+ $quoteItem->setCustomPrice($finalPrice);
627
+ $quoteItem->setOriginalCustomPrice($finalPrice);
628
+ $quoteItem->getProduct()->setIsSuperMode(true);
629
+ }
630
+
631
  }
app/code/community/Futurenext/Zakeke/Model/Resource/Setup.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Resource/ZakekeEnabled.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/Resource/ZakekeEnabled/Collection.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/Model/ZakekeEnabled.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/controllers/CustomizeController.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
@@ -113,12 +113,13 @@ class Futurenext_Zakeke_CustomizeController extends Mage_Core_Controller_Front_A
113
  return;
114
  }
115
 
116
- $qty = $this->getRequest()->getParam('qty');
117
- if (isset($qty)) {
118
- $filter = new Zend_Filter_LocalizedToNormalized(
119
- array('locale' => Mage::app()->getLocale()->getLocaleCode())
120
- );
121
- $qty = $filter->filter($qty);
 
122
  }
123
 
124
  $baseFinalPrice = $product->getFinalPrice($qty);
@@ -190,13 +191,13 @@ class Futurenext_Zakeke_CustomizeController extends Mage_Core_Controller_Front_A
190
  }
191
  }
192
 
193
- $unitFinalPrice = $finalPrice + $zakekeFinalPrice;
194
 
195
  /** @var Mage_Core_Helper_Data $coreHelper */
196
  $coreHelper = Mage::helper('core');
197
 
198
  $data = array(
199
- 'finalPrice' => $coreHelper->currency($unitFinalPrice, false, false),
200
  );
201
  $this->getResponse()->setBody(json_encode($data));
202
  } catch (Exception $e) {
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
113
  return;
114
  }
115
 
116
+ $qty = $this->getRequest()->getParam('qty', '1');
117
+ $filter = new Zend_Filter_LocalizedToNormalized(
118
+ array('locale' => Mage::app()->getLocale()->getLocaleCode())
119
+ );
120
+ $qty = $filter->filter($qty);
121
+ if ($qty <= 0) {
122
+ $qty = 1;
123
  }
124
 
125
  $baseFinalPrice = $product->getFinalPrice($qty);
191
  }
192
  }
193
 
194
+ $customizationFinalPrice = ($finalPrice * $qty) + $zakekeFinalPrice;
195
 
196
  /** @var Mage_Core_Helper_Data $coreHelper */
197
  $coreHelper = Mage::helper('core');
198
 
199
  $data = array(
200
+ 'finalPrice' => $coreHelper->currency($customizationFinalPrice, false, false),
201
  );
202
  $this->getResponse()->setBody(json_encode($data));
203
  } catch (Exception $e) {
app/code/community/Futurenext/Zakeke/controllers/Zakeke/ModuleCheckerController.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
app/code/community/Futurenext/Zakeke/etc/adminhtml.xml CHANGED
@@ -1,12 +1,12 @@
1
  <?xml version="1.0"?>
2
  <!--
3
  /*******************************************************
4
- * Copyright (C) 2016 FutureNext SRL
5
  *
6
  * This file is part of Zakeke.
7
  *
8
  * Zakeke can not be copied and/or distributed without the express
9
- * permission of FutureNext SRL
10
  *******************************************************/
11
  -->
12
  <config>
1
  <?xml version="1.0"?>
2
  <!--
3
  /*******************************************************
4
+ * Copyright (C) 2017 Zakeke
5
  *
6
  * This file is part of Zakeke.
7
  *
8
  * Zakeke can not be copied and/or distributed without the express
9
+ * permission of Zakeke
10
  *******************************************************/
11
  -->
12
  <config>
app/code/community/Futurenext/Zakeke/etc/api2.xml CHANGED
@@ -1,12 +1,12 @@
1
  <?xml version="1.0"?>
2
  <!--
3
  /*******************************************************
4
- * Copyright (C) 2016 FutureNext SRL
5
  *
6
  * This file is part of Zakeke.
7
  *
8
  * Zakeke can not be copied and/or distributed without the express
9
- * permission of FutureNext SRL
10
  *******************************************************/
11
  -->
12
  <config>
1
  <?xml version="1.0"?>
2
  <!--
3
  /*******************************************************
4
+ * Copyright (C) 2017 Zakeke
5
  *
6
  * This file is part of Zakeke.
7
  *
8
  * Zakeke can not be copied and/or distributed without the express
9
+ * permission of Zakeke
10
  *******************************************************/
11
  -->
12
  <config>
app/code/community/Futurenext/Zakeke/etc/config.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <!--
3
  /*******************************************************
4
- * Copyright (C) 2016 FutureNext SRL
5
  *
6
  * This file is part of Zakeke.
7
  *
8
  * Zakeke can not be copied and/or distributed without the express
9
- * permission of FutureNext SRL
10
  *******************************************************/
11
  -->
12
  <config>
13
  <modules>
14
  <Futurenext_Zakeke>
15
- <version>1.1.1.0</version>
16
  </Futurenext_Zakeke>
17
  </modules>
18
 
@@ -85,6 +85,15 @@
85
  </observers>
86
  </sales_convert_quote_item_to_order_item>
87
 
 
 
 
 
 
 
 
 
 
88
  <sales_model_service_quote_submit_success>
89
  <observers>
90
  <futurenext_zakeke>
1
  <?xml version="1.0"?>
2
  <!--
3
  /*******************************************************
4
+ * Copyright (C) 2017 Zakeke
5
  *
6
  * This file is part of Zakeke.
7
  *
8
  * Zakeke can not be copied and/or distributed without the express
9
+ * permission of Zakeke
10
  *******************************************************/
11
  -->
12
  <config>
13
  <modules>
14
  <Futurenext_Zakeke>
15
+ <version>1.2.0.0</version>
16
  </Futurenext_Zakeke>
17
  </modules>
18
 
85
  </observers>
86
  </sales_convert_quote_item_to_order_item>
87
 
88
+ <sales_quote_item_qty_set_after>
89
+ <observers>
90
+ <futurenext_zakeke>
91
+ <class>Futurenext_Zakeke_Model_Observer</class>
92
+ <method>salesQuoteItemQtySetAfter</method>
93
+ </futurenext_zakeke>
94
+ </observers>
95
+ </sales_quote_item_qty_set_after>
96
+
97
  <sales_model_service_quote_submit_success>
98
  <observers>
99
  <futurenext_zakeke>
app/code/community/Futurenext/Zakeke/etc/system.xml CHANGED
@@ -1,12 +1,12 @@
1
  <?xml version="1.0"?>
2
  <!--
3
  /*******************************************************
4
- * Copyright (C) 2016 FutureNext SRL
5
  *
6
  * This file is part of Zakeke.
7
  *
8
  * Zakeke can not be copied and/or distributed without the express
9
- * permission of FutureNext SRL
10
  *******************************************************/
11
  -->
12
  <config>
@@ -29,7 +29,7 @@
29
  <groups>
30
  <settings translate="label comment">
31
  <label>General Settings</label>
32
- <comment>These credentials will be used to allow the integration of Zakeke with your store. By entering your Zakeke credentials your store will be able to communicate with the Zakeke API.</comment>
33
  <frontend_type>text</frontend_type>
34
  <show_in_default>1</show_in_default>
35
  <show_in_website>1</show_in_website>
1
  <?xml version="1.0"?>
2
  <!--
3
  /*******************************************************
4
+ * Copyright (C) 2017 Zakeke
5
  *
6
  * This file is part of Zakeke.
7
  *
8
  * Zakeke can not be copied and/or distributed without the express
9
+ * permission of Zakeke
10
  *******************************************************/
11
  -->
12
  <config>
29
  <groups>
30
  <settings translate="label comment">
31
  <label>General Settings</label>
32
+ <comment><![CDATA[These credentials will be used to allow the integration of Zakeke with your store. By entering your Zakeke credentials your store will be able to communicate with the Zakeke API. Please refer to the <a href="https://www.zakeke.com/Documentation/Integration/Magento1">Zakeke documentation</a> if you are unsure how to proceed.]]></comment>
33
  <frontend_type>text</frontend_type>
34
  <show_in_default>1</show_in_default>
35
  <show_in_website>1</show_in_website>
app/code/community/Futurenext/Zakeke/sql/zakeke_setup/install-1.0.0.0.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*******************************************************
3
- * Copyright (C) 2016 FutureNext SRL
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
- * permission of FutureNext SRL
9
  *******************************************************/
10
 
11
 
1
  <?php
2
  /*******************************************************
3
+ * Copyright (C) 2017 Zakeke
4
  *
5
  * This file is part of Zakeke.
6
  *
7
  * Zakeke can not be copied and/or distributed without the express
8
+ * permission of Zakeke
9
  *******************************************************/
10
 
11
 
js/zakeke/customize.js CHANGED
@@ -1,10 +1,10 @@
1
  /*******************************************************
2
- * Copyright (C) 2016 FutureNext SRL
3
  *
4
  * This file is part of Zakeke.
5
  *
6
  * Zakeke can not be copied and/or distributed without the express
7
- * permission of FutureNext SRL
8
  *******************************************************/
9
 
10
  function zakekeCustomizationAdd(config) {
1
  /*******************************************************
2
+ * Copyright (C) 2017 Zakeke
3
  *
4
  * This file is part of Zakeke.
5
  *
6
  * Zakeke can not be copied and/or distributed without the express
7
+ * permission of Zakeke
8
  *******************************************************/
9
 
10
  function zakekeCustomizationAdd(config) {
js/zakeke/preview.js CHANGED
@@ -1,10 +1,10 @@
1
  /*******************************************************
2
- * Copyright (C) 2016 FutureNext SRL
3
  *
4
  * This file is part of Zakeke.
5
  *
6
  * Zakeke can not be copied and/or distributed without the express
7
- * permission of FutureNext SRL
8
  *******************************************************/
9
 
10
  function zakekeShowPreview(preview) {
1
  /*******************************************************
2
+ * Copyright (C) 2017 Zakeke
3
  *
4
  * This file is part of Zakeke.
5
  *
6
  * Zakeke can not be copied and/or distributed without the express
7
+ * permission of Zakeke
8
  *******************************************************/
9
 
10
  function zakekeShowPreview(preview) {
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Futurenext_Zakeke</name>
4
- <version>1.1.1.0</version>
5
  <stability>stable</stability>
6
  <license uri="https://www.zakeke.com/Contracts/GeneralConditions">Zakeke license</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>Zakeke is an innovative cloud platform that allows any Magento store to integrate into the system a 2D and 3D complete customizer of products, giving the possibility to customize "live" products for sale to the end customer.</description>
11
  <notes>Bug fixing release</notes>
12
  <authors><author><name>Futurenext</name><user>futurenext</user><email>info@zakeke.com</email></author></authors>
13
- <date>2017-05-25</date>
14
- <time>07:21:18</time>
15
- <contents><target name="magecommunity"><dir name="Futurenext"><dir name="Zakeke"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Items"><dir name="Column"><dir name="Zakeke"><file name="Name.php" hash="44ee4fa109c9fbf1283cf2a4a4370cab"/></dir></dir></dir></dir></dir><file name="CartItemRenderer.php" hash="7b97013da50098c9c2360fd96aa9c5b6"/><file name="CheckoutItemRenderer.php" hash="02d4244d1274ac023c7fe997fcedf833"/><dir name="Customize"><file name="Add.php" hash="6d206e080ed91ed1ffbdd7528d89be2f"/><file name="Configure.php" hash="e815ed877af5727bd20289429122107b"/></dir><file name="Customize.php" hash="56a223ea2c753b63ff1460c7356b90e1"/><file name="CustomizeButton.php" hash="6dddb69fa8c3b5e9a397e2b9bb328301"/><file name="ModuleChecker.php" hash="8df2615bc87c4e656584ee80a51a9b31"/><file name="SalesItemRenderer.php" hash="2b470077ecef18ec49eab960409914ef"/><file name="View.php" hash="0c5a7231813b3737e069ad1ca3ccf809"/></dir><dir name="Helper"><file name="Data.php" hash="fcee50ae4edadc2df205299f598bee6f"/><file name="ZakekeApi.php" hash="9556204f7e6fad0d5917e9dd19819d30"/></dir><dir name="Model"><dir name="Api2"><dir name="Colors"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="0b1ad3d9656fd5b729d1f7a626359e19"/></dir></dir></dir><file name="Colors.php" hash="f9f004c13ef5357bb3d5e798208e7902"/><dir name="ProductAttribute"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="40a6a5def798a5d0e8bcee1ac8c8a4d8"/></dir></dir></dir><file name="ProductAttribute.php" hash="97ea0f12646d9f1f1ab6916ed41f04dc"/><dir name="ProductOptions"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="6c6dd2079f58a654b60c465cc1fbc357"/></dir></dir></dir><file name="ProductOptions.php" hash="5e1234a158723dc5a8e2c3ccf6e152cf"/><dir name="Settings"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="e982e900acb2a4ac267cdda95c87cd35"/></dir></dir></dir><file name="Settings.php" hash="2f7fa711c00e75d3c4afabb007145c49"/><dir name="ZakekeEnabled"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="b107fafe0fa69827bebadfd66c6274d9"/></dir></dir></dir><file name="ZakekeEnabled.php" hash="0f5c210fa296b30283aa41f500c3e3b9"/></dir><file name="ModuleList.php" hash="929479d45eb4252daaff6e4a40733b09"/><file name="Observer.php" hash="071af0e4a3a5b40a10b71aa55df3c6d6"/><dir name="Resource"><file name="Setup.php" hash="42a7681d56fcd5ad06f75a223ef420f1"/><dir name="ZakekeEnabled"><file name="Collection.php" hash="fdadf3c788c4b5e175e4a20501116027"/></dir><file name="ZakekeEnabled.php" hash="f32fb4b25f1f78287a38c3bd170bdbaa"/></dir><file name="ZakekeEnabled.php" hash="9b31e4606dcf8622092f638ca9f3920c"/></dir><dir name="controllers"><file name="CustomizeController.php" hash="10671c9bfc00cd41c6d983d938fac06a"/><dir name="Zakeke"><file name="ModuleCheckerController.php" hash="b92d1f5b155479a85f358f1356ccdd29"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="22cdf40e6e83327b58f9e97fa17e8f68"/><file name="api2.xml" hash="9af2352582ae62a261d07f58e64d5e77"/><file name="config.xml" hash="3b4a19b45cc6545477bba95501a958a1"/><file name="system.xml" hash="eccf09b5aed08b88495340b03058edc2"/></dir><dir name="sql"><dir name="zakeke_setup"><file name="install-1.0.0.0.php" hash="64a3954b20b3142886446ac432a04b21"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Futurenext_Zakeke.xml" hash="f309795ee4b758943868cb1f7459fb9c"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="zakeke.xml" hash="d296777d398f6af473adfb8a15477b47"/></dir><dir name="template"><dir name="zakeke"><file name="modulechecker.phtml" hash="b3101729cc5030c645770af6a814cd26"/><dir name="sales"><dir name="items"><dir name="column"><dir name="zakeke"><file name="name.phtml" hash="723ecc1f6c0ad17495389b8e012d72e3"/></dir></dir></dir><dir name="order"><dir name="creditmemo"><dir name="create"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="6294158a08ad56639c3a57a4d88c2f81"/></dir></dir></dir><dir name="view"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="4421194ecc884d934f099a256062cfcb"/></dir></dir></dir></dir><dir name="invoice"><dir name="create"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="0da287c2ae4a87e0e768fdad0d0adfd3"/></dir></dir></dir><dir name="view"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="42f0631dd2ce37d9d7289b6d2785b222"/></dir></dir></dir></dir><dir name="view"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="867a37a7072be0cba7dc9f7c03cec0d4"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="zakeke.xml" hash="885fbe6e53a1c454f8af1303e9f328ad"/></dir><dir name="template"><dir name="zakeke"><dir name="cart"><dir name="item"><file name="default.phtml" hash="bfb6e4a50c69ccfdfe66ad8c8711afdd"/></dir><file name="minicart.phtml" hash="1e7398e848e024bbeae11ed1550de3c8"/></dir><dir name="customization"><file name="add.phtml" hash="c647328e435fbe6dbe61e325e7a90f89"/></dir><file name="customize.phtml" hash="c090c24b405b302b81672107737cac9f"/><file name="customizeButton.phtml" hash="3330f773ff0c3deb194dfb19b9877ebb"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="zakeke"><file name="customize.js" hash="7a09f117777aca47212df3ad6617aef9"/><file name="jquery.js" hash="105112a8a757f683234e01dec3799022"/><file name="preview.js" hash="a22a32209982d2dda7561cff723b49bb"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="zakeke"><file name="modulechecker.css" hash="e7fd6efc953f7e2aae234607a0a379a8"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="it_IT"><file name="Futurenext_Zakeke.csv" hash="0d374552863dc52633b9a77526cf5ac9"/></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php><extension><name>curl</name><min/><max/></extension></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Futurenext_Zakeke</name>
4
+ <version>1.2.0.0</version>
5
  <stability>stable</stability>
6
  <license uri="https://www.zakeke.com/Contracts/GeneralConditions">Zakeke license</license>
7
  <channel>community</channel>
10
  <description>Zakeke is an innovative cloud platform that allows any Magento store to integrate into the system a 2D and 3D complete customizer of products, giving the possibility to customize "live" products for sale to the end customer.</description>
11
  <notes>Bug fixing release</notes>
12
  <authors><author><name>Futurenext</name><user>futurenext</user><email>info@zakeke.com</email></author></authors>
13
+ <date>2017-06-12</date>
14
+ <time>10:14:09</time>
15
+ <contents><target name="magecommunity"><dir name="Futurenext"><dir name="Zakeke"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Items"><dir name="Column"><dir name="Zakeke"><file name="Name.php" hash="dd05190aff334676a286b7ce8b69b63a"/></dir></dir></dir></dir></dir><file name="CartItemRenderer.php" hash="0e8f58fb26c20ef02ce9aacafcb05295"/><file name="CheckoutItemRenderer.php" hash="3cb5f5a911b35ba0174b4644ce43f807"/><dir name="Customize"><file name="Add.php" hash="44b29f89fa313cd3aff1359ef498c6ef"/><file name="Configure.php" hash="ee122b41aed49566e1d5d255f06f61c0"/></dir><file name="Customize.php" hash="46c3b911db587af3ab0de41ee109ea8d"/><file name="CustomizeButton.php" hash="846864b489a0e13615d6a5231f8dd0d1"/><file name="ModuleChecker.php" hash="8ac69319984bd107a4df2339246d7648"/><file name="SalesItemRenderer.php" hash="60945981c22d20e5cfb4853795e0194e"/><file name="View.php" hash="0b80bf68740987b511160c5fd6f1286d"/></dir><dir name="Helper"><file name="Data.php" hash="0b5e3706a75d1dc391a9a5e98b372429"/><file name="ZakekeApi.php" hash="38ffd48cbf4665c91b298cc9d71bef7e"/></dir><dir name="Model"><dir name="Api2"><dir name="Colors"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="ae69eeeb121eb49e814668623827aacb"/></dir></dir></dir><file name="Colors.php" hash="5bfa384b4ecc8ebdab9070baa3d2d5f4"/><dir name="ProductAttribute"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="49a06d75aa8c12ed77e558c2ad3f3f76"/></dir></dir></dir><file name="ProductAttribute.php" hash="06ca012748d9e12595614bdfdf23924f"/><dir name="ProductOptions"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="323679de3bc31b6ff5849457578fcf38"/></dir></dir></dir><file name="ProductOptions.php" hash="8711b66b728daf92a2e51e176509abb2"/><dir name="Settings"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="e6503278deb0e52939941feee6cabd36"/></dir></dir></dir><file name="Settings.php" hash="c4a27b166b372bb5fb95bee3c60d68f2"/><dir name="ZakekeEnabled"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="b8a09c51eb804ebe58b34218094414ce"/></dir></dir></dir><file name="ZakekeEnabled.php" hash="87decb4a9a560a44c4282102e99afe7d"/></dir><file name="ModuleList.php" hash="e8346258a5f7b64d652d11440edc33ef"/><file name="Observer.php" hash="b27872e2f8a57c437eed66bf22548d5b"/><dir name="Resource"><file name="Setup.php" hash="46d5e87d85bae36f8568c91b5764e850"/><dir name="ZakekeEnabled"><file name="Collection.php" hash="3d7eeccfb1743f8e782f764a99df1c22"/></dir><file name="ZakekeEnabled.php" hash="a5206991279fe19397ad92c42c3781d0"/></dir><file name="ZakekeEnabled.php" hash="3b12795c04d6ae992f6a8978d82a8cf0"/></dir><dir name="controllers"><file name="CustomizeController.php" hash="ab81f3cdab8a18c6cae1f4818732ccc4"/><dir name="Zakeke"><file name="ModuleCheckerController.php" hash="4bff0593cd231edd130d211b0181e5e8"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="dd0153442299b0bec721eaaaed809836"/><file name="api2.xml" hash="f21941167594696fe9f26335c9835f5a"/><file name="config.xml" hash="d964e352b40528036451848c700f7cf9"/><file name="system.xml" hash="ce17b4c24e6dc8cb7356596a46fbc24d"/></dir><dir name="sql"><dir name="zakeke_setup"><file name="install-1.0.0.0.php" hash="a076b5e0e6b1fb6a01d6c2a255deaee6"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Futurenext_Zakeke.xml" hash="f309795ee4b758943868cb1f7459fb9c"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="zakeke.xml" hash="d296777d398f6af473adfb8a15477b47"/></dir><dir name="template"><dir name="zakeke"><file name="modulechecker.phtml" hash="b3101729cc5030c645770af6a814cd26"/><dir name="sales"><dir name="items"><dir name="column"><dir name="zakeke"><file name="name.phtml" hash="723ecc1f6c0ad17495389b8e012d72e3"/></dir></dir></dir><dir name="order"><dir name="creditmemo"><dir name="create"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="6294158a08ad56639c3a57a4d88c2f81"/></dir></dir></dir><dir name="view"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="4421194ecc884d934f099a256062cfcb"/></dir></dir></dir></dir><dir name="invoice"><dir name="create"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="0da287c2ae4a87e0e768fdad0d0adfd3"/></dir></dir></dir><dir name="view"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="42f0631dd2ce37d9d7289b6d2785b222"/></dir></dir></dir></dir><dir name="view"><dir name="items"><dir name="renderer"><file name="zakeke.phtml" hash="867a37a7072be0cba7dc9f7c03cec0d4"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="zakeke.xml" hash="885fbe6e53a1c454f8af1303e9f328ad"/></dir><dir name="template"><dir name="zakeke"><dir name="cart"><dir name="item"><file name="default.phtml" hash="bfb6e4a50c69ccfdfe66ad8c8711afdd"/></dir><file name="minicart.phtml" hash="1e7398e848e024bbeae11ed1550de3c8"/></dir><dir name="customization"><file name="add.phtml" hash="c647328e435fbe6dbe61e325e7a90f89"/></dir><file name="customize.phtml" hash="c090c24b405b302b81672107737cac9f"/><file name="customizeButton.phtml" hash="3330f773ff0c3deb194dfb19b9877ebb"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="zakeke"><file name="customize.js" hash="05ebd6655f9b85bb2dfb730d9bf39cd3"/><file name="jquery.js" hash="105112a8a757f683234e01dec3799022"/><file name="preview.js" hash="c17dcae78de4b3ac6867a0224fbd716f"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="zakeke"><file name="modulechecker.css" hash="e7fd6efc953f7e2aae234607a0a379a8"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="zakeke"><file name="zakeke.css" hash="f4a0b5e3624c207ec373cda2753f9118"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="it_IT"><file name="Futurenext_Zakeke.csv" hash="0d374552863dc52633b9a77526cf5ac9"/></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php><extension><name>curl</name><min/><max/></extension></required></dependencies>
18
  </package>
skin/frontend/base/default/css/zakeke/zakeke.css ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #zakeke-container {
2
+ width: 100%;
3
+ }
4
+
5
+ #zakeke-frame {
6
+ width: 100%;
7
+ height: 100%;
8
+ border: 0;
9
+ overflow: hidden;
10
+ }
11
+
12
+ @media (min-width: 768px) {
13
+ #zakeke-frame {
14
+ min-height: 719px;
15
+ }
16
+ }
17
+
18
+ @media (max-width: 768px) {
19
+ #zakeke-frame {
20
+ position: fixed;
21
+ top: 0;
22
+ left: 0;
23
+ right: 0;
24
+ bottom: 0;
25
+ z-index: 999999999;
26
+ }
27
+
28
+ body {
29
+ overflow: hidden;
30
+ }
31
+ }