d7db67d0d012350a01ce05c31f91754d - Version 2.10.1

Version Notes

* Adicionado compatibilidade com prefixo em tabelas.

Para mais informações acesse:
https://github.com/AnyMarket/magento

Download this release

Release Info

Developer Anymarket
Extension d7db67d0d012350a01ce05c31f91754d
Version 2.10.1
Comparing to
See all releases


Code changes from version 2.5.1 to 2.10.1

Files changed (166) hide show
  1. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes.php +0 -0
  2. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit.php +0 -0
  3. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit/Form.php +0 -0
  4. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit/Tab/Form.php +0 -0
  5. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit/Tab/Stores.php +0 -0
  6. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit/Tabs.php +0 -0
  7. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Grid.php +0 -0
  8. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands.php +0 -0
  9. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit.php +0 -0
  10. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit/Form.php +0 -0
  11. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit/Tab/Form.php +0 -0
  12. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit/Tab/Stores.php +0 -0
  13. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit/Tabs.php +0 -0
  14. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Grid.php +0 -0
  15. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories.php +0 -11
  16. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit.php +0 -0
  17. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit/Form.php +0 -0
  18. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit/Tab/Form.php +10 -0
  19. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit/Tab/Stores.php +0 -0
  20. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit/Tabs.php +0 -0
  21. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Grid.php +17 -0
  22. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog.php +0 -0
  23. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit.php +0 -0
  24. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit/Form.php +0 -0
  25. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit/Tab/Form.php +0 -0
  26. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit/Tab/Stores.php +0 -0
  27. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit/Tabs.php +0 -0
  28. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Grid.php +0 -0
  29. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders.php +0 -0
  30. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit.php +0 -0
  31. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit/Form.php +0 -0
  32. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit/Tab/Form.php +36 -3
  33. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit/Tab/Stores.php +0 -0
  34. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit/Tabs.php +0 -0
  35. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Grid.php +1 -6
  36. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts.php +0 -0
  37. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit.php +0 -0
  38. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit/Form.php +0 -0
  39. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit/Tab/Form.php +0 -0
  40. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit/Tab/Stores.php +0 -0
  41. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit/Tabs.php +0 -0
  42. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Grid.php +0 -0
  43. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue.php +0 -0
  44. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit.php +0 -0
  45. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit/Form.php +0 -0
  46. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit/Tab/Form.php +0 -0
  47. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit/Tab/Stores.php +0 -0
  48. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit/Tabs.php +0 -0
  49. app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Grid.php +1 -0
  50. app/code/community/DB1/AnyMarket/Block/Adminhtml/System/Config/Form/Buttoncheckconfig.php +0 -0
  51. app/code/community/DB1/AnyMarket/Block/Adminhtml/System/Config/Form/Callback.php +0 -0
  52. app/code/community/DB1/AnyMarket/Block/Adminhtml/System/Config/Form/buttoncheckconfig.php +0 -52
  53. app/code/community/DB1/AnyMarket/Block/System/Config/Source/Orders/Statusammg/Values.php +0 -0
  54. app/code/community/DB1/AnyMarket/Block/System/Config/Source/Orders/Statusmgam/Values.php +0 -0
  55. app/code/community/DB1/AnyMarket/Block/System/Config/Source/Products/Values.php +0 -0
  56. app/code/community/DB1/AnyMarket/Controller/Adminhtml/AnyMarket.php +0 -0
  57. app/code/community/DB1/AnyMarket/Helper/Brand.php +0 -0
  58. app/code/community/DB1/AnyMarket/Helper/Category.php +39 -10
  59. app/code/community/DB1/AnyMarket/Helper/Customergenerator.php +0 -0
  60. app/code/community/DB1/AnyMarket/Helper/Data.php +57 -3
  61. app/code/community/DB1/AnyMarket/Helper/Image.php +293 -0
  62. app/code/community/DB1/AnyMarket/Helper/Order.php +258 -58
  63. app/code/community/DB1/AnyMarket/Helper/Ordergenerator.php +88 -51
  64. app/code/community/DB1/AnyMarket/Helper/Product.php +774 -541
  65. app/code/community/DB1/AnyMarket/Helper/Productgenerator.php +52 -44
  66. app/code/community/DB1/AnyMarket/Helper/Queue.php +81 -75
  67. app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketattributes.php +0 -0
  68. app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketbrands.php +0 -0
  69. app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketlog.php +0 -0
  70. app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketorders.php +0 -0
  71. app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketproducts.php +0 -0
  72. app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketqueue.php +0 -0
  73. app/code/community/DB1/AnyMarket/Model/Anymarketattributes.php +11 -0
  74. app/code/community/DB1/AnyMarket/Model/Anymarketattributes/Api.php +0 -0
  75. app/code/community/DB1/AnyMarket/Model/Anymarketattributes/Api/V2.php +0 -0
  76. app/code/community/DB1/AnyMarket/Model/Anymarketbrands.php +11 -0
  77. app/code/community/DB1/AnyMarket/Model/Anymarketbrands/Api.php +0 -0
  78. app/code/community/DB1/AnyMarket/Model/Anymarketbrands/Api/V2.php +0 -0
  79. app/code/community/DB1/AnyMarket/Model/Anymarketcategories.php +11 -0
  80. app/code/community/DB1/AnyMarket/Model/Anymarketcategories/Api.php +0 -0
  81. app/code/community/DB1/AnyMarket/Model/Anymarketcategories/Api/V2.php +0 -0
  82. app/code/community/DB1/AnyMarket/Model/Anymarketlog.php +4 -0
  83. app/code/community/DB1/AnyMarket/Model/Anymarketlog/Api.php +0 -0
  84. app/code/community/DB1/AnyMarket/Model/Anymarketlog/Api/V2.php +0 -0
  85. app/code/community/DB1/AnyMarket/Model/Anymarketorders.php +23 -0
  86. app/code/community/DB1/AnyMarket/Model/Anymarketorders/Api.php +19 -5
  87. app/code/community/DB1/AnyMarket/Model/Anymarketorders/Api/V2.php +0 -0
  88. app/code/community/DB1/AnyMarket/Model/Anymarketproducts.php +11 -0
  89. app/code/community/DB1/AnyMarket/Model/Anymarketproducts/Api.php +39 -5
  90. app/code/community/DB1/AnyMarket/Model/Anymarketproducts/Api/V2.php +0 -0
  91. app/code/community/DB1/AnyMarket/Model/Anymarketqueue.php +11 -0
  92. app/code/community/DB1/AnyMarket/Model/Anymarketqueue/Api.php +0 -0
  93. app/code/community/DB1/AnyMarket/Model/Anymarketqueue/Api/V2.php +0 -0
  94. app/code/community/DB1/AnyMarket/Model/Cron.php +7 -10
  95. app/code/community/DB1/AnyMarket/Model/Observer.php +105 -113
  96. app/code/community/DB1/AnyMarket/Model/PaymentMethod.php +0 -0
  97. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketattributes.php +0 -0
  98. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketattributes/Collection.php +0 -0
  99. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketbrands.php +0 -0
  100. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketbrands/Collection.php +0 -0
  101. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketcategories.php +0 -0
  102. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketcategories/Collection.php +0 -0
  103. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketlog.php +0 -0
  104. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketlog/Collection.php +0 -0
  105. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketorders.php +0 -0
  106. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketorders/Collection.php +0 -0
  107. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketproducts.php +0 -0
  108. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketproducts/Collection.php +0 -0
  109. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketqueue.php +0 -0
  110. app/code/community/DB1/AnyMarket/Model/Resource/Anymarketqueue/Collection.php +0 -0
  111. app/code/community/DB1/AnyMarket/Model/Resource/Setup.php +0 -0
  112. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Customer/Group/Values.php +0 -0
  113. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Customer/Street/Values.php +0 -0
  114. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Customer/Values.php +0 -0
  115. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Product/Booleantp/Values.php +0 -0
  116. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Product/Price/Values.php +0 -0
  117. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Product/Values.php +0 -0
  118. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Set/Values.php +0 -0
  119. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Categories/Values.php +0 -0
  120. app/code/community/DB1/AnyMarket/Model/System/Config/Source/General/Values.php +13 -0
  121. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Logs/Values.php +0 -0
  122. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Massunit/Values.php +0 -0
  123. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Measurementunit/Values.php +0 -0
  124. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Orders/Values.php +0 -0
  125. app/code/community/DB1/AnyMarket/Model/System/Config/Source/Typesync/Order/Values.php +0 -0
  126. app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketattributesController.php +0 -0
  127. app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketbrandsController.php +0 -0
  128. app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketcategoriesController.php +0 -0
  129. app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketlogController.php +0 -0
  130. app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketordersController.php +0 -0
  131. app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketproductsController.php +2 -1
  132. app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketqueueController.php +0 -0
  133. app/code/community/DB1/AnyMarket/controllers/Adminhtml/AnymarketController.php +0 -0
  134. app/code/community/DB1/AnyMarket/controllers/IndexController.php +45 -16
  135. app/code/community/DB1/AnyMarket/etc/adminhtml.xml +0 -0
  136. app/code/community/DB1/AnyMarket/etc/api.xml +0 -0
  137. app/code/community/DB1/AnyMarket/etc/config.xml +11 -14
  138. app/code/community/DB1/AnyMarket/etc/system.xml +130 -36
  139. app/code/community/DB1/AnyMarket/etc/wsdl.xml +0 -0
  140. app/code/community/DB1/AnyMarket/etc/wsi.xml +0 -0
  141. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-install-1.0.0.php +626 -586
  142. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.0.0-1.1.0.php +1 -1
  143. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.1.0-1.2.0.php +0 -0
  144. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.2.0-1.3.0.php +26 -25
  145. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.3.0-1.4.0.php +1 -0
  146. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.4.0-1.5.0.php +0 -0
  147. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.5.0-1.6.0.php +1 -1
  148. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.6.0-1.7.0.php +4 -2
  149. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.7.0-1.8.0.php +1 -1
  150. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.8.0-2.0.0.php +0 -0
  151. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.0.0-2.1.0.php +29 -6
  152. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.1.0-2.2.0.php +0 -0
  153. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.2.0-2.3.6.php +0 -0
  154. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.3.6-2.3.9.php +3 -2
  155. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.3.9-2.4.0.php +1 -1
  156. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.4.0-2.4.3.php +0 -0
  157. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.4.3-2.4.4.php +0 -0
  158. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.4.4-2.9.1.php +4 -0
  159. app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.9.1-2.9.2.php +28 -0
  160. app/design/adminhtml/default/default/layout/db1_anymarket.xml +0 -0
  161. app/design/adminhtml/default/default/template/db1/anymarket/system/config/form/field/array_dropdown.phtml +0 -0
  162. app/design/adminhtml/default/default/template/db1/anymarket/system/config/form/field/button_check_configuration.phtml +0 -0
  163. app/etc/modules/DB1_AnyMarket.xml +0 -0
  164. app/locale/en_US/DB1_AnyMarket.csv +6 -1
  165. app/locale/pt_BR/DB1_AnyMarket.csv +17 -2
  166. package.xml +14 -11
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit/Tab/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit/Tab/Stores.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Edit/Tabs.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketattributes/Grid.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit/Tab/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit/Tab/Stores.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Edit/Tabs.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketbrands/Grid.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories.php CHANGED
@@ -25,10 +25,7 @@ class DB1_AnyMarket_Block_Adminhtml_Anymarketcategories extends Mage_Adminhtml_B
25
  {
26
  /**
27
  * constructor
28
- *
29
  * @access public
30
- * @return void
31
-
32
  */
33
  public function __construct()
34
  {
@@ -43,13 +40,5 @@ class DB1_AnyMarket_Block_Adminhtml_Anymarketcategories extends Mage_Adminhtml_B
43
  'onclick' => "setLocation('{$this->getUrl('*/*/sincCategs')}')",
44
  'class' => 'add'
45
  ));
46
-
47
- $message = Mage::helper('db1_anymarket')->__('Are you sure you want to export the categories?');
48
- $this->_addButton('export_categ', array(
49
- 'label' => Mage::helper('db1_anymarket')->__('Export Categories'),
50
- 'onclick' => "confirmSetLocation('{$message}', '{$this->getUrl('*/*/exportCategs')}')",
51
- 'class' => 'scalable go'
52
- ));
53
-
54
  }
55
  }
25
  {
26
  /**
27
  * constructor
 
28
  * @access public
 
 
29
  */
30
  public function __construct()
31
  {
40
  'onclick' => "setLocation('{$this->getUrl('*/*/sincCategs')}')",
41
  'class' => 'add'
42
  ));
 
 
 
 
 
 
 
 
43
  }
44
  }
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit/Tab/Form.php CHANGED
@@ -69,6 +69,16 @@ class DB1_AnyMarket_Block_Adminhtml_Anymarketcategories_Edit_Tab_Form extends Ma
69
 
70
  )
71
  );
 
 
 
 
 
 
 
 
 
 
72
  $fieldset->addField(
73
  'status',
74
  'select',
69
 
70
  )
71
  );
72
+ $fieldset->addField(
73
+ 'nmc_id_magento',
74
+ 'text',
75
+ array(
76
+ 'label' => Mage::helper('db1_anymarket')->__('Code in Magento'),
77
+ 'name' => 'nmc_id_magento',
78
+ 'required' => false
79
+ )
80
+ );
81
+
82
  $fieldset->addField(
83
  'status',
84
  'select',
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit/Tab/Stores.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Edit/Tabs.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketcategories/Grid.php CHANGED
@@ -89,6 +89,14 @@ class DB1_AnyMarket_Block_Adminhtml_Anymarketcategories_Grid extends Mage_Adminh
89
  'type' => 'number'
90
  )
91
  );
 
 
 
 
 
 
 
 
92
  $this->addColumn(
93
  'nmc_cat_desc',
94
  array(
@@ -128,6 +136,15 @@ class DB1_AnyMarket_Block_Adminhtml_Anymarketcategories_Grid extends Mage_Adminh
128
 
129
  )
130
  );
 
 
 
 
 
 
 
 
 
131
  if (!Mage::app()->isSingleStoreMode() && !$this->_isExport) {
132
  $this->addColumn(
133
  'store_id',
89
  'type' => 'number'
90
  )
91
  );
92
+ $this->addColumn(
93
+ 'nmc_id_magento',
94
+ array(
95
+ 'header' => Mage::helper('db1_anymarket')->__('Id magento'),
96
+ 'index' => 'nmc_id_magento',
97
+ 'type' => 'text'
98
+ )
99
+ );
100
  $this->addColumn(
101
  'nmc_cat_desc',
102
  array(
136
 
137
  )
138
  );
139
+ $this->addColumn(
140
+ 'nmc_id_magento',
141
+ array(
142
+ 'header' => Mage::helper('db1_anymarket')->__('Code in Magento'),
143
+ 'index' => 'nmc_id_magento',
144
+ 'type'=> 'text',
145
+
146
+ )
147
+ );
148
  if (!Mage::app()->isSingleStoreMode() && !$this->_isExport) {
149
  $this->addColumn(
150
  'store_id',
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit/Tab/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit/Tab/Stores.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Edit/Tabs.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketlog/Grid.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit/Tab/Form.php CHANGED
@@ -59,11 +59,44 @@ class DB1_AnyMarket_Block_Adminhtml_Anymarketorders_Edit_Tab_Form extends Mage_A
59
  array(
60
  'label' => Mage::helper('db1_anymarket')->__('Code Order Magento'),
61
  'name' => 'nmo_id_order',
62
- 'required' => true,
63
- 'class' => 'required-entry',
64
-
65
  )
66
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  $fieldset->addField(
68
  'status',
69
  'select',
59
  array(
60
  'label' => Mage::helper('db1_anymarket')->__('Code Order Magento'),
61
  'name' => 'nmo_id_order',
62
+ 'required' => false
 
 
63
  )
64
  );
65
+
66
+ $fieldset->addField(
67
+ 'nmo_id_seq_anymarket',
68
+ 'text',
69
+ array(
70
+ 'label' => Mage::helper('db1_anymarket')->__('Code Order Seq Magento'),
71
+ 'name' => 'nmo_id_seq_anymarket',
72
+ 'required' => false
73
+ )
74
+ );
75
+
76
+ $fieldset->addField(
77
+ 'nmo_status_int',
78
+ 'text',
79
+ array(
80
+ 'label' => Mage::helper('db1_anymarket')->__('Integration Status'),
81
+ 'name' => 'nmo_status_int',
82
+ 'required' => true,
83
+ 'class' => 'required-entry',
84
+
85
+ )
86
+ );
87
+
88
+ $fieldset->addField(
89
+ 'nmo_desc_error',
90
+ 'text',
91
+ array(
92
+ 'label' => Mage::helper('db1_anymarket')->__('Error Message'),
93
+ 'name' => 'nmo_desc_error',
94
+ 'required' => true,
95
+ 'class' => 'required-entry',
96
+
97
+ )
98
+ );
99
+
100
  $fieldset->addField(
101
  'status',
102
  'select',
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit/Tab/Stores.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Edit/Tabs.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketorders/Grid.php CHANGED
@@ -218,12 +218,7 @@ class DB1_AnyMarket_Block_Adminhtml_Anymarketorders_Grid extends Mage_Adminhtml_
218
  */
219
  public function getRowUrl($row)
220
  {
221
- $_pullOrder = Mage::getModel('sales/order')->loadByIncrementId( $row->getNmoIdOrder() );
222
- if($_pullOrder != null){
223
- return Mage::helper('adminhtml')->getUrl('adminhtml/sales_order/view', array('order_id' => $_pullOrder->getId()));
224
- }else{
225
- return null;
226
- }
227
  }
228
 
229
  /**
218
  */
219
  public function getRowUrl($row)
220
  {
221
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
 
 
 
 
 
222
  }
223
 
224
  /**
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit/Tab/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit/Tab/Stores.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Edit/Tabs.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketproducts/Grid.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit/Tab/Form.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit/Tab/Stores.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Edit/Tabs.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/Anymarketqueue/Grid.php CHANGED
@@ -101,6 +101,7 @@ class DB1_AnyMarket_Block_Adminhtml_Anymarketqueue_Grid extends Mage_Adminhtml_B
101
  'options' => array(
102
  'ORDER' => Mage::helper('db1_anymarket')->__('Order'),
103
  'PRODUCT' => Mage::helper('db1_anymarket')->__('Product'),
 
104
  )
105
 
106
  )
101
  'options' => array(
102
  'ORDER' => Mage::helper('db1_anymarket')->__('Order'),
103
  'PRODUCT' => Mage::helper('db1_anymarket')->__('Product'),
104
+ 'STOCK' => Mage::helper('db1_anymarket')->__('Stock')
105
  )
106
 
107
  )
app/code/community/DB1/AnyMarket/Block/Adminhtml/System/Config/Form/Buttoncheckconfig.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/System/Config/Form/Callback.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/Adminhtml/System/Config/Form/buttoncheckconfig.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- class DB1_AnyMarket_Block_Adminhtml_System_Config_Form_Buttoncheckconfig extends Mage_Adminhtml_Block_System_Config_Form_Field
3
- {
4
- /*
5
- * Set template
6
- */
7
- protected function _construct()
8
- {
9
- parent::_construct();
10
- $this->setTemplate('db1/anymarket/system/config/form/field/button_check_configuration.phtml');
11
- }
12
-
13
- /**
14
- * Return element html
15
- *
16
- * @param Varien_Data_Form_Element_Abstract $element
17
- * @return string
18
- */
19
- protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
20
- {
21
- return $this->_toHtml();
22
- }
23
-
24
- /**
25
- * Return ajax url for button
26
- *
27
- * @return string
28
- */
29
- public function getAjaxCheckConfigUrl()
30
- {
31
- return Mage::helper('adminhtml')->getUrl('adminhtml/anymarket/checkconfig');
32
- }
33
-
34
- /**
35
- * Generate button html
36
- *
37
- * @return string
38
- */
39
- public function getButtonHtml()
40
- {
41
- $button = $this->getLayout()->createBlock('adminhtml/widget_button')
42
- ->setData(array(
43
- 'id' => 'check_anymarket_button',
44
- 'label' => Mage::helper('db1_anymarket')->__('Check Configuration'),
45
- 'onclick' => 'javascript:checkconfig(); return false;'
46
- ));
47
-
48
- return $button->toHtml();
49
- }
50
- }
51
-
52
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/DB1/AnyMarket/Block/System/Config/Source/Orders/Statusammg/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/System/Config/Source/Orders/Statusmgam/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Block/System/Config/Source/Products/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Controller/Adminhtml/AnyMarket.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Helper/Brand.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Helper/Category.php CHANGED
@@ -34,6 +34,7 @@ class DB1_AnyMarket_Helper_Category extends DB1_AnyMarket_Helper_Data
34
  }
35
  $fItem = true;
36
  $cCateg = 0;
 
37
  foreach ($categories as $category) {
38
  $intAM = $category->getData('categ_integra_anymarket');
39
 
@@ -43,14 +44,20 @@ class DB1_AnyMarket_Helper_Category extends DB1_AnyMarket_Helper_Data
43
  $fItem = false;
44
 
45
  if($intAM == 1){
46
- $amCategParent = Mage::getModel('db1_anymarket/anymarketcategories')->load($category->getParentId(), 'nmc_id_magento');
47
- if( $amCategParent->getData('nmc_cat_id') ){
48
- $retuCateg = $this->exportSpecificCategory($category, $amCategParent->getData('nmc_cat_id'), $storeID);
49
- }else{
50
- $retuCateg = $this->exportSpecificCategory($category, null, $storeID);
51
- }
52
- if($retuCateg){
53
- $cCateg++;
 
 
 
 
 
 
54
  }
55
  }
56
 
@@ -58,6 +65,26 @@ class DB1_AnyMarket_Helper_Category extends DB1_AnyMarket_Helper_Data
58
  return $cCateg;
59
  }
60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  /**
62
  * Delete Specific Category Recursively
63
  *
@@ -174,6 +201,7 @@ class DB1_AnyMarket_Helper_Category extends DB1_AnyMarket_Helper_Data
174
  "name" => $name,
175
  "partnerId" => $id,
176
  "parent" => array("id" => $IdParent),
 
177
  "calculatedPrice" => true
178
  );
179
 
@@ -213,6 +241,7 @@ class DB1_AnyMarket_Helper_Category extends DB1_AnyMarket_Helper_Data
213
  $anymarketcategories->setNmcCatRootId( $IdParent != null ? $IdParent : '000' );
214
  $anymarketcategories->setNmcCatDesc( $name );
215
  $anymarketcategories->setNmcIdMagento( $id );
 
216
  $anymarketcategories->setStatus('1');
217
  $anymarketcategories->save();
218
 
@@ -277,7 +306,7 @@ class DB1_AnyMarket_Helper_Category extends DB1_AnyMarket_Helper_Data
277
  $arrOrderCod = null;
278
  $this->arrNewCateg = array();
279
  while ($startRec <= $countRec) {
280
- $returnCat = $this->CallAPICurl("GET", $HOST."/rest/api/v2/categories/?offset=".$startRec."&limit=30", $headers, null);
281
 
282
  if($returnCat['error'] == '1'){
283
  $startRec = 1;
@@ -344,7 +373,7 @@ class DB1_AnyMarket_Helper_Category extends DB1_AnyMarket_Helper_Data
344
  * @return integer
345
  */
346
  private function getChildCat($HOST, $headers, $catID, $IDCatRoot, $id_store){
347
- $returnCatSpecific = $this->CallAPICurl("GET", $HOST."/rest/api/v2/categories/".$catID, $headers, null);
348
  $CatSpecifivJSON = $returnCatSpecific['return'];
349
  $retCategCount = 0;
350
  if($returnCatSpecific['error'] == '0'){
34
  }
35
  $fItem = true;
36
  $cCateg = 0;
37
+ $ctrlCateg = array();
38
  foreach ($categories as $category) {
39
  $intAM = $category->getData('categ_integra_anymarket');
40
 
44
  $fItem = false;
45
 
46
  if($intAM == 1){
47
+ $checkCategStr = $category->getPath()."_".$category->getParentId()."_".$category->getName();
48
+
49
+ if ( !in_array($checkCategStr, $ctrlCateg) ) {
50
+ $amCategParent = Mage::getModel('db1_anymarket/anymarketcategories')->load($category->getParentId(), 'nmc_id_magento');
51
+ if ($amCategParent->getData('nmc_cat_id')) {
52
+ $retuCateg = $this->exportSpecificCategory($category, $amCategParent->getData('nmc_cat_id'), $storeID);
53
+ } else {
54
+ $retuCateg = $this->exportSpecificCategory($category, null, $storeID);
55
+ }
56
+ if ($retuCateg) {
57
+ $cCateg++;
58
+
59
+ array_push($ctrlCateg, $checkCategStr);
60
+ }
61
  }
62
  }
63
 
65
  return $cCateg;
66
  }
67
 
68
+ /**
69
+ * get Specific Category by name
70
+ *
71
+ * @param $arrOfCategs
72
+ * @param integer
73
+ */
74
+ function getCategoryByPathName( $arrOfCategs ){
75
+ $categoryMain = Mage::getResourceModel('catalog/category_collection')
76
+ ->addFieldToFilter('name', reset($arrOfCategs))
77
+ ->getFirstItem();
78
+
79
+ for ($i=1; $i < count($arrOfCategs); $i++) {
80
+ $categoryMain = $categoryMain->getChildrenCategories()
81
+ ->addFieldToFilter('name', $arrOfCategs[$i])
82
+ ->getFirstItem();
83
+ }
84
+
85
+ return $categoryMain->getId();
86
+ }
87
+
88
  /**
89
  * Delete Specific Category Recursively
90
  *
201
  "name" => $name,
202
  "partnerId" => $id,
203
  "parent" => array("id" => $IdParent),
204
+ "priceFactor" => 1,
205
  "calculatedPrice" => true
206
  );
207
 
241
  $anymarketcategories->setNmcCatRootId( $IdParent != null ? $IdParent : '000' );
242
  $anymarketcategories->setNmcCatDesc( $name );
243
  $anymarketcategories->setNmcIdMagento( $id );
244
+ $anymarketcategories->setStores(array($storeID));
245
  $anymarketcategories->setStatus('1');
246
  $anymarketcategories->save();
247
 
306
  $arrOrderCod = null;
307
  $this->arrNewCateg = array();
308
  while ($startRec <= $countRec) {
309
+ $returnCat = $this->CallAPICurl("GET", $HOST."/v2/categories/?offset=".$startRec."&limit=30", $headers, null);
310
 
311
  if($returnCat['error'] == '1'){
312
  $startRec = 1;
373
  * @return integer
374
  */
375
  private function getChildCat($HOST, $headers, $catID, $IDCatRoot, $id_store){
376
+ $returnCatSpecific = $this->CallAPICurl("GET", $HOST."/v2/categories/".$catID, $headers, null);
377
  $CatSpecifivJSON = $returnCatSpecific['return'];
378
  $retCategCount = 0;
379
  if($returnCatSpecific['error'] == '0'){
app/code/community/DB1/AnyMarket/Helper/Customergenerator.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Helper/Data.php CHANGED
@@ -55,6 +55,19 @@ class DB1_AnyMarket_Helper_Data extends Mage_Core_Helper_Abstract
55
  return $arrStores;
56
  }
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  /**
59
  * check if module is enabled
60
  */
@@ -152,6 +165,22 @@ class DB1_AnyMarket_Helper_Data extends Mage_Core_Helper_Abstract
152
  return $arrStores;
153
  }
154
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
155
  /**
156
  * call curl
157
  *
@@ -187,10 +216,12 @@ class DB1_AnyMarket_Helper_Data extends Mage_Core_Helper_Abstract
187
  $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
188
 
189
  if ( $status == 200 || $status == 204 || $status == 201 ) {
190
- $retorno = array("error" => "0", "json" => $data_string, "return" => json_decode($curl_response) );
 
 
191
  }else{
192
  if($err){
193
- $retorno = array("error" => "1", "json" => $data_string,"return" => 'Error Curl: '.$err );
194
  }else{
195
  $retJsonCurlResp = json_decode($curl_response);
196
 
@@ -213,7 +244,7 @@ class DB1_AnyMarket_Helper_Data extends Mage_Core_Helper_Abstract
213
  }
214
 
215
  if($retString != ''){
216
- $retorno = array("error" => "1", "json" => $data_string, "return" => $retString );
217
  }else{
218
  $retorno = array("error" => "1", "json" => $data_string, "return" => utf8_encode($curl_response) );
219
  }
@@ -236,6 +267,29 @@ class DB1_AnyMarket_Helper_Data extends Mage_Core_Helper_Abstract
236
  return $retorno;
237
  }
238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  /**
240
  * add message inbox of magento
241
  *
55
  return $arrStores;
56
  }
57
 
58
+ /**
59
+ * return text with mask
60
+ */
61
+ public function Mask($mask,$str){
62
+ $str = str_replace(" ","",$str);
63
+
64
+ for($i=0;$i<strlen($str);$i++){
65
+ $mask[strpos($mask,"#")] = $str[$i];
66
+ }
67
+
68
+ return $mask;
69
+ }
70
+
71
  /**
72
  * check if module is enabled
73
  */
165
  return $arrStores;
166
  }
167
 
168
+ /**
169
+ * format date time
170
+ *
171
+ * @param $date
172
+ * @return string
173
+ */
174
+ public function formatDateTimeZone($date){
175
+ if($date) {
176
+ $timeZone = new DateTimeZone(Mage::getStoreConfig('general/locale/timezone'));
177
+ $DateTime = new DateTime($date, $timeZone);
178
+ return date_format($DateTime, 'Y-m-d\TH:i:sP');
179
+ }else{
180
+ return gmdate('Y-m-d\TH:i:s\Z');
181
+ }
182
+ }
183
+
184
  /**
185
  * call curl
186
  *
216
  $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
217
 
218
  if ( $status == 200 || $status == 204 || $status == 201 ) {
219
+ $retorno = array("error" => "0", "json" => $data_string, "return" => json_decode($curl_response));
220
+ }elseif ( $status == 404 || $status == 500 || $status == 503 ) {
221
+ $retorno = array("error" => "1", "json" => $data_string, "return" => json_encode($curl_response));
222
  }else{
223
  if($err){
224
+ $retorno = array("error" => "1", "json" => $data_string, "return" => 'Error Curl: '.$err );
225
  }else{
226
  $retJsonCurlResp = json_decode($curl_response);
227
 
244
  }
245
 
246
  if($retString != ''){
247
+ $retorno = array("error" => "1", "json" => $data_string, "return" => json_encode($retString) );
248
  }else{
249
  $retorno = array("error" => "1", "json" => $data_string, "return" => utf8_encode($curl_response) );
250
  }
267
  return $retorno;
268
  }
269
 
270
+ /**
271
+ * unique array multidim
272
+ *
273
+ * @param $array
274
+ * @param $key
275
+ * @return array
276
+ */
277
+ public function unique_multidim_array($array, $key) {
278
+ $temp_array = array();
279
+ $i = 0;
280
+ $key_array = array();
281
+
282
+ foreach($array as $val) {
283
+ if (!in_array($val[$key], $key_array)) {
284
+ $key_array[$i] = $val[$key];
285
+ array_push($temp_array, $val);
286
+ }
287
+ $i++;
288
+ }
289
+
290
+ return $temp_array;
291
+ }
292
+
293
  /**
294
  * add message inbox of magento
295
  *
app/code/community/DB1/AnyMarket/Helper/Image.php ADDED
@@ -0,0 +1,293 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class DB1_AnyMarket_Helper_Image extends DB1_AnyMarket_Helper_Data
4
+ {
5
+
6
+ /**
7
+ * //obtem as imagens do produto(Config ou Simples)
8
+ * @param $storeID
9
+ * @param $product
10
+ *
11
+ * @return array
12
+ */
13
+ public function getImagesOfProduct($storeID, $product, $ArrVariationValues){
14
+ if($product) {
15
+ $transformToHttp = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_transform_http_image_field', $storeID);
16
+ $itemsIMG = array();
17
+ $galleryData = $product->getMediaGalleryImages();
18
+ $exportImage = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_export_image_field', $storeID);
19
+ foreach ($galleryData as $g_image) {
20
+ $infoImg = getimagesize($g_image['url']);
21
+ $imgSize = filesize($g_image['path']);
22
+ $processImage = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_transform_process_image_field', $storeID);
23
+ if ($processImage == 0) {
24
+ if (($infoImg[0] != "") && ((float)$infoImg[0] < 350 || (float)$infoImg[1] < 350 || $imgSize > 4100000)) {
25
+ if ($exportImage == 0) {
26
+ array_push($arrProd, 'Image_a (' . $g_image['url'] . ' - Sku: ' . $product->getSku() . ' - Width: ' . $infoImg[0] . ' - Height: ' . $infoImg[1] . ' - Size: ' . $imgSize . ')');
27
+ } else {
28
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
29
+ $anymarketlog->setLogDesc('Error on export image - ' . $g_image['url']);
30
+ $anymarketlog->setLogId($product->getSku());
31
+ $anymarketlog->setStatus("1");
32
+ $anymarketlog->setStores(array($storeID));
33
+ $anymarketlog->save();
34
+ }
35
+ } else {
36
+ $urlImageImport = $g_image['url'];
37
+ $defaultImage = $product->getImage();
38
+ $isMain = strpos($urlImageImport, $defaultImage) === false ? false : true;
39
+ if ($ArrVariationValues) {
40
+ foreach ($ArrVariationValues as $value) {
41
+ if ($transformToHttp != 0) {
42
+ $urlImageImport = str_replace("https", "http", $urlImageImport);
43
+ }
44
+ $itemsIMG[] = array(
45
+ "main" => $isMain,
46
+ "url" => $urlImageImport,
47
+ "variation" => $value,
48
+ );
49
+ }
50
+ } else {
51
+ if ($transformToHttp != 0) {
52
+ $urlImageImport = str_replace("https", "http", $urlImageImport);
53
+ }
54
+
55
+ $itemsIMG[] = array(
56
+ "main" => $isMain,
57
+ "url" => $urlImageImport
58
+ );
59
+ }
60
+
61
+ }
62
+ } else {
63
+ if (count($product->getMediaGalleryImages()) > 0) {
64
+ $with = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_width_image_field', $storeID);
65
+ $height = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_height_image_field', $storeID);
66
+ foreach ($product->getMediaGalleryImages() as $_image) {
67
+ if (((int)$with > 0) && ((int)$height > 0)) {
68
+ $thumbnail12 = Mage::helper('catalog/image')->init($product, 'image', $_image->getFile())->resize($with, $height);
69
+ } else {
70
+ $thumbnail12 = Mage::helper('catalog/image')->init($product, 'image', $_image->getFile());
71
+ }
72
+ $thumbnail13 = str_replace('/webApps/migration/productapi/new/', '/', $thumbnail12);
73
+ $urlImageImport = $thumbnail13;
74
+ if ($ArrVariationValues) {
75
+ foreach ($ArrVariationValues as $value) {
76
+ if ($transformToHttp != 0) {
77
+ $urlImageImport = str_replace("https", "http", $urlImageImport);
78
+ }
79
+ $itemsIMG[] = array(
80
+ "main" => false,
81
+ "url" => $urlImageImport,
82
+ "variation" => $value,
83
+ );
84
+ }
85
+ } else {
86
+ if ($transformToHttp != 0) {
87
+ $urlImageImport = str_replace("https", "http", $urlImageImport);
88
+ }
89
+
90
+ $itemsIMG[] = array(
91
+ "main" => true,
92
+ "url" => $urlImageImport
93
+ );
94
+ }
95
+
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ return $itemsIMG;
102
+ }else{
103
+ return null;
104
+ }
105
+ }
106
+
107
+ public function processImageToAdd($storeID, $imgProdMagentoURL){
108
+
109
+ return $imgProdMagentoURL;
110
+ }
111
+
112
+ /**
113
+ *
114
+ * Send Image to Anymarket
115
+ *
116
+ * @param $storeID
117
+ * @param $product
118
+ * @param $variation
119
+ *
120
+ */
121
+ public function sendImageToAnyMarket($storeID, $product, $variation){
122
+ if($product){
123
+ $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $product->getId() );
124
+ $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
125
+ $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
126
+ $exportImage = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_export_image_field', $storeID);
127
+ $transformToHttp = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_transform_http_image_field', $storeID);
128
+
129
+ $headers = array(
130
+ "Content-type: application/json",
131
+ "gumgaToken: ".$TOKEN
132
+ );
133
+
134
+ if($product->getData('id_anymarket') != ''){
135
+ $imgGetRet = $this->CallAPICurl("GET", $HOST."/v2/products/".$product->getData('id_anymarket')."/images", $headers, null);
136
+ if($imgGetRet['error'] == '0'){
137
+ $imgsProdAnymarket = $imgGetRet['return'];
138
+
139
+ $arrAdd = array();
140
+ $arrImgs = array();
141
+
142
+ $processImage = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_transform_process_image_field', $storeID);
143
+ $imgsProdMagento = $product->getMediaGalleryImages();
144
+
145
+ if (count($imgsProdMagento) <= 0) {
146
+ $productIMG = Mage::getModel('catalog/product')->load( $product->getId() );
147
+ $imgsProdMagento = $productIMG->getMediaGalleryImages();
148
+ }
149
+
150
+ if (count($imgsProdMagento) > 0) {
151
+ if( $processImage == 0 ) {
152
+ foreach ($imgsProdMagento as $imgProdMagento) {
153
+ $urlImage = $imgProdMagento->getData('url');
154
+ $infoImg = getimagesize($urlImage);
155
+ $imgSize = filesize($imgProdMagento->getData('path'));
156
+ if (($infoImg[0] != "") && ((float)$infoImg[0] < 350 || (float)$infoImg[1] < 350 || $imgSize > 4100000)) {
157
+ if ($exportImage == 0) {
158
+ array_push($arrProd, 'Image_c (' . $urlImage . ' - Sku: ' . $product->getSku() . ' - Width: ' . $infoImg[0] . ' - Height: ' . $infoImg[1] . ' - Size: ' . $imgSize . ')');
159
+ } else {
160
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
161
+ $anymarketlog->setLogDesc('Error on export image - ' . $urlImage);
162
+ $anymarketlog->setLogId($product->getSku());
163
+ $anymarketlog->setStatus("1");
164
+ $anymarketlog->setStores(array($storeID));
165
+ $anymarketlog->save();
166
+ }
167
+ } else {
168
+ $imgProdMagentoURL = $imgProdMagento->getData('url');
169
+ if ($transformToHttp != 0) {
170
+ $imgProdMagentoURL = str_replace("https", "http", $imgProdMagentoURL);
171
+ }
172
+ array_push($arrAdd, $imgProdMagentoURL);
173
+ }
174
+ }
175
+ }else {
176
+ $with = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_width_image_field', $storeID);
177
+ $height = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_height_image_field', $storeID);
178
+ foreach ($imgsProdMagento as $imgProdMagento) {
179
+ if( ((int)$with > 0) && ((int)$height > 0) ){
180
+ $thumbnail12 = Mage::helper('catalog/image')->init($product, 'image', $imgProdMagento->getFile())->resize($with, $height);
181
+ }else{
182
+ $thumbnail12 = Mage::helper('catalog/image')->init($product, 'image', $imgProdMagento->getFile());
183
+ }
184
+
185
+ $imgProdMagentoURL = str_replace('/webApps/migration/productapi/new/', '/', $thumbnail12);
186
+ if ($transformToHttp != 0) {
187
+ $imgProdMagentoURL = str_replace("https", "http", $imgProdMagentoURL);
188
+ }
189
+ array_push($arrAdd, $imgProdMagentoURL);
190
+ }
191
+ }
192
+ }
193
+
194
+ foreach ($imgsProdAnymarket as $imgProdAnymarket) {
195
+ $exportImages = true;
196
+ if ($variation) {
197
+ if( !isset($imgProdAnymarket->variation) || $imgProdAnymarket->variation != $variation ){
198
+ $exportImages = false;
199
+ }
200
+ }
201
+
202
+ if( $exportImages ) {
203
+ $imgRemove = $imgProdAnymarket->id;
204
+ $imgDelRet = $this->CallAPICurl("DELETE", $HOST . "/v2/products/" . $product->getData('id_anymarket') . "/images/" . $imgRemove, $headers, null);
205
+ if ($imgDelRet['error'] == '1') {
206
+ $anymarketlogDel = Mage::getModel('db1_anymarket/anymarketlog');
207
+
208
+ if (is_string($imgDelRet['return'])) {
209
+ $anymarketlogDel->setLogDesc('Error on delete image in Anymarket (' . $imgRemove . ') - ' . $imgDelRet['return']);
210
+ } else {
211
+ $anymarketlogDel->setLogDesc('Error on delete image in Anymarket (' . $imgRemove . ') - ' . json_encode($imgDelRet['return']));
212
+ }
213
+
214
+ $anymarketlogDel->setLogJson('');
215
+ $anymarketlogDel->setLogId($product->getSku());
216
+ $anymarketlogDel->setStatus("1");
217
+ $anymarketlogDel->setStores(array($storeID));
218
+ $anymarketlogDel->save();
219
+ } else {
220
+ $anymarketlogDel = Mage::getModel('db1_anymarket/anymarketlog');
221
+ $anymarketlogDel->setLogDesc('Deleted image from Anymarket ');
222
+ $anymarketlogDel->setLogJson('');
223
+ $anymarketlogDel->setLogId($product->getSku());
224
+ $anymarketlogDel->setStatus("1");
225
+ $anymarketlogDel->setStores(array($storeID));
226
+ $anymarketlogDel->save();
227
+ }
228
+ }
229
+
230
+ }
231
+
232
+ // Add Image
233
+ if( !empty($arrImgs) ){
234
+ $returnProd['error'] = '1';
235
+ $returnProd['json'] = '';
236
+
237
+ $emptyFields = ' ';
238
+ foreach ($arrImgs as $field) {
239
+ $emptyFields .= $field.', ';
240
+ }
241
+
242
+ $returnProd['return'] = Mage::helper('db1_anymarket')->__('Product with inconsistency:').' '.$emptyFields;
243
+ $this->saveLogsProds($storeID, "0", $returnProd, $product);
244
+ }else {
245
+ $defaultImage = $product->getImage();
246
+ foreach ($arrAdd as $imgAdd) {
247
+ $isMain = strpos($imgAdd, $defaultImage) === false ? false : true;
248
+ if ($variation) {
249
+ $JSONAdd = array(
250
+ "url" => $imgAdd,
251
+ "variation" => $variation,
252
+ "main" => $isMain
253
+ );
254
+ } else {
255
+ $JSONAdd = array(
256
+ "url" => $imgAdd,
257
+ "main" => $isMain
258
+ );
259
+ }
260
+
261
+ $imgPostRet = $this->CallAPICurl("POST", $HOST . "/v2/products/" . $product->getData('id_anymarket') . "/images", $headers, $JSONAdd);
262
+ if ($imgPostRet['error'] == '1') {
263
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
264
+ $anymarketlog->setLogDesc('Error on export image (' . $product->getData('id_anymarket') . ') - ' . is_string($imgPostRet['return']) ? $imgPostRet['return'] : json_encode($imgPostRet['return']));
265
+ $anymarketlog->setLogJson($imgPostRet['json']);
266
+ $anymarketlog->setLogId($product->getSku());
267
+ $anymarketlog->setStatus("1");
268
+ $anymarketlog->setStores(array($storeID));
269
+ $anymarketlog->save();
270
+ } else {
271
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
272
+ $anymarketlog->setLogDesc('Exported image (' . $imgAdd . ')');
273
+ $anymarketlog->setLogJson($imgPostRet['json']);
274
+ $anymarketlog->setLogId($product->getSku());
275
+ $anymarketlog->setStatus("1");
276
+ $anymarketlog->setStores(array($storeID));
277
+ $anymarketlog->save();
278
+ }
279
+ }
280
+ }
281
+
282
+ }else{
283
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
284
+ $anymarketlog->setLogDesc( 'Error on get images from Anymarket ('.$product->getData('id_anymarket').') ');
285
+ $anymarketlog->setStatus("1");
286
+ $anymarketlog->setStores(array($storeID));
287
+ $anymarketlog->save();
288
+ }
289
+ }
290
+ }
291
+ }
292
+
293
+ }
app/code/community/DB1/AnyMarket/Helper/Order.php CHANGED
@@ -57,8 +57,10 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
57
  $anymarketorders->setStatus("0");
58
  $anymarketorders->setNmoStatusInt($statusInt);
59
  $anymarketorders->setNmoDescError($descError);
60
- $anymarketorders->setNmoIdSeqAnymarket( $idSeqAnyMarket );
 
61
  $anymarketorders->setNmoIdAnymarket( $IDOrderAnyMarket );
 
62
  $anymarketorders->setNmoIdOrder($nmoIdOrder);
63
  $anymarketorders->setStores(array($storeID));
64
  $anymarketorders->save();
@@ -152,7 +154,7 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
152
  * @param $shippValue
153
  * @return integer
154
  */
155
- private function create_order($anymarketordersSpec, $products, $customer, $IDAnyMarket, $IDSeqAnyMarket, $infoMetPag, $Billing, $Shipping, $shippValue, $storeID)
156
  {
157
  if( ($anymarketordersSpec->getData('nmo_id_anymarket') == null) ||
158
  ($anymarketordersSpec->getData('nmo_status_int') == "Não integrado (AnyMarket)") ||
@@ -170,8 +172,11 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
170
  $orderGenerator->setBillAddress($Billing);
171
  $orderGenerator->setCustomer($customer);
172
  $orderGenerator->setCpfCnpj($customer->getData($AttrToDoc));
 
 
 
 
173
 
174
- $CodOrder = $orderGenerator->createOrder($products);
175
 
176
  $this->saveLogOrder('nmo_id_anymarket', $IDAnyMarket, 'Integrado', '', $IDSeqAnyMarket, $IDAnyMarket, $CodOrder, $storeID);
177
 
@@ -194,28 +199,34 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
194
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
195
  $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
196
 
197
- $headers = array(
198
- "Content-type: application/json",
199
- "Accept: */*",
200
- "gumgaToken: ".$TOKEN
201
- );
202
-
203
- $returnProd = $this->CallAPICurl("GET", $HOST."/v2/orders/feeds?limit=100", $headers, null);
204
 
205
- if($returnProd['error'] == '1'){
206
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
207
- $anymarketlog->setLogDesc( 'Error on get feed orders '. $returnProd['return'] );
208
- $anymarketlog->setStatus("1");
209
- $anymarketlog->save();
210
- }else{
211
- $listOrders = $returnProd['return'];
212
 
213
- foreach ($listOrders as $order) {
214
- $anymarketorders = Mage::getModel('db1_anymarket/anymarketorders')->load($order->id, 'nmo_id_seq_anymarket');
215
- if( $anymarketorders->getData('nmo_id_anymarket') != null ){
216
- $this->getSpecificOrderFromAnyMarket($anymarketorders->getData('nmo_id_seq_anymarket'), '', $storeID);
217
- }else{
218
- $this->getSpecificOrderFromAnyMarket($order->id, $order->token, $storeID);
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  }
220
  }
221
  }
@@ -259,7 +270,17 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
259
  if (strpos($statusMage, 'ERROR:') === false) {
260
  //TRATA OS PRODUTOS
261
  $_products = array();
 
262
  foreach ($OrderJSON->items as $item) {
 
 
 
 
 
 
 
 
 
263
  $productLoaded = Mage::getModel('catalog/product')->setStoreId($storeID)->loadByAttribute('sku', $item->sku->partnerId);
264
  if ($productLoaded) {
265
  $arrayTMP = array(
@@ -267,6 +288,21 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
267
  'price' => $item->unit,
268
  'qty' => $item->amount,
269
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270
  array_push($_products, $arrayTMP);
271
  } else {
272
  if ($anymarketordersSpec->getData('nmo_id_anymarket') == null) {
@@ -313,10 +349,32 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
313
  $groupCustomer = Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_customer_group_field', $storeID);
314
 
315
  $email = $OrderJSON->buyer->email;
 
316
  $customer = Mage::getModel('customer/customer')
317
  ->getCollection()
318
  ->addFieldToFilter($AttrToDoc, $document)->load()->getFirstItem();
319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
320
  $AddressShipBill = null;
321
 
322
  $firstName = $OrderJSON->buyer->name;
@@ -416,16 +474,42 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
416
  }
417
 
418
  $infoMetPag = 'ANYMARKET';
419
- foreach ($OrderJSON->payments as $payment) {
420
- $infoMetPag = $payment->method;
 
 
 
 
 
 
421
  }
422
 
423
- $OrderIDMage = $this->create_order($anymarketordersSpec, $_products, $customer, $IDOrderAnyMarket, $idSeqAnyMarket, $infoMetPag, $AddressShipBill, $AddressShipBill, $OrderJSON->freight, $storeID);
 
424
  $OrderCheck = Mage::getModel('sales/order')->loadByIncrementId($OrderIDMage);
425
 
426
  $this->changeFeedOrder($HOST, $headers, $idSeqAnyMarket, $tokenFeed);
427
 
428
  if ($OrderCheck->getId()) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
429
  $this->changeStatusOrder($storeID, $OrderJSON, $OrderIDMage);
430
  }
431
  } catch (Exception $e) {
@@ -523,11 +607,31 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
523
 
524
  }
525
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
526
  /**
527
  * change status order
528
  *
 
529
  * @param $JSON
530
  * @param $IDOrderMagento
 
 
531
  */
532
  private function changeStatusOrder($storeID, $JSON, $IDOrderMagento){
533
  $StatusPedAnyMarket = $JSON->status;
@@ -538,10 +642,31 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
538
 
539
  if (strpos($statusMage, 'ERROR:') === false) {
540
  Mage::getSingleton('core/session')->setImportOrdersVariable('false');
541
-
542
  $order = Mage::getModel('sales/order')->loadByIncrementId( $IDOrderMagento );
 
 
 
 
 
 
543
  $itemsarray = null;
544
- if(isset($JSON->invoice)){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
545
  if( $order->canInvoice() ){
546
  if(isset($JSON->invoice->accessKey) ) {
547
  $nfe = $JSON->invoice->accessKey;
@@ -550,22 +675,43 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
550
  $DateTime = strtotime($dateNfe);
551
  $fixedDate = date('d/m/Y H:i:s', $DateTime);
552
 
553
- $orderItems = $order->getAllItems();
554
- foreach ($orderItems as $_eachItem) {
555
- $opid = $_eachItem->getId();
556
- $qty = $_eachItem->getQtyOrdered();
557
- $itemsarray[$opid] = $qty;
 
 
558
  }
559
 
560
  if (!$order->hasInvoices()) {
561
  $nfeString = 'nfe:' . $nfe . ', emissao:' . $fixedDate;
562
  Mage::getModel('sales/order_invoice_api')->create($order->getIncrementId(), $itemsarray, $nfeString, 0, 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
563
  }
564
  }
565
  }
566
  }
567
 
568
- if(isset($JSON->tracking)){
569
  if( $order->canShip() && !$order->hasShipments() ){
570
  if(isset($JSON->tracking->number)) {
571
  $TrNumber = $JSON->tracking->number;
@@ -575,10 +721,10 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
575
 
576
  $TracCodeArr = Mage::getModel('sales/order_shipment_api')->getCarriers($order->getIncrementId());
577
  if (isset($TracCodeArr[$TrCarrier])) {
578
- $trackmodel = Mage::getModel('sales/order_shipment_api')->addTrack($shipmentId, $TrCarrier, $TrCarrier, $TrNumber);
579
  } else {
580
  $arrVar = array_keys($TracCodeArr);
581
- $trackmodel = Mage::getModel('sales/order_shipment_api')->addTrack($shipmentId, array_shift($arrVar), 'Não Econtrado(' . $TrCarrier . ')', $TrNumber);
582
  }
583
  }
584
  }
@@ -591,6 +737,20 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
591
  }
592
  $order->setData('state', $stateMage);
593
  $order->setStatus($statusMage, true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
594
  $order->save();
595
  }
596
 
@@ -616,12 +776,6 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
616
  $anymarketlog->setLogId( $IDOrderMagento );
617
  $anymarketlog->setStatus("0");
618
  $anymarketlog->save();
619
- /*
620
- $this->addMessageInBox(Mage::helper('db1_anymarket')->__('Error on synchronize order.'),
621
- Mage::helper('db1_anymarket')->__('Error synchronizing order number: ')."Magento(".$IDOrderMagento.") <br/>".
622
- $statusMage,
623
- '');
624
- */
625
  }
626
  }
627
 
@@ -651,7 +805,8 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
651
 
652
  $date = substr( $CommentCurr, $emissaoCount+8, 19);
653
  $dateTmp = str_replace("/", "-", $date );
654
- $date = gmdate('Y-m-d\TH:i:s\Z', strtotime( $dateTmp ));
 
655
  }
656
  }
657
  }
@@ -662,6 +817,7 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
662
  $CommentCurr = $item->getComment();
663
 
664
  $CommentCurr = str_replace(array(" ", "<b>", "</b>"), "", $CommentCurr );
 
665
  $chaveAcesso = strpos($CommentCurr, 'ChavedeAcesso:');
666
  if( (strpos($CommentCurr, 'ChavedeAcesso:') !== false) ) {
667
  $chaveAcID = substr( $CommentCurr, $chaveAcesso+14, 44);
@@ -670,13 +826,44 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
670
  if( (strpos($CommentCurr, 'Notafiscal:') !== false) ) {
671
  $endNF = strpos($CommentCurr, '<br/>');
672
  $nfeID = substr( $CommentCurr, $notaFiscal+11, $endNF-11);
 
 
 
 
673
  }
674
- $date = gmdate('Y-m-d\TH:i:s\Z');
 
 
675
  break;
676
  }
677
  }
678
  }
679
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
680
  $retArr = array("number" => $nfeID, "date" => $date, "accessKey" => $chaveAcID);
681
  return $retArr;
682
  }
@@ -684,12 +871,13 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
684
  /**
685
  * get tracking order
686
  *
 
687
  * @param $Order
688
  * @return array
689
  */
690
- public function getTrackingOrder($Order){
691
  $TrackNum = '';
692
- $TrackCode = '';
693
  $TrackCreate = '';
694
  $dateTrack = '';
695
 
@@ -699,15 +887,24 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
699
  foreach ($shipmentCollection as $shipment){
700
  foreach($shipment->getAllTracks() as $tracknum){
701
  $TrackNum = $tracknum->getNumber();
702
- $TrackCode = $tracknum->getCarrierCode();
703
  $TrackCreate = $tracknum->getCreatedAt();
704
 
705
- $dateTmp = str_replace("/", "-", $TrackCreate );
706
- $dateTrack = gmdate('Y-m-d\TH:i:s\Z', strtotime( $dateTmp ));
707
  }
708
  }
709
 
710
- return array("number" => $TrackNum, "carrier" => $TrackCode, "date" => $dateTrack, "url" => "");
 
 
 
 
 
 
 
 
 
711
  }
712
 
713
  /**
@@ -744,7 +941,7 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
744
  );
745
 
746
  $invoiceData = $this->getInvoiceOrder($Order);
747
- $trackingData = $this->getTrackingOrder($Order);
748
 
749
  if ($invoiceData['number'] != '') {
750
  $params["invoice"] = $invoiceData;
@@ -811,7 +1008,7 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
811
  */
812
  private function sendOrderToAnyMarket($storeID, $idOrder, $HOST, $TOKEN){
813
  $ConfigOrder = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_type_order_sync_field', $storeID);
814
- if($ConfigOrder == 0){
815
  $Order = Mage::getModel('sales/order')->setStoreId($storeID)->loadByIncrementId( $idOrder );
816
 
817
  //TRATA OS ITEMS
@@ -855,10 +1052,11 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
855
  $statuAM = $this->getStatusMageToAnyMarketOrderConfig($storeID, $statusOrder);
856
  }
857
 
 
858
  if( (strpos($statuAM, 'ERROR:') === false) && ($statuAM != '') ) {
859
  $params = array(
860
  'marketPlaceId' => $idOrder,
861
- "createdAt" => gmdate('Y-m-d\TH:i:s\Z', strtotime( $Order->getData('created_at') )),
862
  "status" => $statuAM,
863
  "marketPlace" => "ECOMMERCE",
864
  "marketPlaceStatus" => $statuAM,
@@ -868,6 +1066,10 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
868
  "state" => $shipping->getRegion(),
869
  "country" => $shipping->getCountry(),
870
  "address" => $shipping->getStreetFull(),
 
 
 
 
871
  "zipCode" => $shipping->getPostcode()
872
  ),
873
  "buyer" => array(
@@ -886,13 +1088,13 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
886
  "value" => $Order->getBaseGrandTotal()
887
  ),
888
  ),
889
- "discount" => $Order->getDiscountAmount(),
890
  "freight" => $Order->getShippingAmount(),
891
- "gross" => $Order->getBaseGrandTotal(),
892
  "total" => $Order->getBaseGrandTotal()
893
  );
894
 
895
- $arrTracking = $this->getTrackingOrder($Order);
896
  $arrInvoice = $this->getInvoiceOrder($Order);
897
 
898
  if($arrTracking["number"] != ''){
@@ -1028,8 +1230,6 @@ class DB1_AnyMarket_Helper_Order extends DB1_AnyMarket_Helper_Data
1028
  $anymarketorders->setStatus("0");
1029
  $anymarketorders->setNmoStatusInt('Não integrado (Magento)');
1030
  $anymarketorders->setNmoDescError('');
1031
- $anymarketorders->setNmoIdSeqAnymarket('');
1032
- $anymarketorders->setNmoIdAnymarket('');
1033
  $anymarketorders->setNmoIdOrder( $orderId );
1034
  $anymarketorders->setStores(array($storeID));
1035
  $anymarketorders->save();
57
  $anymarketorders->setStatus("0");
58
  $anymarketorders->setNmoStatusInt($statusInt);
59
  $anymarketorders->setNmoDescError($descError);
60
+
61
+ $anymarketorders->setNmoIdSeqAnymarket($idSeqAnyMarket);
62
  $anymarketorders->setNmoIdAnymarket( $IDOrderAnyMarket );
63
+
64
  $anymarketorders->setNmoIdOrder($nmoIdOrder);
65
  $anymarketorders->setStores(array($storeID));
66
  $anymarketorders->save();
154
  * @param $shippValue
155
  * @return integer
156
  */
157
+ private function create_order($storeID, $anymarketordersSpec, $products, $customer, $IDAnyMarket, $IDSeqAnyMarket, $infoMetPag, $Billing, $Shipping, $shippValue, $ShippingDesc)
158
  {
159
  if( ($anymarketordersSpec->getData('nmo_id_anymarket') == null) ||
160
  ($anymarketordersSpec->getData('nmo_status_int') == "Não integrado (AnyMarket)") ||
172
  $orderGenerator->setBillAddress($Billing);
173
  $orderGenerator->setCustomer($customer);
174
  $orderGenerator->setCpfCnpj($customer->getData($AttrToDoc));
175
+ $orderGenerator->setShippingDescription($ShippingDesc);
176
+
177
+ $CodOrder = $orderGenerator->createOrder($storeID, $products);
178
+
179
 
 
180
 
181
  $this->saveLogOrder('nmo_id_anymarket', $IDAnyMarket, 'Integrado', '', $IDSeqAnyMarket, $IDAnyMarket, $CodOrder, $storeID);
182
 
199
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
200
  $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
201
 
202
+ if( $TOKEN != '' && $TOKEN != null ) {
203
+ $headers = array(
204
+ "Content-type: application/json",
205
+ "Accept: */*",
206
+ "gumgaToken: " . $TOKEN
207
+ );
 
208
 
209
+ $returnProd = $this->CallAPICurl("GET", $HOST . "/v2/orders/feeds?limit=100", $headers, null);
 
 
 
 
 
 
210
 
211
+ if ($returnProd['error'] == '1') {
212
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
213
+ $anymarketlog->setLogDesc('Error on get feed orders ' . $returnProd['return']);
214
+ $anymarketlog->setStatus("1");
215
+ $anymarketlog->save();
216
+ } else {
217
+ $listOrders = $returnProd['return'];
218
+ foreach ($listOrders as $order) {
219
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
220
+ $anymarketlog->setLogDesc('Consumed Order from feed: ' . $order->id . ' with token: ' . $order->token);
221
+ $anymarketlog->setStatus("1");
222
+ $anymarketlog->save();
223
+
224
+ $this->getSpecificOrderFromAnyMarket($order->id, $order->token, $storeID);
225
+
226
+ $paramFeed = array(
227
+ "token" => $order->token
228
+ );
229
+ $this->CallAPICurl("PUT", $HOST . "/rest/api/v2/orders/feeds/" . $order->id, $headers, $paramFeed);
230
  }
231
  }
232
  }
270
  if (strpos($statusMage, 'ERROR:') === false) {
271
  //TRATA OS PRODUTOS
272
  $_products = array();
273
+ $shippingDesc = array();
274
  foreach ($OrderJSON->items as $item) {
275
+
276
+ if( isset($item->shippings) ) {
277
+ foreach ($item->shippings as $shippItem) {
278
+ if (!in_array($shippItem->shippingtype, $shippingDesc)) {
279
+ array_push($shippingDesc, $shippItem->shippingtype);
280
+ }
281
+ }
282
+ }
283
+
284
  $productLoaded = Mage::getModel('catalog/product')->setStoreId($storeID)->loadByAttribute('sku', $item->sku->partnerId);
285
  if ($productLoaded) {
286
  $arrayTMP = array(
288
  'price' => $item->unit,
289
  'qty' => $item->amount,
290
  );
291
+
292
+ if($productLoaded->getTypeID() == "bundle") {
293
+ $optionsBundle = Mage::helper('db1_anymarket/product')->getDetailsOfBundle($productLoaded);
294
+
295
+ $boundOpt = array();
296
+ $boundOptQty = array();
297
+ foreach ($optionsBundle as $detProd) {
298
+ $boundOpt[$detProd['option_id']] = $detProd['selection_id'];
299
+ $boundOptQty[$detProd['option_id']] = $detProd['selection_qty'];
300
+ }
301
+
302
+ $arrayTMP['bundle_option'] = $boundOpt;
303
+ $arrayTMP['bundle_option_qty'] = $boundOptQty;
304
+ }
305
+
306
  array_push($_products, $arrayTMP);
307
  } else {
308
  if ($anymarketordersSpec->getData('nmo_id_anymarket') == null) {
349
  $groupCustomer = Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_customer_group_field', $storeID);
350
 
351
  $email = $OrderJSON->buyer->email;
352
+
353
  $customer = Mage::getModel('customer/customer')
354
  ->getCollection()
355
  ->addFieldToFilter($AttrToDoc, $document)->load()->getFirstItem();
356
 
357
+ //caso nao ache pelo CPF valida se nao tem mascara
358
+ if(!$customer->getId()) {
359
+ if (strlen($document) == 11) {
360
+ $document = $this->Mask('###.###.###-##', $document);
361
+ } else {
362
+ $document = $this->Mask('##.###.###/####-##', $document);
363
+ }
364
+
365
+ $customer = Mage::getModel('customer/customer')
366
+ ->getCollection()
367
+ ->addFieldToFilter($AttrToDoc, $document)->load()->getFirstItem();
368
+
369
+ //caso ainda nao encontrou valida se existe o email
370
+ if(!$customer->getId()) {
371
+ $customer = Mage::getModel('customer/customer')
372
+ ->getCollection()
373
+ ->addFieldToFilter('email', $email)->load()->getFirstItem();
374
+
375
+ }
376
+ }
377
+
378
  $AddressShipBill = null;
379
 
380
  $firstName = $OrderJSON->buyer->name;
474
  }
475
 
476
  $infoMetPag = 'ANYMARKET';
477
+ $infoMetPagCom = array();
478
+ if( isset($OrderJSON->payments) ) {
479
+ foreach ($OrderJSON->payments as $payment) {
480
+ $infoMetPag = $payment->method;
481
+ if($payment->paymentMethodNormalized) {
482
+ array_push($infoMetPagCom, $payment->paymentMethodNormalized." - Parcelas: ".$payment->installments);
483
+ }
484
+ }
485
  }
486
 
487
+ //REFACTOR
488
+ $OrderIDMage = $this->create_order($storeID, $anymarketordersSpec, $_products, $customer, $IDOrderAnyMarket, $idSeqAnyMarket, $infoMetPag, $AddressShipBill, $AddressShipBill, $OrderJSON->freight, implode(",", $shippingDesc) );
489
  $OrderCheck = Mage::getModel('sales/order')->loadByIncrementId($OrderIDMage);
490
 
491
  $this->changeFeedOrder($HOST, $headers, $idSeqAnyMarket, $tokenFeed);
492
 
493
  if ($OrderCheck->getId()) {
494
+ $comment = '<b>Código do Pedido no Canal de Vendas: </b>'.$OrderJSON->marketPlaceNumber.'<br>';
495
+ $comment .= '<b>Canal de Vendas: </b>'.$OrderJSON->marketPlace.'<br>';
496
+
497
+ if( count($infoMetPagCom) > 0 ) {
498
+ foreach ($infoMetPagCom as $iMetPag) {
499
+ $comment .= '<b>Forma de Pagamento: </b>' . $iMetPag . '<br>';
500
+ }
501
+ }else{
502
+ $comment .= '<b>Forma de Pagamento: </b>Inf. não disponibilizada pelo marketplace.<br>';
503
+ }
504
+
505
+ $addressComp = (isset($OrderJSON->shipping->address)) ? $OrderJSON->shipping->address : 'Não especificado';
506
+ $comment .= '<b>Endereço Completo: </b>'.$addressComp;
507
+
508
+ $OrderCheck->addStatusHistoryComment( $comment );
509
+ $OrderCheck->setEmailSent(false);
510
+ $OrderCheck->save();
511
+
512
+
513
  $this->changeStatusOrder($storeID, $OrderJSON, $OrderIDMage);
514
  }
515
  } catch (Exception $e) {
607
 
608
  }
609
 
610
+ private function checkIfCanCreateInvoice($Order){
611
+ $continueOrder = true;
612
+ foreach ($Order->getInvoiceCollection() as $inv) {
613
+ $invoice = Mage::getModel('sales/order_invoice')->loadByIncrementId( $inv->getIncrementId() );
614
+ foreach ($invoice->getCommentsCollection() as $item) {
615
+ $CommentCurr = $item->getComment();
616
+ if ((strpos($CommentCurr, 'Registro de Pagamento criado por Anymarket') !== false)) {
617
+ $continueOrder = false;
618
+ break;
619
+ }
620
+
621
+ }
622
+ }
623
+
624
+ return $continueOrder;
625
+ }
626
+
627
  /**
628
  * change status order
629
  *
630
+ * @param $storeID
631
  * @param $JSON
632
  * @param $IDOrderMagento
633
+ *
634
+ * @return boolean
635
  */
636
  private function changeStatusOrder($storeID, $JSON, $IDOrderMagento){
637
  $StatusPedAnyMarket = $JSON->status;
642
 
643
  if (strpos($statusMage, 'ERROR:') === false) {
644
  Mage::getSingleton('core/session')->setImportOrdersVariable('false');
 
645
  $order = Mage::getModel('sales/order')->loadByIncrementId( $IDOrderMagento );
646
+
647
+ if( $order->getData('state') == $stateMage ){
648
+ return false;
649
+ }
650
+
651
+ $createRegPay = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_create_reg_pay_field', $storeID);
652
  $itemsarray = null;
653
+
654
+ if( $createRegPay == "1" && $StatusPedAnyMarket == 'PAID_WAITING_SHIP' ){
655
+ if( $order->canInvoice() ){
656
+ if( $this->checkIfCanCreateInvoice($order) ) {
657
+ $orderItems = $order->getAllItems();
658
+ foreach ($orderItems as $_eachItem) {
659
+ $opid = $_eachItem->getId();
660
+ $qty = $_eachItem->getQtyOrdered();
661
+ $itemsarray[$opid] = $qty;
662
+ }
663
+ $nfeString = "Registro de Pagamento criado por Anymarket";
664
+ Mage::getModel('sales/order_invoice_api')->create($order->getIncrementId(), $itemsarray, $nfeString, 0, 0);
665
+ }
666
+ }
667
+ }
668
+
669
+ if( isset($JSON->invoice) && $StatusPedAnyMarket == 'INVOICED' ){
670
  if( $order->canInvoice() ){
671
  if(isset($JSON->invoice->accessKey) ) {
672
  $nfe = $JSON->invoice->accessKey;
675
  $DateTime = strtotime($dateNfe);
676
  $fixedDate = date('d/m/Y H:i:s', $DateTime);
677
 
678
+ if($itemsarray == null) {
679
+ $orderItems = $order->getAllItems();
680
+ foreach ($orderItems as $_eachItem) {
681
+ $opid = $_eachItem->getId();
682
+ $qty = $_eachItem->getQtyOrdered();
683
+ $itemsarray[$opid] = $qty;
684
+ }
685
  }
686
 
687
  if (!$order->hasInvoices()) {
688
  $nfeString = 'nfe:' . $nfe . ', emissao:' . $fixedDate;
689
  Mage::getModel('sales/order_invoice_api')->create($order->getIncrementId(), $itemsarray, $nfeString, 0, 0);
690
+ }else{
691
+ $firstInvoiceID = $order->getInvoiceCollection()->getFirstItem()->getIncrementId();
692
+ $invoice = Mage::getModel('sales/order_invoice')->loadByIncrementId( $firstInvoiceID );
693
+ $addComment = true;
694
+ foreach ($invoice->getCommentsCollection() as $item) {
695
+ $CommentCurr = $item->getComment();
696
+ if ((strpos($CommentCurr, 'Adicionado por Anymarket - nfe:') !== false)) {
697
+ $addComment = false;
698
+ break;
699
+ }
700
+ }
701
+
702
+ if( $addComment ){
703
+ $nfeString = 'Adicionado por Anymarket - nfe:' . $nfe . ', emissao:' . $fixedDate;
704
+
705
+ $invoice->addComment($nfeString, "");
706
+ $invoice->setEmailSent(false);
707
+ $invoice->save();
708
+ }
709
  }
710
  }
711
  }
712
  }
713
 
714
+ if( isset($JSON->tracking) && $StatusPedAnyMarket == 'PAID_WAITING_DELIVERY' ){
715
  if( $order->canShip() && !$order->hasShipments() ){
716
  if(isset($JSON->tracking->number)) {
717
  $TrNumber = $JSON->tracking->number;
721
 
722
  $TracCodeArr = Mage::getModel('sales/order_shipment_api')->getCarriers($order->getIncrementId());
723
  if (isset($TracCodeArr[$TrCarrier])) {
724
+ Mage::getModel('sales/order_shipment_api')->addTrack($shipmentId, $TrCarrier, $TrCarrier, $TrNumber);
725
  } else {
726
  $arrVar = array_keys($TracCodeArr);
727
+ Mage::getModel('sales/order_shipment_api')->addTrack($shipmentId, array_shift($arrVar), 'Não Econtrado(' . $TrCarrier . ')', $TrNumber);
728
  }
729
  }
730
  }
737
  }
738
  $order->setData('state', $stateMage);
739
  $order->setStatus($statusMage, true);
740
+
741
+ if($stateMage == Mage_Sales_Model_Order::STATE_CANCELED) {
742
+ foreach ($order->getAllItems() as $item) {
743
+ $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct( $item->getProductId() );
744
+ if ($stockItem->getManageStock()) {
745
+ $stockItem->setData('qty', $stockItem->getQty() + $item->getQtyOrdered());
746
+ }
747
+ $stockItem->save();
748
+
749
+ $item->setQtyCanceled($item->getQtyOrdered());
750
+ $item->save();
751
+ }
752
+ }
753
+
754
  $order->save();
755
  }
756
 
776
  $anymarketlog->setLogId( $IDOrderMagento );
777
  $anymarketlog->setStatus("0");
778
  $anymarketlog->save();
 
 
 
 
 
 
779
  }
780
  }
781
 
805
 
806
  $date = substr( $CommentCurr, $emissaoCount+8, 19);
807
  $dateTmp = str_replace("/", "-", $date );
808
+
809
+ $date = $this->formatDateTimeZone($dateTmp);
810
  }
811
  }
812
  }
817
  $CommentCurr = $item->getComment();
818
 
819
  $CommentCurr = str_replace(array(" ", "<b>", "</b>"), "", $CommentCurr );
820
+ $CommentCurr = str_replace(array("<br>"), "<br/>", $CommentCurr );
821
  $chaveAcesso = strpos($CommentCurr, 'ChavedeAcesso:');
822
  if( (strpos($CommentCurr, 'ChavedeAcesso:') !== false) ) {
823
  $chaveAcID = substr( $CommentCurr, $chaveAcesso+14, 44);
826
  if( (strpos($CommentCurr, 'Notafiscal:') !== false) ) {
827
  $endNF = strpos($CommentCurr, '<br/>');
828
  $nfeID = substr( $CommentCurr, $notaFiscal+11, $endNF-11);
829
+
830
+ if( $nfeID == "" ){
831
+ $nfeID = $chaveAcID;
832
+ }
833
  }
834
+
835
+ $dateTmp = new DateTime(str_replace("/", "-", $item->getData('created_at') ));
836
+ $date = date_format($dateTmp, 'Y-m-d\TH:i:s\Z');
837
  break;
838
  }
839
  }
840
  }
841
 
842
+ if( $chaveAcID == "" ) {
843
+ if ($Order->hasShipments()){
844
+ foreach ($Order->getShipmentsCollection() as $ship) {
845
+ $shippment = Mage::getModel('sales/order_shipment')->loadByIncrementId( $ship->getIncrementId() );
846
+ foreach ($shippment->getCommentsCollection() as $item) {
847
+ $CommentCurr = $item->getComment();
848
+
849
+ $nfeCount = strpos($CommentCurr, 'nfe:');
850
+ $emissaoCount = strpos($CommentCurr, 'emiss');
851
+ if( (strpos($CommentCurr, 'nfe:') !== false) && (strpos($CommentCurr, 'emiss') !== false) ) {
852
+ $caracts = array("/", "-", ".");
853
+ $nfeTmp = str_replace($caracts, "", $CommentCurr );
854
+ $chaveAcID = substr( $nfeTmp, $nfeCount+4, 44);
855
+ $nfeID = $chaveAcID;
856
+
857
+ $date = substr( $CommentCurr, $emissaoCount+8, 19);
858
+ $dateTmp = str_replace("/", "-", $date );
859
+
860
+ $date = $this->formatDateTimeZone($dateTmp);
861
+ }
862
+ }
863
+ }
864
+ }
865
+ }
866
+
867
  $retArr = array("number" => $nfeID, "date" => $date, "accessKey" => $chaveAcID);
868
  return $retArr;
869
  }
871
  /**
872
  * get tracking order
873
  *
874
+ * * @param $storeID
875
  * @param $Order
876
  * @return array
877
  */
878
+ public function getTrackingOrder($storeID, $Order){
879
  $TrackNum = '';
880
+ $TrackTitle = '';
881
  $TrackCreate = '';
882
  $dateTrack = '';
883
 
887
  foreach ($shipmentCollection as $shipment){
888
  foreach($shipment->getAllTracks() as $tracknum){
889
  $TrackNum = $tracknum->getNumber();
890
+ $TrackTitle = $tracknum->getTitle();
891
  $TrackCreate = $tracknum->getCreatedAt();
892
 
893
+ $dateTmp = new DateTime(str_replace("/", "-", $TrackCreate ));
894
+ $dateTrack = date_format($dateTmp, 'Y-m-d\TH:i:s\Z');
895
  }
896
  }
897
 
898
+ $days = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_estimate_date_field', $storeID);
899
+
900
+ $days = ($days == "" || $days == null) ? 10 : $days;
901
+ $stimatedDate = date('Y-m-d\TH:i:s\Z', strtotime("+".$days." days", strtotime($dateTrack)));
902
+ return array("number" => $TrackNum,
903
+ "carrier" => $TrackTitle,
904
+ "date" => $dateTrack,
905
+ "shippedDate" => $dateTrack,
906
+ "url" => "",
907
+ "estimateDate" => $stimatedDate);
908
  }
909
 
910
  /**
941
  );
942
 
943
  $invoiceData = $this->getInvoiceOrder($Order);
944
+ $trackingData = $this->getTrackingOrder($storeID, $Order);
945
 
946
  if ($invoiceData['number'] != '') {
947
  $params["invoice"] = $invoiceData;
1008
  */
1009
  private function sendOrderToAnyMarket($storeID, $idOrder, $HOST, $TOKEN){
1010
  $ConfigOrder = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_type_order_sync_field', $storeID);
1011
+ if($ConfigOrder == 0 && $idOrder){
1012
  $Order = Mage::getModel('sales/order')->setStoreId($storeID)->loadByIncrementId( $idOrder );
1013
 
1014
  //TRATA OS ITEMS
1052
  $statuAM = $this->getStatusMageToAnyMarketOrderConfig($storeID, $statusOrder);
1053
  }
1054
 
1055
+
1056
  if( (strpos($statuAM, 'ERROR:') === false) && ($statuAM != '') ) {
1057
  $params = array(
1058
  'marketPlaceId' => $idOrder,
1059
+ "createdAt" => $this->formatDateTimeZone( $Order->getData('created_at') ),
1060
  "status" => $statuAM,
1061
  "marketPlace" => "ECOMMERCE",
1062
  "marketPlaceStatus" => $statuAM,
1066
  "state" => $shipping->getRegion(),
1067
  "country" => $shipping->getCountry(),
1068
  "address" => $shipping->getStreetFull(),
1069
+ "street" => $shipping->getStreet(1),
1070
+ "number" => $shipping->getStreet(2),
1071
+ "comment" => $shipping->getStreet(3),
1072
+ "neighborhood" => $shipping->getStreet(4),
1073
  "zipCode" => $shipping->getPostcode()
1074
  ),
1075
  "buyer" => array(
1088
  "value" => $Order->getBaseGrandTotal()
1089
  ),
1090
  ),
1091
+ "discount" => floatval( $Order->getDiscountAmount() ) < 0 ? floatval( $Order->getDiscountAmount() )*-1 : $Order->getDiscountAmount(),
1092
  "freight" => $Order->getShippingAmount(),
1093
+ "gross" => $Order->getBaseSubtotal(),
1094
  "total" => $Order->getBaseGrandTotal()
1095
  );
1096
 
1097
+ $arrTracking = $this->getTrackingOrder($storeID, $Order);
1098
  $arrInvoice = $this->getInvoiceOrder($Order);
1099
 
1100
  if($arrTracking["number"] != ''){
1230
  $anymarketorders->setStatus("0");
1231
  $anymarketorders->setNmoStatusInt('Não integrado (Magento)');
1232
  $anymarketorders->setNmoDescError('');
 
 
1233
  $anymarketorders->setNmoIdOrder( $orderId );
1234
  $anymarketorders->setStores(array($storeID));
1235
  $anymarketorders->save();
app/code/community/DB1/AnyMarket/Helper/Ordergenerator.php CHANGED
@@ -104,7 +104,7 @@ class DB1_AnyMarket_Helper_OrderGenerator extends DB1_AnyMarket_Helper_Data
104
  * @param $products
105
  * @return int
106
  */
107
- public function createOrder($products)
108
  {
109
  if (!($this->_customer instanceof Mage_Customer_Model_Customer)){
110
  $this->setCustomer(self::CUSTOMER_RANDOM);
@@ -208,7 +208,7 @@ class DB1_AnyMarket_Helper_OrderGenerator extends DB1_AnyMarket_Helper_Data
208
 
209
  $this->_order->setShippingAddress($shippingAddress)
210
  ->setShippingMethod($this->_shippingMethod)
211
- ->setShippingDescription($this->_shippingDescription); //ALTERADO POR JOSE EDUARDO
212
 
213
  $orderPayment = Mage::getModel('sales/order_payment')
214
  ->setStoreId($this->_storeId)
@@ -219,7 +219,7 @@ class DB1_AnyMarket_Helper_OrderGenerator extends DB1_AnyMarket_Helper_Data
219
 
220
  $this->_order->setPayment($orderPayment);
221
 
222
- $this->_addProducts($products);
223
 
224
  $this->_order->setSubtotal($this->_subTotal)
225
  ->setBaseSubtotal($this->_subTotal)
@@ -234,37 +234,59 @@ class DB1_AnyMarket_Helper_OrderGenerator extends DB1_AnyMarket_Helper_Data
234
  return $reservedOrderId;
235
  }
236
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  /**
238
  * add products in order
239
  *
240
  * @param $products
241
  */
242
- protected function _addProducts($products)
243
  {
244
  $this->_subTotal = 0;
245
 
246
- foreach ($products as $productRequest) {
247
- if ($productRequest['product'] == 'rand') {
248
-
249
- $productsCollection = Mage::getResourceModel('catalog/product_collection');
250
- $productsCollection->addFieldToFilter('type_id', 'simple');
251
-
252
- Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($productsCollection);
253
 
254
- $productsCollection->getSelect()
255
- ->order('RAND()')
256
- ->limit(rand($productRequest['min'], $productRequest['max']));
257
-
258
- foreach ($productsCollection as $product){
259
- $this->_addProduct(array(
260
- 'product' => $product->getId(),
261
- 'qty' => rand(1, 2)
262
- ));
263
- }
264
- }
265
- else {
266
- $this->_addProduct($productRequest);
267
- }
268
  }
269
  }
270
 
@@ -275,13 +297,12 @@ class DB1_AnyMarket_Helper_OrderGenerator extends DB1_AnyMarket_Helper_Data
275
  * @return array
276
  * @throws Exception
277
  */
278
- protected function _addProduct($requestData)
279
  {
280
  $request = new Varien_Object();
281
  $request->setData($requestData);
282
 
283
- $product = Mage::getModel('catalog/product')->load($request['product']);
284
-
285
 
286
  $cartCandidates = $product->getTypeInstance(true)
287
  ->prepareForCartAdvanced($request, $product);
@@ -298,23 +319,16 @@ class DB1_AnyMarket_Helper_OrderGenerator extends DB1_AnyMarket_Helper_Data
298
  $errors = array();
299
  $items = array();
300
  foreach ($cartCandidates as $candidate) {
301
-
302
  $item = $this->_productToOrderItem($candidate, $candidate->getCartQty(), $request['price']);
303
-
304
  $items[] = $item;
305
 
306
- /**
307
- * As parent item we should always use the item of first added product
308
- */
309
  if (!$parentItem) {
310
  $parentItem = $item;
311
  }
312
  if ($parentItem && $candidate->getParentProductId()) {
313
  $item->setParentItem($parentItem);
314
  }
315
- /**
316
- * We specify qty after we know about parent (for stock)
317
- */
318
  $item->setQty($item->getQty() + $candidate->getCartQty());
319
 
320
  // collect errors instead of throwing first one
@@ -347,24 +361,18 @@ class DB1_AnyMarket_Helper_OrderGenerator extends DB1_AnyMarket_Helper_Data
347
  */
348
  function _productToOrderItem(Mage_Catalog_Model_Product $product, $qty = 1, $price)
349
  {
350
-
351
- if($price){
352
- $finalPrice = $price;
353
- }else{
354
- $finalPrice = $product->getFinalPrice();
355
- }
356
-
357
- $rowTotal = $finalPrice * $qty;
358
-
359
  $options = $product->getCustomOptions();
360
 
361
  $optionsByCode = array();
362
-
363
  foreach ($options as $option)
364
  {
365
  $quoteOption = Mage::getModel('sales/quote_item_option')->setData($option->getData())
366
  ->setProduct($option->getProduct());
367
 
 
 
 
368
  $optionsByCode[$quoteOption->getCode()] = $quoteOption;
369
  }
370
 
@@ -373,11 +381,40 @@ class DB1_AnyMarket_Helper_OrderGenerator extends DB1_AnyMarket_Helper_Data
373
  // DECREMENTE O STOCK
374
  $stockItem =Mage::getModel('cataloginventory/stock_item')->loadByProduct( $product->getId() );
375
  if( $stockItem->getManageStock() ){
376
- $stockItem->setData('qty', $stockItem->getQty()-$product['qty']);
377
  }
378
  $stockItem->save();
379
 
380
  $options = $product->getTypeInstance(true)->getOrderOptions($product);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
381
 
382
  $orderItem = Mage::getModel('sales/order_item')
383
  ->setStoreId($this->_storeId)
@@ -387,12 +424,12 @@ class DB1_AnyMarket_Helper_OrderGenerator extends DB1_AnyMarket_Helper_Data
387
  ->setProductType($product->getTypeId())
388
  ->setQtyBackordered(NULL)
389
  ->setTotalQtyOrdered($product['rqty'])
390
- ->setQtyOrdered($product['qty'])
391
  ->setName($product->getName())
392
  ->setSku($product->getSku())
393
- ->setPrice( $finalPrice )
394
- ->setBasePrice( $finalPrice )
395
- ->setOriginalPrice( $finalPrice )
396
  ->setRowTotal($rowTotal)
397
  ->setBaseRowTotal($rowTotal)
398
 
104
  * @param $products
105
  * @return int
106
  */
107
+ public function createOrder($storeID, $products)
108
  {
109
  if (!($this->_customer instanceof Mage_Customer_Model_Customer)){
110
  $this->setCustomer(self::CUSTOMER_RANDOM);
208
 
209
  $this->_order->setShippingAddress($shippingAddress)
210
  ->setShippingMethod($this->_shippingMethod)
211
+ ->setShippingDescription($this->_shippingDescription);
212
 
213
  $orderPayment = Mage::getModel('sales/order_payment')
214
  ->setStoreId($this->_storeId)
219
 
220
  $this->_order->setPayment($orderPayment);
221
 
222
+ $this->_addProducts($storeID, $products);
223
 
224
  $this->_order->setSubtotal($this->_subTotal)
225
  ->setBaseSubtotal($this->_subTotal)
234
  return $reservedOrderId;
235
  }
236
 
237
+ private function groupProductByID($products){
238
+ $arryProdAt = array();
239
+ $ctrlProds = array();
240
+ foreach ($products as $idxProd => $prod) {
241
+ if( isset($prod['bundle_option_qty']) ) {
242
+ foreach ($prod['bundle_option_qty'] as $key => $value) {
243
+ $prod['bundle_option_qty'][$key] = $prod['bundle_option_qty'][$key] * $prod['qty'];
244
+ }
245
+ }
246
+
247
+ for ($i=$idxProd+1; $i < count($products); $i++) {
248
+ $prodToGroup = $products[$i];
249
+
250
+ $arrToComp1 = $prod;
251
+ $arrToComp2 = $prodToGroup;
252
+
253
+ unset($arrToComp1['qty']);
254
+ unset($arrToComp2['qty']);
255
+ if (md5(serialize($arrToComp1)) == md5(serialize($arrToComp2))) {
256
+ $prod['qty'] += $prodToGroup['qty'];
257
+
258
+ if( isset($prod['bundle_option_qty']) ) {
259
+ foreach ($prod['bundle_option_qty'] as $key => $value) {
260
+ $prod['bundle_option_qty'][$key] += $prodToGroup['bundle_option_qty'][$key];
261
+ }
262
+ }
263
+
264
+ }
265
+ }
266
+
267
+ if( !in_array($prod['product'], $ctrlProds) ) {
268
+ array_push($arryProdAt, $prod);
269
+ array_push($ctrlProds, $prod['product']);
270
+ }
271
+ }
272
+
273
+ return $arryProdAt;
274
+ }
275
+
276
  /**
277
  * add products in order
278
  *
279
  * @param $products
280
  */
281
+ protected function _addProducts($storeID, $products)
282
  {
283
  $this->_subTotal = 0;
284
 
285
+ //GROUP ITENS
286
+ $arryProdAt = $this->groupProductByID($products);
 
 
 
 
 
287
 
288
+ foreach ($arryProdAt as $productRequest) {
289
+ $this->_addProduct($storeID, $productRequest);
 
 
 
 
 
 
 
 
 
 
 
 
290
  }
291
  }
292
 
297
  * @return array
298
  * @throws Exception
299
  */
300
+ protected function _addProduct($storeID, $requestData)
301
  {
302
  $request = new Varien_Object();
303
  $request->setData($requestData);
304
 
305
+ $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load($request['product']);
 
306
 
307
  $cartCandidates = $product->getTypeInstance(true)
308
  ->prepareForCartAdvanced($request, $product);
319
  $errors = array();
320
  $items = array();
321
  foreach ($cartCandidates as $candidate) {
 
322
  $item = $this->_productToOrderItem($candidate, $candidate->getCartQty(), $request['price']);
 
323
  $items[] = $item;
324
 
 
 
 
325
  if (!$parentItem) {
326
  $parentItem = $item;
327
  }
328
  if ($parentItem && $candidate->getParentProductId()) {
329
  $item->setParentItem($parentItem);
330
  }
331
+
 
 
332
  $item->setQty($item->getQty() + $candidate->getCartQty());
333
 
334
  // collect errors instead of throwing first one
361
  */
362
  function _productToOrderItem(Mage_Catalog_Model_Product $product, $qty = 1, $price)
363
  {
 
 
 
 
 
 
 
 
 
364
  $options = $product->getCustomOptions();
365
 
366
  $optionsByCode = array();
367
+ $bundleOptSelAttr = null;
368
  foreach ($options as $option)
369
  {
370
  $quoteOption = Mage::getModel('sales/quote_item_option')->setData($option->getData())
371
  ->setProduct($option->getProduct());
372
 
373
+ if($quoteOption->getCode() == 'bundle_selection_attributes' ) {
374
+ $bundleOptSelAttr = $quoteOption->getValue();
375
+ }
376
  $optionsByCode[$quoteOption->getCode()] = $quoteOption;
377
  }
378
 
381
  // DECREMENTE O STOCK
382
  $stockItem =Mage::getModel('cataloginventory/stock_item')->loadByProduct( $product->getId() );
383
  if( $stockItem->getManageStock() ){
384
+ $stockItem->setData('qty', $stockItem->getQty()-$product['cart_qty']);
385
  }
386
  $stockItem->save();
387
 
388
  $options = $product->getTypeInstance(true)->getOrderOptions($product);
389
+
390
+ if($bundleOptSelAttr != null) {
391
+ $options['bundle_selection_attributes'] = $bundleOptSelAttr;
392
+ }
393
+
394
+ $finalPrice = $price;
395
+ if( $product['parent_product_id'] ){
396
+ $productParent = Mage::getModel('catalog/product')->load( $product['parent_product_id'] );
397
+
398
+ if( $productParent->getTypeID() == "bundle" && $productParent->getPriceType() == 0 ) {
399
+ //GET PROC FROM REAL PRICE
400
+ $priceModel = $productParent->getPriceModel();
401
+ $PriceBundle = $priceModel->getTotalPrices($productParent, null, true, false);
402
+
403
+ $PriceBundle = reset($PriceBundle);
404
+ $priceProdCur = $product->getFinalPrice();
405
+
406
+ $currPorc = (100*$priceProdCur)/$PriceBundle;
407
+ $finalPrice = ($currPorc*$price)/100;
408
+ }
409
+
410
+ }
411
+
412
+ $qtdOrdered = $product['cart_qty'];
413
+ if( $product->getTypeID() == "bundle" ) {
414
+ $rowTotal = 0;
415
+ }else{
416
+ $rowTotal = $finalPrice * $qty;
417
+ }
418
 
419
  $orderItem = Mage::getModel('sales/order_item')
420
  ->setStoreId($this->_storeId)
424
  ->setProductType($product->getTypeId())
425
  ->setQtyBackordered(NULL)
426
  ->setTotalQtyOrdered($product['rqty'])
427
+ ->setQtyOrdered($qtdOrdered)
428
  ->setName($product->getName())
429
  ->setSku($product->getSku())
430
+ ->setPrice($finalPrice)
431
+ ->setBasePrice($finalPrice)
432
+ ->setOriginalPrice( $product->getFinalPrice() )
433
  ->setRowTotal($rowTotal)
434
  ->setBaseRowTotal($rowTotal)
435
 
app/code/community/DB1/AnyMarket/Helper/Product.php CHANGED
@@ -10,8 +10,10 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
10
  */
11
  private function checkArrayAttributes($arrAttr, $key, $value){
12
  foreach ($arrAttr as $arrVal) {
13
- if( $arrVal[$key] == $value ){
14
- return true;
 
 
15
  }
16
  }
17
  return false;
@@ -105,6 +107,67 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
105
  return $fieldDesc;
106
  }
107
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  /**
109
  * get decription by configuration
110
  *
@@ -275,13 +338,12 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
275
  * @param $idProd
276
  * @param $dataProdConfig
277
  * @param $simpleProducts
278
- * @param $AttributeIds
279
  * @return Mage_Catalog_Model_Product
280
  */
281
- private function update_configurable_product($storeID, $idProd, $dataProdConfig, $simpleProducts, $AttributeIds){
282
  $productGenerator = Mage::helper('db1_anymarket/productgenerator');
283
- $product = $productGenerator->updateConfigurableProduct($storeID, $idProd, $dataProdConfig, $simpleProducts, $AttributeIds);
284
-
285
  $returnProd['return'] = Mage::helper('db1_anymarket')->__('Configurable product Updated').' ('.$product->getSku().')';
286
  $returnProd['error'] = '0';
287
  $returnProd['json'] = '';
@@ -367,6 +429,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
367
  }
368
  }
369
 
 
370
  $mediaApi = Mage::getModel("catalog/product_attribute_media_api");
371
  $items = $mediaApi->items($Prod->getId());
372
  $imagesGalleryMG = array();
@@ -376,30 +439,30 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
376
  $imagesGalleryMG[] = array('ctrl' => $crltImg, 'img' => $item['url'], 'file' => $item['file'] );
377
  }
378
 
 
379
  $imagesGalleryAM = array();
380
  foreach ($ProdsJSON->photos as $image) {
381
- $crltImgAM = basename($image->original);
382
  $crltImgAM = str_replace(strrchr($crltImgAM,"."), "", $crltImgAM);
383
 
384
- if( !empty($variation) ){
385
- if (in_array( $image->variationValue, $variation)) {
386
- $imagesGalleryAM[] = array('ctrl' => md5($crltImgAM . $idClient), 'img' => $image->standard_resolution, 'main' => $image->main);
387
- }
388
- }else{
389
- $imagesGalleryAM[] = array('ctrl' => md5($crltImgAM . $idClient), 'img' => $image->standard_resolution, 'main' => $image->main);
 
390
  }
391
- }
392
 
393
- //COMPARA IMG AM COM MG SE TIVER DIVERGENCIA ADD NO PRODUTO
394
- $diffAM = $this->compareArrayImage($imagesGalleryAM, $imagesGalleryMG);
395
- if ($diffAM) {
396
- foreach ($diffAM as $diffAM_value) {
397
- $imagesGallery[] = array('img' => $diffAM_value['img'], 'main' => $diffAM_value['main']);
 
 
 
398
  }
399
-
400
- $dataImgs = array('images' => $imagesGallery, 'sku' => $idClient);
401
- $productGenerator = Mage::helper('db1_anymarket/productgenerator');
402
- $productGenerator->updateImages($Prod, $dataImgs);
403
  }
404
 
405
  //COMPARA IMG AM COM MG SE TIVER DIVERCIA REMOVE DO PRODUTO
@@ -407,201 +470,19 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
407
  if ($diffMG) {
408
  foreach ($diffMG as $diffMG_value) {
409
  $mediaApi->remove($Prod->getId(), $diffMG_value['file']);
410
- //remover arquivo fisicamente
411
  }
412
  }
413
- }
414
-
415
- /**
416
- *
417
- * Send Image to Anymarket
418
- *
419
- * @param $storeID
420
- * @param $product
421
- * @param $variation
422
- *
423
- */
424
- public function sendImageToAnyMarket($storeID, $product, $variation){
425
- if($product){
426
- $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
427
- $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
428
- $exportImage = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_export_image_field', $storeID);
429
-
430
- $headers = array(
431
- "Content-type: application/json",
432
- "gumgaToken: ".$TOKEN
433
- );
434
-
435
- if($product->getData('id_anymarket') != ''){
436
- $imgGetRet = $this->CallAPICurl("GET", $HOST."/v2/products/".$product->getData('id_anymarket')."/images", $headers, null);
437
- if($imgGetRet['error'] == '0'){
438
- $imgsProdAnymarket = $imgGetRet['return'];
439
- $imgsProdMagento = $product->getMediaGalleryImages();
440
-
441
- $arrAdd = array();
442
- $ctrlAdd = false;
443
- $arrRemove = array();
444
- $ctrlRemove = false;
445
- $arrImgs = array();
446
-
447
- //verifica quais irao adicionar
448
- foreach ($imgsProdMagento as $imgProdMagento) {
449
- $ctrlAdd = false;
450
-
451
- $urlImage = $imgProdMagento->getData('url');
452
- $infoImg = getimagesize( $urlImage );
453
- $imgSize = filesize( $imgProdMagento->getData('path') );
454
-
455
- if( ($infoImg[0] != "") && ((float)$infoImg[0] < 350 || (float)$infoImg[1] < 350 || $imgSize > 4100000 )) {
456
- if ($exportImage == 0) {
457
- array_push($arrProd, 'Image_c (' . $urlImage . ' - Sku: ' . $product->getSku() . ' - Width: ' . $infoImg[0] . ' - Height: ' . $infoImg[1] . ' - Size: ' . $imgSize . ')');
458
- } else {
459
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
460
- $anymarketlog->setLogDesc('Error on export image - ' . $urlImage);
461
- $anymarketlog->setLogId($product->getSku());
462
- $anymarketlog->setStatus("1");
463
- $anymarketlog->setStores(array($storeID));
464
- $anymarketlog->save();
465
- }
466
- }else{
467
- foreach ($imgsProdAnymarket as $imgProdAnymarket) {
468
- if ($variation) {
469
- if( isset($imgProdAnymarket->variation) ) {
470
- if (($imgProdMagento->getData('url') == $imgProdAnymarket->url) && ($imgProdAnymarket->variation == $variation)) {
471
- $ctrlAdd = true;
472
- break;
473
- }
474
- }
475
- } else {
476
- if ($imgProdMagento->getData('url') == $imgProdAnymarket->url) {
477
- $ctrlAdd = true;
478
- break;
479
- }
480
- }
481
-
482
- }
483
-
484
- if (!$ctrlAdd) {
485
- array_push($arrAdd, $imgProdMagento->getData('url'));
486
- }
487
- }
488
-
489
- }
490
-
491
- //verifica quais irao remover
492
- foreach ($imgsProdAnymarket as $imgProdAnymarket) {
493
- $ctrlRemove = false;
494
- foreach ($imgsProdMagento as $imgProdMagento) {
495
- if($variation){
496
- if( isset($imgProdAnymarket->variation) ) {
497
- if (($imgProdAnymarket->url == $imgProdMagento->getData('url')) && ($imgProdAnymarket->variation == $variation)) {
498
- $ctrlRemove = true;
499
- break;
500
- }
501
- }
502
- }else{
503
- if($imgProdAnymarket->url == $imgProdMagento->getData('url') ){
504
- $ctrlRemove = true;
505
- break;
506
- }
507
- }
508
- }
509
-
510
- if(!$ctrlRemove){
511
- if($variation){
512
- if( isset($imgProdAnymarket->variation) ) {
513
- if ($imgProdAnymarket->variation == $variation) {
514
- array_push($arrRemove, $imgProdAnymarket->id);
515
- }
516
- }
517
- }else{
518
- array_push($arrRemove, $imgProdAnymarket->id);
519
- }
520
- }
521
- }
522
-
523
- // Add Image
524
- if( !empty($arrImgs) ){
525
- $returnProd['error'] = '1';
526
- $returnProd['json'] = '';
527
-
528
- $emptyFields = ' ';
529
- foreach ($arrImgs as $field) {
530
- $emptyFields .= $field.', ';
531
- }
532
-
533
- $returnProd['return'] = Mage::helper('db1_anymarket')->__('Product with inconsistency:').' '.$emptyFields;
534
- $this->saveLogsProds($storeID, "0", $returnProd, $product);
535
- }else {
536
- foreach ($arrAdd as $imgAdd) {
537
- if ($variation) {
538
- $JSONAdd = array(
539
- "url" => $imgAdd,
540
- "variation" => $variation,
541
- );
542
- } else {
543
- $JSONAdd = array(
544
- "url" => $imgAdd
545
- );
546
- }
547
-
548
- $imgPostRet = $this->CallAPICurl("POST", $HOST . "/v2/products/" . $product->getData('id_anymarket') . "/images", $headers, $JSONAdd);
549
- if ($imgPostRet['error'] == '1') {
550
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
551
- $anymarketlog->setLogDesc('Error on export image (' . $product->getData('id_anymarket') . ') - ' . is_string($imgPostRet['return']) ? $imgPostRet['return'] : json_encode($imgPostRet['return']));
552
- $anymarketlog->setLogJson($imgPostRet['json']);
553
- $anymarketlog->setLogId($product->getSku());
554
- $anymarketlog->setStatus("1");
555
- $anymarketlog->setStores(array($storeID));
556
- $anymarketlog->save();
557
- } else {
558
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
559
- $anymarketlog->setLogDesc('Exported image (' . $imgAdd . ')');
560
- $anymarketlog->setLogJson($imgPostRet['json']);
561
- $anymarketlog->setLogId($product->getSku());
562
- $anymarketlog->setStatus("1");
563
- $anymarketlog->setStores(array($storeID));
564
- $anymarketlog->save();
565
- }
566
- }
567
- }
568
-
569
- // remove image
570
- foreach ($arrRemove as $imgRemove) {
571
- $imgDelRet = $this->CallAPICurl("DELETE", $HOST."/v2/products/".$product->getData('id_anymarket')."/images/".$imgRemove, $headers, null);
572
- if($imgDelRet['error'] == '1'){
573
- $anymarketlogDel = Mage::getModel('db1_anymarket/anymarketlog');
574
 
575
- if( is_string($imgDelRet['return']) ){
576
- $anymarketlogDel->setLogDesc( 'Error on delete image in Anymarket ('.$imgRemove.') - '.$imgDelRet['return']);
577
- }else{
578
- $anymarketlogDel->setLogDesc( 'Error on delete image in Anymarket ('.$imgRemove.') - '.json_encode($imgDelRet['return']));
579
- }
580
-
581
- $anymarketlogDel->setLogJson('');
582
- $anymarketlogDel->setLogId($product->getSku());
583
- $anymarketlogDel->setStatus("1");
584
- $anymarketlogDel->setStores(array($storeID));
585
- $anymarketlogDel->save();
586
- }else{
587
- $anymarketlogDel = Mage::getModel('db1_anymarket/anymarketlog');
588
- $anymarketlogDel->setLogDesc( 'Deleted image from Anymarket ');
589
- $anymarketlogDel->setLogJson('');
590
- $anymarketlogDel->setLogId($product->getSku());
591
- $anymarketlogDel->setStatus("1");
592
- $anymarketlogDel->setStores(array($storeID));
593
- $anymarketlogDel->save();
594
- }
595
- }
596
-
597
- }else{
598
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
599
- $anymarketlog->setLogDesc( 'Error on get images from Anymarket ('.$product->getData('id_anymarket').') - '.$imgGetRet['return'] );
600
- $anymarketlog->setStatus("1");
601
- $anymarketlog->setStores(array($storeID));
602
- $anymarketlog->save();
603
- }
604
  }
 
 
 
 
605
  }
606
  }
607
 
@@ -614,72 +495,71 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
614
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
615
  $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
616
 
617
- $headers = array(
618
- "Content-type: application/json",
619
  "Cache-Control: no-cache",
620
  "gumgaToken: ".$TOKEN
621
  );
622
-
623
  // SINCRONIZA AS FOTOS E SKUS
624
- $skusProd = $this->CallAPICurl("GET", $HOST."/v2/products/".$product->getData('id_anymarket')."/skus", $headers, null);
625
- if($skusProd['error'] == '0') {
626
- foreach ($skusParam as $skuPut) {
627
- $prodSimple = Mage::getModel('catalog/product')->load($skuPut['internalIdProduct']);
628
-
629
- if ($prodSimple->getData('id_anymarket') != '') {
630
- $paramSku = array(
631
- "title" => $skuPut['title'],
632
- "partnerId" => $skuPut['partnerId'],
633
- "ean" => $skuPut['ean'],
634
- "amount" => $skuPut['amount'],
635
- "price" => $skuPut['price'],
636
- );
637
 
638
- if (isset($skuPut['variations'])) {
639
- foreach ($skuPut['variations'] as $variationPut) {
640
- $this->sendImageToAnyMarket($storeID, $prodSimple, $variationPut);
 
 
 
 
641
  }
642
- $paramSku['variations'] = $skuPut['variations'];
643
- } else {
644
- $this->sendImageToAnyMarket($storeID, $product, null);
645
- }
646
 
647
- $flagHSku = '';
648
- if (isset($skusProd['return'])) {
649
- foreach ($skusProd['return'] as $skuAM) {
650
- if ($skuAM->partnerId == $prodSimple->getSku()) {
651
- $flagHSku = $skuAM->id;
652
- break;
 
653
  }
654
  }
655
- }
656
 
657
- if ($flagHSku != '') {
658
- $skuProdReturn = $this->CallAPICurl("PUT", $HOST . "/v2/products/" . $product->getData('id_anymarket') . "/skus/" . $flagHSku, $headers, $paramSku);
659
 
660
- if ($skuProdReturn['error'] == '0') {
661
- $skuProdReturn['return'] = Mage::helper('db1_anymarket')->__('SKU Updated') . ' (' . $skuPut['partnerId'] . ')';
662
- }
663
- } else {
664
- $skuProdReturn = $this->CallAPICurl("POST", $HOST . "/v2/products/" . $product->getData('id_anymarket') . "/skus", $headers, $paramSku);
665
 
666
- if ($skuProdReturn['error'] == '0') {
667
- $skuProdReturn['return'] = Mage::helper('db1_anymarket')->__('SKU Created') . ' (' . $skuPut['partnerId'] . ')';
 
668
  }
669
- }
670
 
671
- $this->saveLogsProds($storeID, "1", $skuProdReturn, $prodSimple);
672
- $this->updatePriceStockAnyMarket($storeID, $skuPut['internalIdProduct'], $skuPut['amount'], $skuPut['price']);
673
  }
 
 
 
 
 
 
 
 
674
  }
675
- }else{
676
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
677
- $anymarketlog->setLogDesc('Error on get Images Anymarket: '. $skusProd['return']);
678
- $anymarketlog->setLogJson($skusProd['json']);
679
- $anymarketlog->setLogId($product->getSku());
680
- $anymarketlog->setStatus("1");
681
- $anymarketlog->setStores(array($storeID));
682
- $anymarketlog->save();
683
  }
684
  }
685
 
@@ -694,7 +574,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
694
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
695
  $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
696
 
697
- $headers = array(
698
  "Content-type: application/json",
699
  "Accept: */*",
700
  "gumgaToken: ".$TOKEN
@@ -728,12 +608,102 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
728
  }else{
729
  return '';
730
  }
731
-
732
  }else{
733
  return $brand->getData('brd_id');
734
  }
735
  }
736
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
737
  /**
738
  * send product to AnyMarket
739
  *
@@ -773,7 +743,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
773
  if((string)(float)$varPriceFactor == $varPriceFactor) {
774
  $varPriceFactor = (float)$varPriceFactor;
775
  if($varPriceFactor > 99){
776
- array_push($arrProd, Mage::helper('db1_anymarket')->__('AnyMarket Price Factor(Limit 99)'));
777
  }
778
  }else{
779
  array_push($arrProd, Mage::helper('db1_anymarket')->__('AnyMarket Price Factor(Only Number)') );
@@ -782,23 +752,26 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
782
  // verifica Origin null ou em branco
783
  $originData = $this->procAttrConfig($nbm_origin, $product->getData( $nbm_origin ), 1);
784
  if($originData == null || $originData == ''){
785
- array_push($arrProd, Mage::helper('db1_anymarket')->__('AnyMarket Origin') );
786
  }
787
 
788
  //trata para nao enviar novamente solicitacao quando o erro for o mesmo
789
  if( ($product->getData('id_anymarket') == '') || ($product->getData('id_anymarket') == '0') ){
790
  $prodErrorCtrl = Mage::getModel('db1_anymarket/anymarketproducts')->setStoreId($storeID)
791
- ->load($product->getId(), 'nmp_id');
792
  if( $prodErrorCtrl->getData('nmp_id') != null ){
793
  $descError = $prodErrorCtrl->getData('nmp_desc_error');
794
 
795
  // Trata para nao ficar disparando em cima da Duplicadade de SKU
796
  $mesgDuplSku = strrpos($descError, "Duplicidade de SKU:");
797
  if ($mesgDuplSku !== false) {
798
- $oldSkuErr = $this->getBetweenCaract($descError, '"', '"');
 
 
799
 
800
- if($oldSkuErr == $product->getSku()){
801
- array_push($arrProd, 'Duplicidade de SKU: '.Mage::helper('db1_anymarket')->__('Already existing SKU in anymarket').' "'.$oldSkuErr.'".');
 
802
  }
803
  }
804
  }
@@ -831,51 +804,43 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
831
  $Weight = "";
832
  if($product->getTypeID() == "configurable"){
833
  $confID = $product->getId();
 
 
 
 
834
  }else{
835
  // verifica se é um simples pertecente a um Configurable
836
  $parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild( $product->getId() );
837
- $Weight = $product->getWeight();
838
  if (isset($parentIds[0])) {
839
  $confID = $parentIds[0];
840
  $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load($confID);
841
  }
 
 
 
842
  }
843
 
844
- //obtem as imagens do produto(Config ou Simples)
845
- $itemsIMG = array();
846
- $galleryData = $product->getMediaGalleryImages();
847
- $exportImage = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_export_image_field', $storeID);
848
- foreach($galleryData as $g_image) {
849
- $infoImg = getimagesize($g_image['url']);
850
- $imgSize = filesize($g_image['path']);
851
-
852
- if( ($infoImg[0] != "") && ((float)$infoImg[0] < 350 || (float)$infoImg[1] < 350 || $imgSize > 4100000) ){
853
- if($exportImage == 0) {
854
- array_push($arrProd, 'Image_a (' . $g_image['url'] . ' - Sku: ' . $product->getSku() . ' - Width: ' . $infoImg[0] . ' - Height: ' . $infoImg[1] . ' - Size: ' . $imgSize . ')');
855
- }else{
856
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
857
- $anymarketlog->setLogDesc('Error on export image - ' . $g_image['url']);
858
- $anymarketlog->setLogId($product->getSku());
859
- $anymarketlog->setStatus("1");
860
- $anymarketlog->setStores(array($storeID));
861
- $anymarketlog->save();
862
- }
863
- }else{
864
- $itemsIMG[] = array(
865
- "main" => true,
866
- "url" => $g_image['url']
867
- );
868
- }
869
  }
870
 
871
  //obtem os produtos configs - verifica se e configurable
872
  $ArrSimpleConfigProd = array();
873
  if($confID != ""){
874
  $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
875
- $attributesConf = $product->getTypeInstance(true)->getConfigurableAttributesAsArray($product);
876
 
877
  foreach($childProducts as $child) {
878
- $SimpleConfigProd = Mage::getModel('catalog/product')->load($child->getId());
879
 
880
  if ($Weight == "") {
881
  $Weight = $SimpleConfigProd->getWeight();
@@ -906,31 +871,15 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
906
  }
907
 
908
  //obtem as imagens do produto (Obtem os simples e relaciona as variacoes)
909
- $galleryDataSimp = $SimpleConfigProd->getMediaGalleryImages();
910
- foreach ($galleryDataSimp as $g_imageSimp) {
911
- $infoImg = getimagesize($g_imageSimp['url']);
912
- $imgSize = filesize($g_imageSimp['path']);
913
-
914
- if (($infoImg[0] != "") && ((float)$infoImg[0] < 350 || (float)$infoImg[1] < 350 || $imgSize > 4100000)) {
915
- if ($exportImage == 0) {
916
- array_push($arrProd, 'Image_b (' . $g_imageSimp['url'] . ' - Sku: ' . $SimpleConfigProd->getSku() . ' - Width: ' . $infoImg[0] . ' - Height: ' . $infoImg[1] . ' - Size: ' . $imgSize . ')');
917
- } else {
918
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
919
- $anymarketlog->setLogDesc('Error on export image - ' . $g_imageSimp['url']);
920
- $anymarketlog->setLogId($SimpleConfigProd->getSku());
921
- $anymarketlog->setStatus("1");
922
- $anymarketlog->setStores(array($storeID));
923
- $anymarketlog->save();
924
- }
925
- } else {
926
- foreach ($ArrVariationValues as $value) {
927
- $itemsIMG[] = array(
928
- "main" => false,
929
- "url" => $g_imageSimp['url'],
930
- "variation" => $value,
931
- );
932
  }
933
  }
 
 
934
  }
935
 
936
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
@@ -966,7 +915,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
966
  "idProduct" => $SimpleConfigProd->getData('id_anymarket'),
967
  "internalIdProduct" => $SimpleConfigProd->getId(),
968
  );
969
- }
970
 
971
  }
972
 
@@ -978,12 +927,18 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
978
 
979
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
980
 
981
- if($filter == 'final_price'){
982
  $stkPrice = $product->getFinalPrice();
983
- }else{
984
  $stkPrice = $product->getData($filter);
985
  }
986
 
 
 
 
 
 
 
987
  $prodSkuJ = $product->getSku();
988
 
989
  // verificacao dos dados de price
@@ -992,28 +947,26 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
992
  }
993
 
994
  // verificacao dos dados de SKU
995
- $cValid = array('.', '-', '_');
996
- if(!ctype_alnum(str_replace($cValid, '', $prodSkuJ))) {
997
  array_push($arrProd, 'SKU ('.$prodSkuJ.')');
998
  }
999
 
1000
- if ($product->getData('integra_anymarket') == 1 && $product->getStatus() == 1) {
1001
- $ArrSimpleConfigProd[] = array(
1002
- "price" => $stkPrice,
1003
- "amount" => $stock->getQty(),
1004
- "ean" => $product->getData($ean),
1005
- "partnerId" => $prodSkuJ,
1006
- "title" => $product->getName(),
1007
- "idProduct" => $product->getData('id_anymarket'),
1008
- "internalIdProduct" => $product->getId(),
1009
- );
1010
- }
1011
  }
1012
 
1013
-
1014
  //cria os headers
1015
- $headers = array(
1016
- "Content-type: application/json",
1017
  "Cache-Control: no-cache",
1018
  "gumgaToken: ".$TOKEN
1019
  );
@@ -1030,38 +983,38 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1030
  $attributeSetName = $attributeSetModel->getAttributeSetId();
1031
 
1032
  $attributes = Mage::getResourceModel('catalog/product_attribute_collection')
1033
- ->setAttributeSetFilter($attributeSetName)
1034
- ->getItems();
1035
 
1036
  $ArrAttributes = array();
1037
  $contIndexAttr = 0;
1038
  foreach ($attributes as $attribute){
1039
  $attrCheck = Mage::getModel('db1_anymarket/anymarketattributes')->load($attribute->getAttributeId(), 'nma_id_attr');
1040
  if($attrCheck->getData('nma_id_attr') != null){
1041
- if($attrCheck->getData('status') == 1){
1042
- if( $attribute->getAttributeCode() != $model ){
1043
- if(!$this->checkArrayAttributes($ArrAttributes, "description", $attribute->getFrontendLabel())){
1044
- if($confID == ""){
1045
- $valAttr = $this->procAttrConfig($attribute->getAttributeCode(), $product->getData( $attribute->getAttributeCode() ), 1);
1046
- if( $valAttr != null || $valAttr != '' ){
1047
- $ArrAttributes[] = array("index" => $contIndexAttr, "name" => $attribute->getFrontendLabel(), "value" => $valAttr);
1048
- $contIndexAttr = $contIndexAttr+1;
1049
- }
1050
- }else{
1051
- foreach ($attributesConf as $attributeConf){
1052
- if(!in_array($attribute->getAttributeCode(), $attributeConf)){
1053
- if(!$this->checkArrayAttributes($ArrAttributes, "description", $attribute->getFrontendLabel())){
1054
- $valAttr = $this->procAttrConfig($attribute->getAttributeCode(), $product->getData( $attribute->getAttributeCode() ), 1);
1055
- if( $valAttr != null || $valAttr != '' ){
1056
- $ArrAttributes[] = array("index" => $contIndexAttr, "name" => $attribute->getFrontendLabel(), "value" => $valAttr);
1057
- $contIndexAttr = $contIndexAttr+1;
1058
- }
1059
- }
1060
  }
1061
  }
1062
  }
1063
  }
1064
  }
 
1065
  }
1066
  }
1067
  }
@@ -1070,6 +1023,15 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1070
  $vHeight = $this->procAttrConfig($volume_altura, $product->getData( $volume_altura ), 1);
1071
  $vWidth = $this->procAttrConfig($volume_largura, $product->getData( $volume_largura ), 1);
1072
  $vLength = $this->procAttrConfig($volume_comprimento, $product->getData( $volume_comprimento ), 1);
 
 
 
 
 
 
 
 
 
1073
 
1074
  //Cria os params
1075
  $param = array(
@@ -1096,7 +1058,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1096
  "height" => $this->convertUnitMeasurement($UnitMeasurement, $vHeight, 1),
1097
  "width" => $this->convertUnitMeasurement($UnitMeasurement, $vWidth, 1),
1098
  "length" => $this->convertUnitMeasurement($UnitMeasurement, $vLength, 1),
1099
- "images" => $itemsIMG,
1100
  "priceFactor" => $varPriceFactor,
1101
  "calculatedPrice" => $product->getData( $calculated_price ) == 0 ? false : true,
1102
  // OBTER ATRIBUTOS CUSTOM
@@ -1161,6 +1123,8 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1161
  $returnProd['error'] = '0';
1162
  $returnProd['return'] = Mage::helper('db1_anymarket')->__('Successfully synchronized product.');
1163
  $this->saveLogsProds($storeID, "1", $returnProd, $product);
 
 
1164
  }else{
1165
  $returnProd['error'] = '1';
1166
  $returnProd['return'] = Mage::helper('db1_anymarket')->__('Error synchronizing, code anymarket invalid.');
@@ -1168,13 +1132,85 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1168
  }
1169
 
1170
  }else{
1171
- $this->saveLogsProds($storeID, "1", $returnProd, $product);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1172
  }
1173
 
1174
  }else{
1175
  $returnProd = $this->CallAPICurl("PUT", $HOST."/v2/products/".$product->getData('id_anymarket'), $headers, $param);
1176
  if($returnProd['error'] == '0'){
1177
  $returnProd['return'] = Mage::helper('db1_anymarket')->__('Product Updated');
 
 
1178
  }
1179
 
1180
  //ADICIONA UM NOVO SKU
@@ -1183,22 +1219,19 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1183
  if($skuProdReturn['error'] == '0'){
1184
  $skuProdReturn['return'] = Mage::helper('db1_anymarket')->__('SKU Created').' ('.$skuPut['partnerId'].')';
1185
  $this->saveLogsProds($storeID, "1", $skuProdReturn, $product);
 
 
1186
  }else{
1187
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
1188
  $productSku = Mage::getModel('catalog/product')->setStoreId($storeID)->loadByAttribute('sku', $skuPut['partnerId'] );
1189
- if( $productSku != null ) {
1190
- if ($productSku->getData() != null) {
1191
- if ($productSku->getId() != null) {
1192
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($productSku);
1193
- $this->updatePriceStockAnyMarket($storeID, $productSku->getId(), $stock->getQty(), $productSku->getData($filter));
1194
- }
1195
- }
1196
  }
1197
  }
1198
  }
1199
 
1200
  $this->sendImageSkuToAnyMarket($storeID, $product, $param['skus']);
1201
-
1202
  $this->saveLogsProds($storeID, "1", $returnProd, $product);
1203
  }
1204
  return true;
@@ -1250,7 +1283,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1250
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
1251
  $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
1252
 
1253
- $headers = array(
1254
  "Content-type: application/json",
1255
  "Accept: */*",
1256
  "gumgaToken: ".$TOKEN
@@ -1299,9 +1332,6 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1299
  $ProdsJSON = $returnProdSpecific['return'];
1300
 
1301
  foreach ($ProdsJSON->skus as $sku) {
1302
- $IDSKUProd = $sku->partnerId != null ? $sku->partnerId : $ProdsJSON->idProduct;
1303
- $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $IDSKUProd);
1304
-
1305
  $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1306
  $stockItem->setData('is_in_stock', $sku->amount > 0 ? '1' : '0');
1307
  $stockItem->setData('qty', $sku->amount);
@@ -1314,9 +1344,9 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1314
  $anymarketlog->setStores(array($storeID));
1315
  $anymarketlog->save();
1316
 
1317
- $anymarketproducts = Mage::getModel('db1_anymarket/anymarketproducts')->load($product->getIdAnymarket(), 'nmp_id');
1318
  if ($anymarketproducts->getNmpId() == null) {
1319
- $anymarketproducts = Mage::getModel('db1_anymarket/anymarketproducts')->load($product->getId(), 'nmp_id');
1320
  }
1321
 
1322
  $anymarketproducts->setNmpId($product->getId());
@@ -1358,20 +1388,18 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1358
  $transmissionToken = $transmissionIDs->token;
1359
 
1360
  $transmissionReturn = $this->CallAPICurl("GET", $HOST."/v2/transmissions/".$transmissionID, $headers, null);
1361
-
1362
  $prodRet = "";
1363
  $typeSincProd = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_type_prod_sync_field', $storeID);
1364
  if($typeSincProd == 1) {
1365
  if ($transmissionReturn['error'] == '1') {
1366
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1367
- $anymarketlog->setLogDesc(Mage::helper('db1_anymarket')->__('Error on get transmissions ') . $transmissionReturn['return']);
1368
  $anymarketlog->setStatus("0");
1369
  $anymarketlog->save();
1370
  } else {
1371
  $transmission = $transmissionReturn['return'];
1372
  $statusTransmission = $transmission->publicationStatus;
1373
  $IDProdTrans = $transmission->product->id;
1374
- $NameProdTrans = $transmission->product->title;
1375
  if ($statusTransmission == 'ACTIVE') {
1376
  $arrVarSku = array();
1377
  if (isset($transmission->sku->variations)) {
@@ -1414,10 +1442,15 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1414
  $arrAttr = array();
1415
  if (isset($transmission->characteristics)) {
1416
  foreach ($transmission->characteristics as $carac) {
1417
- array_push($arrAttr, array(
1418
- "name" => $carac->name,
1419
- "value" => $carac->value
1420
- ));
 
 
 
 
 
1421
  }
1422
  }
1423
 
@@ -1426,7 +1459,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1426
  "title" => $transmission->product->title,
1427
  "idTransmission" => $transmissionIDs->id,
1428
  "description" => isset($transmission->description) ? $transmission->description : null,
1429
- "brand" => isset($transmission->brand->id) ? $transmission->brand->id : null,
1430
  "model" => isset($transmission->model) ? $transmission->model : null,
1431
  "videoURL" => isset($transmission->videoUrl) ? $transmission->videoUrl : null,
1432
  "warrantyTime" => isset($transmission->warrantyTime) ? $transmission->warrantyTime : null,
@@ -1540,7 +1573,6 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1540
  }
1541
  $stockItem->save();
1542
  }
1543
- $prodLoaded->save();
1544
 
1545
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1546
  $anymarketlog->setLogDesc( "Stock Updated" );
@@ -1561,12 +1593,12 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1561
  }
1562
  }else{
1563
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1564
- $anymarketlog->setLogDesc( $transmissionReturn['return'] . " - Update Stock" );
1565
  $anymarketlog->setStatus("0");
1566
  $anymarketlog->setStores(array($storeID));
1567
  $anymarketlog->save();
1568
 
1569
- $prodRet = $transmissionReturn['return'] . " - Update Stock";
1570
  }
1571
  }
1572
  }
@@ -1586,10 +1618,75 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1586
  $prodRet = 'Product Created or updated.';
1587
  }
1588
  }
 
 
 
 
 
1589
 
1590
  return $prodRet;
1591
  }
1592
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1593
 
1594
  /**
1595
  * @param $ProdsJSON
@@ -1638,17 +1735,19 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1638
  if ( !empty( $ProdsJSON->variations ) ) {
1639
  $prodSimpleFromConfig = array();
1640
  $AttributeIds = array();
1641
- $AttributeOptions = array();
1642
 
1643
  $variationArray = array();
1644
  $sinc = '';
1645
  foreach ($ProdsJSON->variations as $variation) {
1646
- $variationArray[$variation->id] = $variation->name;
1647
- $AttrCtlr = Mage::getModel('eav/entity_attribute')->loadByCode('catalog_product', $variation->name);
1648
- if(!$AttrCtlr->getData()){
 
 
1649
  $sinc = $variation->name;
1650
  break;
1651
  }
 
1652
  }
1653
 
1654
  if($sinc == ''){
@@ -1658,106 +1757,77 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1658
  $product = Mage::getModel('catalog/product')->setStoreId($storeID)->loadByAttribute('sku', $IDSKUProd);
1659
 
1660
  foreach ($sku->variations as $varValues) {
1661
- $descVar = $varValues->description;
1662
  $idVar = $varValues->variationTypeId;
1663
  }
1664
 
1665
  //trata as dimensoes
1666
- $vHeight = $this->procAttrConfig($volume_altura, $ProdsJSON->height, 0);
1667
- $vWidth = $this->procAttrConfig($volume_largura, $ProdsJSON->width, 0);
1668
  $vLength = $this->procAttrConfig($volume_comprimento, $ProdsJSON->length, 0);
1669
 
1670
  if(!$product){
1671
- $AttributeId = Mage::getModel('eav/entity_attribute')->getIdByCode('catalog_product', $variationArray[ $idVar ]);
1672
- if (!in_array($AttributeId, $AttributeIds)) {
1673
- $AttributeIds[] = $AttributeId;
1674
- $collectionAttr = Mage::getResourceModel('eav/entity_attribute_option_collection')
1675
- ->setPositionOrder('asc')
1676
- ->setAttributeFilter($AttributeId)
1677
- ->setStoreFilter(0)
1678
- ->load();
1679
-
1680
- $AttributeOptions[$idVar] = $collectionAttr->toOptionArray();
1681
-
1682
  }
1683
 
1684
- $varAttr = '';
1685
- $descVarAttr = '';
1686
- foreach ( $AttributeOptions[$idVar] as $attrOpt) {
1687
- if($attrOpt['label'] == $descVar ){
1688
- $varAttr = $attrOpt['value'];
1689
- $descVarAttr = $attrOpt['label'];
1690
- break;
1691
- }
1692
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1693
 
1694
- $imagesGallery = array();
1695
- foreach ($ProdsJSON->photos as $image) {
1696
- if( $image->variationValue != null ){
1697
- if( $image->variationValue == $descVarAttr ){
1698
- $imagesGallery[] = array('img' => $image->standard_resolution, 'main' => $image->main);
1699
- }
1700
- }
1701
  }
1702
 
1703
- if($varAttr != ''){
1704
- $dataPrd = array(
1705
- 'attribute_set_id' => $AttrSet == null ? Mage::getModel('catalog/product')->getDefaultAttributeSetId() : $AttrSet,
1706
- 'type_id' => 'simple',
1707
- 'sku' => $IDSKUProd,
1708
- 'name' => $sku->title,
1709
- 'description' => $sku->title,
1710
- 'short_description' => $sku->title,
1711
- $priceField => $sku->price,
1712
- 'created_at' => strtotime('now'),
1713
- 'updated_at' => strtotime('now'),
1714
- 'id_anymarket' => $sku->idProduct,
1715
- 'weight' => $MassUnit == 1 ? $ProdsJSON->weight*1000 : $ProdsJSON->weight,
1716
- 'store_id' => $storeID,
1717
- 'website_ids' => array($websiteID),
1718
- $brand => $this->procAttrConfig($brand, $ProdsJSON->brand, 0),
1719
- $model => $this->procAttrConfig($model, $ProdsJSON->model, 0),
1720
- $video_url => $this->procAttrConfig($video_url, $ProdsJSON->videoURL, 0),
1721
-
1722
- $volume_comprimento => $this->convertUnitMeasurement($UnitMeasurement, $vLength, 0),
1723
- $volume_altura => $this->convertUnitMeasurement($UnitMeasurement, $vHeight, 0),
1724
- $volume_largura => $this->convertUnitMeasurement($UnitMeasurement, $vWidth, 0),
1725
-
1726
- $warranty_time => $this->procAttrConfig($warranty_time, $ProdsJSON->warrantyTime, 0),
1727
- $nbm => $this->procAttrConfig($nbm, $ProdsJSON->nbm, 0),
1728
- $nbm_origin => $this->procAttrConfig($nbm_origin, $ProdsJSON->originCode, 0),
1729
- $ean => $this->procAttrConfig($ean, $sku->ean, 0),
1730
- $warranty_text => $this->procAttrConfig($warranty_text, $ProdsJSON->warranty, 0),
1731
- 'msrp_enabled' => '2',
1732
- 'categoria_anymarket' => $ProdsJSON->category,
1733
- $variationArray[ $idVar ] => $varAttr,
1734
- );
1735
-
1736
- foreach ($ProdsJSON->attributes as $attrProd) {
1737
- $dataPrd[ strtolower($attrProd->name) ] = $this->procAttrConfig(strtolower($attrProd->name), $attrProd->value, 0);
1738
- }
1739
 
1740
- $dataPrdSimple = array(
1741
- 'product' => $dataPrd,
1742
- 'stock_item' => array(
1743
- 'is_in_stock' => $sku->stockAmount > 0 ? '1' : '0',
1744
- 'qty' => $sku->stockAmount,
1745
- ),
1746
- 'images' => $imagesGallery,
1747
- );
1748
 
1749
- $ProdReturn = $this->create_simple_product($storeID, $dataPrdSimple);
1750
- $ProdCrt = $ProdReturn->getEntityId();
1751
 
1752
- $product = Mage::getModel('catalog/product')->load($ProdCrt);
1753
- }else{
1754
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1755
- $anymarketlog->setLogDesc( 'Opção de variação sem correspondente no magento ('.$variationArray[ $idVar ].') - '.$descVar );
1756
- $anymarketlog->setStatus("0");
1757
- $anymarketlog->setStores(array($storeID));
1758
- $anymarketlog->save();
1759
- }
1760
  }else{
 
 
1761
  //Atualiza Imagens
1762
  $this->update_image_product($product, $ProdsJSON, $IDSKUProd);
1763
 
@@ -1774,7 +1844,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1774
  $product->setData('weight', $MassUnit == 1 ? $ProdsJSON->weight*1000 : $ProdsJSON->weight);
1775
 
1776
  $product->setData($priceField, $sku->price);
1777
- $product->setData('brand_anymarket', $ProdsJSON->brand);
1778
  $product->setData($model, $this->procAttrConfig($model, $ProdsJSON->model, 0));
1779
  $product->setData($video_url, $this->procAttrConfig($video_url, $ProdsJSON->videoURL, 0));
1780
 
@@ -1823,12 +1893,13 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1823
  }
1824
 
1825
  $collectionConfigurable = Mage::getResourceModel('catalog/product_collection')
1826
- ->addAttributeToFilter('type_id', array('eq' => 'configurable'));
1827
 
1828
  $prod = null;
1829
  foreach ($collectionConfigurable as $prodConfig) {
1830
- $prod = Mage::getModel('catalog/product')->setStoreId(1)->load( $prodConfig->getId() );
1831
- if( $prod->getData('id_anymarket') == $ProdsJSON->id ){
 
1832
  break;
1833
  }
1834
 
@@ -1873,7 +1944,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1873
  $dataProdConfig[$fieldConfig] = $ProdsJSON->description;
1874
  }
1875
 
1876
- $this->update_configurable_product($storeID, $prod->getId(), $dataProdConfig, $prodSimpleFromConfig, $AttributeIds);
1877
  }
1878
  }else{
1879
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
@@ -1882,7 +1953,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1882
  $anymarketlog->setStores(array($storeID));
1883
  $anymarketlog->save();
1884
  }
1885
- // PROD SIMPLES
1886
  }else{
1887
  foreach ($ProdsJSON->skus as $ProdJSON) {
1888
  $skuProd = $ProdJSON;
@@ -1910,14 +1981,14 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1910
  'type_id' => 'simple',
1911
  'sku' => $IDSkuJsonProd,
1912
  'name' => $skuProd->title,
1913
- $priceField => $skuProd->price,
1914
  'created_at' => strtotime('now'),
1915
  'updated_at' => strtotime('now'),
1916
  'id_anymarket' => $ProdsJSON->id,
1917
  'weight' => $MassUnit == 1 ? $ProdsJSON->weight*1000 : $ProdsJSON->weight,
1918
  'store_id' => $storeID,
1919
  'website_ids' => array($websiteID),
1920
- 'brand_anymarket' => $ProdsJSON->brand,
1921
  $nbm => $this->procAttrConfig($nbm, $ProdsJSON->nbm, 0),
1922
  $model => $this->procAttrConfig($model, $ProdsJSON->model, 0),
1923
  $video_url => $this->procAttrConfig($video_url, $ProdsJSON->videoURL, 0),
@@ -1954,6 +2025,8 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1954
 
1955
  $ProdCrt = $this->create_simple_product($storeID, $data);
1956
  }else{
 
 
1957
  //Atualiza Imagens
1958
  $this->update_image_product($product, $ProdsJSON, $IDSkuJsonProd);
1959
 
@@ -1966,16 +2039,13 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
1966
  $product->setStoreId($storeID);
1967
  $product->setName( $skuProd->title );
1968
 
1969
- // $product->setDescription( $ProdsJSON->description );
1970
- // $product->setShortDescription( $ProdsJSON->description );
1971
-
1972
  foreach ($configureFieldsConfig as $fieldConfig) {
1973
  $product->setData($fieldConfig, $ProdsJSON->description);
1974
  }
1975
 
1976
  $product->setData('weight', $MassUnit == 1 ? $ProdsJSON->weight*1000 : $ProdsJSON->weight);
1977
 
1978
- $product->setData('brand_anymarket', $ProdsJSON->brand);
1979
  $product->setData($model, $this->procAttrConfig($model, $ProdsJSON->model, 0));
1980
  $product->setData($video_url, $this->procAttrConfig($video_url, $ProdsJSON->videoURL, 0));
1981
 
@@ -2016,13 +2086,13 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
2016
  return $ProdCrt;
2017
  }
2018
 
2019
- public function massUpdtProds($storeID){
2020
  try {
2021
  $typeSincProd = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_type_prod_sync_field', $storeID);
2022
  if($typeSincProd == 0){
2023
  $products = $products = Mage::getModel('catalog/product')
2024
- ->getCollection()
2025
- ->addAttributeToSelect('name');
2026
  $cont = 0;
2027
  foreach($products as $product) {
2028
  $parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild( $product->getId() );
@@ -2043,7 +2113,7 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
2043
  $sku = $product->getSku();
2044
  $IDProd = $product->getId();
2045
 
2046
- $anymarketproducts = Mage::getModel('db1_anymarket/anymarketproducts')->load($sku ,'nmp_sku');
2047
  $anymarketproducts->setNmpId( $IDProd );
2048
  $anymarketproducts->setNmpSku( $sku );
2049
  $anymarketproducts->setNmpName( $name );
@@ -2084,6 +2154,140 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
2084
  }
2085
  }
2086
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2087
  /**
2088
  * @param $IDProd
2089
  * @param $QtdStock
@@ -2092,33 +2296,52 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
2092
  public function updatePriceStockAnyMarket($storeID, $IDProd, $QtdStock, $Price){
2093
  $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $IDProd );
2094
  if($product->getTypeID() != "configurable"){
2095
- if( ($product->getStatus() == 1) && ($product->getData('integra_anymarket') == 1) ){
2096
- $anymarketproductsUpdt = Mage::getModel('db1_anymarket/anymarketproducts')->load($product->getId(), 'nmp_id');
2097
  if( ($anymarketproductsUpdt->getData('nmp_status_int') != 'Não integrado (Magento)') ){
2098
- $sincronize = true;
2099
- if($product->getVisibility() == 1){ //nao exibido individualmente
2100
- $parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild( $product->getId() );
2101
- if ($parentIds) {
2102
- $sincronize = true;
2103
- }else{
2104
- $sincronize = false;
 
 
 
 
 
 
 
 
2105
  }
2106
- }
2107
 
2108
- if ($sincronize == true) {
2109
- if($product->getData('id_anymarket') != ""){
2110
- $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
2111
- $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
2112
 
2113
- $headers = array(
2114
- "Content-type: application/json",
2115
- "Accept: */*",
2116
- "gumgaToken: ".$TOKEN
2117
- );
 
 
 
2118
 
2119
- $typeSincProd = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_type_prod_sync_field', $storeID);
2120
  if( $typeSincProd == 0 ){
2121
- $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
 
 
 
 
 
 
 
 
 
 
 
 
2122
  if($filter == 'final_price'){
2123
  $Price = $product->getFinalPrice();
2124
  }else{
@@ -2128,51 +2351,61 @@ class DB1_AnyMarket_Helper_Product extends DB1_AnyMarket_Helper_Data
2128
  $Price = null;
2129
  }
2130
 
2131
- $typeSincOrder = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_type_order_sync_field', $storeID);
2132
  if( $typeSincOrder == 0 ){
2133
  $QtdStock = null;
2134
  }elseif( !is_numeric ( $QtdStock ) ){
2135
  $QtdStock = null;
2136
  }
 
2137
 
2138
- if( ($QtdStock != null) || ($Price != null) ){
2139
- $params = array(
2140
- "partnerId" => $product->getSku(),
2141
- "quantity" => $QtdStock,
2142
- "cost" => $Price
2143
- );
2144
 
2145
- $returnProd = $this->CallAPICurl("PUT", $HOST."/v2/stocks", $headers, array($params));
2146
- if($returnProd['return'] == ''){
2147
- $returnProd['return'] = Mage::helper('db1_anymarket')->__('Update Stock and Price');
2148
- $returnProd['error'] = '0';
2149
- $returnProd['json'] = json_encode($params);
2150
- }
2151
 
2152
- if( $returnProd['error'] == '1' ){
2153
- $this->saveLogsProds($storeID, "0", $returnProd, $product);
2154
- }else{
2155
- $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
2156
- $anymarketlog->setLogDesc( Mage::helper('db1_anymarket')->__('Update stock and price.') );
2157
- $anymarketlog->setStatus("0");
2158
- $anymarketlog->setLogId( $product->getId() );
2159
- $anymarketlog->setLogJson( json_encode($params) );
2160
- $anymarketlog->setStores(array($storeID));
2161
- $anymarketlog->save();
2162
- }
2163
  }
 
2164
 
 
 
 
 
 
 
 
 
 
 
2165
  }
2166
  }
2167
  }
2168
  }
2169
  }else{
2170
- $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
2171
-
2172
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
 
2173
  foreach($childProducts as $child) {
2174
  $this->updatePriceStockAnyMarket($storeID, $child->getId(), $child->getStockItem()->getQty(), $child->getData($filter));
2175
  }
 
2176
  }
2177
 
2178
 
10
  */
11
  private function checkArrayAttributes($arrAttr, $key, $value){
12
  foreach ($arrAttr as $arrVal) {
13
+ if( isset($arrVal[$key]) ){
14
+ if( $arrVal[$key] == $value ){
15
+ return true;
16
+ }
17
  }
18
  }
19
  return false;
107
  return $fieldDesc;
108
  }
109
 
110
+ public function saveCallbackReceiver($sku){
111
+ $cache = Mage::app()->getCache();
112
+ $cache->save("sendToAnymarket", "callback_product_executed_".$sku, array($sku."_cached"), 60);
113
+ }
114
+
115
+ /**
116
+ * Validate if callback send by module
117
+ *
118
+ * @param $storeID
119
+ * @param $transmissionID
120
+ * @return boolean
121
+ */
122
+ public function validateCallbackReceiver($storeID, $transmissionID){
123
+ $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
124
+ $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
125
+
126
+ $headers = array(
127
+ "Content-type: application/json",
128
+ "Cache-Control: no-cache",
129
+ "gumgaToken: ".$TOKEN
130
+ );
131
+
132
+ $transmissionReturn = $this->CallAPICurl("GET", $HOST."/v2/transmissions/".$transmissionID, $headers, null);
133
+ if($transmissionReturn['error'] != '1') {
134
+ $JSONTransmission = $transmissionReturn['return'];
135
+ $sku = $JSONTransmission->sku->partnerId;
136
+
137
+ $cache = Mage::app()->getCache();
138
+ if ( $cache->load( 'callback_product_executed_'.$sku ) ) {
139
+ $cache->remove( 'callback_product_executed_'.$sku );
140
+ return false;
141
+ }
142
+
143
+ }
144
+
145
+ return true;
146
+ }
147
+
148
+ /**
149
+ * get product by sku in anymarket because dont have endpoint for this
150
+ *
151
+ * @param $sku
152
+ * @param $HOST
153
+ * @param $header
154
+ * @return string
155
+ */
156
+ public function getProductBySKUInAnymarket( $sku, $HOST, $header ){
157
+ $returnProd = $this->CallAPICurl("GET", $HOST."/v2/products/?sku=".$sku, $header, null);
158
+
159
+ if($returnProd['error'] != '1'){
160
+ $JSON = json_decode(json_encode($returnProd['return']));
161
+ $skuAM = array_shift($JSON->content)->id;
162
+
163
+ if($skuAM != '') {
164
+ $returnProd = array( "id" => $skuAM );
165
+ }
166
+ }
167
+
168
+ return $returnProd;
169
+ }
170
+
171
  /**
172
  * get decription by configuration
173
  *
338
  * @param $idProd
339
  * @param $dataProdConfig
340
  * @param $simpleProducts
 
341
  * @return Mage_Catalog_Model_Product
342
  */
343
+ private function update_configurable_product($storeID, $idProd, $dataProdConfig, $simpleProducts){
344
  $productGenerator = Mage::helper('db1_anymarket/productgenerator');
345
+ $product = $productGenerator->updateConfigurableProduct($storeID, $idProd, $dataProdConfig, $simpleProducts);
346
+
347
  $returnProd['return'] = Mage::helper('db1_anymarket')->__('Configurable product Updated').' ('.$product->getSku().')';
348
  $returnProd['error'] = '0';
349
  $returnProd['json'] = '';
429
  }
430
  }
431
 
432
+ //OBTEM IMAGENS DO MAGENTO
433
  $mediaApi = Mage::getModel("catalog/product_attribute_media_api");
434
  $items = $mediaApi->items($Prod->getId());
435
  $imagesGalleryMG = array();
439
  $imagesGalleryMG[] = array('ctrl' => $crltImg, 'img' => $item['url'], 'file' => $item['file'] );
440
  }
441
 
442
+ //OBTEM IMAGENS DO ANYMARKET
443
  $imagesGalleryAM = array();
444
  foreach ($ProdsJSON->photos as $image) {
445
+ $crltImgAM = $image->original;
446
  $crltImgAM = str_replace(strrchr($crltImgAM,"."), "", $crltImgAM);
447
 
448
+ $urlImage = null;
449
+ if( isset($image->url) ){
450
+ $urlImage = $image->url;
451
+ }elseif( isset($image->standardUrl) ){
452
+ $urlImage = $image->standardUrl;
453
+ }elseif( isset($image->original) ){
454
+ $urlImage = $image->original;
455
  }
 
456
 
457
+ if( $urlImage != null ){
458
+ if( !empty($variation) ){
459
+ if (in_array( $image->variationValue, $variation)) {
460
+ $imagesGalleryAM[] = array('ctrl' => md5($crltImgAM . $idClient), 'img' => $urlImage, 'main' => $image->main);
461
+ }
462
+ }else{
463
+ $imagesGalleryAM[] = array('ctrl' => md5($crltImgAM . $idClient), 'img' => $urlImage, 'main' => $image->main);
464
+ }
465
  }
 
 
 
 
466
  }
467
 
468
  //COMPARA IMG AM COM MG SE TIVER DIVERCIA REMOVE DO PRODUTO
470
  if ($diffMG) {
471
  foreach ($diffMG as $diffMG_value) {
472
  $mediaApi->remove($Prod->getId(), $diffMG_value['file']);
 
473
  }
474
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
475
 
476
+ //COMPARA IMG AM COM MG SE TIVER DIVERGENCIA ADD NO PRODUTO
477
+ $diffAM = $this->compareArrayImage($imagesGalleryAM, $imagesGalleryMG);
478
+ if ($diffAM) {
479
+ foreach ($diffAM as $diffAM_value) {
480
+ $imagesGallery[] = array('img' => $diffAM_value['img'], 'main' => $diffAM_value['main']);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
481
  }
482
+
483
+ $dataImgs = array('images' => $imagesGallery, 'sku' => $idClient);
484
+ $productGenerator = Mage::helper('db1_anymarket/productgenerator');
485
+ $productGenerator->updateImages($Prod, $dataImgs);
486
  }
487
  }
488
 
495
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
496
  $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
497
 
498
+ $headers = array(
499
+ "Content-type: application/json",
500
  "Cache-Control: no-cache",
501
  "gumgaToken: ".$TOKEN
502
  );
 
503
  // SINCRONIZA AS FOTOS E SKUS
504
+ if($product->getData('id_anymarket') != "" || $product->getData('id_anymarket') != 0) {
505
+ $skusProd = $this->CallAPICurl("GET", $HOST . "/v2/products/" . $product->getData('id_anymarket') . "/skus", $headers, null);
506
+ if ($skusProd['error'] == '0') {
507
+ foreach ($skusParam as $skuPut) {
508
+ $prodSimple = Mage::getModel('catalog/product')->setStoreId($storeID)->loadByAttribute('sku', $skuPut['partnerId']);
509
+ if ($prodSimple->getData('id_anymarket') != '') {
510
+ $paramSku = array(
511
+ "title" => $skuPut['title'],
512
+ "partnerId" => $skuPut['partnerId'],
513
+ "ean" => $skuPut['ean'],
514
+ "amount" => $skuPut['amount'],
515
+ "price" => $skuPut['price'],
516
+ );
517
 
518
+ if (isset($skuPut['variations'])) {
519
+ foreach ($skuPut['variations'] as $variationPut) {
520
+ Mage::helper('db1_anymarket/image')->sendImageToAnyMarket($storeID, $prodSimple, $variationPut);
521
+ }
522
+ $paramSku['variations'] = $skuPut['variations'];
523
+ } else {
524
+ Mage::helper('db1_anymarket/image')->sendImageToAnyMarket($storeID, $product, null);
525
  }
 
 
 
 
526
 
527
+ $flagHSku = '';
528
+ if (isset($skusProd['return'])) {
529
+ foreach ($skusProd['return'] as $skuAM) {
530
+ if ($skuAM->partnerId == $prodSimple->getSku()) {
531
+ $flagHSku = $skuAM->id;
532
+ break;
533
+ }
534
  }
535
  }
 
536
 
537
+ if ($flagHSku != '') {
538
+ $skuProdReturn = $this->CallAPICurl("PUT", $HOST . "/v2/products/" . $product->getData('id_anymarket') . "/skus/" . $flagHSku, $headers, $paramSku);
539
 
540
+ if ($skuProdReturn['error'] == '0') {
541
+ $skuProdReturn['return'] = Mage::helper('db1_anymarket')->__('SKU Updated') . ' (' . $skuPut['partnerId'] . ')';
542
+ }
543
+ } else {
544
+ $skuProdReturn = $this->CallAPICurl("POST", $HOST . "/v2/products/" . $product->getData('id_anymarket') . "/skus", $headers, $paramSku);
545
 
546
+ if ($skuProdReturn['error'] == '0') {
547
+ $skuProdReturn['return'] = Mage::helper('db1_anymarket')->__('SKU Created') . ' (' . $skuPut['partnerId'] . ')';
548
+ }
549
  }
 
550
 
551
+ $this->saveLogsProds($storeID, "1", $skuProdReturn, $prodSimple);
552
+ }
553
  }
554
+ } else {
555
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
556
+ $anymarketlog->setLogDesc('Error on get Images Anymarket from sku.');
557
+ $anymarketlog->setLogJson($skusProd['json']);
558
+ $anymarketlog->setLogId($product->getSku());
559
+ $anymarketlog->setStatus("1");
560
+ $anymarketlog->setStores(array($storeID));
561
+ $anymarketlog->save();
562
  }
 
 
 
 
 
 
 
 
563
  }
564
  }
565
 
574
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
575
  $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
576
 
577
+ $headers = array(
578
  "Content-type: application/json",
579
  "Accept: */*",
580
  "gumgaToken: ".$TOKEN
608
  }else{
609
  return '';
610
  }
611
+
612
  }else{
613
  return $brand->getData('brd_id');
614
  }
615
  }
616
 
617
+
618
+ public function prepareForSendProduct($storeID, $product){
619
+ $typeSincProd = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_type_prod_sync_field', $storeID);
620
+ if( $typeSincProd != 0 ) {
621
+ return false;
622
+ }
623
+
624
+ if( $product->getData('integra_anymarket') != 1 ){
625
+ return false;
626
+ }
627
+
628
+ $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
629
+ $stockQty = $stock->getQty();
630
+ if($product->getTypeID() == "configurable"){
631
+ //PRODUTO CONFIGURAVEL
632
+ Mage::getModel('catalog/product_type_configurable')->getProduct($product)->unsetData('_cache_instance_products');
633
+ $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
634
+ if(count($childProducts) > 0){
635
+ Mage::getSingleton('core/session')->setImportProdsVariable('false');
636
+ foreach ($childProducts as $prodCh) {
637
+ $productChild = Mage::getModel('catalog/product')->setStoreId($storeID)->load($prodCh->getId());
638
+ if( $productChild->getData('integra_anymarket') != 1 ){
639
+ $productChild->setData('integra_anymarket', $product->getData('integra_anymarket') );
640
+ $productChild->save();
641
+ }
642
+ }
643
+ Mage::getSingleton('core/session')->setImportProdsVariable('true');
644
+
645
+ Mage::helper('db1_anymarket/product')->sendProductToAnyMarket($storeID, $product->getId());
646
+ }
647
+ }else{
648
+ $parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild( $product->getId() );
649
+
650
+ $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
651
+ $ean = Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_ean_field', $storeID);
652
+
653
+ if($filter == 'final_price'){
654
+ $stkPrice = $product->getFinalPrice();
655
+ }else{
656
+ $stkPrice = $product->getData($filter);
657
+ }
658
+
659
+ if($parentIds){
660
+ //PRODUTO SIMPLES FILHO DE UM CONFIG
661
+ $attributeOptions = array();
662
+ foreach ($parentIds as $parentId) {
663
+ $productConfig = Mage::getModel('catalog/product')->load($parentId);
664
+
665
+ if( $productConfig->getId() ) {
666
+ foreach ($productConfig->getTypeInstance()->getConfigurableAttributes() as $attribute) {
667
+ $value = $product->getAttributeText($attribute->getProductAttribute()->getAttributeCode());
668
+ $attributeOptions[$attribute->getLabel()] = $value;
669
+ }
670
+
671
+ foreach ($parentIds as $parentId) {
672
+ $arrSku = array(
673
+ "variations" => $attributeOptions,
674
+ "price" => $stkPrice,
675
+ "amount" => $stockQty,
676
+ "ean" => $product->getData($ean),
677
+ "partnerId" => $product->getSku(),
678
+ "title" => $product->getName(),
679
+ "idProduct" => $product->getData('id_anymarket'),
680
+ "internalIdProduct" => $product->getId(),
681
+ );
682
+
683
+ Mage::helper('db1_anymarket/product')->sendImageSkuToAnyMarket($storeID, $product, array($arrSku));
684
+ }
685
+ }else{
686
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
687
+ $anymarketlog->setLogDesc('Produto possui registro de um Parent, porem esse parent não existe no Magento');
688
+ $anymarketlog->setLogId($product->getSku());
689
+ $anymarketlog->setStatus("1");
690
+ $anymarketlog->setStores(array($storeID));
691
+ $anymarketlog->save();
692
+
693
+ //PRODUTO FILHO DE UM PAI QUE AGORA EH SIMPLES
694
+ Mage::helper('db1_anymarket/product')->sendProductToAnyMarket($storeID, $product->getId());
695
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product->getId(), $stockQty, $product->getData($filter));
696
+ }
697
+ }
698
+ }else{
699
+ //PRODUTO SIMPLES E OUTROS
700
+ Mage::helper('db1_anymarket/product')->sendProductToAnyMarket($storeID, $product->getId());
701
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product->getId(), $stockQty, $product->getData($filter));
702
+ }
703
+
704
+ }
705
+ }
706
+
707
  /**
708
  * send product to AnyMarket
709
  *
743
  if((string)(float)$varPriceFactor == $varPriceFactor) {
744
  $varPriceFactor = (float)$varPriceFactor;
745
  if($varPriceFactor > 99){
746
+ array_push($arrProd, Mage::helper('db1_anymarket')->__('AnyMarket Price Factor(Limit 99)'));
747
  }
748
  }else{
749
  array_push($arrProd, Mage::helper('db1_anymarket')->__('AnyMarket Price Factor(Only Number)') );
752
  // verifica Origin null ou em branco
753
  $originData = $this->procAttrConfig($nbm_origin, $product->getData( $nbm_origin ), 1);
754
  if($originData == null || $originData == ''){
755
+ array_push($arrProd, Mage::helper('db1_anymarket')->__('AnyMarket Origin') );
756
  }
757
 
758
  //trata para nao enviar novamente solicitacao quando o erro for o mesmo
759
  if( ($product->getData('id_anymarket') == '') || ($product->getData('id_anymarket') == '0') ){
760
  $prodErrorCtrl = Mage::getModel('db1_anymarket/anymarketproducts')->setStoreId($storeID)
761
+ ->load($product->getId(), 'nmp_id');
762
  if( $prodErrorCtrl->getData('nmp_id') != null ){
763
  $descError = $prodErrorCtrl->getData('nmp_desc_error');
764
 
765
  // Trata para nao ficar disparando em cima da Duplicadade de SKU
766
  $mesgDuplSku = strrpos($descError, "Duplicidade de SKU:");
767
  if ($mesgDuplSku !== false) {
768
+ $bindProds = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_bind_product_field', $storeID);
769
+ if( $bindProds == '0' ) {
770
+ $oldSkuErr = $this->getBetweenCaract($descError, '"', '"');
771
 
772
+ if ($oldSkuErr == $product->getSku()) {
773
+ array_push($arrProd, 'Duplicidade de SKU: ' . Mage::helper('db1_anymarket')->__('Already existing SKU in anymarket') . ' "' . $oldSkuErr . '".');
774
+ }
775
  }
776
  }
777
  }
804
  $Weight = "";
805
  if($product->getTypeID() == "configurable"){
806
  $confID = $product->getId();
807
+ if( $product->getData('integra_images_root_anymarket') == 1 ) {
808
+ //obtem as imagens do produto(Config)
809
+ $itemsIMG = Mage::helper('db1_anymarket/image')->getImagesOfProduct($storeID, $product, null);
810
+ }
811
  }else{
812
  // verifica se é um simples pertecente a um Configurable
813
  $parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild( $product->getId() );
814
+ $Weight = ($product->getTypeID() == "bundle" && $product->getPriceType() == 0 ) ? $this->getWeightOfBundle($storeID, $product) : $product->getWeight();
815
  if (isset($parentIds[0])) {
816
  $confID = $parentIds[0];
817
  $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load($confID);
818
  }
819
+
820
+ //obtem as imagens do produto(Simples)
821
+ $itemsIMG = Mage::helper('db1_anymarket/image')->getImagesOfProduct($storeID, $product, null);
822
  }
823
 
824
+ if( !$product->getId() ){
825
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
826
+ $anymarketlog->setLogDesc('Produto com ID '.$confID.' consta nos produtos relacionado, mas nao existe no Magento.');
827
+ $anymarketlog->setLogJson('');
828
+ $anymarketlog->setLogId($confID);
829
+ $anymarketlog->setStatus("1");
830
+ $anymarketlog->setStores(array($storeID));
831
+ $anymarketlog->save();
832
+
833
+ return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
834
  }
835
 
836
  //obtem os produtos configs - verifica se e configurable
837
  $ArrSimpleConfigProd = array();
838
  if($confID != ""){
839
  $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
840
+ $attributesConf = $product->getTypeInstance(true)->getConfigurableAttributesAsArray($product);
841
 
842
  foreach($childProducts as $child) {
843
+ $SimpleConfigProd = Mage::getModel('catalog/product')->setStoreId($storeID)->load($child->getId());
844
 
845
  if ($Weight == "") {
846
  $Weight = $SimpleConfigProd->getWeight();
871
  }
872
 
873
  //obtem as imagens do produto (Obtem os simples e relaciona as variacoes)
874
+ $itemsIMGSimple = Mage::helper('db1_anymarket/image')->getImagesOfProduct($storeID, $SimpleConfigProd, $ArrVariationValues);
875
+ if( isset($itemsIMG) && count($itemsIMG) > 0 ){
876
+ foreach ($itemsIMGSimple as $itemImg){
877
+ if( !in_array($itemImg, $itemsIMG) ){
878
+ array_push($itemsIMG, $itemImg);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
879
  }
880
  }
881
+ }else{
882
+ $itemsIMG = $itemsIMGSimple;
883
  }
884
 
885
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
915
  "idProduct" => $SimpleConfigProd->getData('id_anymarket'),
916
  "internalIdProduct" => $SimpleConfigProd->getId(),
917
  );
918
+ }
919
 
920
  }
921
 
927
 
928
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
929
 
930
+ if ($filter == 'final_price') {
931
  $stkPrice = $product->getFinalPrice();
932
+ } else {
933
  $stkPrice = $product->getData($filter);
934
  }
935
 
936
+ if($product->getTypeID() == "bundle" && $product->getPriceType() == 0 && $stkPrice == null) {
937
+ $priceModel = $product->getPriceModel();
938
+ $PricesBundle = $priceModel->getTotalPrices($product, null, true, false);
939
+ $stkPrice = reset($PricesBundle);
940
+ }
941
+
942
  $prodSkuJ = $product->getSku();
943
 
944
  // verificacao dos dados de price
947
  }
948
 
949
  // verificacao dos dados de SKU
950
+ $cValid = array('.', '-', '_');
951
+ if(!ctype_alnum(str_replace($cValid, '', $prodSkuJ))) {
952
  array_push($arrProd, 'SKU ('.$prodSkuJ.')');
953
  }
954
 
955
+ $ArrSimpleConfigProd[] = array(
956
+ "price" => $stkPrice,
957
+ "amount" => $stock->getQty(),
958
+ "ean" => $product->getData($ean),
959
+ "partnerId" => $prodSkuJ,
960
+ "title" => $product->getName(),
961
+ "idProduct" => $product->getData('id_anymarket'),
962
+ "internalIdProduct" => $product->getId(),
963
+ );
 
 
964
  }
965
 
966
+
967
  //cria os headers
968
+ $headers = array(
969
+ "Content-type: application/json",
970
  "Cache-Control: no-cache",
971
  "gumgaToken: ".$TOKEN
972
  );
983
  $attributeSetName = $attributeSetModel->getAttributeSetId();
984
 
985
  $attributes = Mage::getResourceModel('catalog/product_attribute_collection')
986
+ ->setAttributeSetFilter($attributeSetName)
987
+ ->getItems();
988
 
989
  $ArrAttributes = array();
990
  $contIndexAttr = 0;
991
  foreach ($attributes as $attribute){
992
  $attrCheck = Mage::getModel('db1_anymarket/anymarketattributes')->load($attribute->getAttributeId(), 'nma_id_attr');
993
  if($attrCheck->getData('nma_id_attr') != null){
994
+ if( ($attrCheck->getData('status') == 1) &&
995
+ ( $attribute->getAttributeCode() != $model ) &&
996
+ (!$this->checkArrayAttributes( $ArrAttributes, "description", $attribute->getFrontendLabel() ) )
997
+ ){
998
+ if($confID == ""){
999
+ $valAttr = $this->procAttrConfig($attribute->getAttributeCode(), $product->getData( $attribute->getAttributeCode() ), 1);
1000
+ if( $valAttr != null || $valAttr != '' ){
1001
+ $ArrAttributes[] = array("index" => $contIndexAttr, "name" => $attribute->getFrontendLabel(), "value" => $valAttr);
1002
+ $contIndexAttr = $contIndexAttr+1;
1003
+ }
1004
+ }else{
1005
+ foreach ($attributesConf as $attributeConf){
1006
+ if(!in_array($attribute->getAttributeCode(), $attributeConf)){
1007
+ if(!$this->checkArrayAttributes($ArrAttributes, "description", $attribute->getFrontendLabel())){
1008
+ $valAttr = $this->procAttrConfig($attribute->getAttributeCode(), $product->getData( $attribute->getAttributeCode() ), 1);
1009
+ if( $valAttr != null || $valAttr != '' ){
1010
+ $ArrAttributes[] = array("index" => $contIndexAttr, "name" => $attribute->getFrontendLabel(), "value" => $valAttr);
1011
+ $contIndexAttr = $contIndexAttr+1;
 
1012
  }
1013
  }
1014
  }
1015
  }
1016
  }
1017
+
1018
  }
1019
  }
1020
  }
1023
  $vHeight = $this->procAttrConfig($volume_altura, $product->getData( $volume_altura ), 1);
1024
  $vWidth = $this->procAttrConfig($volume_largura, $product->getData( $volume_largura ), 1);
1025
  $vLength = $this->procAttrConfig($volume_comprimento, $product->getData( $volume_comprimento ), 1);
1026
+ if( $product->getTypeID() == "bundle" ){
1027
+ if( ($vHeight == "") || ($vWidth == "") || ($vLength == "") ) {
1028
+ $arrDim = $this->getDimensionsOfBundle($storeID, $product, $volume_altura, $volume_largura, $volume_comprimento);
1029
+
1030
+ $vHeight = $arrDim['height'];
1031
+ $vWidth = $arrDim['width'];
1032
+ $vLength = $arrDim['length'];
1033
+ }
1034
+ }
1035
 
1036
  //Cria os params
1037
  $param = array(
1058
  "height" => $this->convertUnitMeasurement($UnitMeasurement, $vHeight, 1),
1059
  "width" => $this->convertUnitMeasurement($UnitMeasurement, $vWidth, 1),
1060
  "length" => $this->convertUnitMeasurement($UnitMeasurement, $vLength, 1),
1061
+ "images" => $this->unique_multidim_array($itemsIMG, 'url'),
1062
  "priceFactor" => $varPriceFactor,
1063
  "calculatedPrice" => $product->getData( $calculated_price ) == 0 ? false : true,
1064
  // OBTER ATRIBUTOS CUSTOM
1123
  $returnProd['error'] = '0';
1124
  $returnProd['return'] = Mage::helper('db1_anymarket')->__('Successfully synchronized product.');
1125
  $this->saveLogsProds($storeID, "1", $returnProd, $product);
1126
+
1127
+ $this->saveCallbackReceiver( $product->getSku() );
1128
  }else{
1129
  $returnProd['error'] = '1';
1130
  $returnProd['return'] = Mage::helper('db1_anymarket')->__('Error synchronizing, code anymarket invalid.');
1132
  }
1133
 
1134
  }else{
1135
+ if (strpos($returnProd['return'], 'Duplicidade de SKU: O SKU informado') === false) {
1136
+ $this->saveLogsProds($storeID, "1", $returnProd, $product);
1137
+ }else{
1138
+ $bindProds = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_bind_product_field', $storeID);
1139
+ if( $bindProds == '1' ) {
1140
+
1141
+ if($product->getTypeID() == "configurable") {
1142
+ //RELACIONA OS FILHOS
1143
+ $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
1144
+
1145
+ $idProdCh = null;
1146
+ foreach ($childProducts as $child){
1147
+ $currentProdDup = $this->getProductBySKUInAnymarket($child->getSku(), $HOST, $headers);
1148
+
1149
+ if ( isset($currentProdDup['id']) ) {
1150
+ $currentProdDup['error'] = '0';
1151
+ $idProdCh = $currentProdDup["id"];
1152
+
1153
+ $productC = Mage::getModel('catalog/product')->setStoreId($storeID)->load($child->getId());
1154
+
1155
+ if ($productC->getIntegraAnymarket() != '1') {
1156
+ $productC->setIntegraAnymarket('1');
1157
+ }
1158
+
1159
+ $productC->setIdAnymarket($idProdCh);
1160
+ $productC->save();
1161
+
1162
+ $currentProdDup['return'] = Mage::helper('db1_anymarket')->__('SKU Related :') . $productC->getSku() . " - " . $idProdCh;
1163
+ $this->saveLogsProds($storeID, "1", $currentProdDup, $product);
1164
+ }else{
1165
+ $currentProdDup['error'] = '1';
1166
+ $currentProdDup['return'] = Mage::helper('db1_anymarket')->__('SKU to bond not found :').$child->getSku();
1167
+ $this->saveLogsProds($storeID, "1", $currentProdDup, $product);
1168
+ }
1169
+ }
1170
+
1171
+ if($idProdCh != null) {
1172
+ $productForSave = Mage::getModel('catalog/product')->setStoreId($storeID)->load($product->getId());
1173
+ $productForSave->setIdAnymarket($idProdCh);
1174
+ $productForSave->save();
1175
+
1176
+ $currentProdDup['error'] = '0';
1177
+ $currentProdDup['return'] = Mage::helper('db1_anymarket')->__('SKU Related :') . $productForSave->getSku() . " - " . $idProdCh;
1178
+ $this->saveLogsProds($storeID, "1", $currentProdDup, $productForSave);
1179
+
1180
+ //$this->sendProductToAnyMarket($storeID, $productForSave->getId());
1181
+ }
1182
+ }else{
1183
+ $currentProdDup = $this->getProductBySKUInAnymarket($product->getSku(), $HOST, $headers);
1184
+ if ( isset($currentProdDup['id']) ) {
1185
+ $returnProd['error'] = '0';
1186
+
1187
+ $productForSave = Mage::getModel('catalog/product')->setStoreId($storeID)->load($product->getId());
1188
+ $productForSave->setIdAnymarket( $currentProdDup["id"] );
1189
+ $productForSave->save();
1190
+
1191
+ $returnProd['return'] = Mage::helper('db1_anymarket')->__('SKU Related :') . $productForSave->getSku() . " - " . $currentProdDup["id"];
1192
+ $this->saveLogsProds($storeID, "1", $returnProd, $productForSave);
1193
+
1194
+ //$this->sendProductToAnyMarket($storeID, $productForSave->getId());
1195
+ } else {
1196
+ $currentProdDup['error'] = '1';
1197
+ $currentProdDup['return'] = Mage::helper('db1_anymarket')->__('SKU to bond not found :').$product->getSku();
1198
+ $this->saveLogsProds($storeID, "1", $currentProdDup, $product);
1199
+ }
1200
+ }
1201
+
1202
+ }else{
1203
+ $this->saveLogsProds($storeID, "1", $returnProd, $product);
1204
+ }
1205
+ }
1206
  }
1207
 
1208
  }else{
1209
  $returnProd = $this->CallAPICurl("PUT", $HOST."/v2/products/".$product->getData('id_anymarket'), $headers, $param);
1210
  if($returnProd['error'] == '0'){
1211
  $returnProd['return'] = Mage::helper('db1_anymarket')->__('Product Updated');
1212
+
1213
+ $this->saveCallbackReceiver( $product->getSku() );
1214
  }
1215
 
1216
  //ADICIONA UM NOVO SKU
1219
  if($skuProdReturn['error'] == '0'){
1220
  $skuProdReturn['return'] = Mage::helper('db1_anymarket')->__('SKU Created').' ('.$skuPut['partnerId'].')';
1221
  $this->saveLogsProds($storeID, "1", $skuProdReturn, $product);
1222
+
1223
+ $this->saveCallbackReceiver( $product->getSku() );
1224
  }else{
1225
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
1226
  $productSku = Mage::getModel('catalog/product')->setStoreId($storeID)->loadByAttribute('sku', $skuPut['partnerId'] );
1227
+ if ($productSku->getData() != null && $productSku->getId() != null && $productSku != null) {
1228
+ $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($productSku);
1229
+ $this->updatePriceStockAnyMarket($storeID, $productSku->getId(), $stock->getQty(), $productSku->getData($filter));
 
 
 
 
1230
  }
1231
  }
1232
  }
1233
 
1234
  $this->sendImageSkuToAnyMarket($storeID, $product, $param['skus']);
 
1235
  $this->saveLogsProds($storeID, "1", $returnProd, $product);
1236
  }
1237
  return true;
1283
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
1284
  $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
1285
 
1286
+ $headers = array(
1287
  "Content-type: application/json",
1288
  "Accept: */*",
1289
  "gumgaToken: ".$TOKEN
1332
  $ProdsJSON = $returnProdSpecific['return'];
1333
 
1334
  foreach ($ProdsJSON->skus as $sku) {
 
 
 
1335
  $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1336
  $stockItem->setData('is_in_stock', $sku->amount > 0 ? '1' : '0');
1337
  $stockItem->setData('qty', $sku->amount);
1344
  $anymarketlog->setStores(array($storeID));
1345
  $anymarketlog->save();
1346
 
1347
+ $anymarketproducts = Mage::getModel('db1_anymarket/anymarketproducts')->setStoreId($storeID)->load($product->getIdAnymarket(), 'nmp_id');
1348
  if ($anymarketproducts->getNmpId() == null) {
1349
+ $anymarketproducts = Mage::getModel('db1_anymarket/anymarketproducts')->setStoreId($storeID)->load($product->getId(), 'nmp_id');
1350
  }
1351
 
1352
  $anymarketproducts->setNmpId($product->getId());
1388
  $transmissionToken = $transmissionIDs->token;
1389
 
1390
  $transmissionReturn = $this->CallAPICurl("GET", $HOST."/v2/transmissions/".$transmissionID, $headers, null);
 
1391
  $prodRet = "";
1392
  $typeSincProd = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_type_prod_sync_field', $storeID);
1393
  if($typeSincProd == 1) {
1394
  if ($transmissionReturn['error'] == '1') {
1395
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1396
+ $anymarketlog->setLogDesc(Mage::helper('db1_anymarket')->__('Error on get transmissions '));
1397
  $anymarketlog->setStatus("0");
1398
  $anymarketlog->save();
1399
  } else {
1400
  $transmission = $transmissionReturn['return'];
1401
  $statusTransmission = $transmission->publicationStatus;
1402
  $IDProdTrans = $transmission->product->id;
 
1403
  if ($statusTransmission == 'ACTIVE') {
1404
  $arrVarSku = array();
1405
  if (isset($transmission->sku->variations)) {
1442
  $arrAttr = array();
1443
  if (isset($transmission->characteristics)) {
1444
  foreach ($transmission->characteristics as $carac) {
1445
+ $attrMG = Mage::getModel('eav/entity_attribute')->getCollection()
1446
+ ->addFieldToFilter('frontend_label', $carac->name);
1447
+
1448
+ if ($attrMG->getSize() > 0) {
1449
+ array_push($arrAttr, array(
1450
+ "name" => $attrMG->getFirstItem()->getData('attribute_code'),
1451
+ "value" => $carac->value
1452
+ ));
1453
+ }
1454
  }
1455
  }
1456
 
1459
  "title" => $transmission->product->title,
1460
  "idTransmission" => $transmissionIDs->id,
1461
  "description" => isset($transmission->description) ? $transmission->description : null,
1462
+ "brand" => isset($transmission->brand->name) ? $transmission->brand->name : null,
1463
  "model" => isset($transmission->model) ? $transmission->model : null,
1464
  "videoURL" => isset($transmission->videoUrl) ? $transmission->videoUrl : null,
1465
  "warrantyTime" => isset($transmission->warrantyTime) ? $transmission->warrantyTime : null,
1573
  }
1574
  $stockItem->save();
1575
  }
 
1576
 
1577
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1578
  $anymarketlog->setLogDesc( "Stock Updated" );
1593
  }
1594
  }else{
1595
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1596
+ $anymarketlog->setLogDesc( "Error on Update Stock from transmission" );
1597
  $anymarketlog->setStatus("0");
1598
  $anymarketlog->setStores(array($storeID));
1599
  $anymarketlog->save();
1600
 
1601
+ $prodRet = "Error on Update Stock";
1602
  }
1603
  }
1604
  }
1618
  $prodRet = 'Product Created or updated.';
1619
  }
1620
  }
1621
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1622
+ $anymarketlog->setLogDesc($prodRet);
1623
+ $anymarketlog->setStatus("1");
1624
+ $anymarketlog->setStores(array($storeID));
1625
+ $anymarketlog->save();
1626
 
1627
  return $prodRet;
1628
  }
1629
 
1630
+ private function prepareToSaveSimpleProductConfigurable($storeID, $ProdsJSON, $sku, $variationArray){
1631
+ $imagesGallery = array();
1632
+ $AttributeIds = array();
1633
+ $objVariations = array();
1634
+ foreach ($sku->variations as $varValues) {
1635
+ $descVar = $varValues->description;
1636
+ $idVar = $varValues->variationTypeId;
1637
+
1638
+ $AttributeId = Mage::getModel('eav/entity_attribute')->getIdByCode('catalog_product', $variationArray[ $idVar ] );
1639
+ if (!in_array($AttributeId, $AttributeIds)) {
1640
+ $AttributeIds[] = $AttributeId;
1641
+ $collectionAttr = Mage::getResourceModel('eav/entity_attribute_option_collection')
1642
+ ->setPositionOrder('asc')
1643
+ ->setAttributeFilter($AttributeId)
1644
+ ->setStoreFilter(0)
1645
+ ->load();
1646
+
1647
+ $AttributeOptions[$idVar] = $collectionAttr->toOptionArray();
1648
+
1649
+ }
1650
+
1651
+ $varAttr = '';
1652
+ $descVarAttr = '';
1653
+ foreach ( $AttributeOptions[$idVar] as $attrOpt) {
1654
+ if($attrOpt['label'] == $descVar ){
1655
+ $varAttr = $attrOpt['value'];
1656
+ $descVarAttr = $attrOpt['label'];
1657
+ break;
1658
+ }
1659
+ }
1660
+
1661
+ if($varAttr != ''){
1662
+ foreach ($ProdsJSON->photos as $image) {
1663
+ if( $image->variationValue != null ){
1664
+ if( $image->variationValue == $descVarAttr ){
1665
+ $imagesGallery[] = array('img' => $image->standard_resolution, 'main' => $image->main);
1666
+ }
1667
+ }
1668
+ }
1669
+
1670
+ $objVariations[ $variationArray[ $idVar ] ] = $varAttr;
1671
+ }else{
1672
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1673
+ $anymarketlog->setLogDesc( 'Opção de variação sem correspondente no magento ('.$varValues->variationTypeName.') - '.$descVar );
1674
+ $anymarketlog->setStatus("0");
1675
+ $anymarketlog->setStores(array($storeID));
1676
+ $anymarketlog->save();
1677
+
1678
+ return null;
1679
+ }
1680
+
1681
+
1682
+ }
1683
+
1684
+ return array( "idsVariations" => $AttributeIds,
1685
+ "variations" => $objVariations,
1686
+ "images" => $imagesGallery
1687
+ );
1688
+ }
1689
+
1690
 
1691
  /**
1692
  * @param $ProdsJSON
1735
  if ( !empty( $ProdsJSON->variations ) ) {
1736
  $prodSimpleFromConfig = array();
1737
  $AttributeIds = array();
 
1738
 
1739
  $variationArray = array();
1740
  $sinc = '';
1741
  foreach ($ProdsJSON->variations as $variation) {
1742
+ $AttrCtlr = Mage::getModel('eav/entity_attribute')->getCollection()
1743
+ ->addFieldToFilter('frontend_label', $variation->name);
1744
+ $attrConfig = $AttrCtlr->getFirstItem();
1745
+
1746
+ if(!$attrConfig->getData()){
1747
  $sinc = $variation->name;
1748
  break;
1749
  }
1750
+ $variationArray[$variation->id] = $attrConfig->getData('attribute_code');
1751
  }
1752
 
1753
  if($sinc == ''){
1757
  $product = Mage::getModel('catalog/product')->setStoreId($storeID)->loadByAttribute('sku', $IDSKUProd);
1758
 
1759
  foreach ($sku->variations as $varValues) {
 
1760
  $idVar = $varValues->variationTypeId;
1761
  }
1762
 
1763
  //trata as dimensoes
1764
+ $vHeight = $this->procAttrConfig($volume_altura, $ProdsJSON->height, 0);
1765
+ $vWidth = $this->procAttrConfig($volume_largura, $ProdsJSON->width, 0);
1766
  $vLength = $this->procAttrConfig($volume_comprimento, $ProdsJSON->length, 0);
1767
 
1768
  if(!$product){
1769
+ $preparedProduct = $this->prepareToSaveSimpleProductConfigurable($storeID, $ProdsJSON, $sku, $variationArray);
1770
+ if( $preparedProduct == null ) {
1771
+ return false;
 
 
 
 
 
 
 
 
1772
  }
1773
 
1774
+ $AttributeIds = $preparedProduct['idsVariations'];
1775
+ $dataPrd = array(
1776
+ 'attribute_set_id' => $AttrSet == null ? Mage::getModel('catalog/product')->getDefaultAttributeSetId() : $AttrSet,
1777
+ 'type_id' => 'simple',
1778
+ 'sku' => $IDSKUProd,
1779
+ 'name' => $sku->title,
1780
+ 'description' => $sku->title,
1781
+ 'short_description' => $sku->title,
1782
+ $priceField => $sku->price,
1783
+ 'created_at' => strtotime('now'),
1784
+ 'updated_at' => strtotime('now'),
1785
+ 'id_anymarket' => $sku->idProduct,
1786
+ 'weight' => $MassUnit == 1 ? $ProdsJSON->weight * 1000 : $ProdsJSON->weight,
1787
+ 'store_id' => $storeID,
1788
+ 'website_ids' => array($websiteID),
1789
+ $brand => $this->procAttrConfig($brand, $ProdsJSON->brand, 0),
1790
+ $model => $this->procAttrConfig($model, $ProdsJSON->model, 0),
1791
+ $video_url => $this->procAttrConfig($video_url, $ProdsJSON->videoURL, 0),
1792
+
1793
+ $volume_comprimento => $this->convertUnitMeasurement($UnitMeasurement, $vLength, 0),
1794
+ $volume_altura => $this->convertUnitMeasurement($UnitMeasurement, $vHeight, 0),
1795
+ $volume_largura => $this->convertUnitMeasurement($UnitMeasurement, $vWidth, 0),
1796
+
1797
+ $warranty_time => $this->procAttrConfig($warranty_time, $ProdsJSON->warrantyTime, 0),
1798
+ $nbm => $this->procAttrConfig($nbm, $ProdsJSON->nbm, 0),
1799
+ $nbm_origin => $this->procAttrConfig($nbm_origin, $ProdsJSON->originCode, 0),
1800
+ $ean => $this->procAttrConfig($ean, $sku->ean, 0),
1801
+ $warranty_text => $this->procAttrConfig($warranty_text, $ProdsJSON->warranty, 0),
1802
+ 'msrp_enabled' => '2',
1803
+ 'categoria_anymarket' => $ProdsJSON->category
1804
+ );
1805
 
1806
+ //adiciona no produto as variacoes
1807
+ foreach ($preparedProduct['variations'] as $varKey => $varObg) {
1808
+ $dataPrd[$varKey] = $varObg;
 
 
 
 
1809
  }
1810
 
1811
+ foreach ($ProdsJSON->attributes as $attrProd) {
1812
+ $dataPrd[strtolower($attrProd->name)] = $this->procAttrConfig(strtolower($attrProd->name), $attrProd->value, 0);
1813
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1814
 
1815
+ $dataPrdSimple = array(
1816
+ 'product' => $dataPrd,
1817
+ 'stock_item' => array(
1818
+ 'is_in_stock' => $sku->stockAmount > 0 ? '1' : '0',
1819
+ 'qty' => $sku->stockAmount,
1820
+ ),
1821
+ 'images' => $preparedProduct['images'],
1822
+ );
1823
 
1824
+ $ProdReturn = $this->create_simple_product($storeID, $dataPrdSimple);
1825
+ $ProdCrt = $ProdReturn->getEntityId();
1826
 
1827
+ $product = Mage::getModel('catalog/product')->load($ProdCrt);
 
 
 
 
 
 
 
1828
  }else{
1829
+ $product->setUrlKey(false);
1830
+
1831
  //Atualiza Imagens
1832
  $this->update_image_product($product, $ProdsJSON, $IDSKUProd);
1833
 
1844
  $product->setData('weight', $MassUnit == 1 ? $ProdsJSON->weight*1000 : $ProdsJSON->weight);
1845
 
1846
  $product->setData($priceField, $sku->price);
1847
+ $product->setData($brand, $this->procAttrConfig($brand, $ProdsJSON->brand, 0));
1848
  $product->setData($model, $this->procAttrConfig($model, $ProdsJSON->model, 0));
1849
  $product->setData($video_url, $this->procAttrConfig($video_url, $ProdsJSON->videoURL, 0));
1850
 
1893
  }
1894
 
1895
  $collectionConfigurable = Mage::getResourceModel('catalog/product_collection')
1896
+ ->addAttributeToFilter('type_id', array('eq' => 'configurable'));
1897
 
1898
  $prod = null;
1899
  foreach ($collectionConfigurable as $prodConfig) {
1900
+ $prodTmp = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $prodConfig->getId() );
1901
+ if( $prodTmp->getData('id_anymarket') == $ProdsJSON->id ){
1902
+ $prod = $prodTmp;
1903
  break;
1904
  }
1905
 
1944
  $dataProdConfig[$fieldConfig] = $ProdsJSON->description;
1945
  }
1946
 
1947
+ $this->update_configurable_product($storeID, $prod->getId(), $dataProdConfig, $prodSimpleFromConfig);
1948
  }
1949
  }else{
1950
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
1953
  $anymarketlog->setStores(array($storeID));
1954
  $anymarketlog->save();
1955
  }
1956
+ // PROD SIMPLES
1957
  }else{
1958
  foreach ($ProdsJSON->skus as $ProdJSON) {
1959
  $skuProd = $ProdJSON;
1981
  'type_id' => 'simple',
1982
  'sku' => $IDSkuJsonProd,
1983
  'name' => $skuProd->title,
1984
+ $priceField => $skuProd->price,
1985
  'created_at' => strtotime('now'),
1986
  'updated_at' => strtotime('now'),
1987
  'id_anymarket' => $ProdsJSON->id,
1988
  'weight' => $MassUnit == 1 ? $ProdsJSON->weight*1000 : $ProdsJSON->weight,
1989
  'store_id' => $storeID,
1990
  'website_ids' => array($websiteID),
1991
+ $brand => $this->procAttrConfig($brand, $ProdsJSON->brand, 0),
1992
  $nbm => $this->procAttrConfig($nbm, $ProdsJSON->nbm, 0),
1993
  $model => $this->procAttrConfig($model, $ProdsJSON->model, 0),
1994
  $video_url => $this->procAttrConfig($video_url, $ProdsJSON->videoURL, 0),
2025
 
2026
  $ProdCrt = $this->create_simple_product($storeID, $data);
2027
  }else{
2028
+ $product->setUrlKey(false);
2029
+
2030
  //Atualiza Imagens
2031
  $this->update_image_product($product, $ProdsJSON, $IDSkuJsonProd);
2032
 
2039
  $product->setStoreId($storeID);
2040
  $product->setName( $skuProd->title );
2041
 
 
 
 
2042
  foreach ($configureFieldsConfig as $fieldConfig) {
2043
  $product->setData($fieldConfig, $ProdsJSON->description);
2044
  }
2045
 
2046
  $product->setData('weight', $MassUnit == 1 ? $ProdsJSON->weight*1000 : $ProdsJSON->weight);
2047
 
2048
+ $product->setData($brand, $this->procAttrConfig($brand, $ProdsJSON->brand, 0));
2049
  $product->setData($model, $this->procAttrConfig($model, $ProdsJSON->model, 0));
2050
  $product->setData($video_url, $this->procAttrConfig($video_url, $ProdsJSON->videoURL, 0));
2051
 
2086
  return $ProdCrt;
2087
  }
2088
 
2089
+ public function listAllProds($storeID){
2090
  try {
2091
  $typeSincProd = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_type_prod_sync_field', $storeID);
2092
  if($typeSincProd == 0){
2093
  $products = $products = Mage::getModel('catalog/product')
2094
+ ->getCollection()
2095
+ ->addAttributeToSelect('name');
2096
  $cont = 0;
2097
  foreach($products as $product) {
2098
  $parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild( $product->getId() );
2113
  $sku = $product->getSku();
2114
  $IDProd = $product->getId();
2115
 
2116
+ $anymarketproducts = Mage::getModel('db1_anymarket/anymarketproducts')->setStoreId($storeID)->load($IDProd ,'nmp_id');
2117
  $anymarketproducts->setNmpId( $IDProd );
2118
  $anymarketproducts->setNmpSku( $sku );
2119
  $anymarketproducts->setNmpName( $name );
2154
  }
2155
  }
2156
 
2157
+ public function getDetailsOfBundle($product){
2158
+ $selectionCollection = $product->getTypeInstance(true)->getSelectionsCollection(
2159
+ $product->getTypeInstance(true)->getOptionsIds($product), $product
2160
+ );
2161
+
2162
+ $bundled_items = array();
2163
+ foreach($selectionCollection as $option)
2164
+ {
2165
+ $bundled_items[] = $option->getData();
2166
+ }
2167
+
2168
+ return $bundled_items;
2169
+ }
2170
+
2171
+ public function getWeightOfBundle($storeID, $product){
2172
+ $selectionCollection = $product->getTypeInstance(true)->getSelectionsCollection(
2173
+ $product->getTypeInstance(true)->getOptionsIds($product), $product
2174
+ );
2175
+
2176
+ $WeightTotal = 0;
2177
+ foreach($selectionCollection as $option)
2178
+ {
2179
+ $prodOfBundle = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $option->getId() );
2180
+ $WeightTotal += $option->getData('selection_qty')*$prodOfBundle->getWeight();
2181
+ }
2182
+
2183
+ return $WeightTotal;
2184
+ }
2185
+
2186
+ public function getDimensionsOfBundle($storeID, $product, $volume_altura, $volume_largura, $volume_comprimento){
2187
+ $selectionCollection = $product->getTypeInstance(true)->getSelectionsCollection(
2188
+ $product->getTypeInstance(true)->getOptionsIds($product), $product
2189
+ );
2190
+
2191
+ $height = 0;
2192
+ $width = 0;
2193
+ $length = 0;
2194
+ foreach($selectionCollection as $option)
2195
+ {
2196
+ $prodOfBundle = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $option->getId() );
2197
+ if( $prodOfBundle->getData( $volume_comprimento ) > $length ){
2198
+ $length = $prodOfBundle->getData( $volume_comprimento );
2199
+ }
2200
+
2201
+ if( $prodOfBundle->getData( $volume_largura ) > $width ){
2202
+ $width = $prodOfBundle->getData( $volume_largura );
2203
+ }
2204
+
2205
+ $height += $prodOfBundle->getData( $volume_altura );
2206
+ }
2207
+
2208
+ return array( "length" => $length, "width" => $width, "height" => $height );
2209
+ }
2210
+
2211
+ public function getStockPriceOfBundle($product){
2212
+ $selectionCollection = $product->getTypeInstance(true)->getSelectionsCollection(
2213
+ $product->getTypeInstance(true)->getOptionsIds($product), $product
2214
+ );
2215
+
2216
+ $stockAt = null;
2217
+ $priceBundleProd = $product->getData('price');
2218
+ $priceTot = 0;
2219
+ $outStock = false;
2220
+ foreach($selectionCollection as $child){
2221
+ //GET STOCK
2222
+ $requiredStock = $child->getData('selection_qty');
2223
+ $realStock = $child->getStockItem()->getData('qty');
2224
+
2225
+ if( $realStock > $requiredStock) {
2226
+ $tmpStock = (int)($realStock / $requiredStock);
2227
+ if ($stockAt != null) {
2228
+ if ($tmpStock < $stockAt) {
2229
+ $stockAt = $tmpStock;
2230
+ }
2231
+ } else {
2232
+ $stockAt = $tmpStock;
2233
+ }
2234
+ }else{
2235
+ $outStock = true;
2236
+ }
2237
+
2238
+ //GET PRICE
2239
+ $priceType = $child->getData('selection_price_type');
2240
+ $priceValue = $child->getData('selection_price_value');
2241
+
2242
+ if($priceValue > 0) {
2243
+ //fixed
2244
+ if ($priceType == '0') {
2245
+ $priceItem = ($requiredStock * $priceValue);
2246
+ } else {
2247
+ $priceValue = ($priceValue / 100) * $priceBundleProd;
2248
+ $priceItem = ($requiredStock * $priceValue);
2249
+ }
2250
+ $priceTot += $priceItem;
2251
+ }
2252
+
2253
+ }
2254
+ $retArray = array(
2255
+ "price" => $priceTot + $priceBundleProd,
2256
+ "stock" => $stockAt == null || $outStock ? 0 : $stockAt
2257
+ );
2258
+
2259
+ return $retArray;
2260
+ }
2261
+
2262
+ /**
2263
+ * @param $idProd
2264
+ * @return array
2265
+ */
2266
+ private function findBundledProductsWithThisChildProduct($idProd)
2267
+ {
2268
+ $bundles = array();
2269
+ $products = Mage::getModel('catalog/product')
2270
+ ->getCollection()
2271
+ ->addFieldToFilter('type_id','bundle');
2272
+
2273
+ foreach($products as $product){
2274
+ $children_ids_by_option = $product
2275
+ ->getTypeInstance($product)
2276
+ ->getChildrenIds($product->getId(),false);
2277
+
2278
+ $ids = array();
2279
+ foreach($children_ids_by_option as $array){
2280
+ $ids = array_merge($ids, $array);
2281
+ }
2282
+
2283
+ if(in_array($idProd, $ids)){
2284
+ $bundles[] = $product;
2285
+ }
2286
+ }
2287
+
2288
+ return $bundles;
2289
+ }
2290
+
2291
  /**
2292
  * @param $IDProd
2293
  * @param $QtdStock
2296
  public function updatePriceStockAnyMarket($storeID, $IDProd, $QtdStock, $Price){
2297
  $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $IDProd );
2298
  if($product->getTypeID() != "configurable"){
2299
+ if( $product->getData('integra_anymarket') == 1 ){
2300
+ $anymarketproductsUpdt = Mage::getModel('db1_anymarket/anymarketproducts')->setStoreId($storeID)->load($product->getId(), 'nmp_id');
2301
  if( ($anymarketproductsUpdt->getData('nmp_status_int') != 'Não integrado (Magento)') ){
2302
+ if($product->getData('id_anymarket') != ""){
2303
+ $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
2304
+ $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
2305
+ $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
2306
+
2307
+ $headers = array(
2308
+ "Content-type: application/json",
2309
+ "Accept: */*",
2310
+ "gumgaToken: ".$TOKEN
2311
+ );
2312
+
2313
+ //TRATAMENTO PARA BUNDLE
2314
+ $bundles = $this->findBundledProductsWithThisChildProduct($IDProd);
2315
+ foreach($bundles as $prodBund) {
2316
+ $this->updatePriceStockAnyMarket($storeID, $prodBund->getId(), null, null);
2317
  }
 
2318
 
2319
+ $typeSincProd = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_type_prod_sync_field', $storeID);
2320
+ $typeSincOrder = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_type_order_sync_field', $storeID);
 
 
2321
 
2322
+ if($product->getTypeID() == "bundle") {
2323
+ $stockPriceBundle = $this->getStockPriceOfBundle($product);
2324
+ //OBTEM O STOCK DO ITEM BUNDLE
2325
+ if( $typeSincOrder == 0 ){
2326
+ $QtdStock = null;
2327
+ }else{
2328
+ $QtdStock = $stockPriceBundle["stock"];
2329
+ }
2330
 
 
2331
  if( $typeSincProd == 0 ){
2332
+ $Price = $stockPriceBundle["price"];
2333
+ }else{
2334
+ $Price = null;
2335
+ }
2336
+
2337
+ if($product->getPriceType() == 0 && $Price == null ) {
2338
+ $priceModel = $product->getPriceModel();
2339
+ $PricesBundle = $priceModel->getTotalPrices($product, null, true, false);
2340
+ $Price = reset($PricesBundle);
2341
+ }
2342
+
2343
+ }else{
2344
+ if( $typeSincProd == 0 ){
2345
  if($filter == 'final_price'){
2346
  $Price = $product->getFinalPrice();
2347
  }else{
2351
  $Price = null;
2352
  }
2353
 
 
2354
  if( $typeSincOrder == 0 ){
2355
  $QtdStock = null;
2356
  }elseif( !is_numeric ( $QtdStock ) ){
2357
  $QtdStock = null;
2358
  }
2359
+ }
2360
 
2361
+ if( ($QtdStock != null) || ($Price != null) ){
2362
+ $params = array(
2363
+ "partnerId" => $product->getSku(),
2364
+ "quantity" => $QtdStock,
2365
+ "cost" => $Price
2366
+ );
2367
 
2368
+ $returnProd = $this->CallAPICurl("PUT", $HOST."/v2/stocks", $headers, array($params));
2369
+ if($returnProd['return'] == ''){
2370
+ $returnProd['return'] = Mage::helper('db1_anymarket')->__('Update Stock and Price');
2371
+ $returnProd['error'] = '0';
2372
+ $returnProd['json'] = json_encode($params);
2373
+ }
2374
 
2375
+ if( $returnProd['error'] == '1' ){
2376
+ $this->saveLogsProds($storeID, "0", $returnProd, $product);
2377
+ }else{
2378
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
2379
+ $anymarketlog->setLogDesc( Mage::helper('db1_anymarket')->__('Update stock and price.') );
2380
+ $anymarketlog->setStatus("0");
2381
+ $anymarketlog->setLogId( $product->getId() );
2382
+ $anymarketlog->setLogJson( json_encode($params) );
2383
+ $anymarketlog->setStores(array($storeID));
2384
+ $anymarketlog->save();
 
2385
  }
2386
+ }
2387
 
2388
+ }
2389
+ }
2390
+ }else{
2391
+ $bundleModel = Mage::getResourceSingleton('bundle/selection');
2392
+ if($bundleModel) {
2393
+ $bundleIds = $bundleModel->getParentIdsByChild($IDProd);
2394
+ if ($bundleIds) {
2395
+ foreach ($bundleIds as $bundle) {
2396
+ $ProdStock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($bundle);
2397
+ $this->updatePriceStockAnyMarket($storeID, $bundle, $ProdStock->getQty(), null);
2398
  }
2399
  }
2400
  }
2401
  }
2402
  }else{
 
 
2403
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
2404
+ $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
2405
  foreach($childProducts as $child) {
2406
  $this->updatePriceStockAnyMarket($storeID, $child->getId(), $child->getStockItem()->getQty(), $child->getData($filter));
2407
  }
2408
+
2409
  }
2410
 
2411
 
app/code/community/DB1/AnyMarket/Helper/Productgenerator.php CHANGED
@@ -7,7 +7,7 @@ class DB1_AnyMarket_Helper_ProductGenerator extends DB1_AnyMarket_Helper_Data
7
  'attribute_set_id' => '4',
8
  'type_id' => 'simple',
9
  'sku' => '0124ASF3',
10
- 'has_options' => '0',
11
  'required_options' => '0',
12
  'created_at' => '',
13
  'updated_at' => '',
@@ -18,8 +18,8 @@ class DB1_AnyMarket_Helper_ProductGenerator extends DB1_AnyMarket_Helper_Data
18
  'volume_largura' => null,
19
  'warranty_time' => null,
20
  'id_anymarket' => null,
21
- 'tax_class_id' => '0',
22
- 'is_recurring' => '0',
23
  'weight' => '1.0000',
24
  'price' => '0',
25
  'cost' => '0',
@@ -134,7 +134,7 @@ class DB1_AnyMarket_Helper_ProductGenerator extends DB1_AnyMarket_Helper_Data
134
  $imgName = str_replace('.'.$image_type, "", $imgName);
135
  $filename = md5($imgName . $sku).'.'.$image_type;
136
 
137
- $dirPath = Mage::getBaseDir('media') . DS . 'import';
138
  if (!file_exists($dirPath)) {
139
  mkdir($dirPath, 0777, true);
140
  }
@@ -169,6 +169,27 @@ class DB1_AnyMarket_Helper_ProductGenerator extends DB1_AnyMarket_Helper_Data
169
 
170
  }
171
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  /**
173
  * create configurable product in MG
174
  *
@@ -180,17 +201,16 @@ class DB1_AnyMarket_Helper_ProductGenerator extends DB1_AnyMarket_Helper_Data
180
  public function createConfigurableProduct($storeID, $dataProdConfig = array() , $simpleProducts = array(), $AttributeIds = array()){
181
  $confProduct = Mage::getModel('catalog/product')->setSku($dataProdConfig['sku']);
182
  $confProduct->setTypeId('configurable');
183
-
184
  $confProduct->getTypeInstance()->setUsedProductAttributeIds($AttributeIds);
185
 
186
  $configurableProductsData = array();
187
- $configurableAttributesData = $confProduct->getTypeInstance()->getConfigurableAttributesAsArray();
188
-
189
  foreach ($simpleProducts as $simpleProduct) {
190
  $sProd = Mage::getModel('catalog/product')->load( $simpleProduct['Id'] );
191
 
192
  $AttributeId = Mage::getModel('eav/entity_attribute')->getIdByCode('catalog_product', $simpleProduct['AttributeText'] );
193
-
194
  $simpleProductsData = array(
195
  'label' => $sProd->getAttributeText( $simpleProduct['AttributeText'] ),
196
  'attribute_id' => $AttributeId,
@@ -202,24 +222,22 @@ class DB1_AnyMarket_Helper_ProductGenerator extends DB1_AnyMarket_Helper_Data
202
  $configurableProductsData[ $sProd->getId() ] = $simpleProductsData;
203
  $configurableAttributesData[0]['values'][] = $simpleProductsData;
204
  }
 
205
 
206
  $confProduct->setConfigurableProductsData($configurableProductsData);
207
  $confProduct->setConfigurableAttributesData($configurableAttributesData);
208
 
209
- $confProduct->setCanSaveConfigurableAttributes(true);
210
-
211
  $confProduct->setStoreId($storeID)
212
- ->setAttributeSetId( Mage::getModel('catalog/product')->getDefaultAttributeSetId() )
213
- ->setCategoryIds(array(2,3,4))
214
- ->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)
215
- ->setStatus(1)
216
- ->setTaxClassId(0);
217
 
218
  foreach ($dataProdConfig as $key => $value) {
219
  $confProduct->setData($key, $value);
220
  }
221
  $confProduct->save();
222
-
223
  $sku = $dataProdConfig['sku'];
224
  foreach ($dataProdConfig['images'] as $image) {
225
  $this->importImages($confProduct, $image, $sku);
@@ -231,48 +249,38 @@ class DB1_AnyMarket_Helper_ProductGenerator extends DB1_AnyMarket_Helper_Data
231
  /**
232
  * update configurable product in MG
233
  *
 
234
  * @param $idProd
235
  * @param array $dataProdConfig
236
  * @param array $simpleProducts
237
- * @param array $AttributeIds
238
  * @return Mage_Catalog_Model_Product
239
  */
240
- public function updateConfigurableProduct($storeID, $idProd, $dataProdConfig = array() , $simpleProducts = array(), $AttributeIds = array()){
241
- $confProduct = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $idProd );
242
- $confProduct->setTypeId('configurable');
243
-
244
- $confProduct->getTypeInstance()->setUsedProductAttributeIds($AttributeIds);
245
-
246
- $configurableProductsData = array();
247
-
248
  foreach ($simpleProducts as $simpleProduct) {
249
- $sProd = Mage::getModel('catalog/product')->load( $simpleProduct['Id'] );
 
250
 
251
- $AttributeId = Mage::getModel('eav/entity_attribute')->getIdByCode('catalog_product', $simpleProduct['AttributeText'] );
 
 
252
 
253
- $simpleProductsData = array(
254
- 'label' => $sProd->getAttributeText( $simpleProduct['AttributeText'] ),
255
- 'attribute_id' => $AttributeId,
256
- 'value_index' => (int) $sProd->getData( $simpleProduct['AttributeText'] ),
257
- 'is_percent' => 0,
258
- 'pricing_value' => $sProd->getPrice(),
259
- );
260
-
261
- $configurableProductsData[ $sProd->getId() ] = $simpleProductsData;
262
  }
263
 
264
- $confProduct->setConfigurableProductsData($configurableProductsData);
265
- $confProduct->setCanSaveConfigurableAttributes(true);
266
- $confProduct->setStoreId($storeID)
267
- ->setAttributeSetId( Mage::getModel('catalog/product')->getDefaultAttributeSetId() )
268
- ->setCategoryIds(array(2,3,4))
269
- ->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)
270
- ->setStatus(1)
271
- ->setTaxClassId(0);
272
 
 
 
273
  foreach ($dataProdConfig as $key => $value) {
274
  $confProduct->setData($key, $value);
275
  }
 
276
  $confProduct->save();
277
 
278
  return $confProduct;
7
  'attribute_set_id' => '4',
8
  'type_id' => 'simple',
9
  'sku' => '0124ASF3',
10
+ 'has_options' => '0',
11
  'required_options' => '0',
12
  'created_at' => '',
13
  'updated_at' => '',
18
  'volume_largura' => null,
19
  'warranty_time' => null,
20
  'id_anymarket' => null,
21
+ 'tax_class_id' => '0',
22
+ 'is_recurring' => '0',
23
  'weight' => '1.0000',
24
  'price' => '0',
25
  'cost' => '0',
134
  $imgName = str_replace('.'.$image_type, "", $imgName);
135
  $filename = md5($imgName . $sku).'.'.$image_type;
136
 
137
+ $dirPath = Mage::getBaseDir('media') . DS . 'import';
138
  if (!file_exists($dirPath)) {
139
  mkdir($dirPath, 0777, true);
140
  }
169
 
170
  }
171
 
172
+ private function getConfigurableAttributes($AttributeIds){
173
+ $attrArray = array();
174
+ foreach ($AttributeIds as $attr) {
175
+ $attribute = Mage::getModel('eav/entity_attribute')->load($attr);
176
+
177
+ $attrArray[] = array(
178
+ 'id' => null,
179
+ 'label' => $attribute->getData('frontend_label'),
180
+ 'use_default' => $attribute->getData('default_value'),
181
+ 'position' => $attribute->getData('position'),
182
+ 'values' => array(),
183
+ 'attribute_id' => $attribute->getData('attribute_id'),
184
+ 'attribute_code' => $attribute->getData('attribute_code'),
185
+ 'frontend_label' => $attribute->getData('frontend_label'),
186
+ 'store_label' => $attribute->getData('frontend_label'),
187
+ );
188
+ }
189
+
190
+ return $attrArray;
191
+ }
192
+
193
  /**
194
  * create configurable product in MG
195
  *
201
  public function createConfigurableProduct($storeID, $dataProdConfig = array() , $simpleProducts = array(), $AttributeIds = array()){
202
  $confProduct = Mage::getModel('catalog/product')->setSku($dataProdConfig['sku']);
203
  $confProduct->setTypeId('configurable');
204
+ $confProduct->setWebsiteIds(array(1));
205
  $confProduct->getTypeInstance()->setUsedProductAttributeIds($AttributeIds);
206
 
207
  $configurableProductsData = array();
208
+ $configurableAttributesData = $this->getConfigurableAttributes($AttributeIds);
209
+ //$configurableAttributesData = $confProduct->getTypeInstance()->getConfigurableAttributesAsArray($confProduct);
210
  foreach ($simpleProducts as $simpleProduct) {
211
  $sProd = Mage::getModel('catalog/product')->load( $simpleProduct['Id'] );
212
 
213
  $AttributeId = Mage::getModel('eav/entity_attribute')->getIdByCode('catalog_product', $simpleProduct['AttributeText'] );
 
214
  $simpleProductsData = array(
215
  'label' => $sProd->getAttributeText( $simpleProduct['AttributeText'] ),
216
  'attribute_id' => $AttributeId,
222
  $configurableProductsData[ $sProd->getId() ] = $simpleProductsData;
223
  $configurableAttributesData[0]['values'][] = $simpleProductsData;
224
  }
225
+ $confProduct->setCanSaveConfigurableAttributes(true);
226
 
227
  $confProduct->setConfigurableProductsData($configurableProductsData);
228
  $confProduct->setConfigurableAttributesData($configurableAttributesData);
229
 
 
 
230
  $confProduct->setStoreId($storeID)
231
+ ->setAttributeSetId( Mage::getModel('catalog/product')->getDefaultAttributeSetId() )
232
+ ->setCategoryIds(array(2,3,4))
233
+ ->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)
234
+ ->setStatus(1)
235
+ ->setTaxClassId(0);
236
 
237
  foreach ($dataProdConfig as $key => $value) {
238
  $confProduct->setData($key, $value);
239
  }
240
  $confProduct->save();
 
241
  $sku = $dataProdConfig['sku'];
242
  foreach ($dataProdConfig['images'] as $image) {
243
  $this->importImages($confProduct, $image, $sku);
249
  /**
250
  * update configurable product in MG
251
  *
252
+ * @param $storeID
253
  * @param $idProd
254
  * @param array $dataProdConfig
255
  * @param array $simpleProducts
 
256
  * @return Mage_Catalog_Model_Product
257
  */
258
+ public function updateConfigurableProduct($storeID, $idProd, $dataProdConfig = array() , $simpleProducts = array()){
259
+ $confProduct = Mage::getModel('catalog/product')->load( $idProd );
260
+ $simplesToAddConfig = array();
 
 
 
 
 
261
  foreach ($simpleProducts as $simpleProduct) {
262
+ array_push( $simplesToAddConfig, $simpleProduct['Id'] );
263
+ }
264
 
265
+ //ADICIONA OS JA EXISTENTES NO PRODUTO
266
+ $childProducts = Mage::getModel('catalog/product_type_configurable')
267
+ ->getUsedProducts(null, $confProduct);
268
 
269
+ foreach($childProducts as $child) {
270
+ array_push( $simplesToAddConfig, $child->getId() );
 
 
 
 
 
 
 
271
  }
272
 
273
+ $simplesToAddConfig = array_unique($simplesToAddConfig);
274
+
275
+ Mage::getResourceSingleton('catalog/product_type_configurable')
276
+ ->saveProducts($confProduct, $simplesToAddConfig);
 
 
 
 
277
 
278
+ Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
279
+ $confProduct = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $idProd );
280
  foreach ($dataProdConfig as $key => $value) {
281
  $confProduct->setData($key, $value);
282
  }
283
+
284
  $confProduct->save();
285
 
286
  return $confProduct;
app/code/community/DB1/AnyMarket/Helper/Queue.php CHANGED
@@ -11,12 +11,16 @@ class DB1_AnyMarket_Helper_Queue extends DB1_AnyMarket_Helper_Data
11
  * @param $tableItem
12
  */
13
  public function addQueue($storeID, $IdItem, $typeItem, $tableItem){
14
- $queueItem = Mage::getModel('db1_anymarket/anymarketqueue');
15
- $queueItem->setNmqId($IdItem);
16
- $queueItem->setNmqType($typeItem);
17
- $queueItem->setNmqTable($tableItem);
18
- $queueItem->setStores(array($storeID));
19
- $queueItem->save();
 
 
 
 
20
  }
21
 
22
  /**
@@ -46,7 +50,7 @@ class DB1_AnyMarket_Helper_Queue extends DB1_AnyMarket_Helper_Data
46
  $arrValueStore = array_values($anymarketQueue->getStoreId());
47
  $storeID = array_shift($arrValueStore);
48
 
49
- $storeID = ($storeID != null && $storeID != "0") ? $storeID : 1;
50
 
51
  $cronEnabled = Mage::getStoreConfig('anymarket_section/anymarket_cron_group/anymarket_queue_field', $storeID);
52
  if($cronEnabled == '1' || $typeExec == "FORCE") {
@@ -71,7 +75,8 @@ class DB1_AnyMarket_Helper_Queue extends DB1_AnyMarket_Helper_Data
71
  $anymarketorders->load($IdItemQueue, 'nmo_id_order');
72
  //Export
73
  if ($anymarketorders->getNmoStatusInt() != "Não integrado (AnyMarket)") {
74
- $Order = Mage::getModel('sales/order')->loadByIncrementId($anymarketorders->getNmoIdOrder());
 
75
  Mage::helper('db1_anymarket/order')->updateOrderAnyMarket($storeID, $Order);
76
  }
77
  }
@@ -79,34 +84,63 @@ class DB1_AnyMarket_Helper_Queue extends DB1_AnyMarket_Helper_Data
79
  } catch (Exception $e) {
80
  Mage::logException($e);
81
  }
 
 
 
 
 
 
 
 
 
82
  } else if ($item['nmq_table'] == 'PRODUCT') {
83
  // EXPORT PRODUCT
84
  $typeSincOrder = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_type_order_sync_field', $storeID);
85
  $anymarketproducts = Mage::getModel('db1_anymarket/anymarketproducts')->setStoreId($storeID);
86
  $anymarketproducts->load($IdItemQueue, 'nmp_id');
87
 
88
- $product = Mage::getModel('catalog/product')->setStoreId($storeID)->loadByAttribute('sku', $anymarketproducts->getNmpSku());
89
  if (($typImp == 'EXP') && ($typeSincProd == 0)) {
90
  try {
 
91
  $anymarketproducts->setStatus('1')->setIsMassupdate(true)->save();
92
  if ($product != null) {
93
- Mage::helper('db1_anymarket/product')->sendProductToAnyMarket($storeID, $product->getId());
94
  }
95
 
96
  } catch (Exception $e) {
97
  Mage::logException($e);
98
  }
99
- }
100
 
101
- // TRATA STOCK
102
- if ($product) {
103
- if ($typeSincOrder == 1) {
104
- $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
105
- $ProdStock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
106
- Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product->getId(), $ProdStock->getQty(), $product->getData($filter));
107
- } else {
108
- Mage::helper('db1_anymarket/product')->getStockProductAnyMarket($storeID, $product->getId());
 
 
109
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  }
111
 
112
  }
@@ -117,79 +151,51 @@ class DB1_AnyMarket_Helper_Queue extends DB1_AnyMarket_Helper_Data
117
  }
118
 
119
  /**
120
- * process Orders by CRON
121
  */
122
  public function processOrders(){
123
- Mage::getSingleton('core/session')->setImportOrdersVariable('false');
124
-
125
  $allStores = Mage::helper('db1_anymarket')->getAllStores();
126
  foreach ($allStores as $store) {
127
  $storeID = $store['store_id'];
128
-
129
  $cronEnabled = Mage::getStoreConfig('anymarket_section/anymarket_cron_group/anymarket_order_field', $storeID);
130
  if( $cronEnabled == '1' ) {
131
- $ConfigOrder = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_type_order_sync_field', $storeID);
132
- if ($ConfigOrder == 1) {
133
- Mage::helper('db1_anymarket/order')->getFeedOrdersFromAnyMarket($storeID);
134
- }
135
-
136
- $colAnyOrders = Mage::getResourceModel('db1_anymarket/anymarketorders_collection')
137
- ->addFieldToFilter('nmo_status_int', array('like' => 'ERROR%'))
138
- ->load();
139
-
140
- foreach ($colAnyOrders->getItems() as $anymarketorders) {
141
- $anymarketorder = Mage::getModel('db1_anymarket/anymarketorders')->load($anymarketorders->getId());
142
- if (is_array($anymarketorder->getData('store_id')) && in_array($storeID, $anymarketorder->getData('store_id'))) {
143
- if ($anymarketorders->getData('nmo_status_int') == 'ERROR 01') {
144
- $this->addQueue($storeID, $anymarketorder->getNmoIdAnymarket(), 'IMP', 'ORDER');
145
- } else if ($anymarketorders->getData('nmo_status_int') == 'ERROR 02') {
146
- $this->addQueue($storeID, $anymarketorder->getNmoIdOrder(), 'EXP', 'ORDER');
147
- }
148
- }
149
- }
150
  }
151
-
152
  }
153
- Mage::getSingleton('core/session')->setImportOrdersVariable('true');
154
 
155
  }
156
 
157
  /**
158
- * process Products By CRON
159
  */
160
- public function processProducts(){
161
- $allStores = Mage::helper('db1_anymarket')->getAllStores();
162
- foreach ($allStores as $store) {
163
- $storeID = $store['store_id'];
164
- $cronEnabled = Mage::getStoreConfig('anymarket_section/anymarket_cron_group/anymarket_product_field', $storeID);
165
- if( $cronEnabled == '1' ) {
166
- $typeSincProd = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_type_prod_sync_field', $storeID);
167
- if ($typeSincProd == 1) {
168
- Mage::helper('db1_anymarket/product')->getFeedProdsFromAnyMarket($storeID);
169
- } else {
170
- $colAnyProds = Mage::getResourceModel('db1_anymarket/anymarketproducts_collection')
171
- ->addFieldToFilter('nmp_status_int', array('neq' => 'Integrado'))
172
- ->load();
173
-
174
- foreach ($colAnyProds->getItems() as $anymarketproducts) {
175
- if ($anymarketproducts->getData('nmp_sku') != null) {
176
- $anymarketprod = Mage::getModel('db1_anymarket/anymarketproducts')->load($anymarketproducts->getData('nmp_id'), 'nmp_id');
177
- if (is_array($anymarketprod->getData('store_id')) && in_array($storeID, $anymarketprod->getData('store_id'))) {
178
-
179
- if($anymarketprod->getData('nmp_status_int') == "Erro" ) {
180
- $ProdLoaded = Mage::getModel('catalog/product')->loadByAttribute('sku', $anymarketproducts->getData('nmp_sku'));
181
- if ($ProdLoaded) {
182
- if (($ProdLoaded->getStatus() == 1) && ($ProdLoaded->getData('integra_anymarket') == 1)) {
183
- $this->addQueue($storeID, $anymarketproducts->getData('nmp_id'), 'EXP', 'PRODUCT');
184
- }
185
- }
186
- }
187
 
188
- }
189
- }
190
- }
 
 
 
 
 
 
 
191
 
 
 
 
 
 
 
 
 
192
  }
 
193
  }
194
  }
195
  }
11
  * @param $tableItem
12
  */
13
  public function addQueue($storeID, $IdItem, $typeItem, $tableItem){
14
+ $queueItemCheck = Mage::getModel('db1_anymarket/anymarketqueue')->setStoreId($storeID)
15
+ ->load($IdItem, 'nmq_id');
16
+ if( !$queueItemCheck->getNmqId() ){
17
+ $queueItem = Mage::getModel('db1_anymarket/anymarketqueue');
18
+ $queueItem->setNmqId($IdItem);
19
+ $queueItem->setNmqType($typeItem);
20
+ $queueItem->setNmqTable($tableItem);
21
+ $queueItem->setStores(array($storeID));
22
+ $queueItem->save();
23
+ }
24
  }
25
 
26
  /**
50
  $arrValueStore = array_values($anymarketQueue->getStoreId());
51
  $storeID = array_shift($arrValueStore);
52
 
53
+ $storeID = ($storeID != null && $storeID != "0") ? $storeID : Mage::app()->getDefaultStoreView()->getId();
54
 
55
  $cronEnabled = Mage::getStoreConfig('anymarket_section/anymarket_cron_group/anymarket_queue_field', $storeID);
56
  if($cronEnabled == '1' || $typeExec == "FORCE") {
75
  $anymarketorders->load($IdItemQueue, 'nmo_id_order');
76
  //Export
77
  if ($anymarketorders->getNmoStatusInt() != "Não integrado (AnyMarket)") {
78
+ $idOrderToLoad = ($anymarketorders->getNmoIdOrder() == null) ? $IdItemQueue : $anymarketorders->getNmoIdOrder();
79
+ $Order = Mage::getModel('sales/order')->loadByIncrementId( $idOrderToLoad );
80
  Mage::helper('db1_anymarket/order')->updateOrderAnyMarket($storeID, $Order);
81
  }
82
  }
84
  } catch (Exception $e) {
85
  Mage::logException($e);
86
  }
87
+ } else if ($item['nmq_table'] == 'STOCK') {
88
+ $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $IdItemQueue );
89
+
90
+ // TRATA STOCK
91
+ if ($product) {
92
+ $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
93
+ $ProdStock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
94
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product->getId(), $ProdStock->getQty(), $product->getData($filter));
95
+ }
96
  } else if ($item['nmq_table'] == 'PRODUCT') {
97
  // EXPORT PRODUCT
98
  $typeSincOrder = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_type_order_sync_field', $storeID);
99
  $anymarketproducts = Mage::getModel('db1_anymarket/anymarketproducts')->setStoreId($storeID);
100
  $anymarketproducts->load($IdItemQueue, 'nmp_id');
101
 
 
102
  if (($typImp == 'EXP') && ($typeSincProd == 0)) {
103
  try {
104
+ $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $IdItemQueue );
105
  $anymarketproducts->setStatus('1')->setIsMassupdate(true)->save();
106
  if ($product != null) {
107
+ Mage::helper('db1_anymarket/product')->prepareForSendProduct($storeID, $product);
108
  }
109
 
110
  } catch (Exception $e) {
111
  Mage::logException($e);
112
  }
 
113
 
114
+
115
+ // TRATA STOCK
116
+ if ($product) {
117
+ if ($typeSincOrder == 1) {
118
+ $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
119
+ $ProdStock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
120
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product->getId(), $ProdStock->getQty(), $product->getData($filter));
121
+ } else {
122
+ Mage::helper('db1_anymarket/product')->getStockProductAnyMarket($storeID, $product->getId());
123
+ }
124
  }
125
+ }else if ($typImp == 'IMP'){
126
+ $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
127
+ $TOKEN = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_token_field', $storeID);
128
+
129
+ $headers = array(
130
+ "Content-type: application/json",
131
+ "Accept: */*",
132
+ "gumgaToken: " . $TOKEN
133
+ );
134
+
135
+ $listTransmissions = array();
136
+ array_push($listTransmissions, array(
137
+ "id" => $IdItemQueue,
138
+ "token" => "notoken"
139
+ )
140
+ );
141
+
142
+ $JSON = json_encode($listTransmissions);
143
+ Mage::helper('db1_anymarket/product')->getSpecificFeedProduct($storeID, json_decode($JSON), $headers, $HOST);
144
  }
145
 
146
  }
151
  }
152
 
153
  /**
154
+ * process Orders By CRON
155
  */
156
  public function processOrders(){
 
 
157
  $allStores = Mage::helper('db1_anymarket')->getAllStores();
158
  foreach ($allStores as $store) {
159
  $storeID = $store['store_id'];
 
160
  $cronEnabled = Mage::getStoreConfig('anymarket_section/anymarket_cron_group/anymarket_order_field', $storeID);
161
  if( $cronEnabled == '1' ) {
162
+ Mage::helper('db1_anymarket/order')->getFeedOrdersFromAnyMarket($storeID);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  }
 
164
  }
 
165
 
166
  }
167
 
168
  /**
169
+ * process Stocks By CRON
170
  */
171
+ public function processStocks(){
172
+ $qtyItensImport = (int)Mage::getConfig()->getNode('default/queue_qty/qty');
173
+ $itens = Mage::getModel('db1_anymarket/anymarketqueue')
174
+ ->getCollection()
175
+ ->setPageSize($qtyItensImport)
176
+ ->setCurPage(1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
 
178
+ foreach($itens->getData() as $item) {
179
+ $IdItemQueue = $item['nmq_id'];
180
+
181
+ $anymarketQueue = Mage::getModel('db1_anymarket/anymarketqueue')->load($item['entity_id']);
182
+ $arrValueStore = array_values($anymarketQueue->getStoreId());
183
+ $storeID = array_shift($arrValueStore);
184
+
185
+ $storeID = ($storeID != null && $storeID != "0") ? $storeID : Mage::app()->getDefaultStoreView()->getId();
186
+ if ($item['nmq_table'] == 'STOCK') {
187
+ $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load( $IdItemQueue );
188
 
189
+ // TRATA STOCK
190
+ if ($product) {
191
+ $typeSincOrder = Mage::getStoreConfig('anymarket_section/anymarket_integration_order_group/anymarket_type_order_sync_field', $storeID);
192
+ if ($typeSincOrder == 1) {
193
+ $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
194
+ $ProdStock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
195
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product->getId(), $ProdStock->getQty(), $product->getData($filter));
196
+ }
197
  }
198
+ $this->removeQueue($item['entity_id']);
199
  }
200
  }
201
  }
app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketattributes.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketbrands.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketlog.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketorders.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketproducts.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Adminhtml/Search/Anymarketqueue.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketattributes.php CHANGED
@@ -72,6 +72,17 @@ class DB1_AnyMarket_Model_Anymarketattributes extends Mage_Core_Model_Abstract
72
  $this->setCreatedAt($now);
73
  }
74
  $this->setUpdatedAt($now);
 
 
 
 
 
 
 
 
 
 
 
75
  return $this;
76
  }
77
 
72
  $this->setCreatedAt($now);
73
  }
74
  $this->setUpdatedAt($now);
75
+
76
+ $stores = $this->getStores();
77
+ if( $stores != null) {
78
+ if (is_array($stores)) {
79
+ $storeID = reset($stores);
80
+ }
81
+ if (!is_string($storeID) && !is_integer($storeID)) {
82
+ $this->setStores(array());
83
+ }
84
+ }
85
+
86
  return $this;
87
  }
88
 
app/code/community/DB1/AnyMarket/Model/Anymarketattributes/Api.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketattributes/Api/V2.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketbrands.php CHANGED
@@ -72,6 +72,17 @@ class DB1_AnyMarket_Model_Anymarketbrands extends Mage_Core_Model_Abstract
72
  $this->setCreatedAt($now);
73
  }
74
  $this->setUpdatedAt($now);
 
 
 
 
 
 
 
 
 
 
 
75
  return $this;
76
  }
77
 
72
  $this->setCreatedAt($now);
73
  }
74
  $this->setUpdatedAt($now);
75
+
76
+ $stores = $this->getStores();
77
+ if( $stores != null) {
78
+ if (is_array($stores)) {
79
+ $storeID = reset($stores);
80
+ }
81
+ if (!is_string($storeID) && !is_integer($storeID)) {
82
+ $this->setStores(array());
83
+ }
84
+ }
85
+
86
  return $this;
87
  }
88
 
app/code/community/DB1/AnyMarket/Model/Anymarketbrands/Api.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketbrands/Api/V2.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketcategories.php CHANGED
@@ -72,6 +72,17 @@ class DB1_AnyMarket_Model_Anymarketcategories extends Mage_Core_Model_Abstract
72
  $this->setCreatedAt($now);
73
  }
74
  $this->setUpdatedAt($now);
 
 
 
 
 
 
 
 
 
 
 
75
  return $this;
76
  }
77
 
72
  $this->setCreatedAt($now);
73
  }
74
  $this->setUpdatedAt($now);
75
+
76
+ $stores = $this->getStores();
77
+ if( $stores != null) {
78
+ if (is_array($stores)) {
79
+ $storeID = reset($stores);
80
+ }
81
+ if (!is_string($storeID) && !is_integer($storeID)) {
82
+ $this->setStores(array());
83
+ }
84
+ }
85
+
86
  return $this;
87
  }
88
 
app/code/community/DB1/AnyMarket/Model/Anymarketcategories/Api.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketcategories/Api/V2.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketlog.php CHANGED
@@ -75,6 +75,10 @@ class DB1_AnyMarket_Model_Anymarketlog extends Mage_Core_Model_Abstract
75
  if (is_array($stores)) {
76
  $storeID = reset($stores);
77
  }
 
 
 
 
78
 
79
  $nivelLogs = Mage::getStoreConfig('anymarket_section/anymarket_logs_group/anymarket_log_nivel_field', $storeID);
80
  if ((int)$nivelLogs == 0) {
75
  if (is_array($stores)) {
76
  $storeID = reset($stores);
77
  }
78
+ if( !is_string($storeID) && !is_integer($storeID) ) {
79
+ $this->setStores(array());
80
+ $storeID = 0;
81
+ }
82
 
83
  $nivelLogs = Mage::getStoreConfig('anymarket_section/anymarket_logs_group/anymarket_log_nivel_field', $storeID);
84
  if ((int)$nivelLogs == 0) {
app/code/community/DB1/AnyMarket/Model/Anymarketlog/Api.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketlog/Api/V2.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketorders.php CHANGED
@@ -67,11 +67,34 @@ class DB1_AnyMarket_Model_Anymarketorders extends Mage_Core_Model_Abstract
67
  protected function _beforeSave()
68
  {
69
  parent::_beforeSave();
 
70
  $now = Mage::getSingleton('core/date')->gmtDate();
71
  if ($this->isObjectNew()) {
72
  $this->setCreatedAt($now);
73
  }
74
  $this->setUpdatedAt($now);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  return $this;
76
  }
77
 
67
  protected function _beforeSave()
68
  {
69
  parent::_beforeSave();
70
+
71
  $now = Mage::getSingleton('core/date')->gmtDate();
72
  if ($this->isObjectNew()) {
73
  $this->setCreatedAt($now);
74
  }
75
  $this->setUpdatedAt($now);
76
+
77
+ $stores = $this->getStores();
78
+ if( $stores != null) {
79
+ if (is_array($stores)) {
80
+ $storeID = reset($stores);
81
+ }
82
+ if (!is_string($storeID) && !is_integer($storeID)) {
83
+ $this->setStores(array());
84
+ }
85
+ }
86
+
87
+ if( $this->getNmoStatusInt() == 'ERROR 02' ) {
88
+ $anymarketorders = Mage::getModel('db1_anymarket/anymarketorders')->load( $this->getId() );
89
+
90
+ if ($this->getNmoIdSeqAnymarket() == "" || $this->getNmoIdSeqAnymarket() == null ) {
91
+ $this->setNmoIdSeqAnymarket( $anymarketorders->getNmoIdSeqAnymarket() );
92
+ }
93
+ if ($this->getNmoIdAnymarket() == "" || $this->getNmoIdAnymarket() == null ) {
94
+ $this->setNmoIdAnymarket( $anymarketorders->getNmoIdAnymarket() );
95
+ }
96
+ }
97
+
98
  return $this;
99
  }
100
 
app/code/community/DB1/AnyMarket/Model/Anymarketorders/Api.php CHANGED
@@ -76,16 +76,30 @@ class DB1_AnyMarket_Model_Anymarketorders_Api extends Mage_Api_Model_Resource_Ab
76
  if (is_null($data)) {
77
  throw new Exception(Mage::helper('db1_anymarket')->__("Data cannot be null"));
78
  }
79
- $data = (array)$data;
80
- $anymarketorders = Mage::getModel('db1_anymarket/anymarketorders')
81
- ->setData((array)$data)
82
- ->save();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  } catch (Mage_Core_Exception $e) {
84
  $this->_fault('data_invalid', $e->getMessage());
85
  } catch (Exception $e) {
86
  $this->_fault('data_invalid', $e->getMessage());
87
  }
88
- return $anymarketorders->getId();
89
  }
90
 
91
  /**
76
  if (is_null($data)) {
77
  throw new Exception(Mage::helper('db1_anymarket')->__("Data cannot be null"));
78
  }
79
+ $ret = "";
80
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
81
+ $anymarketlog->setLogDesc( 'Callback received - Order (API)');
82
+ $anymarketlog->setLogJson( json_encode($data) );
83
+ $anymarketlog->setStatus("0");
84
+ $anymarketlog->save();
85
+
86
+ $allStores = Mage::helper('db1_anymarket')->getTokenByOi( $data['oi'] );
87
+ if( !empty($allStores) ) {
88
+ foreach ($allStores as $store) {
89
+ $storeID = $store['storeID'];
90
+ $TOKEN = $store['token'];
91
+
92
+ if ($TOKEN != '') {
93
+ $ret = Mage::helper('db1_anymarket/order')->getSpecificOrderFromAnyMarket($data['id'], "notoken", $storeID);
94
+ }
95
+ }
96
+ }
97
  } catch (Mage_Core_Exception $e) {
98
  $this->_fault('data_invalid', $e->getMessage());
99
  } catch (Exception $e) {
100
  $this->_fault('data_invalid', $e->getMessage());
101
  }
102
+ return $ret;
103
  }
104
 
105
  /**
app/code/community/DB1/AnyMarket/Model/Anymarketorders/Api/V2.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketproducts.php CHANGED
@@ -72,6 +72,17 @@ class DB1_AnyMarket_Model_Anymarketproducts extends Mage_Core_Model_Abstract
72
  $this->setCreatedAt($now);
73
  }
74
  $this->setUpdatedAt($now);
 
 
 
 
 
 
 
 
 
 
 
75
  return $this;
76
  }
77
 
72
  $this->setCreatedAt($now);
73
  }
74
  $this->setUpdatedAt($now);
75
+
76
+ $stores = $this->getStores();
77
+ if( $stores != null) {
78
+ if (is_array($stores)) {
79
+ $storeID = reset($stores);
80
+ }
81
+ if (!is_string($storeID) && !is_integer($storeID)) {
82
+ $this->setStores(array());
83
+ }
84
+ }
85
+
86
  return $this;
87
  }
88
 
app/code/community/DB1/AnyMarket/Model/Anymarketproducts/Api.php CHANGED
@@ -76,16 +76,50 @@ class DB1_AnyMarket_Model_Anymarketproducts_Api extends Mage_Api_Model_Resource_
76
  if (is_null($data)) {
77
  throw new Exception(Mage::helper('db1_anymarket')->__("Data cannot be null"));
78
  }
79
- $data = (array)$data;
80
- $anymarketproducts = Mage::getModel('db1_anymarket/anymarketproducts')
81
- ->setData((array)$data)
82
- ->save();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  } catch (Mage_Core_Exception $e) {
84
  $this->_fault('data_invalid', $e->getMessage());
85
  } catch (Exception $e) {
86
  $this->_fault('data_invalid', $e->getMessage());
87
  }
88
- return $anymarketproducts->getId();
89
  }
90
 
91
  /**
76
  if (is_null($data)) {
77
  throw new Exception(Mage::helper('db1_anymarket')->__("Data cannot be null"));
78
  }
79
+
80
+ $ret = "";
81
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
82
+ $anymarketlog->setLogDesc( 'Callback received - Transmission (API)');
83
+ $anymarketlog->setLogJson( json_encode($data) );
84
+ $anymarketlog->setStatus("0");
85
+ $anymarketlog->save();
86
+
87
+ $allStores = Mage::helper('db1_anymarket')->getTokenByOi( $data['oi'] );
88
+ if( !empty($allStores) ) {
89
+ foreach ($allStores as $store) {
90
+ $storeID = $store['storeID'];
91
+ $TOKEN = $store['token'];
92
+
93
+ if ($TOKEN != '') {
94
+
95
+ $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
96
+
97
+ $headers = array(
98
+ "Content-type: application/json",
99
+ "Accept: */*",
100
+ "gumgaToken: " . $TOKEN
101
+ );
102
+
103
+ $listTransmissions = array();
104
+ array_push($listTransmissions, array(
105
+ "id" => $data['id'],
106
+ "token" => "notoken"
107
+ )
108
+ );
109
+
110
+ $JSON = json_encode($listTransmissions);
111
+ $ret = Mage::helper('db1_anymarket/product')->getSpecificFeedProduct($storeID, json_decode($JSON), $headers, $HOST);
112
+ }
113
+ }
114
+ }
115
+
116
+
117
  } catch (Mage_Core_Exception $e) {
118
  $this->_fault('data_invalid', $e->getMessage());
119
  } catch (Exception $e) {
120
  $this->_fault('data_invalid', $e->getMessage());
121
  }
122
+ return $ret;
123
  }
124
 
125
  /**
app/code/community/DB1/AnyMarket/Model/Anymarketproducts/Api/V2.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketqueue.php CHANGED
@@ -71,6 +71,17 @@ class DB1_AnyMarket_Model_Anymarketqueue extends Mage_Core_Model_Abstract
71
  $this->setCreatedAt($now);
72
  }
73
  $this->setUpdatedAt($now);
 
 
 
 
 
 
 
 
 
 
 
74
  return $this;
75
  }
76
 
71
  $this->setCreatedAt($now);
72
  }
73
  $this->setUpdatedAt($now);
74
+
75
+ $stores = $this->getStores();
76
+ if( $stores != null) {
77
+ if (is_array($stores)) {
78
+ $storeID = reset($stores);
79
+ }
80
+ if (!is_string($storeID) && !is_integer($storeID)) {
81
+ $this->setStores(array());
82
+ }
83
+ }
84
+
85
  return $this;
86
  }
87
 
app/code/community/DB1/AnyMarket/Model/Anymarketqueue/Api.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Anymarketqueue/Api/V2.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Cron.php CHANGED
@@ -2,17 +2,10 @@
2
  class DB1_AnyMarket_Model_Cron{
3
 
4
  /**
5
- * sinc all orders in feed and orders with errors
6
  */
7
- public function sincOrders(){
8
- Mage::helper('db1_anymarket/queue')->processOrders();
9
- }
10
-
11
- /**
12
- * sinc all products in feed and products with errors
13
- */
14
- public function sincProducts(){
15
- Mage::helper('db1_anymarket/queue')->processProducts();
16
  }
17
 
18
  /**
@@ -29,6 +22,10 @@ class DB1_AnyMarket_Model_Cron{
29
  Mage::helper('db1_anymarket/queue')->processQueue("CRON");
30
  }
31
 
 
 
 
 
32
  /**
33
  * execute the clean logs
34
  */
2
  class DB1_AnyMarket_Model_Cron{
3
 
4
  /**
5
+ * sinc all stocks in feed and products with errors
6
  */
7
+ public function sincStocks(){
8
+ Mage::helper('db1_anymarket/queue')->processStocks();
 
 
 
 
 
 
 
9
  }
10
 
11
  /**
22
  Mage::helper('db1_anymarket/queue')->processQueue("CRON");
23
  }
24
 
25
+ public function sincOrders(){
26
+ Mage::helper('db1_anymarket/queue')->processOrders();
27
+ }
28
+
29
  /**
30
  * execute the clean logs
31
  */
app/code/community/DB1/AnyMarket/Model/Observer.php CHANGED
@@ -2,6 +2,10 @@
2
 
3
  class DB1_AnyMarket_Model_Observer {
4
 
 
 
 
 
5
  /**
6
  * @param $observer
7
  */
@@ -35,92 +39,40 @@ class DB1_AnyMarket_Model_Observer {
35
 
36
  /**
37
  * @param $observer
 
38
  */
39
  public function sendProdAnyMarket($observer) {
40
- $ExportProdSession = Mage::getSingleton('core/session')->getImportProdsVariable();
41
- if( $ExportProdSession != 'false' ) {
42
- $productOld = $observer->getEvent()->getProduct();
43
- $QuickCreate = Mage::getSingleton('core/session')->getQuickCreateProdVariable();
44
- if($QuickCreate == null || $QuickCreate == "" || $QuickCreate != $productOld->getSku() ){
45
- $storeID = ($productOld->getStoreId() != null && $productOld->getStoreId() != "0") ? $productOld->getStoreId() : 1;
46
-
47
- $typeSincProd = Mage::getStoreConfig('anymarket_section/anymarket_integration_prod_group/anymarket_type_prod_sync_field', $storeID);
48
- if($typeSincProd == 0){
49
- $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load($productOld->getId());
50
- if( $product->getData('integra_anymarket') == 1 && $product->getStatus() == 1 ){
51
-
52
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
53
- $stockQty = $stock->getQty();
54
- if($product->getTypeID() == "configurable"){
55
- //PRODUTO CONFIGURAVEL
56
- Mage::getModel('catalog/product_type_configurable')->getProduct($product)->unsetData('_cache_instance_products');
57
- $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
58
- if(count($childProducts) > 0){
59
- Mage::getSingleton('core/session')->setImportProdsVariable('false');
60
- foreach ($childProducts as $prodCh) {
61
- $productChild = Mage::getModel('catalog/product')->setStoreId($storeID)->load($prodCh->getId());
62
- $productChild->setData('integra_anymarket', $product->getData('integra_anymarket') );
63
- $productChild->save();
64
- }
65
- Mage::getSingleton('core/session')->setImportProdsVariable('true');
66
-
67
- Mage::helper('db1_anymarket/product')->sendProductToAnyMarket($storeID, $product->getId());
68
- }
69
- }else{
70
- $parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild( $product->getId() );
71
- if($parentIds){
72
- //PRODUTO SIMPLES FILHO DE UM CONFIG
73
- $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
74
- $ean = Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_ean_field', $storeID);
75
-
76
- if($filter == 'final_price'){
77
- $stkPrice = $product->getFinalPrice();
78
- }else{
79
- $stkPrice = $product->getData($filter);
80
- }
81
-
82
- $attributeOptions = array();
83
- foreach ($parentIds as $parentId) {
84
- $productConfig = Mage::getModel('catalog/product')->load($parentId);
85
-
86
- if( $productConfig->getId() ) {
87
- foreach ($productConfig->getTypeInstance()->getConfigurableAttributes() as $attribute) {
88
- $value = $product->getAttributeText($attribute->getProductAttribute()->getAttributeCode());
89
- $attributeOptions[$attribute->getLabel()] = $value;
90
- }
91
-
92
- foreach ($parentIds as $parentId) {
93
- $arrSku = array(
94
- "variations" => $attributeOptions,
95
- "price" => $stkPrice,
96
- "amount" => $stockQty,
97
- "ean" => $product->getData($ean),
98
- "partnerId" => $product->getSku(),
99
- "title" => $product->getName(),
100
- "idProduct" => $product->getData('id_anymarket'),
101
- "internalIdProduct" => $product->getId(),
102
- );
103
-
104
- Mage::helper('db1_anymarket/product')->sendImageSkuToAnyMarket($storeID, $product, array($arrSku));
105
- }
106
- }
107
- }
108
- }else{
109
- //PRODUTO SIMPLES E OUTROS
110
- Mage::helper('db1_anymarket/product')->sendProductToAnyMarket($storeID, $product->getId());
111
-
112
- $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
113
- Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product->getId(), $stockQty, $product->getData($filter));
114
- }
115
-
116
- }
117
 
118
- }
119
- }
120
- }else{
121
  Mage::getSingleton('core/session')->setQuickCreateProdVariable('');
 
122
  }
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  }
125
  }
126
 
@@ -132,7 +84,8 @@ class DB1_AnyMarket_Model_Observer {
132
  if( !$category->getName() ) {
133
  $category = Mage::getModel('catalog/category')->load($category->getId());
134
  }
135
- $storeID = Mage::helper('db1_anymarket')->getCurrentStoreView();
 
136
  if( $category->getData('categ_integra_anymarket') == 1 ){
137
  $amCategParent = Mage::getModel('db1_anymarket/anymarketcategories')->load($category->getParentId(), 'nmc_id_magento');
138
  if( $amCategParent->getData('nmc_cat_id') ){
@@ -170,23 +123,39 @@ class DB1_AnyMarket_Model_Observer {
170
  public function updateOrderAnyMarketObs($observer){
171
  $storeID = $observer->getEvent()->getOrder()->getStoreId();
172
  $OrderID = $observer->getEvent()->getOrder()->getIncrementId();
173
- if(Mage::registry('order_save_observer_executed_'.$OrderID )){
174
- return $this;
175
- }
 
 
176
 
177
- Mage::register('order_save_observer_executed_'.$OrderID, true);
178
- $order = $observer->getEvent()->getOrder();
179
- Mage::helper('db1_anymarket/order')->updateOrderAnyMarket($storeID, $order );
180
 
181
- //DECREMENTA STOCK ANYMARKET
182
- $orderItems = $order->getItemsCollection();
183
- $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
184
- foreach ($orderItems as $item){
185
- $product_id = $item->product_id;
186
- $_product = Mage::getModel('catalog/product')->load($product_id);
187
 
188
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product);
189
- Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product_id, $stock->getQty(), $_product->getData($filter));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  }
191
 
192
  }
@@ -214,7 +183,12 @@ class DB1_AnyMarket_Model_Observer {
214
  $event = $observer->getEvent();
215
  $_item = $event->getItem();
216
 
217
- $storeID = ($_item->getData('store_id') != null && $_item->getData('store_id') != "0") ? $_item->getData('store_id') : 1;
 
 
 
 
 
218
  $product = Mage::getModel('catalog/product')->load( $_item->getProductId() );
219
  if ( $product->getId() ) {
220
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
@@ -231,12 +205,17 @@ class DB1_AnyMarket_Model_Observer {
231
  foreach ($quote->getAllItems() as $item) {
232
  $product = Mage::getModel('catalog/product')->load( $item->getProductId() );
233
  if ( $product->getId() ) {
234
- $itemSold = $item->getTotalQty();
235
- $qty = $item->getProduct()->getStockItem()->getQty();
236
- $qtyNow = $qty - $itemSold;
237
-
238
- Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket('1', $item->getProductId(), $qtyNow, null);
239
- }
 
 
 
 
 
240
  }
241
 
242
  }
@@ -249,11 +228,16 @@ class DB1_AnyMarket_Model_Observer {
249
  foreach ($quote->getAllItems() as $item) {
250
  $product = Mage::getModel('catalog/product')->load( $item->getProductId() );
251
  if ( $product->getId() ) {
252
- $qty = $item->getProduct()->getStockItem()->getQty();
253
- $itemRevert = ($item->getTotalQty());
254
- $qtyNow = $qty + $itemRevert;
255
-
256
- Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket('1', $item->getProductId(), $qtyNow, null);
 
 
 
 
 
257
  }
258
  }
259
  }
@@ -265,8 +249,12 @@ class DB1_AnyMarket_Model_Observer {
265
  $item = $observer->getEvent()->getItem();
266
  $product = Mage::getModel('catalog/product')->load( $item->getProductId() );
267
  if ( $product->getId() ) {
268
- $storeID = ($item->getStoreId() != null && $item->getStoreId() != "0") ? $item->getStoreId() : 1;
269
- Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product->getId(), $product->getStockItem()->getQty(), null);
 
 
 
 
270
  }
271
  }
272
 
@@ -275,16 +263,20 @@ class DB1_AnyMarket_Model_Observer {
275
  */
276
  public function refundOrderInventory($observer){
277
  $creditmemo = $observer->getEvent()->getCreditmemo();
278
- $storeID = ($creditmemo->getStoreId() != null && $creditmemo->getStoreId() != "0") ? $creditmemo->getStoreId() : 1;
279
 
280
  foreach ($creditmemo->getAllItems() as $item) {
281
  $product = Mage::getModel('catalog/product')->load( $item->getProductId() );
282
  if ( $product->getId() ) {
283
  if ($item->getData('back_to_stock') == 1){
284
- $ProdLoaded = Mage::getModel('catalog/product')->setStoreId($storeID)->load($item->getProductId());
285
- $stockQty = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($ProdLoaded)->getQty();
 
 
 
286
 
287
- Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $item->getProductId(), $stockQty + (int)$item->getQty(), null);
 
288
  }
289
  }
290
  }
2
 
3
  class DB1_AnyMarket_Model_Observer {
4
 
5
+ private function asyncMode($storeID){
6
+ return Mage::getStoreConfig('anymarket_section/anymarket_general_group/anymarket_operation_type_field', $storeID);
7
+ }
8
+
9
  /**
10
  * @param $observer
11
  */
39
 
40
  /**
41
  * @param $observer
42
+ * @return array
43
  */
44
  public function sendProdAnyMarket($observer) {
45
+ $productOld = $observer->getEvent()->getProduct();
46
+ $storeID = ($productOld->getStoreId() != null && $productOld->getStoreId() != "0") ? $productOld->getStoreId() : Mage::app()->getDefaultStoreView()->getId();
47
+ try{
48
+ $ExportProdSession = Mage::getSingleton('core/session')->getImportProdsVariable();
49
+ if( $ExportProdSession == 'false' ) {
50
+ return false;
51
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
 
53
+ $QuickCreate = Mage::getSingleton('core/session')->getQuickCreateProdVariable();
54
+ if($QuickCreate != null || $QuickCreate != "" || $QuickCreate == $productOld->getSku() ) {
 
55
  Mage::getSingleton('core/session')->setQuickCreateProdVariable('');
56
+ return false;
57
  }
58
 
59
+ if( Mage::registry('prod_save_observer_executed_'.$productOld->getId()) ){
60
+ Mage::unregister( 'prod_save_observer_executed_'.$productOld->getId() );
61
+ return $this;
62
+ }
63
+ Mage::register('prod_save_observer_executed_'.$productOld->getId(), true);
64
+
65
+ $product = Mage::getModel('catalog/product')->setStoreId($storeID)->load($productOld->getId());
66
+ if( $this->asyncMode($storeID) && $product->getData('integra_anymarket') == 1 ) {
67
+ Mage::helper('db1_anymarket/queue')->addQueue($storeID, $product->getId(), 'EXP', 'PRODUCT');
68
+ return false;
69
+ }
70
+
71
+ Mage::helper('db1_anymarket/product')->prepareForSendProduct($storeID, $product);
72
+
73
+ } catch (Exception $e) {
74
+ Mage::unregister( 'prod_save_observer_executed_'.$productOld->getId() );
75
+ Mage::logException($e);
76
  }
77
  }
78
 
84
  if( !$category->getName() ) {
85
  $category = Mage::getModel('catalog/category')->load($category->getId());
86
  }
87
+
88
+ $storeID = Mage::app()->getRequest()->getParam('store') == 0 ? Mage::helper('db1_anymarket')->getCurrentStoreView() : Mage::app()->getRequest()->getParam('store');
89
  if( $category->getData('categ_integra_anymarket') == 1 ){
90
  $amCategParent = Mage::getModel('db1_anymarket/anymarketcategories')->load($category->getParentId(), 'nmc_id_magento');
91
  if( $amCategParent->getData('nmc_cat_id') ){
123
  public function updateOrderAnyMarketObs($observer){
124
  $storeID = $observer->getEvent()->getOrder()->getStoreId();
125
  $OrderID = $observer->getEvent()->getOrder()->getIncrementId();
126
+ try {
127
+ if(Mage::registry('order_save_observer_executed_'.$OrderID )){
128
+ Mage::unregister( 'order_save_observer_executed_'.$OrderID );
129
+ return $this;
130
+ }
131
 
132
+ Mage::register('order_save_observer_executed_'.$OrderID, true);
133
+ $order = $observer->getEvent()->getOrder();
 
134
 
135
+ if( $this->asyncMode($storeID) ){
136
+ Mage::helper('db1_anymarket/queue')->addQueue($storeID, $OrderID, 'EXP', 'ORDER');
137
+ }else{
138
+ Mage::helper('db1_anymarket/order')->updateOrderAnyMarket($storeID, $order );
139
+ }
 
140
 
141
+ //DECREMENTA STOCK ANYMARKET
142
+ $orderItems = $order->getItemsCollection();
143
+ $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
144
+ foreach ($orderItems as $item){
145
+ $product_id = $item->product_id;
146
+ if( $this->asyncMode($storeID) ) {
147
+ Mage::helper('db1_anymarket/queue')->addQueue($storeID, $product_id, 'EXP', 'STOCK');
148
+ }else {
149
+ $_product = Mage::getModel('catalog/product')->load($product_id);
150
+
151
+ $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product);
152
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product_id, $stock->getQty(), $_product->getData($filter));
153
+ }
154
+ }
155
+ Mage::unregister( 'order_save_observer_executed_'.$OrderID );
156
+ } catch (Exception $e) {
157
+ Mage::unregister( 'order_save_observer_executed_'.$OrderID );
158
+ Mage::logException($e);
159
  }
160
 
161
  }
183
  $event = $observer->getEvent();
184
  $_item = $event->getItem();
185
 
186
+ $storeID = ($_item->getData('store_id') != null && $_item->getData('store_id') != "0") ? $_item->getData('store_id') : Mage::app()->getDefaultStoreView()->getId();
187
+ if( $this->asyncMode($storeID) ){
188
+ Mage::helper('db1_anymarket/queue')->addQueue($storeID, $_item->getProductId(), 'EXP', 'STOCK');
189
+ return false;
190
+ }
191
+
192
  $product = Mage::getModel('catalog/product')->load( $_item->getProductId() );
193
  if ( $product->getId() ) {
194
  $filter = strtolower(Mage::getStoreConfig('anymarket_section/anymarket_attribute_group/anymarket_preco_field', $storeID));
205
  foreach ($quote->getAllItems() as $item) {
206
  $product = Mage::getModel('catalog/product')->load( $item->getProductId() );
207
  if ( $product->getId() ) {
208
+ $storeID = ($item->getStoreId() != null && $item->getStoreId() != "0") ? $item->getStoreId() : Mage::app()->getDefaultStoreView()->getId();
209
+ if( $this->asyncMode($storeID) ){
210
+ Mage::helper('db1_anymarket/queue')->addQueue($storeID, $item->getProductId(), 'EXP', 'STOCK');
211
+ }else {
212
+ $itemSold = $item->getTotalQty();
213
+ $qty = $item->getProduct()->getStockItem()->getQty();
214
+ $qtyNow = $qty - $itemSold;
215
+
216
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $item->getProductId(), $qtyNow, null);
217
+ }
218
+ }
219
  }
220
 
221
  }
228
  foreach ($quote->getAllItems() as $item) {
229
  $product = Mage::getModel('catalog/product')->load( $item->getProductId() );
230
  if ( $product->getId() ) {
231
+ $storeID = ($item->getStoreId() != null && $item->getStoreId() != "0") ? $item->getStoreId() : Mage::app()->getDefaultStoreView()->getId();
232
+ if( $this->asyncMode($storeID) ){
233
+ Mage::helper('db1_anymarket/queue')->addQueue($storeID, $item->getProductId(), 'EXP', 'STOCK');
234
+ }else{
235
+ $qty = $item->getProduct()->getStockItem()->getQty();
236
+ $itemRevert = ($item->getTotalQty());
237
+ $qtyNow = $qty + $itemRevert;
238
+
239
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $item->getProductId(), $qtyNow, null);
240
+ }
241
  }
242
  }
243
  }
249
  $item = $observer->getEvent()->getItem();
250
  $product = Mage::getModel('catalog/product')->load( $item->getProductId() );
251
  if ( $product->getId() ) {
252
+ $storeID = ($item->getStoreId() != null && $item->getStoreId() != "0") ? $item->getStoreId() : Mage::app()->getDefaultStoreView()->getId();
253
+ if( $this->asyncMode($storeID) ){
254
+ Mage::helper('db1_anymarket/queue')->addQueue($storeID, $product->getId(), 'EXP', 'STOCK');
255
+ }else{
256
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $product->getId(), $product->getStockItem()->getQty(), null);
257
+ }
258
  }
259
  }
260
 
263
  */
264
  public function refundOrderInventory($observer){
265
  $creditmemo = $observer->getEvent()->getCreditmemo();
266
+ $storeID = ($creditmemo->getStoreId() != null && $creditmemo->getStoreId() != "0") ? $creditmemo->getStoreId() : Mage::app()->getDefaultStoreView()->getId();
267
 
268
  foreach ($creditmemo->getAllItems() as $item) {
269
  $product = Mage::getModel('catalog/product')->load( $item->getProductId() );
270
  if ( $product->getId() ) {
271
  if ($item->getData('back_to_stock') == 1){
272
+ if( $this->asyncMode($storeID) ){
273
+ Mage::helper('db1_anymarket/queue')->addQueue($storeID, $item->getProductId(), 'EXP', 'STOCK');
274
+ }else {
275
+ $ProdLoaded = Mage::getModel('catalog/product')->setStoreId($storeID)->load($item->getProductId());
276
+ $stockQty = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($ProdLoaded)->getQty();
277
 
278
+ Mage::helper('db1_anymarket/product')->updatePriceStockAnyMarket($storeID, $item->getProductId(), $stockQty + (int)$item->getQty(), null);
279
+ }
280
  }
281
  }
282
  }
app/code/community/DB1/AnyMarket/Model/PaymentMethod.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketattributes.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketattributes/Collection.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketbrands.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketbrands/Collection.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketcategories.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketcategories/Collection.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketlog.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketlog/Collection.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketorders.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketorders/Collection.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketproducts.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketproducts/Collection.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketqueue.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Anymarketqueue/Collection.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/Resource/Setup.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Customer/Group/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Customer/Street/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Customer/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Product/Booleantp/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Product/Price/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Product/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Attributes/Set/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Categories/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/General/Values.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class DB1_AnyMarket_Model_System_Config_Source_General_Values
4
+ {
5
+ public function toOptionArray()
6
+ {
7
+ $retornArray = array();
8
+ $retornArray[] = array( 'label' => 'Imediato', 'value' => '0' );
9
+ $retornArray[] = array( 'label' => 'Fila Integração', 'value' => '1' );
10
+
11
+ return $retornArray;
12
+ }
13
+ }
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Logs/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Massunit/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Measurementunit/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Orders/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/Model/System/Config/Source/Typesync/Order/Values.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketattributesController.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketbrandsController.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketcategoriesController.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketlogController.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketordersController.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketproductsController.php CHANGED
@@ -63,7 +63,8 @@ class DB1_AnyMarket_Adminhtml_Anymarket_AnymarketproductsController extends DB1_
63
  public function listProdsAction()
64
  {
65
  $storeID = Mage::getSingleton('core/session')->getStoreListProdVariable();
66
- Mage::helper('db1_anymarket/product')->massUpdtProds($storeID);
 
67
  $this->_redirect('*/*/');
68
 
69
  }
63
  public function listProdsAction()
64
  {
65
  $storeID = Mage::getSingleton('core/session')->getStoreListProdVariable();
66
+ $storeID = ($storeID != null && $storeID != "0") ? $storeID : Mage::app()->getDefaultStoreView()->getId();
67
+ Mage::helper('db1_anymarket/product')->listAllProds($storeID);
68
  $this->_redirect('*/*/');
69
 
70
  }
app/code/community/DB1/AnyMarket/controllers/Adminhtml/Anymarket/AnymarketqueueController.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/controllers/Adminhtml/AnymarketController.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/controllers/IndexController.php CHANGED
@@ -21,28 +21,52 @@ class DB1_AnyMarket_IndexController extends Mage_Core_Controller_Front_Action {
21
 
22
  if ($TOKEN != '') {
23
  if ($value->type == 'ORDER') {
24
- $cache = Mage::app()->getCache();
25
 
26
- $lastProcOrder = $cache->load('order_' . $value->content->id);
27
- $lastProc = true;
28
- if ($lastProcOrder != null) {
29
- $dateOld = new DateTime(date('y-m-d H:i:s', strtotime($lastProcOrder)));
30
- $dateNew = new DateTime(date('y-m-d H:i:s'));
 
 
 
31
 
32
- $difDate = $dateOld->diff($dateNew);
33
- if ($difDate->h <= 0 && $difDate->i <= 0 && $difDate->s <= 20) {
34
- $lastProc = false;
 
 
 
 
 
 
 
35
  }
36
- }
37
 
38
- if ($lastProc) {
39
- $cache->save(date('y-m-d H:i:s'), 'order_' . $value->content->id, array($value->content->id), 60 * 60);
40
 
41
- Mage::helper('db1_anymarket/order')->getSpecificOrderFromAnyMarket($value->content->id, "notoken", $storeID);
 
 
 
 
 
 
42
  }
43
  } elseif ($value->type == 'TRANSMISSION') {
44
  $listTransmissions = array();
45
 
 
 
 
 
 
 
 
 
 
 
46
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
47
 
48
  $headers = array(
@@ -58,9 +82,14 @@ class DB1_AnyMarket_IndexController extends Mage_Core_Controller_Front_Action {
58
  );
59
 
60
  $JSON = json_encode($listTransmissions);
61
- $transRet = Mage::helper('db1_anymarket/product')->getSpecificFeedProduct($storeID, json_decode($JSON), $headers, $HOST);
62
-
63
- echo $transRet;
 
 
 
 
 
64
  }
65
  } else {
66
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
21
 
22
  if ($TOKEN != '') {
23
  if ($value->type == 'ORDER') {
 
24
 
25
+ if( Mage::registry('callback_order_executed_'.$value->content->id ) ){
26
+ Mage::unregister( 'callback_order_executed_'.$value->content->id );
27
+ return $this;
28
+ }
29
+ Mage::register('callback_order_executed_'.$value->content->id, true);
30
+
31
+ try{
32
+ $cache = Mage::app()->getCache();
33
 
34
+ $lastProcOrder = $cache->load('order_' . $value->content->id);
35
+ $lastProc = true;
36
+ if ($lastProcOrder != null) {
37
+ $dateOld = new DateTime(date('y-m-d H:i:s', strtotime($lastProcOrder)));
38
+ $dateNew = new DateTime(date('y-m-d H:i:s'));
39
+
40
+ $difDate = $dateOld->diff($dateNew);
41
+ if ($difDate->h <= 0 && $difDate->i <= 0 && $difDate->s <= 20) {
42
+ $lastProc = false;
43
+ }
44
  }
 
45
 
46
+ if ($lastProc) {
47
+ $cache->save(date('y-m-d H:i:s'), 'order_' . $value->content->id, array($value->content->id), 60 * 60);
48
 
49
+ Mage::helper('db1_anymarket/order')->getSpecificOrderFromAnyMarket($value->content->id, "notoken", $storeID);
50
+ }
51
+ Mage::unregister( 'callback_order_executed_'.$value->content->id );
52
+ } catch (Exception $e) {
53
+ echo "Erro ao inserir Pedido, verificar os logs do Magento";
54
+ Mage::unregister( 'callback_order_executed_'.$value->content->id );
55
+ Mage::logException($e);
56
  }
57
  } elseif ($value->type == 'TRANSMISSION') {
58
  $listTransmissions = array();
59
 
60
+ if( !Mage::helper('db1_anymarket/product')->validateCallbackReceiver($storeID, $value->content->id) ){
61
+ $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
62
+ $anymarketlog->setLogDesc('Callback Rejected');
63
+ $anymarketlog->setLogJson(file_get_contents('php://input'));
64
+ $anymarketlog->setStatus("0");
65
+ $anymarketlog->save();
66
+
67
+ return $this;
68
+ }
69
+
70
  $HOST = Mage::getStoreConfig('anymarket_section/anymarket_acesso_group/anymarket_host_field', $storeID);
71
 
72
  $headers = array(
82
  );
83
 
84
  $JSON = json_encode($listTransmissions);
85
+ $sincMode = Mage::getStoreConfig('anymarket_section/anymarket_general_group/anymarket_operation_type_field', $storeID);
86
+ if( $sincMode ) {
87
+ Mage::helper('db1_anymarket/queue')->addQueue($storeID, $value->content->id, 'IMP', 'PRODUCT');
88
+ echo "Adicionado na fila Magento.";
89
+ }else{
90
+ $transRet = Mage::helper('db1_anymarket/product')->getSpecificFeedProduct($storeID, json_decode($JSON), $headers, $HOST);
91
+ echo $transRet;
92
+ }
93
  }
94
  } else {
95
  $anymarketlog = Mage::getModel('db1_anymarket/anymarketlog');
app/code/community/DB1/AnyMarket/etc/adminhtml.xml CHANGED
File without changes
app/code/community/DB1/AnyMarket/etc/api.xml CHANGED
File without changes
app/code/community/DB1/AnyMarket/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <DB1_AnyMarket>
5
- <version>2.5.1</version>
6
  </DB1_AnyMarket>
7
  </modules>
8
  <global>
@@ -263,6 +263,8 @@
263
  <anymarket_integration_prod_group>
264
  <anymarket_type_prod_sync_field>0</anymarket_type_prod_sync_field>
265
  <anymarket_type_weight_field>0</anymarket_type_weight_field>
 
 
266
  </anymarket_integration_prod_group>
267
 
268
  <anymarket_integration_order_group>
@@ -287,13 +289,12 @@
287
  <anymarket_price_factor_field>markup</anymarket_price_factor_field>
288
  <anymarket_add1_field>street</anymarket_add1_field>
289
  <anymarket_add2_field>number</anymarket_add2_field>
290
- <anymarket_add3_field>comment</anymarket_add3_field>>
291
- <anymarket_add4_field>neighborhood</anymarket_add4_field>>
292
  </anymarket_attribute_group>
293
 
294
  <anymarket_cron_group>
295
- <anymarket_order_field>1</anymarket_order_field>
296
- <anymarket_product_field>1</anymarket_product_field>
297
  </anymarket_cron_group>
298
 
299
  <anymarket_logs_group>
@@ -305,20 +306,16 @@
305
  <!-- CRON -->
306
  <crontab>
307
  <jobs>
308
- <db1_anymarket_getorders>
309
- <schedule><cron_expr>0 0,12 * * *</cron_expr></schedule> <!-- 12 horas -->
310
- <run><model>db1_anymarket/cron::sincOrders</model></run>
311
- </db1_anymarket_getorders>
312
- <db1_anymarket_getprods>
313
- <schedule><cron_expr>0 * * * *</cron_expr></schedule> <!-- 1 hora -->
314
- <run><model>db1_anymarket/cron::sincProducts</model></run>
315
- </db1_anymarket_getprods>
316
  <db1_anymarket_cleanlogs>
317
  <schedule><cron_expr>5 5 * * 6</cron_expr></schedule> <!-- 1 vez por semana -->
318
  <run><model>db1_anymarket/cron::executeCleanLogs</model></run>
319
  </db1_anymarket_cleanlogs>
320
  <db1_anymarket_executereindex>
321
- <schedule><cron_expr>59 0 * * * </cron_expr></schedule> <!-- 15 min -->
322
  <run><model>db1_anymarket/cron::executeReindex</model></run>
323
  </db1_anymarket_executereindex>
324
  <db1_anymarket_execqueue>
2
  <config>
3
  <modules>
4
  <DB1_AnyMarket>
5
+ <version>2.10.1</version>
6
  </DB1_AnyMarket>
7
  </modules>
8
  <global>
263
  <anymarket_integration_prod_group>
264
  <anymarket_type_prod_sync_field>0</anymarket_type_prod_sync_field>
265
  <anymarket_type_weight_field>0</anymarket_type_weight_field>
266
+ <anymarket_transform_http_image_field>0</anymarket_transform_http_image_field>
267
+ <anymarket_transform_process_image_field>0</anymarket_transform_process_image_field>
268
  </anymarket_integration_prod_group>
269
 
270
  <anymarket_integration_order_group>
289
  <anymarket_price_factor_field>markup</anymarket_price_factor_field>
290
  <anymarket_add1_field>street</anymarket_add1_field>
291
  <anymarket_add2_field>number</anymarket_add2_field>
292
+ <anymarket_add3_field>comment</anymarket_add3_field>
293
+ <anymarket_add4_field>neighborhood</anymarket_add4_field>
294
  </anymarket_attribute_group>
295
 
296
  <anymarket_cron_group>
297
+ <anymarket_order_field>0</anymarket_order_field>
 
298
  </anymarket_cron_group>
299
 
300
  <anymarket_logs_group>
306
  <!-- CRON -->
307
  <crontab>
308
  <jobs>
309
+ <db1_anymarket_getstocks>
310
+ <schedule><cron_expr>*/2 * * * *</cron_expr></schedule> <!-- 2 minutos -->
311
+ <run><model>db1_anymarket/cron::sincStocks</model></run>
312
+ </db1_anymarket_getstocks>
 
 
 
 
313
  <db1_anymarket_cleanlogs>
314
  <schedule><cron_expr>5 5 * * 6</cron_expr></schedule> <!-- 1 vez por semana -->
315
  <run><model>db1_anymarket/cron::executeCleanLogs</model></run>
316
  </db1_anymarket_cleanlogs>
317
  <db1_anymarket_executereindex>
318
+ <schedule><cron_expr>59 0 * * * </cron_expr></schedule> <!-- toda madrugada -->
319
  <run><model>db1_anymarket/cron::executeReindex</model></run>
320
  </db1_anymarket_executereindex>
321
  <db1_anymarket_execqueue>
app/code/community/DB1/AnyMarket/etc/system.xml CHANGED
@@ -2,13 +2,13 @@
2
  <config>
3
  <tabs>
4
  <anymarket_tab module="db1_anymarket" translate="label">
5
- <label>DB1</label>
6
  <sort_order>100</sort_order>
7
  </anymarket_tab>
8
  </tabs>
9
  <sections>
10
  <anymarket_section module="db1_anymarket" translate="label">
11
- <label>AnyMarket</label>
12
  <sort_order>200</sort_order>
13
  <show_in_default>0</show_in_default>
14
  <show_in_website>0</show_in_website>
@@ -93,10 +93,20 @@
93
  <show_in_store>1</show_in_store>
94
  <fields>
95
 
 
 
 
 
 
 
 
 
 
 
96
  <anymarket_header_validation_field>
97
  <label>Validações</label>
98
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
99
- <sort_order>0</sort_order>
100
  <show_in_default>0</show_in_default>
101
  <show_in_website>0</show_in_website>
102
  <show_in_store>1</show_in_store>
@@ -106,7 +116,7 @@
106
  <label>Check the configurations</label>
107
  <frontend_type>Button</frontend_type>
108
  <frontend_model>db1_anymarket/adminhtml_system_config_form_buttoncheckconfig</frontend_model>
109
- <sort_order>1</sort_order>
110
  <show_in_default>0</show_in_default>
111
  <show_in_website>0</show_in_website>
112
  <show_in_store>1</show_in_store>
@@ -230,11 +240,10 @@
230
  <show_in_store>1</show_in_store>
231
  </anymarket_header_access_field>
232
 
233
- <anymarket_order_field translate="label tooltip comment">
234
  <label>Enable CRON of Order</label>
235
  <sort_order>1</sort_order>
236
  <comment>Cron responsible for synchronizing orders if there are any errors.</comment>
237
- <tooltip>Disable only if you are sure, you can generate not synchronized orders.</tooltip>
238
  <show_in_default>0</show_in_default>
239
  <show_in_website>0</show_in_website>
240
  <show_in_store>1</show_in_store>
@@ -242,18 +251,6 @@
242
  <source_model>adminhtml/system_config_source_yesno</source_model>
243
  </anymarket_order_field>
244
 
245
- <anymarket_product_field translate="label tooltip comment">
246
- <label>Enable CRON of Product</label>
247
- <sort_order>2</sort_order>
248
- <comment>Cron responsible for synchronizing products if there are any errors.</comment>
249
- <tooltip>Disable only if you are sure, you can generate not synchronized products.</tooltip>
250
- <show_in_default>0</show_in_default>
251
- <show_in_website>0</show_in_website>
252
- <show_in_store>1</show_in_store>
253
- <frontend_type>select</frontend_type>
254
- <source_model>adminhtml/system_config_source_yesno</source_model>
255
- </anymarket_product_field>
256
-
257
  <anymarket_reindex_field translate="label tooltip comment">
258
  <label>Enable CRON of Reindex</label>
259
  <sort_order>3</sort_order>
@@ -415,6 +412,7 @@
415
  <frontend_type>select</frontend_type>
416
  <source_model>db1_anymarket/system_config_source_massunit_values</source_model>
417
  </anymarket_type_weight_field>
 
418
  <anymarket_type_size_field translate="label comment">
419
  <label>Unit of measurement</label>
420
  <comment>Select how you will be treated to their size AnyMarket.</comment>
@@ -425,27 +423,95 @@
425
  <frontend_type>select</frontend_type>
426
  <source_model>db1_anymarket/system_config_source_measurementunit_values</source_model>
427
  </anymarket_type_size_field>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
428
  <anymarket_export_image_field translate="label comment tooltip">
429
  <label>Ignore invalid resolution</label>
430
  <comment>Import products even when it has invalid resolution.</comment>
431
  <tooltip>In Anymarket there is a restriction on the image, it is required to have 350px by 350px and less than 4mb, if this option is checked, this validation is for Anymarket account.</tooltip>
432
- <sort_order>5</sort_order>
433
  <show_in_default>0</show_in_default>
434
  <show_in_website>0</show_in_website>
435
  <show_in_store>1</show_in_store>
436
  <frontend_type>select</frontend_type>
437
  <source_model>adminhtml/system_config_source_yesno</source_model>
438
  </anymarket_export_image_field>
439
- <anymarket_atribute_set_field translate="label comment">
440
- <label>Atribute set</label>
441
- <comment>Set of attributes that should be registered the Anymarket products.</comment>
442
- <sort_order>6</sort_order>
 
 
443
  <show_in_default>0</show_in_default>
444
  <show_in_website>0</show_in_website>
445
  <show_in_store>1</show_in_store>
446
  <frontend_type>select</frontend_type>
447
- <source_model>db1_anymarket/system_config_source_attributes_set_values</source_model>
448
- </anymarket_atribute_set_field>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
449
 
450
  </fields>
451
  </anymarket_integration_prod_group>
@@ -765,10 +831,21 @@
765
  <show_in_store>1</show_in_store>
766
  <fields>
767
 
 
 
 
 
 
 
 
 
 
 
 
768
  <anymarket_header_order_field>
769
  <label>Fluxo de Integração</label>
770
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
771
- <sort_order>0</sort_order>
772
  <show_in_default>0</show_in_default>
773
  <show_in_website>0</show_in_website>
774
  <show_in_store>1</show_in_store>
@@ -777,7 +854,7 @@
777
  <anymarket_type_order_sync_field translate="label tooltip comment">
778
  <label>Type Synchronization</label>
779
  <comment>If checked Magento for Anymarket, orders from the magento will be registered in anymarket. If checked Anymarket for Magento, anymarket's orders will be registered in magento.</comment>
780
- <sort_order>1</sort_order>
781
  <show_in_default>0</show_in_default>
782
  <show_in_website>0</show_in_website>
783
  <show_in_store>1</show_in_store>
@@ -788,18 +865,29 @@
788
  <anymarket_header_order_imp_field>
789
  <label>Status a serem importados do Anymarket</label>
790
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
791
- <sort_order>2</sort_order>
792
  <show_in_default>0</show_in_default>
793
  <show_in_website>0</show_in_website>
794
  <show_in_store>2</show_in_store>
795
  </anymarket_header_order_imp_field>
796
 
 
 
 
 
 
 
 
 
 
 
 
797
  <anymarket_stauts_order_field translate="label tooltip comment">
798
  <label>Status Order</label>
799
  <comment>Status of orders that must be imported.</comment>
800
  <frontend_type>multiselect</frontend_type>
801
  <source_model>db1_anymarket/system_config_source_orders_values</source_model>
802
- <sort_order>3</sort_order>
803
  <show_in_default>0</show_in_default>
804
  <show_in_website>0</show_in_website>
805
  <show_in_store>1</show_in_store>
@@ -808,7 +896,7 @@
808
  <anymarket_header_am_mg_field>
809
  <label>Anymarket para Magento</label>
810
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
811
- <sort_order>4</sort_order>
812
  <show_in_default>0</show_in_default>
813
  <show_in_website>0</show_in_website>
814
  <show_in_store>2</show_in_store>
@@ -818,7 +906,7 @@
818
  <label>Status Order (Anymarket to Magento)</label>
819
  <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
820
  <frontend_model>db1_anymarket/system_config_source_orders_statusammg_values</frontend_model>
821
- <sort_order>5</sort_order>
822
  <show_in_default>0</show_in_default>
823
  <show_in_website>0</show_in_website>
824
  <show_in_store>1</show_in_store>
@@ -828,7 +916,7 @@
828
  <anymarket_header_mg_am_field>
829
  <label>Magento para Anymarket</label>
830
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
831
- <sort_order>6</sort_order>
832
  <show_in_default>0</show_in_default>
833
  <show_in_website>0</show_in_website>
834
  <show_in_store>2</show_in_store>
@@ -838,7 +926,7 @@
838
  <label>Status Order (Magento to Anymarket)</label>
839
  <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
840
  <frontend_model>db1_anymarket/system_config_source_orders_statusmgam_values</frontend_model>
841
- <sort_order>7</sort_order>
842
  <show_in_default>0</show_in_default>
843
  <show_in_website>0</show_in_website>
844
  <show_in_store>1</show_in_store>
@@ -849,7 +937,7 @@
849
  </anymarket_integration_order_group>
850
 
851
  <anymarket_information_group translate="label" module="db1_anymarket">
852
- <label>Important informations</label>
853
  <sort_order>6</sort_order>
854
  <show_in_default>0</show_in_default>
855
  <show_in_website>0</show_in_website>
@@ -857,8 +945,10 @@
857
  <comment>
858
  <![CDATA[
859
  <div>
860
- <h3>v. 2.5.1 Desenvolvido por<br> NovaPC - Tecnologia da Informação.</h3>
861
- <img src="http://novapc.com.br/images/logo.png" alt="Smiley face" height="200" width="300">
 
 
862
  <br>
863
  <br>
864
  Site: <a href="http://www.novapc.com.br/" target="_blank">www.novapc.com.br/</a>
@@ -867,6 +957,10 @@
867
  <br>
868
  Telefone: 14-2104-5600
869
  <br>
 
 
 
 
870
  <b>Acesse o github do projeto: <a target="_blank" href="https://github.com/AnyMarket/magento">https://github.com/AnyMarket/magento</a></b>
871
  </div>
872
  ]]>
2
  <config>
3
  <tabs>
4
  <anymarket_tab module="db1_anymarket" translate="label">
5
+ <label>AnyMarket</label>
6
  <sort_order>100</sort_order>
7
  </anymarket_tab>
8
  </tabs>
9
  <sections>
10
  <anymarket_section module="db1_anymarket" translate="label">
11
+ <label>Configurações</label>
12
  <sort_order>200</sort_order>
13
  <show_in_default>0</show_in_default>
14
  <show_in_website>0</show_in_website>
93
  <show_in_store>1</show_in_store>
94
  <fields>
95
 
96
+ <anymarket_operation_type_field>
97
+ <label>Tipo de Operação</label>
98
+ <frontend_type>select</frontend_type>
99
+ <source_model>db1_anymarket/system_config_source_general_values</source_model>
100
+ <sort_order>0</sort_order>
101
+ <show_in_default>0</show_in_default>
102
+ <show_in_website>0</show_in_website>
103
+ <show_in_store>1</show_in_store>
104
+ </anymarket_operation_type_field>
105
+
106
  <anymarket_header_validation_field>
107
  <label>Validações</label>
108
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
109
+ <sort_order>1</sort_order>
110
  <show_in_default>0</show_in_default>
111
  <show_in_website>0</show_in_website>
112
  <show_in_store>1</show_in_store>
116
  <label>Check the configurations</label>
117
  <frontend_type>Button</frontend_type>
118
  <frontend_model>db1_anymarket/adminhtml_system_config_form_buttoncheckconfig</frontend_model>
119
+ <sort_order>2</sort_order>
120
  <show_in_default>0</show_in_default>
121
  <show_in_website>0</show_in_website>
122
  <show_in_store>1</show_in_store>
240
  <show_in_store>1</show_in_store>
241
  </anymarket_header_access_field>
242
 
243
+ <anymarket_order_field translate="label comment">
244
  <label>Enable CRON of Order</label>
245
  <sort_order>1</sort_order>
246
  <comment>Cron responsible for synchronizing orders if there are any errors.</comment>
 
247
  <show_in_default>0</show_in_default>
248
  <show_in_website>0</show_in_website>
249
  <show_in_store>1</show_in_store>
251
  <source_model>adminhtml/system_config_source_yesno</source_model>
252
  </anymarket_order_field>
253
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  <anymarket_reindex_field translate="label tooltip comment">
255
  <label>Enable CRON of Reindex</label>
256
  <sort_order>3</sort_order>
412
  <frontend_type>select</frontend_type>
413
  <source_model>db1_anymarket/system_config_source_massunit_values</source_model>
414
  </anymarket_type_weight_field>
415
+
416
  <anymarket_type_size_field translate="label comment">
417
  <label>Unit of measurement</label>
418
  <comment>Select how you will be treated to their size AnyMarket.</comment>
423
  <frontend_type>select</frontend_type>
424
  <source_model>db1_anymarket/system_config_source_measurementunit_values</source_model>
425
  </anymarket_type_size_field>
426
+
427
+ <anymarket_atribute_set_field translate="label comment">
428
+ <label>Atribute set</label>
429
+ <comment>Set of attributes that should be registered the Anymarket products.</comment>
430
+ <sort_order>5</sort_order>
431
+ <show_in_default>0</show_in_default>
432
+ <show_in_website>0</show_in_website>
433
+ <show_in_store>1</show_in_store>
434
+ <frontend_type>select</frontend_type>
435
+ <source_model>db1_anymarket/system_config_source_attributes_set_values</source_model>
436
+ </anymarket_atribute_set_field>
437
+
438
+ <anymarket_bind_product_field translate="label comment">
439
+ <label>Associate duplicate products</label>
440
+ <comment>With this marked parameter, when a product with a sku in Anymarket, it will be automatically connected.</comment>
441
+ <sort_order>6</sort_order>
442
+ <show_in_default>0</show_in_default>
443
+ <show_in_website>0</show_in_website>
444
+ <show_in_store>1</show_in_store>
445
+ <frontend_type>select</frontend_type>
446
+ <source_model>adminhtml/system_config_source_yesno</source_model>
447
+ </anymarket_bind_product_field>
448
+
449
+ <anymarket_header_images_field>
450
+ <label>Imagens</label>
451
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
452
+ <sort_order>7</sort_order>
453
+ <show_in_default>0</show_in_default>
454
+ <show_in_website>0</show_in_website>
455
+ <show_in_store>1</show_in_store>
456
+ </anymarket_header_images_field>
457
+
458
  <anymarket_export_image_field translate="label comment tooltip">
459
  <label>Ignore invalid resolution</label>
460
  <comment>Import products even when it has invalid resolution.</comment>
461
  <tooltip>In Anymarket there is a restriction on the image, it is required to have 350px by 350px and less than 4mb, if this option is checked, this validation is for Anymarket account.</tooltip>
462
+ <sort_order>8</sort_order>
463
  <show_in_default>0</show_in_default>
464
  <show_in_website>0</show_in_website>
465
  <show_in_store>1</show_in_store>
466
  <frontend_type>select</frontend_type>
467
  <source_model>adminhtml/system_config_source_yesno</source_model>
468
  </anymarket_export_image_field>
469
+
470
+ <anymarket_transform_http_image_field translate="label comment tooltip">
471
+ <label>Send image as HTTP</label>
472
+ <comment>If set to yes, will transform HTTPS to HTTP images for sending.</comment>
473
+ <tooltip>This feature will not work if your magento not allow access images as HTTP.</tooltip>
474
+ <sort_order>9</sort_order>
475
  <show_in_default>0</show_in_default>
476
  <show_in_website>0</show_in_website>
477
  <show_in_store>1</show_in_store>
478
  <frontend_type>select</frontend_type>
479
+ <source_model>adminhtml/system_config_source_yesno</source_model>
480
+ </anymarket_transform_http_image_field>
481
+
482
+ <anymarket_transform_process_image_field translate="label comment tooltip">
483
+ <label>Enable Image Processing</label>
484
+ <sort_order>10</sort_order>
485
+ <comment>Enabling this parameter images are processed before being sent to Anymarket.</comment>
486
+ <tooltip>Product images are reduced to the Anymarket accepted.</tooltip>
487
+ <show_in_default>0</show_in_default>
488
+ <show_in_website>0</show_in_website>
489
+ <show_in_store>1</show_in_store>
490
+ <frontend_type>select</frontend_type>
491
+ <source_model>adminhtml/system_config_source_yesno</source_model>
492
+ </anymarket_transform_process_image_field>
493
+
494
+ <anymarket_width_image_field translate="label tooltip comment">
495
+ <label>Width</label>
496
+ <sort_order>11</sort_order>
497
+ <comment>Width of the image.</comment>
498
+ <tooltip>Width that the image will be resized.</tooltip>
499
+ <show_in_default>0</show_in_default>
500
+ <show_in_website>0</show_in_website>
501
+ <show_in_store>1</show_in_store>
502
+ <frontend_type>text</frontend_type>
503
+ </anymarket_width_image_field>
504
+
505
+ <anymarket_height_image_field translate="label tooltip comment">
506
+ <label>Height</label>
507
+ <sort_order>12</sort_order>
508
+ <comment>Height of the image.</comment>
509
+ <tooltip>Height that the image will be resized.</tooltip>
510
+ <show_in_default>0</show_in_default>
511
+ <show_in_website>0</show_in_website>
512
+ <show_in_store>1</show_in_store>
513
+ <frontend_type>text</frontend_type>
514
+ </anymarket_height_image_field>
515
 
516
  </fields>
517
  </anymarket_integration_prod_group>
831
  <show_in_store>1</show_in_store>
832
  <fields>
833
 
834
+ <anymarket_estimate_date_field translate="label tooltip comment">
835
+ <label>Dias adicionais Data Estimada de Entrega</label>
836
+ <sort_order>0</sort_order>
837
+ <comment>Caso não seja informado, enviará 10 dias adicionais.</comment>
838
+ <tooltip>Quantidade de dias que será adicionada a data de envio para o campo Data Estimada.</tooltip>
839
+ <show_in_default>0</show_in_default>
840
+ <show_in_website>0</show_in_website>
841
+ <show_in_store>1</show_in_store>
842
+ <frontend_type>text</frontend_type>
843
+ </anymarket_estimate_date_field>
844
+
845
  <anymarket_header_order_field>
846
  <label>Fluxo de Integração</label>
847
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
848
+ <sort_order>1</sort_order>
849
  <show_in_default>0</show_in_default>
850
  <show_in_website>0</show_in_website>
851
  <show_in_store>1</show_in_store>
854
  <anymarket_type_order_sync_field translate="label tooltip comment">
855
  <label>Type Synchronization</label>
856
  <comment>If checked Magento for Anymarket, orders from the magento will be registered in anymarket. If checked Anymarket for Magento, anymarket's orders will be registered in magento.</comment>
857
+ <sort_order>2</sort_order>
858
  <show_in_default>0</show_in_default>
859
  <show_in_website>0</show_in_website>
860
  <show_in_store>1</show_in_store>
865
  <anymarket_header_order_imp_field>
866
  <label>Status a serem importados do Anymarket</label>
867
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
868
+ <sort_order>3</sort_order>
869
  <show_in_default>0</show_in_default>
870
  <show_in_website>0</show_in_website>
871
  <show_in_store>2</show_in_store>
872
  </anymarket_header_order_imp_field>
873
 
874
+ <anymarket_create_reg_pay_field translate="label comment">
875
+ <label>Create payment record when importing paid</label>
876
+ <comment>By checking to yes, when it is imported into an application status paid in Anymarket, a record in Invoice will be created, remember to link a status that allows billing with PAGO.</comment>
877
+ <sort_order>4</sort_order>
878
+ <show_in_default>0</show_in_default>
879
+ <show_in_website>0</show_in_website>
880
+ <show_in_store>1</show_in_store>
881
+ <frontend_type>select</frontend_type>
882
+ <source_model>adminhtml/system_config_source_yesno</source_model>
883
+ </anymarket_create_reg_pay_field>
884
+
885
  <anymarket_stauts_order_field translate="label tooltip comment">
886
  <label>Status Order</label>
887
  <comment>Status of orders that must be imported.</comment>
888
  <frontend_type>multiselect</frontend_type>
889
  <source_model>db1_anymarket/system_config_source_orders_values</source_model>
890
+ <sort_order>5</sort_order>
891
  <show_in_default>0</show_in_default>
892
  <show_in_website>0</show_in_website>
893
  <show_in_store>1</show_in_store>
896
  <anymarket_header_am_mg_field>
897
  <label>Anymarket para Magento</label>
898
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
899
+ <sort_order>6</sort_order>
900
  <show_in_default>0</show_in_default>
901
  <show_in_website>0</show_in_website>
902
  <show_in_store>2</show_in_store>
906
  <label>Status Order (Anymarket to Magento)</label>
907
  <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
908
  <frontend_model>db1_anymarket/system_config_source_orders_statusammg_values</frontend_model>
909
+ <sort_order>7</sort_order>
910
  <show_in_default>0</show_in_default>
911
  <show_in_website>0</show_in_website>
912
  <show_in_store>1</show_in_store>
916
  <anymarket_header_mg_am_field>
917
  <label>Magento para Anymarket</label>
918
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
919
+ <sort_order>8</sort_order>
920
  <show_in_default>0</show_in_default>
921
  <show_in_website>0</show_in_website>
922
  <show_in_store>2</show_in_store>
926
  <label>Status Order (Magento to Anymarket)</label>
927
  <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
928
  <frontend_model>db1_anymarket/system_config_source_orders_statusmgam_values</frontend_model>
929
+ <sort_order>9</sort_order>
930
  <show_in_default>0</show_in_default>
931
  <show_in_website>0</show_in_website>
932
  <show_in_store>1</show_in_store>
937
  </anymarket_integration_order_group>
938
 
939
  <anymarket_information_group translate="label" module="db1_anymarket">
940
+ <label>About</label>
941
  <sort_order>6</sort_order>
942
  <show_in_default>0</show_in_default>
943
  <show_in_website>0</show_in_website>
945
  <comment>
946
  <![CDATA[
947
  <div>
948
+ <h2>v. 2.10.1</h2>
949
+ <hr>
950
+ <h3>Desenvolvido por<br> NovaPC - Tecnologia da Informação.</h3>
951
+ <img src="http://novapc.com.br/images/logo.png" alt="NovaPC" height="100" width="150">
952
  <br>
953
  <br>
954
  Site: <a href="http://www.novapc.com.br/" target="_blank">www.novapc.com.br/</a>
957
  <br>
958
  Telefone: 14-2104-5600
959
  <br>
960
+ <br>
961
+ <h3>Mantido por Anymarket.</h3>
962
+ <img src="http://anymarket.com.br/assets/img/logo.png" alt="Anymarket">
963
+ <br>
964
  <b>Acesse o github do projeto: <a target="_blank" href="https://github.com/AnyMarket/magento">https://github.com/AnyMarket/magento</a></b>
965
  </div>
966
  ]]>
app/code/community/DB1/AnyMarket/etc/wsdl.xml CHANGED
File without changes
app/code/community/DB1/AnyMarket/etc/wsi.xml CHANGED
File without changes
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-install-1.0.0.php CHANGED
@@ -1,605 +1,645 @@
1
  <?php
2
  $this->startSetup();
3
- $table = $this->getConnection()
4
- ->newTable($this->getTable('db1_anymarket/anymarketlog'))
5
- ->addColumn(
6
- 'entity_id',
7
- Varien_Db_Ddl_Table::TYPE_INTEGER,
8
- null,
9
- array(
10
- 'identity' => true,
11
- 'nullable' => false,
12
- 'primary' => true,
13
- ),
14
- 'AnyMarket Log ID'
15
- )
16
- ->addColumn(
17
- 'log_id',
18
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
19
- array(
20
- 'nullable' => false,
21
- ),
22
- 'Identificação do produto ou pedido'
23
- )
24
- ->addColumn(
25
- 'log_desc',
26
- Varien_Db_Ddl_Table::TYPE_TEXT, 500,
27
- array(
28
- 'nullable' => false,
29
- ),
30
- 'Descrição Log'
31
- )
32
- ->addColumn(
33
- 'status',
34
- Varien_Db_Ddl_Table::TYPE_SMALLINT, null,
35
- array(),
36
- 'Enabled'
37
- )
38
- ->addColumn(
39
- 'updated_at',
40
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
41
- null,
42
- array(),
43
- 'AnyMarket Log Modification Time'
44
- )
45
- ->addColumn(
46
- 'created_at',
47
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
48
- null,
49
- array(),
50
- 'AnyMarket Log Creation Time'
51
- )
52
- ->setComment('AnyMarket Log Table');
53
- $this->getConnection()->createTable($table);
54
- $table = $this->getConnection()
55
- ->newTable($this->getTable('db1_anymarket/anymarketproducts'))
56
- ->addColumn(
57
- 'entity_id',
58
- Varien_Db_Ddl_Table::TYPE_INTEGER,
59
- null,
60
- array(
61
- 'identity' => true,
62
- 'nullable' => false,
63
- 'primary' => true,
64
- ),
65
- 'Anymarket Products ID'
66
- )
67
- ->addColumn(
68
- 'nmp_id',
69
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
70
- array(
71
- 'nullable' => false,
72
- ),
73
- 'ID do produto'
74
- )
75
- ->addColumn(
76
- 'nmp_sku',
77
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
78
- array(
79
- 'nullable' => false,
80
- ),
81
- 'SKU do produto'
82
- )
83
- ->addColumn(
84
- 'nmp_name',
85
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
86
- array(
87
- 'nullable' => false,
88
- ),
89
- 'Nome do Produto'
90
- )
91
- ->addColumn(
92
- 'nmp_desc_error',
93
- Varien_Db_Ddl_Table::TYPE_TEXT, 500,
94
- array(
95
- 'nullable' => false,
96
- ),
97
- 'Descrição do Erro'
98
- )
99
- ->addColumn(
100
- 'nmp_status_int',
101
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
102
- array(
103
- 'nullable' => false,
104
- ),
105
- 'Status Integração'
106
- )
107
- ->addColumn(
108
- 'status',
109
- Varien_Db_Ddl_Table::TYPE_SMALLINT, null,
110
- array(),
111
- 'Enabled'
112
- )
113
- ->addColumn(
114
- 'updated_at',
115
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
116
- null,
117
- array(),
118
- 'Anymarket Products Modification Time'
119
- )
120
- ->addColumn(
121
- 'created_at',
122
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
123
- null,
124
- array(),
125
- 'Anymarket Products Creation Time'
126
- )
127
- ->setComment('Anymarket Products Table');
128
- $this->getConnection()->createTable($table);
129
- $table = $this->getConnection()
130
- ->newTable($this->getTable('db1_anymarket/anymarketattributes'))
131
- ->addColumn(
132
- 'entity_id',
133
- Varien_Db_Ddl_Table::TYPE_INTEGER,
134
- null,
135
- array(
136
- 'identity' => true,
137
- 'nullable' => false,
138
- 'primary' => true,
139
- ),
140
- 'Anymarket Attributes ID'
141
- )
142
- ->addColumn(
143
- 'nma_id_attr',
144
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
145
- array(
146
- 'nullable' => false,
147
- ),
148
- 'Código do Atributo'
149
- )
150
- ->addColumn(
151
- 'nma_desc',
152
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
153
- array(
154
- 'nullable' => false,
155
- ),
156
- 'Descrição do Atributo'
157
- )
158
- ->addColumn(
159
- 'status',
160
- Varien_Db_Ddl_Table::TYPE_SMALLINT, null,
161
- array(),
162
- 'Enabled'
163
- )
164
- ->addColumn(
165
- 'updated_at',
166
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
167
- null,
168
- array(),
169
- 'Anymarket Attributes Modification Time'
170
- )
171
- ->addColumn(
172
- 'created_at',
173
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
174
- null,
175
- array(),
176
- 'Anymarket Attributes Creation Time'
177
- )
178
- ->setComment('Anymarket Attributes Table');
179
- $this->getConnection()->createTable($table);
180
- $table = $this->getConnection()
181
- ->newTable($this->getTable('db1_anymarket/anymarketorders'))
182
- ->addColumn(
183
- 'entity_id',
184
- Varien_Db_Ddl_Table::TYPE_INTEGER,
185
- null,
186
- array(
187
- 'identity' => true,
188
- 'nullable' => false,
189
- 'primary' => true,
190
- ),
191
- 'Anymarket Orders ID'
192
- )
193
- ->addColumn(
194
- 'nmo_id_anymarket',
195
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
196
- array(
197
- 'nullable' => false,
198
- ),
199
- 'Código no AnyMarket'
200
- )
201
- ->addColumn(
202
- 'nmo_id_seq_anymarket',
203
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
204
- array(
205
- 'nullable' => false,
206
- ),
207
- 'Código sequencial no AnyMarket'
208
- )
209
- ->addColumn(
210
- 'nmo_id_order',
211
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
212
- array(
213
- 'nullable' => false,
214
- ),
215
- 'Código Venda Magento'
216
- )
217
- ->addColumn(
218
- 'nmo_status_int',
219
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
220
- array(
221
- 'nullable' => false,
222
- ),
223
- 'Status Integração'
224
- )
225
- ->addColumn(
226
- 'nmo_desc_error',
227
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
228
- array(
229
- 'nullable' => false,
230
- ),
231
- 'Descrição do Erro'
232
- )
233
- ->addColumn(
234
- 'updated_at',
235
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
236
- null,
237
- array(),
238
- 'Anymarket Orders Modification Time'
239
- )
240
- ->addColumn(
241
- 'created_at',
242
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
243
- null,
244
- array(),
245
- 'Anymarket Orders Creation Time'
246
- )
247
- ->setComment('Anymarket Orders Table');
248
- $this->getConnection()->createTable($table);
249
- $table = $this->getConnection()
250
- ->newTable($this->getTable('db1_anymarket/anymarketcategories'))
251
- ->addColumn(
252
- 'entity_id',
253
- Varien_Db_Ddl_Table::TYPE_INTEGER,
254
- null,
255
- array(
256
- 'identity' => true,
257
- 'nullable' => false,
258
- 'primary' => true,
259
- ),
260
- 'Anymarket Categories ID'
261
- )
262
- ->addColumn(
263
- 'nmc_cat_id',
264
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
265
- array(
266
- 'nullable' => false,
267
- ),
268
- 'Código completo da Categoria'
269
- )
270
- ->addColumn(
271
- 'nmc_cat_root_id',
272
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
273
- array(
274
- 'nullable' => false,
275
- ),
276
- 'Código da categoria antecessora'
277
- )
278
- ->addColumn(
279
- 'nmc_cat_desc',
280
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
281
- array(
282
- 'nullable' => false,
283
- ),
284
- 'Decrição da Categoria'
285
- )
286
- ->addColumn(
287
- 'nmc_id_magento',
288
- Varien_Db_Ddl_Table::TYPE_TEXT, 255,
289
- array(),
290
- 'ID Category in Magento'
291
- )
292
- ->addColumn(
293
- 'status',
294
- Varien_Db_Ddl_Table::TYPE_SMALLINT, null,
295
- array(),
296
- 'Enabled'
297
- )
298
- ->addColumn(
299
- 'updated_at',
300
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
301
- null,
302
- array(),
303
- 'Anymarket Categories Modification Time'
304
- )
305
- ->addColumn(
306
- 'created_at',
307
- Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
308
- null,
309
- array(),
310
- 'Anymarket Categories Creation Time'
311
- )
312
- ->setComment('Anymarket Categories Table');
313
- $this->getConnection()->createTable($table);
314
- $table = $this->getConnection()
315
- ->newTable($this->getTable('db1_anymarket/anymarketlog_store'))
316
- ->addColumn(
317
- 'anymarketlog_id',
318
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
319
- null,
320
- array(
321
- 'nullable' => false,
322
- 'primary' => true,
323
- ),
324
- 'AnyMarket Log ID'
325
- )
326
- ->addColumn(
327
- 'store_id',
328
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
329
- null,
330
- array(
331
- 'unsigned' => true,
332
- 'nullable' => false,
333
- 'primary' => true,
334
- ),
335
- 'Store ID'
336
- )
337
- ->addIndex(
338
- $this->getIdxName(
339
- 'db1_anymarket/anymarketlog_store',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
340
  array('store_id')
341
- ),
342
- array('store_id')
343
- )
344
- ->addForeignKey(
345
- $this->getFkName(
346
- 'db1_anymarket/anymarketlog_store',
 
 
347
  'anymarketlog_id',
348
- 'db1_anymarket/anymarketlog',
349
- 'entity_id'
350
- ),
351
- 'anymarketlog_id',
352
- $this->getTable('db1_anymarket/anymarketlog'),
353
- 'entity_id',
354
- Varien_Db_Ddl_Table::ACTION_CASCADE,
355
- Varien_Db_Ddl_Table::ACTION_CASCADE
356
- )
357
- ->addForeignKey(
358
- $this->getFkName(
359
- 'db1_anymarket/anymarketlog_store',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
360
  'store_id',
361
- 'core/store',
362
- 'store_id'
363
- ),
364
- 'store_id',
365
- $this->getTable('core/store'),
366
- 'store_id',
367
- Varien_Db_Ddl_Table::ACTION_CASCADE,
368
- Varien_Db_Ddl_Table::ACTION_CASCADE
369
- )
370
- ->setComment('AnyMarket Log To Store Linkage Table');
371
- $this->getConnection()->createTable($table);
372
- $table = $this->getConnection()
373
- ->newTable($this->getTable('db1_anymarket/anymarketproducts_store'))
374
- ->addColumn(
375
- 'anymarketproducts_id',
376
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
377
- null,
378
- array(
379
- 'nullable' => false,
380
- 'primary' => true,
381
- ),
382
- 'Anymarket Products ID'
383
- )
384
- ->addColumn(
385
- 'store_id',
386
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
387
- null,
388
- array(
389
- 'unsigned' => true,
390
- 'nullable' => false,
391
- 'primary' => true,
392
- ),
393
- 'Store ID'
394
- )
395
- ->addIndex(
396
- $this->getIdxName(
397
- 'db1_anymarket/anymarketproducts_store',
398
  array('store_id')
399
- ),
400
- array('store_id')
401
- )
402
- ->addForeignKey(
403
- $this->getFkName(
404
- 'db1_anymarket/anymarketproducts_store',
 
 
405
  'anymarketproducts_id',
406
- 'db1_anymarket/anymarketproducts',
407
- 'entity_id'
408
- ),
409
- 'anymarketproducts_id',
410
- $this->getTable('db1_anymarket/anymarketproducts'),
411
- 'entity_id',
412
- Varien_Db_Ddl_Table::ACTION_CASCADE,
413
- Varien_Db_Ddl_Table::ACTION_CASCADE
414
- )
415
- ->addForeignKey(
416
- $this->getFkName(
417
- 'db1_anymarket/anymarketproducts_store',
418
  'store_id',
419
- 'core/store',
420
- 'store_id'
421
- ),
422
- 'store_id',
423
- $this->getTable('core/store'),
424
- 'store_id',
425
- Varien_Db_Ddl_Table::ACTION_CASCADE,
426
- Varien_Db_Ddl_Table::ACTION_CASCADE
427
- )
428
- ->setComment('Anymarket Products To Store Linkage Table');
429
- $this->getConnection()->createTable($table);
430
- $table = $this->getConnection()
431
- ->newTable($this->getTable('db1_anymarket/anymarketattributes_store'))
432
- ->addColumn(
433
- 'anymarketattributes_id',
434
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
435
- null,
436
- array(
437
- 'nullable' => false,
438
- 'primary' => true,
439
- ),
440
- 'Anymarket Attributes ID'
441
- )
442
- ->addColumn(
443
- 'store_id',
444
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
445
- null,
446
- array(
447
- 'unsigned' => true,
448
- 'nullable' => false,
449
- 'primary' => true,
450
- ),
451
- 'Store ID'
452
- )
453
- ->addIndex(
454
- $this->getIdxName(
455
- 'db1_anymarket/anymarketattributes_store',
 
 
456
  array('store_id')
457
- ),
458
- array('store_id')
459
- )
460
- ->addForeignKey(
461
- $this->getFkName(
462
- 'db1_anymarket/anymarketattributes_store',
 
 
463
  'anymarketattributes_id',
464
- 'db1_anymarket/anymarketattributes',
465
- 'entity_id'
466
- ),
467
- 'anymarketattributes_id',
468
- $this->getTable('db1_anymarket/anymarketattributes'),
469
- 'entity_id',
470
- Varien_Db_Ddl_Table::ACTION_CASCADE,
471
- Varien_Db_Ddl_Table::ACTION_CASCADE
472
- )
473
- ->addForeignKey(
474
- $this->getFkName(
475
- 'db1_anymarket/anymarketattributes_store',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
476
  'store_id',
477
- 'core/store',
478
- 'store_id'
479
- ),
480
- 'store_id',
481
- $this->getTable('core/store'),
482
- 'store_id',
483
- Varien_Db_Ddl_Table::ACTION_CASCADE,
484
- Varien_Db_Ddl_Table::ACTION_CASCADE
485
- )
486
- ->setComment('Anymarket Attributes To Store Linkage Table');
487
- $this->getConnection()->createTable($table);
488
- $table = $this->getConnection()
489
- ->newTable($this->getTable('db1_anymarket/anymarketorders_store'))
490
- ->addColumn(
491
- 'anymarketorders_id',
492
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
493
- null,
494
- array(
495
- 'nullable' => false,
496
- 'primary' => true,
497
- ),
498
- 'Anymarket Orders ID'
499
- )
500
- ->addColumn(
501
- 'store_id',
502
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
503
- null,
504
- array(
505
- 'unsigned' => true,
506
- 'nullable' => false,
507
- 'primary' => true,
508
- ),
509
- 'Store ID'
510
- )
511
- ->addIndex(
512
- $this->getIdxName(
513
- 'db1_anymarket/anymarketorders_store',
514
  array('store_id')
515
- ),
516
- array('store_id')
517
- )
518
- ->addForeignKey(
519
- $this->getFkName(
520
- 'db1_anymarket/anymarketorders_store',
 
 
521
  'anymarketorders_id',
522
- 'db1_anymarket/anymarketorders',
523
- 'entity_id'
524
- ),
525
- 'anymarketorders_id',
526
- $this->getTable('db1_anymarket/anymarketorders'),
527
- 'entity_id',
528
- Varien_Db_Ddl_Table::ACTION_CASCADE,
529
- Varien_Db_Ddl_Table::ACTION_CASCADE
530
- )
531
- ->addForeignKey(
532
- $this->getFkName(
533
- 'db1_anymarket/anymarketorders_store',
 
 
534
  'store_id',
535
- 'core/store',
536
- 'store_id'
537
- ),
538
- 'store_id',
539
- $this->getTable('core/store'),
540
- 'store_id',
541
- Varien_Db_Ddl_Table::ACTION_CASCADE,
542
- Varien_Db_Ddl_Table::ACTION_CASCADE
543
- )
544
- ->setComment('Anymarket Orders To Store Linkage Table');
545
- $this->getConnection()->createTable($table);
546
 
547
- $table = $this->getConnection()
548
- ->newTable($this->getTable('db1_anymarket/anymarketcategories_store'))
549
- ->addColumn(
550
- 'anymarketcategories_id',
551
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
552
- null,
553
- array(
554
- 'nullable' => false,
555
- 'primary' => true,
556
- ),
557
- 'Anymarket Categories ID'
558
- )
559
- ->addColumn(
560
- 'store_id',
561
- Varien_Db_Ddl_Table::TYPE_SMALLINT,
562
- null,
563
- array(
564
- 'unsigned' => true,
565
- 'nullable' => false,
566
- 'primary' => true,
567
- ),
568
- 'Store ID'
569
- )
570
- ->addIndex(
571
- $this->getIdxName(
572
- 'db1_anymarket/anymarketcategories_store',
 
 
 
 
573
  array('store_id')
574
- ),
575
- array('store_id')
576
- )
577
- ->addForeignKey(
578
- $this->getFkName(
579
- 'db1_anymarket/anymarketcategories_store',
 
 
580
  'anymarketcategories_id',
581
- 'db1_anymarket/anymarketcategories',
582
- 'entity_id'
583
- ),
584
- 'anymarketcategories_id',
585
- $this->getTable('db1_anymarket/anymarketcategories'),
586
- 'entity_id',
587
- Varien_Db_Ddl_Table::ACTION_CASCADE,
588
- Varien_Db_Ddl_Table::ACTION_CASCADE
589
- )
590
- ->addForeignKey(
591
- $this->getFkName(
592
- 'db1_anymarket/anymarketcategories_store',
 
 
593
  'store_id',
594
- 'core/store',
595
- 'store_id'
596
- ),
597
- 'store_id',
598
- $this->getTable('core/store'),
599
- 'store_id',
600
- Varien_Db_Ddl_Table::ACTION_CASCADE,
601
- Varien_Db_Ddl_Table::ACTION_CASCADE
602
- )
603
- ->setComment('Anymarket Categories To Store Linkage Table');
604
- $this->getConnection()->createTable($table);
605
  $this->endSetup();
1
  <?php
2
  $this->startSetup();
3
+
4
+ $tableName = $this->getTable('db1_anymarket/anymarketlog');
5
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
6
+ $table = $this->getConnection()
7
+ ->newTable($tableName)
8
+ ->addColumn(
9
+ 'entity_id',
10
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
11
+ null,
12
+ array(
13
+ 'identity' => true,
14
+ 'nullable' => false,
15
+ 'primary' => true,
16
+ ),
17
+ 'AnyMarket Log ID'
18
+ )
19
+ ->addColumn(
20
+ 'log_id',
21
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
22
+ array(
23
+ 'nullable' => false,
24
+ ),
25
+ 'Identificação do produto ou pedido'
26
+ )
27
+ ->addColumn(
28
+ 'log_desc',
29
+ Varien_Db_Ddl_Table::TYPE_TEXT, 500,
30
+ array(
31
+ 'nullable' => false,
32
+ ),
33
+ 'Descrição Log'
34
+ )
35
+ ->addColumn(
36
+ 'status',
37
+ Varien_Db_Ddl_Table::TYPE_SMALLINT, null,
38
+ array(),
39
+ 'Enabled'
40
+ )
41
+ ->addColumn(
42
+ 'updated_at',
43
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
44
+ null,
45
+ array(),
46
+ 'AnyMarket Log Modification Time'
47
+ )
48
+ ->addColumn(
49
+ 'created_at',
50
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
51
+ null,
52
+ array(),
53
+ 'AnyMarket Log Creation Time'
54
+ )
55
+ ->setComment('AnyMarket Log Table');
56
+ $this->getConnection()->createTable($table);
57
+ }
58
+
59
+ $tableName = $this->getTable('db1_anymarket/anymarketproducts');
60
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
61
+ $table = $this->getConnection()
62
+ ->newTable($tableName)
63
+ ->addColumn(
64
+ 'entity_id',
65
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
66
+ null,
67
+ array(
68
+ 'identity' => true,
69
+ 'nullable' => false,
70
+ 'primary' => true,
71
+ ),
72
+ 'Anymarket Products ID'
73
+ )
74
+ ->addColumn(
75
+ 'nmp_id',
76
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
77
+ array(
78
+ 'nullable' => false,
79
+ ),
80
+ 'ID do produto'
81
+ )
82
+ ->addColumn(
83
+ 'nmp_sku',
84
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
85
+ array(
86
+ 'nullable' => false,
87
+ ),
88
+ 'SKU do produto'
89
+ )
90
+ ->addColumn(
91
+ 'nmp_name',
92
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
93
+ array(
94
+ 'nullable' => false,
95
+ ),
96
+ 'Nome do Produto'
97
+ )
98
+ ->addColumn(
99
+ 'nmp_desc_error',
100
+ Varien_Db_Ddl_Table::TYPE_TEXT, 500,
101
+ array(
102
+ 'nullable' => false,
103
+ ),
104
+ 'Descrição do Erro'
105
+ )
106
+ ->addColumn(
107
+ 'nmp_status_int',
108
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
109
+ array(
110
+ 'nullable' => false,
111
+ ),
112
+ 'Status Integração'
113
+ )
114
+ ->addColumn(
115
+ 'status',
116
+ Varien_Db_Ddl_Table::TYPE_SMALLINT, null,
117
+ array(),
118
+ 'Enabled'
119
+ )
120
+ ->addColumn(
121
+ 'updated_at',
122
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
123
+ null,
124
+ array(),
125
+ 'Anymarket Products Modification Time'
126
+ )
127
+ ->addColumn(
128
+ 'created_at',
129
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
130
+ null,
131
+ array(),
132
+ 'Anymarket Products Creation Time'
133
+ )
134
+ ->setComment('Anymarket Products Table');
135
+ $this->getConnection()->createTable($table);
136
+ }
137
+
138
+ $tableName = $this->getTable('db1_anymarket/anymarketattributes');
139
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
140
+ $table = $this->getConnection()
141
+ ->newTable($tableName)
142
+ ->addColumn(
143
+ 'entity_id',
144
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
145
+ null,
146
+ array(
147
+ 'identity' => true,
148
+ 'nullable' => false,
149
+ 'primary' => true,
150
+ ),
151
+ 'Anymarket Attributes ID'
152
+ )
153
+ ->addColumn(
154
+ 'nma_id_attr',
155
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
156
+ array(
157
+ 'nullable' => false,
158
+ ),
159
+ 'Código do Atributo'
160
+ )
161
+ ->addColumn(
162
+ 'nma_desc',
163
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
164
+ array(
165
+ 'nullable' => false,
166
+ ),
167
+ 'Descrição do Atributo'
168
+ )
169
+ ->addColumn(
170
+ 'status',
171
+ Varien_Db_Ddl_Table::TYPE_SMALLINT, null,
172
+ array(),
173
+ 'Enabled'
174
+ )
175
+ ->addColumn(
176
+ 'updated_at',
177
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
178
+ null,
179
+ array(),
180
+ 'Anymarket Attributes Modification Time'
181
+ )
182
+ ->addColumn(
183
+ 'created_at',
184
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
185
+ null,
186
+ array(),
187
+ 'Anymarket Attributes Creation Time'
188
+ )
189
+ ->setComment('Anymarket Attributes Table');
190
+ $this->getConnection()->createTable($table);
191
+ }
192
+
193
+ $tableName = $this->getTable('db1_anymarket/anymarketorders');
194
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
195
+ $table = $this->getConnection()
196
+ ->newTable($tableName)
197
+ ->addColumn(
198
+ 'entity_id',
199
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
200
+ null,
201
+ array(
202
+ 'identity' => true,
203
+ 'nullable' => false,
204
+ 'primary' => true,
205
+ ),
206
+ 'Anymarket Orders ID'
207
+ )
208
+ ->addColumn(
209
+ 'nmo_id_anymarket',
210
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
211
+ array(
212
+ 'nullable' => false,
213
+ ),
214
+ 'Código no AnyMarket'
215
+ )
216
+ ->addColumn(
217
+ 'nmo_id_seq_anymarket',
218
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
219
+ array(
220
+ 'nullable' => false,
221
+ ),
222
+ 'Código sequencial no AnyMarket'
223
+ )
224
+ ->addColumn(
225
+ 'nmo_id_order',
226
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
227
+ array(
228
+ 'nullable' => false,
229
+ ),
230
+ 'Código Venda Magento'
231
+ )
232
+ ->addColumn(
233
+ 'nmo_status_int',
234
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
235
+ array(
236
+ 'nullable' => false,
237
+ ),
238
+ 'Status Integração'
239
+ )
240
+ ->addColumn(
241
+ 'nmo_desc_error',
242
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
243
+ array(
244
+ 'nullable' => false,
245
+ ),
246
+ 'Descrição do Erro'
247
+ )
248
+ ->addColumn(
249
+ 'updated_at',
250
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
251
+ null,
252
+ array(),
253
+ 'Anymarket Orders Modification Time'
254
+ )
255
+ ->addColumn(
256
+ 'created_at',
257
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
258
+ null,
259
+ array(),
260
+ 'Anymarket Orders Creation Time'
261
+ )
262
+ ->setComment('Anymarket Orders Table');
263
+ $this->getConnection()->createTable($table);
264
+ }
265
+
266
+ $tableName = $this->getTable('db1_anymarket/anymarketcategories');
267
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
268
+ $table = $this->getConnection()
269
+ ->newTable($tableName)
270
+ ->addColumn(
271
+ 'entity_id',
272
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
273
+ null,
274
+ array(
275
+ 'identity' => true,
276
+ 'nullable' => false,
277
+ 'primary' => true,
278
+ ),
279
+ 'Anymarket Categories ID'
280
+ )
281
+ ->addColumn(
282
+ 'nmc_cat_id',
283
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
284
+ array(
285
+ 'nullable' => false,
286
+ ),
287
+ 'Código completo da Categoria'
288
+ )
289
+ ->addColumn(
290
+ 'nmc_cat_root_id',
291
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
292
+ array(
293
+ 'nullable' => false,
294
+ ),
295
+ 'Código da categoria antecessora'
296
+ )
297
+ ->addColumn(
298
+ 'nmc_cat_desc',
299
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
300
+ array(
301
+ 'nullable' => false,
302
+ ),
303
+ 'Decrição da Categoria'
304
+ )
305
+ ->addColumn(
306
+ 'nmc_id_magento',
307
+ Varien_Db_Ddl_Table::TYPE_TEXT, 255,
308
+ array(),
309
+ 'ID Category in Magento'
310
+ )
311
+ ->addColumn(
312
+ 'status',
313
+ Varien_Db_Ddl_Table::TYPE_SMALLINT, null,
314
+ array(),
315
+ 'Enabled'
316
+ )
317
+ ->addColumn(
318
+ 'updated_at',
319
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
320
+ null,
321
+ array(),
322
+ 'Anymarket Categories Modification Time'
323
+ )
324
+ ->addColumn(
325
+ 'created_at',
326
+ Varien_Db_Ddl_Table::TYPE_TIMESTAMP,
327
+ null,
328
+ array(),
329
+ 'Anymarket Categories Creation Time'
330
+ )
331
+ ->setComment('Anymarket Categories Table');
332
+ $this->getConnection()->createTable($table);
333
+ }
334
+
335
+ $tableName = $this->getTable('db1_anymarket/anymarketlog_store');
336
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
337
+ $table = $this->getConnection()
338
+ ->newTable($tableName)
339
+ ->addColumn(
340
+ 'anymarketlog_id',
341
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
342
+ null,
343
+ array(
344
+ 'nullable' => false,
345
+ 'primary' => true,
346
+ ),
347
+ 'AnyMarket Log ID'
348
+ )
349
+ ->addColumn(
350
+ 'store_id',
351
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
352
+ null,
353
+ array(
354
+ 'unsigned' => true,
355
+ 'nullable' => false,
356
+ 'primary' => true,
357
+ ),
358
+ 'Store ID'
359
+ )
360
+ ->addIndex(
361
+ $this->getIdxName(
362
+ 'db1_anymarket/anymarketlog_store',
363
+ array('store_id')
364
+ ),
365
  array('store_id')
366
+ )
367
+ ->addForeignKey(
368
+ $this->getFkName(
369
+ 'db1_anymarket/anymarketlog_store',
370
+ 'anymarketlog_id',
371
+ 'db1_anymarket/anymarketlog',
372
+ 'entity_id'
373
+ ),
374
  'anymarketlog_id',
375
+ $this->getTable('db1_anymarket/anymarketlog'),
376
+ 'entity_id',
377
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
378
+ Varien_Db_Ddl_Table::ACTION_CASCADE
379
+ )
380
+ ->addForeignKey(
381
+ $this->getFkName(
382
+ 'db1_anymarket/anymarketlog_store',
383
+ 'store_id',
384
+ 'core/store',
385
+ 'store_id'
386
+ ),
387
+ 'store_id',
388
+ $this->getTable('core/store'),
389
+ 'store_id',
390
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
391
+ Varien_Db_Ddl_Table::ACTION_CASCADE
392
+ )
393
+ ->setComment('AnyMarket Log To Store Linkage Table');
394
+ $this->getConnection()->createTable($table);
395
+ }
396
+
397
+
398
+ $tableName = $this->getTable('db1_anymarket/anymarketproducts_store');
399
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
400
+ $table = $this->getConnection()
401
+ ->newTable($tableName)
402
+ ->addColumn(
403
+ 'anymarketproducts_id',
404
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
405
+ null,
406
+ array(
407
+ 'nullable' => false,
408
+ 'primary' => true,
409
+ ),
410
+ 'Anymarket Products ID'
411
+ )
412
+ ->addColumn(
413
  'store_id',
414
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
415
+ null,
416
+ array(
417
+ 'unsigned' => true,
418
+ 'nullable' => false,
419
+ 'primary' => true,
420
+ ),
421
+ 'Store ID'
422
+ )
423
+ ->addIndex(
424
+ $this->getIdxName(
425
+ 'db1_anymarket/anymarketproducts_store',
426
+ array('store_id')
427
+ ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
428
  array('store_id')
429
+ )
430
+ ->addForeignKey(
431
+ $this->getFkName(
432
+ 'db1_anymarket/anymarketproducts_store',
433
+ 'anymarketproducts_id',
434
+ 'db1_anymarket/anymarketproducts',
435
+ 'entity_id'
436
+ ),
437
  'anymarketproducts_id',
438
+ $this->getTable('db1_anymarket/anymarketproducts'),
439
+ 'entity_id',
440
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
441
+ Varien_Db_Ddl_Table::ACTION_CASCADE
442
+ )
443
+ ->addForeignKey(
444
+ $this->getFkName(
445
+ 'db1_anymarket/anymarketproducts_store',
446
+ 'store_id',
447
+ 'core/store',
448
+ 'store_id'
449
+ ),
450
  'store_id',
451
+ $this->getTable('core/store'),
452
+ 'store_id',
453
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
454
+ Varien_Db_Ddl_Table::ACTION_CASCADE
455
+ )
456
+ ->setComment('Anymarket Products To Store Linkage Table');
457
+ $this->getConnection()->createTable($table);
458
+ }
459
+
460
+ $tableName = $this->getTable('db1_anymarket/anymarketattributes_store');
461
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
462
+ $table = $this->getConnection()
463
+ ->newTable($tableName)
464
+ ->addColumn(
465
+ 'anymarketattributes_id',
466
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
467
+ null,
468
+ array(
469
+ 'nullable' => false,
470
+ 'primary' => true,
471
+ ),
472
+ 'Anymarket Attributes ID'
473
+ )
474
+ ->addColumn(
475
+ 'store_id',
476
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
477
+ null,
478
+ array(
479
+ 'unsigned' => true,
480
+ 'nullable' => false,
481
+ 'primary' => true,
482
+ ),
483
+ 'Store ID'
484
+ )
485
+ ->addIndex(
486
+ $this->getIdxName(
487
+ 'db1_anymarket/anymarketattributes_store',
488
+ array('store_id')
489
+ ),
490
  array('store_id')
491
+ )
492
+ ->addForeignKey(
493
+ $this->getFkName(
494
+ 'db1_anymarket/anymarketattributes_store',
495
+ 'anymarketattributes_id',
496
+ 'db1_anymarket/anymarketattributes',
497
+ 'entity_id'
498
+ ),
499
  'anymarketattributes_id',
500
+ $this->getTable('db1_anymarket/anymarketattributes'),
501
+ 'entity_id',
502
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
503
+ Varien_Db_Ddl_Table::ACTION_CASCADE
504
+ )
505
+ ->addForeignKey(
506
+ $this->getFkName(
507
+ 'db1_anymarket/anymarketattributes_store',
508
+ 'store_id',
509
+ 'core/store',
510
+ 'store_id'
511
+ ),
512
+ 'store_id',
513
+ $this->getTable('core/store'),
514
+ 'store_id',
515
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
516
+ Varien_Db_Ddl_Table::ACTION_CASCADE
517
+ )
518
+ ->setComment('Anymarket Attributes To Store Linkage Table');
519
+ $this->getConnection()->createTable($table);
520
+ }
521
+
522
+ $tableName = $this->getTable('db1_anymarket/anymarketorders_store');
523
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
524
+ $table = $this->getConnection()
525
+ ->newTable($tableName)
526
+ ->addColumn(
527
+ 'anymarketorders_id',
528
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
529
+ null,
530
+ array(
531
+ 'nullable' => false,
532
+ 'primary' => true,
533
+ ),
534
+ 'Anymarket Orders ID'
535
+ )
536
+ ->addColumn(
537
  'store_id',
538
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
539
+ null,
540
+ array(
541
+ 'unsigned' => true,
542
+ 'nullable' => false,
543
+ 'primary' => true,
544
+ ),
545
+ 'Store ID'
546
+ )
547
+ ->addIndex(
548
+ $this->getIdxName(
549
+ 'db1_anymarket/anymarketorders_store',
550
+ array('store_id')
551
+ ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
552
  array('store_id')
553
+ )
554
+ ->addForeignKey(
555
+ $this->getFkName(
556
+ 'db1_anymarket/anymarketorders_store',
557
+ 'anymarketorders_id',
558
+ 'db1_anymarket/anymarketorders',
559
+ 'entity_id'
560
+ ),
561
  'anymarketorders_id',
562
+ $this->getTable('db1_anymarket/anymarketorders'),
563
+ 'entity_id',
564
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
565
+ Varien_Db_Ddl_Table::ACTION_CASCADE
566
+ )
567
+ ->addForeignKey(
568
+ $this->getFkName(
569
+ 'db1_anymarket/anymarketorders_store',
570
+ 'store_id',
571
+ 'core/store',
572
+ 'store_id'
573
+ ),
574
+ 'store_id',
575
+ $this->getTable('core/store'),
576
  'store_id',
577
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
578
+ Varien_Db_Ddl_Table::ACTION_CASCADE
579
+ )
580
+ ->setComment('Anymarket Orders To Store Linkage Table');
581
+ $this->getConnection()->createTable($table);
582
+ }
 
 
 
 
 
583
 
584
+ $tableName = $this->getTable('db1_anymarket/anymarketcategories_store');
585
+ if( $this->getConnection()->isTableExists( $tableName ) != true ) {
586
+ $table = $this->getConnection()
587
+ ->newTable($tableName)
588
+ ->addColumn(
589
+ 'anymarketcategories_id',
590
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
591
+ null,
592
+ array(
593
+ 'nullable' => false,
594
+ 'primary' => true,
595
+ ),
596
+ 'Anymarket Categories ID'
597
+ )
598
+ ->addColumn(
599
+ 'store_id',
600
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
601
+ null,
602
+ array(
603
+ 'unsigned' => true,
604
+ 'nullable' => false,
605
+ 'primary' => true,
606
+ ),
607
+ 'Store ID'
608
+ )
609
+ ->addIndex(
610
+ $this->getIdxName(
611
+ 'db1_anymarket/anymarketcategories_store',
612
+ array('store_id')
613
+ ),
614
  array('store_id')
615
+ )
616
+ ->addForeignKey(
617
+ $this->getFkName(
618
+ 'db1_anymarket/anymarketcategories_store',
619
+ 'anymarketcategories_id',
620
+ 'db1_anymarket/anymarketcategories',
621
+ 'entity_id'
622
+ ),
623
  'anymarketcategories_id',
624
+ $this->getTable('db1_anymarket/anymarketcategories'),
625
+ 'entity_id',
626
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
627
+ Varien_Db_Ddl_Table::ACTION_CASCADE
628
+ )
629
+ ->addForeignKey(
630
+ $this->getFkName(
631
+ 'db1_anymarket/anymarketcategories_store',
632
+ 'store_id',
633
+ 'core/store',
634
+ 'store_id'
635
+ ),
636
+ 'store_id',
637
+ $this->getTable('core/store'),
638
  'store_id',
639
+ Varien_Db_Ddl_Table::ACTION_CASCADE,
640
+ Varien_Db_Ddl_Table::ACTION_CASCADE
641
+ )
642
+ ->setComment('Anymarket Categories To Store Linkage Table');
643
+ $this->getConnection()->createTable($table);
644
+ }
 
 
 
 
 
645
  $this->endSetup();
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.0.0-1.1.0.php CHANGED
@@ -59,7 +59,7 @@ $config = array(
59
  'input' => 'text',
60
  'apply_to' => 'simple,bundle,grouped,configurable',
61
  'user_defined' => 1,
62
- 'note' => '<a style="cursor:pointer" onclick="showDialogCategory();">Selecione uma categoria para subir ao Anymarket</a>'
63
  );
64
 
65
  $setup->addAttribute('catalog_product', $codigo, $config);
59
  'input' => 'text',
60
  'apply_to' => 'simple,bundle,grouped,configurable',
61
  'user_defined' => 1,
62
+ 'note' => '<a style="cursor:pointer" onclick="showDialogCategory();">Selecione uma categoria para enviar ao Anymarket</a>'
63
  );
64
 
65
  $setup->addAttribute('catalog_product', $codigo, $config);
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.1.0-1.2.0.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.2.0-1.3.0.php CHANGED
@@ -3,6 +3,7 @@ $installer = $this;
3
  $installer->startSetup();
4
 
5
  $resource = Mage::getSingleton('core/resource');
 
6
 
7
  function getMagentoVersion()
8
  {
@@ -17,49 +18,49 @@ function _tableExists($table, $resource)
17
  }
18
 
19
  $sql = '';
20
- $table = 'db1_anymarket_anymarketattributes01';
21
  if (_tableExists($table, $resource)) {
22
- $sql = "ALTER TABLE db1_anymarket_anymarketattributes01 RENAME db1_anymarket_anymarketattributes;";
23
- $sql .= "ALTER TABLE db1_anymarket_anymarketattributes01_store RENAME db1_anymarket_anymarketattributes_store;";
24
  $sql .= "SET foreign_key_checks = 0;";
25
- $sql .= "ALTER TABLE `db1_anymarket_anymarketattributes_store` CHANGE `anymarketattributes01_id` `anymarketattributes_id` int(11) NOT NULL;";
26
- $sql .= "ALTER TABLE `db1_anymarket_anymarketattributes_store` ADD CONSTRAINT `fk13_anymarketattributes_id` FOREIGN KEY ( `anymarketattributes_id` ) REFERENCES `db1_anymarket_anymarketattributes` ( `entity_id` );";
27
  }
28
 
29
- $table = 'db1_anymarket_anymarketcategories01';
30
  if (_tableExists($table, $resource)) {
31
- $sql .= "ALTER TABLE db1_anymarket_anymarketcategories01 RENAME db1_anymarket_anymarketcategories;";
32
- $sql .= "ALTER TABLE db1_anymarket_anymarketcategories01_store RENAME db1_anymarket_anymarketcategories_store;";
33
  $sql .= "SET foreign_key_checks = 0;";
34
- $sql .= "ALTER TABLE `db1_anymarket_anymarketcategories_store` CHANGE `anymarketcategories01_id` `anymarketcategories_id` int(11) NOT NULL;";
35
- $sql .= "ALTER TABLE `db1_anymarket_anymarketcategories_store` ADD CONSTRAINT `fk13_anymarketcategories_id` FOREIGN KEY ( `anymarketcategories_id` ) REFERENCES `db1_anymarket_anymarketcategories` ( `entity_id` );";
36
  }
37
 
38
- $table = 'db1_anymarket_anymarketlog01';
39
  if (_tableExists($table, $resource)) {
40
- $sql .= "ALTER TABLE db1_anymarket_anymarketlog01 RENAME db1_anymarket_anymarketlog;";
41
- $sql .= "ALTER TABLE db1_anymarket_anymarketlog01_store RENAME db1_anymarket_anymarketlog_store;";
42
  $sql .= "SET foreign_key_checks = 0;";
43
- $sql .= "ALTER TABLE `db1_anymarket_anymarketlog_store` CHANGE `anymarketlog01_id` `anymarketlog_id` int(11) NOT NULL;";
44
- $sql .= "ALTER TABLE `db1_anymarket_anymarketlog_store` ADD CONSTRAINT `fk13_anymarketlog_id` FOREIGN KEY ( `anymarketlog_id` ) REFERENCES `db1_anymarket_anymarketlog` ( `entity_id` );";
45
  }
46
 
47
- $table = 'db1_anymarket_anymarketorders01';
48
  if (_tableExists($table, $resource)) {
49
- $sql .= "ALTER TABLE db1_anymarket_anymarketorders01 RENAME db1_anymarket_anymarketorders;";
50
- $sql .= "ALTER TABLE db1_anymarket_anymarketorders01_store RENAME db1_anymarket_anymarketorders_store;";
51
  $sql .= "SET foreign_key_checks = 0;";
52
- $sql .= "ALTER TABLE `db1_anymarket_anymarketorders_store` CHANGE `anymarketorders01_id` `anymarketorders_id` int(11) NOT NULL;";
53
- $sql .= "ALTER TABLE `db1_anymarket_anymarketorders_store` ADD CONSTRAINT `fk13_anymarketcategories_id` FOREIGN KEY ( `anymarketcategories_id` ) REFERENCES `db1_anymarket_anymarketcategories` ( `entity_id` );";
54
  }
55
 
56
- $table = 'db1_anymarket_anymarketproducts01';
57
  if (_tableExists($table, $resource)) {
58
- $sql .= "ALTER TABLE db1_anymarket_anymarketproducts01 RENAME db1_anymarket_anymarketproducts;";
59
- $sql .= "ALTER TABLE db1_anymarket_anymarketproducts01_store RENAME db1_anymarket_anymarketproducts_store;";
60
  $sql .= "SET foreign_key_checks = 0;";
61
- $sql .= "ALTER TABLE `db1_anymarket_anymarketproducts_store` CHANGE `anymarketproducts01_id` `anymarketproducts_id` int(11) NOT NULL;";
62
- $sql .= "ALTER TABLE `db1_anymarket_anymarketproducts_store` ADD CONSTRAINT `fk13_anymarketcategories_id` FOREIGN KEY ( `anymarketcategories_id` ) REFERENCES `db1_anymarket_anymarketcategories` ( `entity_id` );";
63
  }
64
 
65
  if ($sql != '') {
3
  $installer->startSetup();
4
 
5
  $resource = Mage::getSingleton('core/resource');
6
+ $tp = (string)Mage::getConfig()->getTablePrefix();
7
 
8
  function getMagentoVersion()
9
  {
18
  }
19
 
20
  $sql = '';
21
+ $table = $tp.'db1_anymarket_anymarketattributes01';
22
  if (_tableExists($table, $resource)) {
23
+ $sql = "ALTER TABLE ".$tp."db1_anymarket_anymarketattributes01 RENAME db1_anymarket_anymarketattributes;";
24
+ $sql .= "ALTER TABLE ".$tp."db1_anymarket_anymarketattributes01_store RENAME db1_anymarket_anymarketattributes_store;";
25
  $sql .= "SET foreign_key_checks = 0;";
26
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketattributes_store` CHANGE `anymarketattributes01_id` `anymarketattributes_id` int(11) NOT NULL;";
27
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketattributes_store` ADD CONSTRAINT `fk13_anymarketattributes_id` FOREIGN KEY ( `anymarketattributes_id` ) REFERENCES `db1_anymarket_anymarketattributes` ( `entity_id` );";
28
  }
29
 
30
+ $table = $tp.'db1_anymarket_anymarketcategories01';
31
  if (_tableExists($table, $resource)) {
32
+ $sql .= "ALTER TABLE ".$tp."db1_anymarket_anymarketcategories01 RENAME db1_anymarket_anymarketcategories;";
33
+ $sql .= "ALTER TABLE ".$tp."db1_anymarket_anymarketcategories01_store RENAME db1_anymarket_anymarketcategories_store;";
34
  $sql .= "SET foreign_key_checks = 0;";
35
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketcategories_store` CHANGE `anymarketcategories01_id` `anymarketcategories_id` int(11) NOT NULL;";
36
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketcategories_store` ADD CONSTRAINT `fk13_anymarketcategories_id` FOREIGN KEY ( `anymarketcategories_id` ) REFERENCES `db1_anymarket_anymarketcategories` ( `entity_id` );";
37
  }
38
 
39
+ $table = $tp.'db1_anymarket_anymarketlog01';
40
  if (_tableExists($table, $resource)) {
41
+ $sql .= "ALTER TABLE ".$tp."db1_anymarket_anymarketlog01 RENAME db1_anymarket_anymarketlog;";
42
+ $sql .= "ALTER TABLE ".$tp."db1_anymarket_anymarketlog01_store RENAME db1_anymarket_anymarketlog_store;";
43
  $sql .= "SET foreign_key_checks = 0;";
44
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketlog_store` CHANGE `anymarketlog01_id` `anymarketlog_id` int(11) NOT NULL;";
45
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketlog_store` ADD CONSTRAINT `fk13_anymarketlog_id` FOREIGN KEY ( `anymarketlog_id` ) REFERENCES `db1_anymarket_anymarketlog` ( `entity_id` );";
46
  }
47
 
48
+ $table = $tp.'db1_anymarket_anymarketorders01';
49
  if (_tableExists($table, $resource)) {
50
+ $sql .= "ALTER TABLE ".$tp."db1_anymarket_anymarketorders01 RENAME db1_anymarket_anymarketorders;";
51
+ $sql .= "ALTER TABLE ".$tp."db1_anymarket_anymarketorders01_store RENAME db1_anymarket_anymarketorders_store;";
52
  $sql .= "SET foreign_key_checks = 0;";
53
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketorders_store` CHANGE `anymarketorders01_id` `anymarketorders_id` int(11) NOT NULL;";
54
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketorders_store` ADD CONSTRAINT `fk13_anymarketcategories_id` FOREIGN KEY ( `anymarketcategories_id` ) REFERENCES `db1_anymarket_anymarketcategories` ( `entity_id` );";
55
  }
56
 
57
+ $table = $tp.'db1_anymarket_anymarketproducts01';
58
  if (_tableExists($table, $resource)) {
59
+ $sql .= "ALTER TABLE ".$tp."db1_anymarket_anymarketproducts01 RENAME db1_anymarket_anymarketproducts;";
60
+ $sql .= "ALTER TABLE ".$tp."db1_anymarket_anymarketproducts01_store RENAME db1_anymarket_anymarketproducts_store;";
61
  $sql .= "SET foreign_key_checks = 0;";
62
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketproducts_store` CHANGE `anymarketproducts01_id` `anymarketproducts_id` int(11) NOT NULL;";
63
+ $sql .= "ALTER TABLE `".$tp."db1_anymarket_anymarketproducts_store` ADD CONSTRAINT `fk13_anymarketcategories_id` FOREIGN KEY ( `anymarketcategories_id` ) REFERENCES `db1_anymarket_anymarketcategories` ( `entity_id` );";
64
  }
65
 
66
  if ($sql != '') {
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.3.0-1.4.0.php CHANGED
@@ -3,6 +3,7 @@ $installer = $this;
3
  $connection = $installer->getConnection();
4
 
5
  $installer->startSetup();
 
6
  $installer->getConnection()
7
  ->addColumn($installer->getTable('db1_anymarket/anymarketlog'),'log_json', array(
8
  'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
3
  $connection = $installer->getConnection();
4
 
5
  $installer->startSetup();
6
+
7
  $installer->getConnection()
8
  ->addColumn($installer->getTable('db1_anymarket/anymarketlog'),'log_json', array(
9
  'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.4.0-1.5.0.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.5.0-1.6.0.php CHANGED
@@ -9,5 +9,5 @@ $installer->updateAttribute($entityTypeId, $idAttributeOldSelect, 'backend_type'
9
  $installer->updateAttribute($entityTypeId, $idAttributeOldSelect, 'backend_model','eav/entity_attribute_backend_array');
10
  $installer->updateAttribute($entityTypeId, $idAttributeOldSelect, 'source_model','db1_anymarket/system_config_source_categories_values');
11
 
12
- $installer->updateAttribute($entityTypeId, $idAttributeOldSelect, 'note','Selecione uma categoria para subir ao Anymarket');
13
  $installer->endSetup();
9
  $installer->updateAttribute($entityTypeId, $idAttributeOldSelect, 'backend_model','eav/entity_attribute_backend_array');
10
  $installer->updateAttribute($entityTypeId, $idAttributeOldSelect, 'source_model','db1_anymarket/system_config_source_categories_values');
11
 
12
+ $installer->updateAttribute($entityTypeId, $idAttributeOldSelect, 'note','Selecione uma categoria para enviar ao Anymarket');
13
  $installer->endSetup();
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.6.0-1.7.0.php CHANGED
@@ -2,8 +2,10 @@
2
  $installer = $this;
3
  $installer->startSetup();
4
 
5
- $sql = "INSERT IGNORE INTO `catalog_product_entity_varchar` (entity_type_id, attribute_id, store_id, entity_id, value) SELECT pei.entity_type_id, pei.attribute_id, pei.store_id, pei.entity_id, pei.value FROM `catalog_product_entity_int` pei JOIN `eav_attribute` ea ON pei.attribute_id = ea .attribute_id WHERE ea.attribute_code = 'categoria_anymarket';";
6
- $sql .= "DELETE pei.* FROM `catalog_product_entity_int` pei JOIN `eav_attribute` ea ON pei.attribute_id = ea .attribute_id WHERE ea.attribute_code = 'categoria_anymarket';";
 
 
7
 
8
  $installer->run($sql);
9
  $installer->endSetup();
2
  $installer = $this;
3
  $installer->startSetup();
4
 
5
+ $tp = (string)Mage::getConfig()->getTablePrefix();
6
+
7
+ $sql = "INSERT IGNORE INTO `".$tp."catalog_product_entity_varchar` (entity_type_id, attribute_id, store_id, entity_id, value) SELECT pei.entity_type_id, pei.attribute_id, pei.store_id, pei.entity_id, pei.value FROM `".$tp."catalog_product_entity_int` pei JOIN `".$tp."eav_attribute` ea ON pei.attribute_id = ea .attribute_id WHERE ea.attribute_code = 'categoria_anymarket';";
8
+ $sql .= "DELETE pei.* FROM `".$tp."catalog_product_entity_int` pei JOIN `".$tp."eav_attribute` ea ON pei.attribute_id = ea .attribute_id WHERE ea.attribute_code = 'categoria_anymarket';";
9
 
10
  $installer->run($sql);
11
  $installer->endSetup();
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.7.0-1.8.0.php CHANGED
@@ -3,7 +3,7 @@ $installer = $this;
3
  $installer->startSetup();
4
 
5
  $setup = new Mage_Eav_Model_Entity_Setup('core_setup');
6
- $setup->updateAttribute('catalog_product', 'categoria_anymarket', 'note', 'Selecione uma categoria para subir ao Anymarket');
7
  $setup->updateAttribute('catalog_product', 'categoria_anymarket', 'is_global', 'Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL');
8
  $setup->updateAttribute('catalog_product', 'id_anymarket', 'is_global', 'Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL');
9
 
3
  $installer->startSetup();
4
 
5
  $setup = new Mage_Eav_Model_Entity_Setup('core_setup');
6
+ $setup->updateAttribute('catalog_product', 'categoria_anymarket', 'note', 'Selecione uma categoria para enviar ao Anymarket');
7
  $setup->updateAttribute('catalog_product', 'categoria_anymarket', 'is_global', 'Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL');
8
  $setup->updateAttribute('catalog_product', 'id_anymarket', 'is_global', 'Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL');
9
 
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-1.8.0-2.0.0.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.0.0-2.1.0.php CHANGED
@@ -1,12 +1,35 @@
1
  <?php
2
  $installer = $this;
3
  $installer->startSetup();
 
4
 
5
- $sql = "INSERT IGNORE INTO `db1_anymarket_anymarketcategories_store` (`anymarketcategories_id`, `store_id`) SELECT entity_id, 0 FROM `db1_anymarket_anymarketcategories`;";
6
- $sql .= "INSERT IGNORE INTO `db1_anymarket_anymarketattributes_store` (`anymarketattributes_id`, `store_id`) SELECT entity_id, 0 FROM `db1_anymarket_anymarketattributes`;";
7
- $sql .= "INSERT IGNORE INTO `db1_anymarket_anymarketqueue_store` (`anymarketqueue_id`, `store_id`) SELECT entity_id, 0 FROM `db1_anymarket_anymarketqueue`;";
8
- $sql .= "INSERT IGNORE INTO `db1_anymarket_anymarketproducts_store` (`anymarketproducts_id`, `store_id`) SELECT entity_id, 0 FROM `db1_anymarket_anymarketproducts`;";
9
- $sql .= "INSERT IGNORE INTO `db1_anymarket_anymarketorders_store` (`anymarketorders_id`, `store_id`) SELECT entity_id, 0 FROM `db1_anymarket_anymarketorders`;";
10
 
11
- $installer->run($sql);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  $installer->endSetup();
1
  <?php
2
  $installer = $this;
3
  $installer->startSetup();
4
+ $tp = (string)Mage::getConfig()->getTablePrefix();
5
 
6
+ $sql .= "";
7
+ $tableName = $tp."db1_anymarket_anymarketcategories_store";
8
+ if( $this->getConnection()->isTableExists($tableName) ) {
9
+ $sql .= "INSERT IGNORE INTO `" . $tp . "db1_anymarket_anymarketcategories_store` (`anymarketcategories_id`, `store_id`) SELECT entity_id, 0 FROM `" . $tp . "db1_anymarket_anymarketcategories`;";
10
+ }
11
 
12
+ $tableName = $tp."db1_anymarket_anymarketattributes_store";
13
+ if( $this->getConnection()->isTableExists($tableName) ) {
14
+ $sql .= "INSERT IGNORE INTO `".$tp."db1_anymarket_anymarketattributes_store` (`anymarketattributes_id`, `store_id`) SELECT entity_id, 0 FROM `".$tp."db1_anymarket_anymarketattributes`;";
15
+ }
16
+
17
+ $tableName = $tp."db1_anymarket_anymarketqueue_store";
18
+ if( $this->getConnection()->isTableExists($tableName) ) {
19
+ $sql .= "INSERT IGNORE INTO `".$tp."db1_anymarket_anymarketqueue_store` (`anymarketqueue_id`, `store_id`) SELECT entity_id, 0 FROM `".$tp."db1_anymarket_anymarketqueue`;";
20
+ }
21
+
22
+ $tableName = $tp."db1_anymarket_anymarketproducts_store";
23
+ if( $this->getConnection()->isTableExists($tableName) ) {
24
+ $sql .= "INSERT IGNORE INTO `".$tp."db1_anymarket_anymarketproducts_store` (`anymarketproducts_id`, `store_id`) SELECT entity_id, 0 FROM `".$tp."db1_anymarket_anymarketproducts`;";
25
+ }
26
+
27
+ $tableName = $tp."db1_anymarket_anymarketorders_store";
28
+ if( $this->getConnection()->isTableExists($tableName) ) {
29
+ $sql .= "INSERT IGNORE INTO `".$tp."db1_anymarket_anymarketorders_store` (`anymarketorders_id`, `store_id`) SELECT entity_id, 0 FROM `".$tp."db1_anymarket_anymarketorders`;";
30
+ }
31
+
32
+ if($sql != "") {
33
+ $installer->run($sql);
34
+ }
35
  $installer->endSetup();
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.1.0-2.2.0.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.2.0-2.3.6.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.3.6-2.3.9.php CHANGED
@@ -1,7 +1,8 @@
1
  <?php
2
  $this->startSetup();
 
3
 
4
- $tableName = $this->getTable('db1_anymarket/anymarketbrands');
5
  if( $this->getConnection()->isTableExists($tableName) != true ) {
6
  $table = $this->getConnection()
7
  ->newTable($this->getTable('db1_anymarket/anymarketbrands'))
@@ -56,7 +57,7 @@ if( $this->getConnection()->isTableExists($tableName) != true ) {
56
  $this->getConnection()->createTable($table);
57
  }
58
 
59
- $tableName = $this->getTable('db1_anymarket/anymarketbrands_store');
60
  if( $this->getConnection()->isTableExists($tableName) != true ) {
61
  $table = $this->getConnection()
62
  ->newTable($this->getTable('db1_anymarket/anymarketbrands_store'))
1
  <?php
2
  $this->startSetup();
3
+ $tp = (string)Mage::getConfig()->getTablePrefix();
4
 
5
+ $tableName = $tp.$this->getTable('db1_anymarket/anymarketbrands');
6
  if( $this->getConnection()->isTableExists($tableName) != true ) {
7
  $table = $this->getConnection()
8
  ->newTable($this->getTable('db1_anymarket/anymarketbrands'))
57
  $this->getConnection()->createTable($table);
58
  }
59
 
60
+ $tableName = $tp.$this->getTable('db1_anymarket/anymarketbrands_store');
61
  if( $this->getConnection()->isTableExists($tableName) != true ) {
62
  $table = $this->getConnection()
63
  ->newTable($this->getTable('db1_anymarket/anymarketbrands_store'))
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.3.9-2.4.0.php CHANGED
@@ -31,7 +31,7 @@ INSERT IGNORE INTO `{$installer->getTable('catalog_category_entity_int')}`
31
  FROM `{$installer->getTable('catalog_category_entity')}`;
32
  ");
33
 
34
- $setup->run("DELETE FROM `core_config_data` WHERE `path` LIKE 'anymarket_section%'");
35
 
36
  $installer->endSetup();
37
  ?>
31
  FROM `{$installer->getTable('catalog_category_entity')}`;
32
  ");
33
 
34
+ $setup->run("DELETE FROM `".$tp."core_config_data` WHERE `path` LIKE 'anymarket_section%'");
35
 
36
  $installer->endSetup();
37
  ?>
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.4.0-2.4.3.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.4.3-2.4.4.php CHANGED
File without changes
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.4.4-2.9.1.php ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <?php
2
+ $installer = $this;
3
+ $installer->startSetup();
4
+ $installer->endSetup();
app/code/community/DB1/AnyMarket/sql/db1_anymarket_setup/mysql4-upgrade-2.9.1-2.9.2.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /** @var $installer Mage_Core_Model_Resource_Setup */
3
+ $installer = $this;
4
+ $installer->startSetup();
5
+
6
+ /* @var $installer Mage_Catalog_Model_Resource_Eav_Mysql4_Setup */
7
+ $setup = new Mage_Eav_Model_Entity_Setup('core_setup');
8
+
9
+ // Add Integra Anymarket to prduct attribute set
10
+ $codigo = 'integra_images_root_anymarket';
11
+ $config = array(
12
+ 'group' => 'AnyMarket',
13
+ 'position' => 0,
14
+ 'required' => 0,
15
+ 'label' => 'Integrar fotos',
16
+ 'type' => 'int',
17
+ 'input' => 'boolean',
18
+ 'visible' => true,
19
+ 'used_in_product_listing' => true,
20
+ 'apply_to' => 'bundle,grouped,configurable',
21
+ 'note' => 'Integrar as fotos do produto pai.',
22
+ 'user_defined' => 1,
23
+ 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL
24
+ );
25
+
26
+ $setup->addAttribute('catalog_product', $codigo, $config);
27
+
28
+ $installer->endSetup();
app/design/adminhtml/default/default/layout/db1_anymarket.xml CHANGED
File without changes
app/design/adminhtml/default/default/template/db1/anymarket/system/config/form/field/array_dropdown.phtml CHANGED
File without changes
app/design/adminhtml/default/default/template/db1/anymarket/system/config/form/field/button_check_configuration.phtml CHANGED
File without changes
app/etc/modules/DB1_AnyMarket.xml CHANGED
File without changes
app/locale/en_US/DB1_AnyMarket.csv CHANGED
@@ -10,6 +10,7 @@
10
  "Error on get brands.","Error on get brands."
11
  "Integration status","Integration status"
12
  "Integration message","Integration message"
 
13
  "An error occurred while updating the anymarket log.","An error occurred while updating the anymarket log."
14
  "Import products even when it has invalid resolution.","Import products even when it has invalid resolution."
15
  "Ignore invalid resolution","Ignore invalid resolution"
@@ -17,6 +18,8 @@
17
  "Select how you will be treated to their size AnyMarket.","Select how you will be treated to their size AnyMarket."
18
  "Unit of measurement","Unit of measurement"
19
  "Atribute set","Atribute set"
 
 
20
  "Successfully exported ","Successfully exported "
21
  " categories."," categories."
22
  "Check Configuration","Check Configuration"
@@ -35,8 +38,8 @@
35
  "AnyMarket Log was successfully saved","AnyMarket Log was successfully saved"
36
  "AnyMarket Log","AnyMarket Log"
37
  "Anymarket Brands","Anymarket Brands"
 
38
  "Cron responsible for synchronizing orders if there are any errors.","Cron responsible for synchronizing orders if there are any errors."
39
- "Disable only if you are sure, you can generate not synchronized orders.","Disable only if you are sure, you can generate not synchronized orders."
40
  "Enable CRON of Order","Enable CRON of Order"
41
  "Enable CRON of Product","Enable CRON of Product"
42
  "Enable CRON of Reindex","Enable CRON of Reindex"
@@ -61,6 +64,8 @@
61
  "There was some error getting data Invoice or Tracking.","There was some error getting data Invoice or Tracking."
62
  "Anymarket Products was successfully saved","Anymarket Products was successfully saved"
63
  "successfully saved","successfully saved"
 
 
64
  "Error synchronizing order number: ","Error synchronizing order number: "
65
  "Are you sure you want to export the categories?","Are you sure you want to export the categories?"
66
  "A queue is already in process.","A process is already in process."
10
  "Error on get brands.","Error on get brands."
11
  "Integration status","Integration status"
12
  "Integration message","Integration message"
13
+ "About","About"
14
  "An error occurred while updating the anymarket log.","An error occurred while updating the anymarket log."
15
  "Import products even when it has invalid resolution.","Import products even when it has invalid resolution."
16
  "Ignore invalid resolution","Ignore invalid resolution"
18
  "Select how you will be treated to their size AnyMarket.","Select how you will be treated to their size AnyMarket."
19
  "Unit of measurement","Unit of measurement"
20
  "Atribute set","Atribute set"
21
+ "Associate duplicate products","Relate duplicate products"
22
+ "With this marked parameter, when a product with a sku in Anymarket, it will be automatically connected.","With this marked parameter, when a product with a sku in Anymarket, it will be automatically connected."
23
  "Successfully exported ","Successfully exported "
24
  " categories."," categories."
25
  "Check Configuration","Check Configuration"
38
  "AnyMarket Log was successfully saved","AnyMarket Log was successfully saved"
39
  "AnyMarket Log","AnyMarket Log"
40
  "Anymarket Brands","Anymarket Brands"
41
+ "Code in Magento","Code in Magento"
42
  "Cron responsible for synchronizing orders if there are any errors.","Cron responsible for synchronizing orders if there are any errors."
 
43
  "Enable CRON of Order","Enable CRON of Order"
44
  "Enable CRON of Product","Enable CRON of Product"
45
  "Enable CRON of Reindex","Enable CRON of Reindex"
64
  "There was some error getting data Invoice or Tracking.","There was some error getting data Invoice or Tracking."
65
  "Anymarket Products was successfully saved","Anymarket Products was successfully saved"
66
  "successfully saved","successfully saved"
67
+ "By checking to yes, when it is imported into an application status paid in Anymarket, a record in Invoice will be created, remember to link a status that allows billing with PAGO.","By checking to yes, when it is imported into an application status paid in Anymarket, a record in Invoice will be created, remember to link a status that allows billing with PAGO."
68
+ "Create payment record when importing paid","Create payment record when importing paid"
69
  "Error synchronizing order number: ","Error synchronizing order number: "
70
  "Are you sure you want to export the categories?","Are you sure you want to export the categories?"
71
  "A queue is already in process.","A process is already in process."
app/locale/pt_BR/DB1_AnyMarket.csv CHANGED
@@ -8,6 +8,16 @@
8
  "Brand Code","Codigo da Marca"
9
  "Brand Description","Descrição da Marca"
10
  "Integration status","Status Integração"
 
 
 
 
 
 
 
 
 
 
11
  "Error on get brands.","Error ao obter Marcas."
12
  "Integration message","Mensagem de Integração"
13
  "An error occurred while updating the anymarket log.","An error occurred while updating the anymarket log."
@@ -19,7 +29,8 @@
19
  "AnyMarket Log","AnyMarket Log"
20
  "Check the configurations","Valide as Configurações"
21
  "Check Configuration","Verificar Configurações"
22
-
 
23
  "Contact the Anymarket for this information.","Entre em contato com o Anymarket para obter essa informação."
24
  "URL for access to AnyMarket.","URL da API para acesso ao AnyMarket."
25
  "Token necessary access to AnyMarket.","Token necessario acesso ao AnyMarket."
@@ -67,6 +78,8 @@
67
  "There was some error getting data Invoice or Tracking.","Houve algum erro ao obter os dados de Tracking ou Invoice."
68
  "Export Categories","Exportar Categorias"
69
  "Gram","Grama"
 
 
70
  "Clean Logs by User.","Logs limpo pelo Usuario."
71
  "Are you sure you want to export the categories?","Tem certeza de que deseja exportar as categorias?"
72
  "Already existing SKU in anymarket","SKU ja existente no Anymarket"
@@ -91,8 +104,8 @@
91
  "Update Stock and Price","Estoque e Preço Atualizados"
92
  "Mass unit","Unidade de Massa"
93
  "Successfully exported ","Exportado com sucesso "
 
94
  "Cron responsible for synchronizing orders if there are any errors.","Cron responsavel por sincronizar pedidos caso haja algum erro."
95
- "Disable only if you are sure, you can generate not synchronized orders.","Desabilite somente se tiver certeza, pois pode gerar pedidos não sincronizados."
96
  "Enable CRON of Order","Habilitar CRON de Pedidos"
97
  "Enable CRON of Product","Habilitar CRON de Produtos"
98
  "Enable CRON of Reindex","Habilitar CRON de Reindex"
@@ -237,6 +250,8 @@
237
  "Sync Products","Sincronizar Produtos"
238
  "Products list","Listar Produtos"
239
  "Sync Orders","Sincronizar Pedidos"
 
 
240
  "Orders list","Listar Pedidos"
241
  "There was an error updating the products.","Ocorreu um erro ao atualizar os produtos."
242
  "Total %d products successfully listed.","Total de %d produtos listados com sucesso."
8
  "Brand Code","Codigo da Marca"
9
  "Brand Description","Descrição da Marca"
10
  "Integration status","Status Integração"
11
+ "Send image as HTTP","Enviar imagem como HTTP"
12
+ "Enable Image Processing", "Habilitar Processamento de imagens"
13
+ "Width of the image.", "Largura da Imagem."
14
+ "Image Height.", "Altura da imagem."
15
+ "Width that the image will be resized.", "Largura que a imagem sera redimensionada."
16
+ "Height that the image will be resized.", "Altura que a imagem sera redimensionada."
17
+ "Enabling this parameter images are processed before being sent to Anymarket.", "Habilitando esse parametro as imagens serão processadas antes de serem enviadas ao Anymarket."
18
+ "Product images are reduced to the Anymarket accepted.", "As imagens dos produtos serão reduzidas para que o Anymarket aceite."
19
+ "This feature will not work if your magento not allow access images as HTTP.","Esse recurso não ira funcionar se seu magento não permitir acessar as imagens como HTTP."
20
+ "If set to yes, will transform HTTPS to HTTP images for sending.","Se marcado como sim, ira transformar as imagens HTTPS para HTTP para o envio."
21
  "Error on get brands.","Error ao obter Marcas."
22
  "Integration message","Mensagem de Integração"
23
  "An error occurred while updating the anymarket log.","An error occurred while updating the anymarket log."
29
  "AnyMarket Log","AnyMarket Log"
30
  "Check the configurations","Valide as Configurações"
31
  "Check Configuration","Verificar Configurações"
32
+ "About","Sobre"
33
+ "SKU to bond not found :","SKU para vinculo não encontrado: "
34
  "Contact the Anymarket for this information.","Entre em contato com o Anymarket para obter essa informação."
35
  "URL for access to AnyMarket.","URL da API para acesso ao AnyMarket."
36
  "Token necessary access to AnyMarket.","Token necessario acesso ao AnyMarket."
78
  "There was some error getting data Invoice or Tracking.","Houve algum erro ao obter os dados de Tracking ou Invoice."
79
  "Export Categories","Exportar Categorias"
80
  "Gram","Grama"
81
+ "By checking to yes, when it is imported into an application status paid in Anymarket, a record in Invoice will be created, remember to link a status that allows billing with PAGO.","Ao marcar como sim, no momento que for importado um pedido do status pago no Anymarket, sera criado um registro em Fatura, lembre-se de vincular um status que permite faturamento com o PAGO."
82
+ "Create payment record when importing paid","Criar registro de pagamento ao importar pago"
83
  "Clean Logs by User.","Logs limpo pelo Usuario."
84
  "Are you sure you want to export the categories?","Tem certeza de que deseja exportar as categorias?"
85
  "Already existing SKU in anymarket","SKU ja existente no Anymarket"
104
  "Update Stock and Price","Estoque e Preço Atualizados"
105
  "Mass unit","Unidade de Massa"
106
  "Successfully exported ","Exportado com sucesso "
107
+ "Code in Magento","Codigo no Magento"
108
  "Cron responsible for synchronizing orders if there are any errors.","Cron responsavel por sincronizar pedidos caso haja algum erro."
 
109
  "Enable CRON of Order","Habilitar CRON de Pedidos"
110
  "Enable CRON of Product","Habilitar CRON de Produtos"
111
  "Enable CRON of Reindex","Habilitar CRON de Reindex"
250
  "Sync Products","Sincronizar Produtos"
251
  "Products list","Listar Produtos"
252
  "Sync Orders","Sincronizar Pedidos"
253
+ "Associate duplicate products","Relacionar produtos duplicados"
254
+ "With this marked parameter, when a product with a sku in Anymarket, it will be automatically connected.","Com esse parametro marcado, quando houver um produto com um sku no Anymarket, ele sera relacionado automaticamente."
255
  "Orders list","Listar Pedidos"
256
  "There was an error updating the products.","Ocorreu um erro ao atualizar os produtos."
257
  "Total %d products successfully listed.","Total de %d produtos listados com sucesso."
package.xml CHANGED
@@ -1,19 +1,22 @@
1
  <?xml version="1.0"?>
2
  <package>
3
- <name>Anymarket</name>
4
- <version>2.5.1</version>
5
- <stability>stable</stability>
6
- <license>https://mozilla.org/MPL/2.0/</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Integrador entre Magento e Anymarket.</summary>
10
  <description>Mantem um fluxo continuo de integra&#xE7;&#xE3;o de Produtos e Pedidos entre Magento e Anymarket.</description>
11
- <notes>* Corre&#xE7;&#xE3;o ao importar pedido com status em branco.&#xD;
12
- * Corre&#xE7;&#xE3;o de uma falha que fazia com que o processamento em lote de produtos falhava em caso de single_store</notes>
13
- <authors><author><name>Anymarket</name><user>Anymarket</user><email>dev@anymarket.com.br</email></author></authors>
14
- <date>2016-06-06</date>
15
- <time>13:24:33</time>
16
- <contents><target name="magecommunity"><dir name="DB1"><dir name="AnyMarket"><dir name="Block"><dir name="Adminhtml"><dir name="Anymarketattributes"><dir name="Edit"><file name="Form.php" hash="2f7fc99eb1e822aec20e00ac2f09e9b6"/><dir name="Tab"><file name="Form.php" hash="b993f886f391902526c13ed921e67f64"/><file name="Stores.php" hash="e2f9a83dcc1c5643584607a9788ce991"/></dir><file name="Tabs.php" hash="c7ea19d365aa6dd186bb5586748c8a36"/></dir><file name="Edit.php" hash="adf55bcb491bb6c4d839ba54228f38bb"/><file name="Grid.php" hash="318ced337407c824b4ed93a6f30b7fb3"/></dir><file name="Anymarketattributes.php" hash="3dec5da837e1bcb3813a55a21cf70452"/><dir name="Anymarketbrands"><dir name="Edit"><file name="Form.php" hash="70295f473585677c25ccb69c729ad264"/><dir name="Tab"><file name="Form.php" hash="5baa22a93472a4552619554aa2f5b74d"/><file name="Stores.php" hash="989e32b60c014c3feb15b394ac75e495"/></dir><file name="Tabs.php" hash="3f38d3849c9c5191f05b6de6e48e1244"/></dir><file name="Edit.php" hash="bb5ee750685a202d059adf7c62207f8d"/><file name="Grid.php" hash="cbc4ea24f205fc5892d5c462a6702550"/></dir><file name="Anymarketbrands.php" hash="efa9ef9b3666136f2a2158bd69860d60"/><dir name="Anymarketcategories"><dir name="Edit"><file name="Form.php" hash="738927ef6cc0cb36d9a318a3fc0494a4"/><dir name="Tab"><file name="Form.php" hash="2646c16051d76fc6a149a8426e3b81c9"/><file name="Stores.php" hash="2065ee5d47b8c7e7632b6311e4dc65eb"/></dir><file name="Tabs.php" hash="4097937c822b540a533390a60a33a0ad"/></dir><file name="Edit.php" hash="ad21c818418accadb19c9e73c964f503"/><file name="Grid.php" hash="ecbf7477825c1be974172dc3504ee3f3"/></dir><file name="Anymarketcategories.php" hash="5284ecd428e4865653d87769bdaabe08"/><dir name="Anymarketlog"><dir name="Edit"><file name="Form.php" hash="475dcc08db1d6e73d0d3fa56916d1c7b"/><dir name="Tab"><file name="Form.php" hash="20949829f756ecbe695308a9ba3dc246"/><file name="Stores.php" hash="6c33618d5556292dd07b037a3ef0b9a4"/></dir><file name="Tabs.php" hash="778a968aa9ed006577ca1b06821ee8d7"/></dir><file name="Edit.php" hash="14bc221c3b69fd79d6c09eaaba2792bb"/><file name="Grid.php" hash="bde6093b89b3db92a25abf3124cd1714"/></dir><file name="Anymarketlog.php" hash="7da774661bfe410cb6df3a1d4bd33f5a"/><dir name="Anymarketorders"><dir name="Edit"><file name="Form.php" hash="40cdd96c786c522f15c0c0df583cd861"/><dir name="Tab"><file name="Form.php" hash="b98ab50051a0a32dc26f342ad34bd81b"/><file name="Stores.php" hash="eae8bbfa5ce5d2d1c3aa76cf09895b62"/></dir><file name="Tabs.php" hash="fd93f19227b2e46c74cadbcf642b936e"/></dir><file name="Edit.php" hash="b887ae08790c7babbc3b386208e57901"/><file name="Grid.php" hash="08194a3c7e6fee59b1e2acf22f2844ca"/></dir><file name="Anymarketorders.php" hash="59e93a88b8c82e1a8cfb2bd246cff259"/><dir name="Anymarketproducts"><dir name="Edit"><file name="Form.php" hash="980603f48914a1287c2e7c15e4c86d83"/><dir name="Tab"><file name="Form.php" hash="245eab4f574907f0db6bffcd651b6b8c"/><file name="Stores.php" hash="2cec2058ef922bc7cc89511d06d1cf72"/></dir><file name="Tabs.php" hash="1ff12beae435c878edb912960ae17a47"/></dir><file name="Edit.php" hash="efee68f9e82522aeb3908a29cb65d388"/><file name="Grid.php" hash="28abacf7c5294e6d991f363bb4c11afc"/></dir><file name="Anymarketproducts.php" hash="3bac9100d555bd07ab9d0b368994bea2"/><dir name="Anymarketqueue"><dir name="Edit"><file name="Form.php" hash="fd9c0ce4afcf1c12657b180666224e97"/><dir name="Tab"><file name="Form.php" hash="aa603b428632caaf0a51c4d9021f3f08"/><file name="Stores.php" hash="08bdd73cf10ea1fe2bc4a963f0737cc6"/></dir><file name="Tabs.php" hash="381579dc284c6f27acea660886fdbc5f"/></dir><file name="Edit.php" hash="7decfc10b577b4d99c342d23b4a75c01"/><file name="Grid.php" hash="b22574ae4c546d78926c5b671145ef27"/></dir><file name="Anymarketqueue.php" hash="ae3c146ea8a2b0999a762917d8645dff"/><dir name="System"><dir name="Config"><dir name="Form"><file name="Buttoncheckconfig.php" hash="344078aec3e91f5f8915272935d0a391"/><file name="Callback.php" hash="0e721a318ec6d95e7671f2bdfd0e7c11"/><file name="buttoncheckconfig.php" hash="344078aec3e91f5f8915272935d0a391"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Orders"><dir name="Statusammg"><file name="Values.php" hash="931376d93d7ad770aae1755aa05d880f"/></dir><dir name="Statusmgam"><file name="Values.php" hash="3e39fcc15a9400f09b525ff130aaf775"/></dir></dir><dir name="Products"><file name="Values.php" hash="87e7e2ecaa08fc0c21d7ee93799a6f91"/></dir></dir></dir></dir></dir><dir name="Controller"><dir name="Adminhtml"><file name="AnyMarket.php" hash="6d1473008f995a33e619b4d00465ccc0"/></dir></dir><dir name="Helper"><file name="Brand.php" hash="48c1fe421cd14cfe2fa29768d2e06916"/><file name="Category.php" hash="2302bd93d84457d40d426b91d567da50"/><file name="Customergenerator.php" hash="2e9ea1ede85d01637c21d8f59894709d"/><file name="Data.php" hash="f97ec67421192a6bb5b67c0e85e3ed3c"/><file name="Order.php" hash="1dc6f30ed2ed1715beebc5deaccd77d8"/><file name="Ordergenerator.php" hash="8cf01dff14525dea41fb6aaefe22206f"/><file name="Product.php" hash="fc52bff47667553ec8dd8dc07698f81f"/><file name="Productgenerator.php" hash="d96649853ee705451375f6203b5d5a96"/><file name="Queue.php" hash="aa4083effc3b755f473ebb3c75793bcc"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="Search"><file name="Anymarketattributes.php" hash="9c70e239108635285a267800c92a5497"/><file name="Anymarketbrands.php" hash="e6ab4761f6162f7eaa0ed9c54ffa0f67"/><file name="Anymarketlog.php" hash="587fd8a1b7579d03a221531e04b16e72"/><file name="Anymarketorders.php" hash="e80623045edfecd2b31469d0ddaae65e"/><file name="Anymarketproducts.php" hash="98721db042c261f99ed4dac40af60b5d"/><file name="Anymarketqueue.php" hash="fe750b1048ed725c715084002eea3bd7"/></dir></dir><dir name="Anymarketattributes"><dir name="Api"><file name="V2.php" hash="2968c2cbc85867bf9689b3925d8661aa"/></dir><file name="Api.php" hash="c08643eee1e8a850a77e1da60b1934f5"/></dir><file name="Anymarketattributes.php" hash="8153076dd11965f0caf91a618afa0ac9"/><dir name="Anymarketbrands"><dir name="Api"><file name="V2.php" hash="d3e2e0763c146aa4c4260455decfa811"/></dir><file name="Api.php" hash="a197ecaab03dbbb136de2cd6eee4b6a6"/></dir><file name="Anymarketbrands.php" hash="52f607ceb5684d944c31d0920bbd161d"/><dir name="Anymarketcategories"><dir name="Api"><file name="V2.php" hash="9be73fc1875d16263554fb9d6220cfce"/></dir><file name="Api.php" hash="54b1068a7c5939e16382311691279664"/></dir><file name="Anymarketcategories.php" hash="200d5ec4a7fc29fa01d559c3b586cc7e"/><dir name="Anymarketlog"><dir name="Api"><file name="V2.php" hash="f252eafdd842b105c8952567a5b0ece7"/></dir><file name="Api.php" hash="3424e96e46745bcc76fb3aca2073490e"/></dir><file name="Anymarketlog.php" hash="fd353955d73d83167ea3ce735f83a7e7"/><dir name="Anymarketorders"><dir name="Api"><file name="V2.php" hash="0b11c1be24355033a571d2e56f508d19"/></dir><file name="Api.php" hash="789106be86e48dd7de760f2debc83e26"/></dir><file name="Anymarketorders.php" hash="8697f792291a0603887be8acf734d4d4"/><dir name="Anymarketproducts"><dir name="Api"><file name="V2.php" hash="d1b289e2fdd26b80c4d921bec5dfa339"/></dir><file name="Api.php" hash="7f8a8f3668a181ce93e0b50ad0f60aae"/></dir><file name="Anymarketproducts.php" hash="b4071fbf8190b01f5bb21f35dd77d1fc"/><dir name="Anymarketqueue"><dir name="Api"><file name="V2.php" hash="e9c8a4c3612249d39d984c29d1ef548a"/></dir><file name="Api.php" hash="eb142eb9f3f92cb950596d47044f3050"/></dir><file name="Anymarketqueue.php" hash="7c9373fa2dba0cab020370f2a4d58e84"/><file name="Cron.php" hash="4c85b7ef3772cfc014cf0ef497b4c96b"/><file name="Observer.php" hash="38b1f2a96dc5903db9c642ee8b0e41d0"/><file name="PaymentMethod.php" hash="7c10a39a005e03d0d0530041bee95a9e"/><dir name="Resource"><dir name="Anymarketattributes"><file name="Collection.php" hash="36566dd648113fbd096ae4c9f2574058"/></dir><file name="Anymarketattributes.php" hash="07099d8acd0244dd22ef3aa591c4d4be"/><dir name="Anymarketbrands"><file name="Collection.php" hash="f542cb47a58e77017a90d4b9733e354b"/></dir><file name="Anymarketbrands.php" hash="aad2b54e04e58df24f9f518e67237d27"/><dir name="Anymarketcategories"><file name="Collection.php" hash="f58ef5b5397c8fdfd68dd860d2998dd6"/></dir><file name="Anymarketcategories.php" hash="80c0ea6b443d2beadc3e0d8fb3329e49"/><dir name="Anymarketlog"><file name="Collection.php" hash="e1b37efe779188ded01622a383c39f7e"/></dir><file name="Anymarketlog.php" hash="69ce526695527d4469f7cae4604d24f9"/><dir name="Anymarketorders"><file name="Collection.php" hash="45ec7c3ccf2de78cf5d0c95e1ea1f3f4"/></dir><file name="Anymarketorders.php" hash="1879ab46e3f47772db8b23710cc3c2ac"/><dir name="Anymarketproducts"><file name="Collection.php" hash="fc88402b7281c58a79b8fb4b8ab5645e"/></dir><file name="Anymarketproducts.php" hash="51ab548790054880bccce85b12e111ea"/><dir name="Anymarketqueue"><file name="Collection.php" hash="c7ce0a9ce11f376cc05d3afefe6ad8ba"/></dir><file name="Anymarketqueue.php" hash="be077e58f0eb8d8e5bbf660c70ff0c8a"/><file name="Setup.php" hash="0df420432c06cee997f9a43e9ca42fd2"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Attributes"><dir name="Customer"><dir name="Group"><file name="Values.php" hash="b3da25e6f5bbd22f88951a40f21c0062"/></dir><dir name="Street"><file name="Values.php" hash="c219bd519b968f614c92aa564272d1b3"/></dir><file name="Values.php" hash="74b98a8dbf05e3089bd9885d610b9203"/></dir><dir name="Product"><dir name="Booleantp"><file name="Values.php" hash="9b80052d0ed97cbbf4ba9f72c0a3e0a9"/></dir><dir name="Price"><file name="Values.php" hash="a9f6f4a2bef252b0731c7d82ebf36ddb"/></dir><file name="Values.php" hash="1000fd8c2cb40456c7ee3671bd06b1b9"/></dir><dir name="Set"><file name="Values.php" hash="c0c0ba6a8f7fcd48896ab4916ca8d515"/></dir></dir><dir name="Categories"><file name="Values.php" hash="f59129783eb797e1c088ef5ac332dc92"/></dir><dir name="Logs"><file name="Values.php" hash="714f462254b42d1ba36546dbd55e06f9"/></dir><dir name="Massunit"><file name="Values.php" hash="475bc7d4556c5f42728b774d7b6749f2"/></dir><dir name="Measurementunit"><file name="Values.php" hash="0831cd50cddff66d9c97339d1a4d61ad"/></dir><dir name="Orders"><file name="Values.php" hash="6df0f33ada91098ba026bd006bd7b9d0"/></dir><dir name="Typesync"><dir name="Order"><file name="Values.php" hash="f2fe8cde6e3ae10cac6a26500fc0984b"/></dir></dir></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Anymarket"><file name="AnymarketattributesController.php" hash="29db5f472baef6f064861a90577b3d39"/><file name="AnymarketbrandsController.php" hash="8e527c5c0e140e78815c9fb385023112"/><file name="AnymarketcategoriesController.php" hash="74468898d76dece1d5e14dcb9f815fc0"/><file name="AnymarketlogController.php" hash="8dbbbc42b687ad8056e98e61bff72a91"/><file name="AnymarketordersController.php" hash="d385cf6aabb0d46d1b77cedb2f408fe7"/><file name="AnymarketproductsController.php" hash="aed3045308d53abe8d22bc024d3fe9e1"/><file name="AnymarketqueueController.php" hash="8fc629165bfeb675d5c7230faca69e63"/></dir><file name="AnymarketController.php" hash="c84286b666ed0bcd988346b2fc46467d"/></dir><file name="IndexController.php" hash="04f940ebc3e82196001e415d99d32efd"/></dir><dir name="etc"><file name="adminhtml.xml" hash="59c70a74d5d791a85a6783dc6c2d954a"/><file name="api.xml" hash="3546bfaef38893f387c70879f8f62bd5"/><file name="config.xml" hash="8c614cfacfad87b477c8e6a8abe4e32e"/><file name="system.xml" hash="3cf184cd2babd7efcac1e7d89fd35dba"/><file name="wsdl.xml" hash="92472d43f8c69fea0b2ca67c102225c6"/><file name="wsi.xml" hash="e7e1d615fdad47f1454edcb4cea6b6df"/></dir><dir name="sql"><dir name="db1_anymarket_setup"><file name="mysql4-install-1.0.0.php" hash="e321615a6c00d6bf0d7624c0b05b6639"/><file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="aaccf01a4ba1a5452b1a4bc0565e5733"/><file name="mysql4-upgrade-1.1.0-1.2.0.php" hash="e7af419b7793c1047e5d943f5b790ffb"/><file name="mysql4-upgrade-1.2.0-1.3.0.php" hash="f034e3e6f71a01ee3b80924bfe495cb4"/><file name="mysql4-upgrade-1.3.0-1.4.0.php" hash="e9eccf082d6ecb09f75df2b5a7afec9c"/><file name="mysql4-upgrade-1.4.0-1.5.0.php" hash="4a21c4dff0151d55d62c5023f7b29930"/><file name="mysql4-upgrade-1.5.0-1.6.0.php" hash="1662d2e0322db100b762bd012eca5131"/><file name="mysql4-upgrade-1.6.0-1.7.0.php" hash="b633fcb878851c947c1d0b9c116cd8fe"/><file name="mysql4-upgrade-1.7.0-1.8.0.php" hash="45335413517a3a74320c3de9aaec1eaf"/><file name="mysql4-upgrade-1.8.0-2.0.0.php" hash="f84214fc43f665c79b92dc7a092b364f"/><file name="mysql4-upgrade-2.0.0-2.1.0.php" hash="7f8dcb7bc69d58061709f66bbecceea6"/><file name="mysql4-upgrade-2.1.0-2.2.0.php" hash="8540010143d20286287e9b3abfee11f9"/><file name="mysql4-upgrade-2.2.0-2.3.6.php" hash="e5e770b4ab8ba48e177efbc1d613fb3c"/><file name="mysql4-upgrade-2.3.6-2.3.9.php" hash="058f6ad275eedb0fedde895f9e0a3933"/><file name="mysql4-upgrade-2.3.9-2.4.0.php" hash="b41bf0ee29b85b1dcb5437767bd32a77"/><file name="mysql4-upgrade-2.4.0-2.4.3.php" hash="3b0e01bd5ba4afef89cfbe40305f9087"/><file name="mysql4-upgrade-2.4.3-2.4.4.php" hash="8540010143d20286287e9b3abfee11f9"/></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="DB1_AnyMarket.xml" hash="98dd8e192a0a2ad509ce5a50c6c40f98"/></dir></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="DB1_AnyMarket.csv" hash="93c1b0a4b8fc337958c4e4499d769bf2"/></dir><dir name="pt_BR"><file name="DB1_AnyMarket.csv" hash="2f1fe5366aee8825e5c8dc81dfb5b577"/></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="db1_anymarket.xml" hash="47bb7ca814c58a2985f198c3703f1d58"/></dir><dir name="template"><dir name="db1"><dir name="anymarket"><dir name="system"><dir name="config"><dir name="form"><dir name="field"><file name="array_dropdown.phtml" hash="6a0ec3bf507fe6211ca0ad4825325c57"/><file name="button_check_configuration.phtml" hash="252673865f738851cacc1337948b8f86"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target></contents>
 
 
 
17
  <compatible/>
18
- <dependencies><required><php><min>5.4.0</min><max>5.6.21</max></php></required></dependencies>
19
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
+ <name>d7db67d0d012350a01ce05c31f91754d</name>
4
+ <version>2.10.1</version>
5
+ <stability>Stable</stability>
6
+ <license>Mozilla Public License</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Integrador entre Magento e Anymarket.</summary>
10
  <description>Mantem um fluxo continuo de integra&#xE7;&#xE3;o de Produtos e Pedidos entre Magento e Anymarket.</description>
11
+ <notes>* Adicionado compatibilidade com prefixo em tabelas.&#xD;
12
+ &#xD;
13
+ &#xD;
14
+ Para mais informa&#xE7;&#xF5;es acesse: &#xD;
15
+ https://github.com/AnyMarket/magento</notes>
16
+ <authors><author><name>Anymarket</name><user>anymarket</user><email>dev@anymarket.com.br</email></author></authors>
17
+ <date>2016-11-08</date>
18
+ <time>14:04:16</time>
19
+ <contents><target name="magecommunity"><dir name="DB1"><dir name="AnyMarket"><dir name="Block"><dir name="Adminhtml"><dir name="Anymarketattributes"><dir name="Edit"><file name="Form.php" hash="2f7fc99eb1e822aec20e00ac2f09e9b6"/><dir name="Tab"><file name="Form.php" hash="b993f886f391902526c13ed921e67f64"/><file name="Stores.php" hash="e2f9a83dcc1c5643584607a9788ce991"/></dir><file name="Tabs.php" hash="c7ea19d365aa6dd186bb5586748c8a36"/></dir><file name="Edit.php" hash="adf55bcb491bb6c4d839ba54228f38bb"/><file name="Grid.php" hash="318ced337407c824b4ed93a6f30b7fb3"/></dir><file name="Anymarketattributes.php" hash="3dec5da837e1bcb3813a55a21cf70452"/><dir name="Anymarketbrands"><dir name="Edit"><file name="Form.php" hash="70295f473585677c25ccb69c729ad264"/><dir name="Tab"><file name="Form.php" hash="5baa22a93472a4552619554aa2f5b74d"/><file name="Stores.php" hash="989e32b60c014c3feb15b394ac75e495"/></dir><file name="Tabs.php" hash="3f38d3849c9c5191f05b6de6e48e1244"/></dir><file name="Edit.php" hash="bb5ee750685a202d059adf7c62207f8d"/><file name="Grid.php" hash="cbc4ea24f205fc5892d5c462a6702550"/></dir><file name="Anymarketbrands.php" hash="efa9ef9b3666136f2a2158bd69860d60"/><dir name="Anymarketcategories"><dir name="Edit"><file name="Form.php" hash="738927ef6cc0cb36d9a318a3fc0494a4"/><dir name="Tab"><file name="Form.php" hash="6b724bea8807e42a5e58607643d10623"/><file name="Stores.php" hash="2065ee5d47b8c7e7632b6311e4dc65eb"/></dir><file name="Tabs.php" hash="4097937c822b540a533390a60a33a0ad"/></dir><file name="Edit.php" hash="ad21c818418accadb19c9e73c964f503"/><file name="Grid.php" hash="b280d8f866c21c1a66373005d7a904d5"/></dir><file name="Anymarketcategories.php" hash="66b271b3c3cdc31153d4a9e4d258bf20"/><dir name="Anymarketlog"><dir name="Edit"><file name="Form.php" hash="475dcc08db1d6e73d0d3fa56916d1c7b"/><dir name="Tab"><file name="Form.php" hash="20949829f756ecbe695308a9ba3dc246"/><file name="Stores.php" hash="6c33618d5556292dd07b037a3ef0b9a4"/></dir><file name="Tabs.php" hash="778a968aa9ed006577ca1b06821ee8d7"/></dir><file name="Edit.php" hash="14bc221c3b69fd79d6c09eaaba2792bb"/><file name="Grid.php" hash="bde6093b89b3db92a25abf3124cd1714"/></dir><file name="Anymarketlog.php" hash="7da774661bfe410cb6df3a1d4bd33f5a"/><dir name="Anymarketorders"><dir name="Edit"><file name="Form.php" hash="40cdd96c786c522f15c0c0df583cd861"/><dir name="Tab"><file name="Form.php" hash="7e6185c620c6ce784055c436609a29c2"/><file name="Stores.php" hash="eae8bbfa5ce5d2d1c3aa76cf09895b62"/></dir><file name="Tabs.php" hash="fd93f19227b2e46c74cadbcf642b936e"/></dir><file name="Edit.php" hash="b887ae08790c7babbc3b386208e57901"/><file name="Grid.php" hash="940a0ca57208c8fe37660a3c567f2f59"/></dir><file name="Anymarketorders.php" hash="59e93a88b8c82e1a8cfb2bd246cff259"/><dir name="Anymarketproducts"><dir name="Edit"><file name="Form.php" hash="980603f48914a1287c2e7c15e4c86d83"/><dir name="Tab"><file name="Form.php" hash="245eab4f574907f0db6bffcd651b6b8c"/><file name="Stores.php" hash="2cec2058ef922bc7cc89511d06d1cf72"/></dir><file name="Tabs.php" hash="1ff12beae435c878edb912960ae17a47"/></dir><file name="Edit.php" hash="efee68f9e82522aeb3908a29cb65d388"/><file name="Grid.php" hash="28abacf7c5294e6d991f363bb4c11afc"/></dir><file name="Anymarketproducts.php" hash="3bac9100d555bd07ab9d0b368994bea2"/><dir name="Anymarketqueue"><dir name="Edit"><file name="Form.php" hash="fd9c0ce4afcf1c12657b180666224e97"/><dir name="Tab"><file name="Form.php" hash="aa603b428632caaf0a51c4d9021f3f08"/><file name="Stores.php" hash="08bdd73cf10ea1fe2bc4a963f0737cc6"/></dir><file name="Tabs.php" hash="381579dc284c6f27acea660886fdbc5f"/></dir><file name="Edit.php" hash="7decfc10b577b4d99c342d23b4a75c01"/><file name="Grid.php" hash="5fb19f0ee6387b4f500191ed4f596e3c"/></dir><file name="Anymarketqueue.php" hash="ae3c146ea8a2b0999a762917d8645dff"/><dir name="System"><dir name="Config"><dir name="Form"><file name="Buttoncheckconfig.php" hash="344078aec3e91f5f8915272935d0a391"/><file name="Callback.php" hash="0e721a318ec6d95e7671f2bdfd0e7c11"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Orders"><dir name="Statusammg"><file name="Values.php" hash="931376d93d7ad770aae1755aa05d880f"/></dir><dir name="Statusmgam"><file name="Values.php" hash="3e39fcc15a9400f09b525ff130aaf775"/></dir></dir><dir name="Products"><file name="Values.php" hash="87e7e2ecaa08fc0c21d7ee93799a6f91"/></dir></dir></dir></dir></dir><dir name="Controller"><dir name="Adminhtml"><file name="AnyMarket.php" hash="6d1473008f995a33e619b4d00465ccc0"/></dir></dir><dir name="Helper"><file name="Brand.php" hash="48c1fe421cd14cfe2fa29768d2e06916"/><file name="Category.php" hash="01169a1aa216b248456ec328d4654c72"/><file name="Customergenerator.php" hash="2e9ea1ede85d01637c21d8f59894709d"/><file name="Data.php" hash="83bafbea3cae011507c8aaf7cc34f574"/><file name="Image.php" hash="ad90702a2750c40c10e3edc687a7b578"/><file name="Order.php" hash="e60ac36a673b33e855b9a29a3b474bb1"/><file name="Ordergenerator.php" hash="16f9518a25d32d2057e4c5c8e752a230"/><file name="Product.php" hash="187f390e35aaadb855ec102bb2d6e029"/><file name="Productgenerator.php" hash="225911af1e47d516c317f3271d165b9e"/><file name="Queue.php" hash="3ae5c7901c867e334084869da5c69ea9"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="Search"><file name="Anymarketattributes.php" hash="9c70e239108635285a267800c92a5497"/><file name="Anymarketbrands.php" hash="e6ab4761f6162f7eaa0ed9c54ffa0f67"/><file name="Anymarketlog.php" hash="587fd8a1b7579d03a221531e04b16e72"/><file name="Anymarketorders.php" hash="e80623045edfecd2b31469d0ddaae65e"/><file name="Anymarketproducts.php" hash="98721db042c261f99ed4dac40af60b5d"/><file name="Anymarketqueue.php" hash="fe750b1048ed725c715084002eea3bd7"/></dir></dir><dir name="Anymarketattributes"><dir name="Api"><file name="V2.php" hash="2968c2cbc85867bf9689b3925d8661aa"/></dir><file name="Api.php" hash="c08643eee1e8a850a77e1da60b1934f5"/></dir><file name="Anymarketattributes.php" hash="fdb23d6c461452efacdbd3e3fdf7da6e"/><dir name="Anymarketbrands"><dir name="Api"><file name="V2.php" hash="d3e2e0763c146aa4c4260455decfa811"/></dir><file name="Api.php" hash="a197ecaab03dbbb136de2cd6eee4b6a6"/></dir><file name="Anymarketbrands.php" hash="8ae2eacd73d8e72ee69861e0dd763995"/><dir name="Anymarketcategories"><dir name="Api"><file name="V2.php" hash="9be73fc1875d16263554fb9d6220cfce"/></dir><file name="Api.php" hash="54b1068a7c5939e16382311691279664"/></dir><file name="Anymarketcategories.php" hash="56fb7c4397c3058124765c291c666727"/><dir name="Anymarketlog"><dir name="Api"><file name="V2.php" hash="f252eafdd842b105c8952567a5b0ece7"/></dir><file name="Api.php" hash="3424e96e46745bcc76fb3aca2073490e"/></dir><file name="Anymarketlog.php" hash="b2eee6d6ceb878147125ed59570d84bd"/><dir name="Anymarketorders"><dir name="Api"><file name="V2.php" hash="0b11c1be24355033a571d2e56f508d19"/></dir><file name="Api.php" hash="a8d2625d6b56d5596cc9af41151c019e"/></dir><file name="Anymarketorders.php" hash="6d4b8b112af994e6cd2e67eeadb56871"/><dir name="Anymarketproducts"><dir name="Api"><file name="V2.php" hash="d1b289e2fdd26b80c4d921bec5dfa339"/></dir><file name="Api.php" hash="bf63b0e5c0a56fb036807ddfbfb50feb"/></dir><file name="Anymarketproducts.php" hash="cb1fa1d36033d52d09bd485f164bb279"/><dir name="Anymarketqueue"><dir name="Api"><file name="V2.php" hash="e9c8a4c3612249d39d984c29d1ef548a"/></dir><file name="Api.php" hash="eb142eb9f3f92cb950596d47044f3050"/></dir><file name="Anymarketqueue.php" hash="7d2c450d809f530e31c1b6e27374e17d"/><file name="Cron.php" hash="f82e198f7675c4e1a06371024e2a0eba"/><file name="Observer.php" hash="d9038ad0f80a0df06353cb05a5deb06a"/><file name="PaymentMethod.php" hash="7c10a39a005e03d0d0530041bee95a9e"/><dir name="Resource"><dir name="Anymarketattributes"><file name="Collection.php" hash="36566dd648113fbd096ae4c9f2574058"/></dir><file name="Anymarketattributes.php" hash="07099d8acd0244dd22ef3aa591c4d4be"/><dir name="Anymarketbrands"><file name="Collection.php" hash="f542cb47a58e77017a90d4b9733e354b"/></dir><file name="Anymarketbrands.php" hash="aad2b54e04e58df24f9f518e67237d27"/><dir name="Anymarketcategories"><file name="Collection.php" hash="f58ef5b5397c8fdfd68dd860d2998dd6"/></dir><file name="Anymarketcategories.php" hash="80c0ea6b443d2beadc3e0d8fb3329e49"/><dir name="Anymarketlog"><file name="Collection.php" hash="e1b37efe779188ded01622a383c39f7e"/></dir><file name="Anymarketlog.php" hash="69ce526695527d4469f7cae4604d24f9"/><dir name="Anymarketorders"><file name="Collection.php" hash="45ec7c3ccf2de78cf5d0c95e1ea1f3f4"/></dir><file name="Anymarketorders.php" hash="1879ab46e3f47772db8b23710cc3c2ac"/><dir name="Anymarketproducts"><file name="Collection.php" hash="fc88402b7281c58a79b8fb4b8ab5645e"/></dir><file name="Anymarketproducts.php" hash="51ab548790054880bccce85b12e111ea"/><dir name="Anymarketqueue"><file name="Collection.php" hash="c7ce0a9ce11f376cc05d3afefe6ad8ba"/></dir><file name="Anymarketqueue.php" hash="be077e58f0eb8d8e5bbf660c70ff0c8a"/><file name="Setup.php" hash="0df420432c06cee997f9a43e9ca42fd2"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Attributes"><dir name="Customer"><dir name="Group"><file name="Values.php" hash="b3da25e6f5bbd22f88951a40f21c0062"/></dir><dir name="Street"><file name="Values.php" hash="c219bd519b968f614c92aa564272d1b3"/></dir><file name="Values.php" hash="74b98a8dbf05e3089bd9885d610b9203"/></dir><dir name="Product"><dir name="Booleantp"><file name="Values.php" hash="9b80052d0ed97cbbf4ba9f72c0a3e0a9"/></dir><dir name="Price"><file name="Values.php" hash="a9f6f4a2bef252b0731c7d82ebf36ddb"/></dir><file name="Values.php" hash="1000fd8c2cb40456c7ee3671bd06b1b9"/></dir><dir name="Set"><file name="Values.php" hash="c0c0ba6a8f7fcd48896ab4916ca8d515"/></dir></dir><dir name="Categories"><file name="Values.php" hash="f59129783eb797e1c088ef5ac332dc92"/></dir><dir name="General"><file name="Values.php" hash="75e19820d0a8b049e683a68cee20c2b2"/></dir><dir name="Logs"><file name="Values.php" hash="714f462254b42d1ba36546dbd55e06f9"/></dir><dir name="Massunit"><file name="Values.php" hash="475bc7d4556c5f42728b774d7b6749f2"/></dir><dir name="Measurementunit"><file name="Values.php" hash="0831cd50cddff66d9c97339d1a4d61ad"/></dir><dir name="Orders"><file name="Values.php" hash="6df0f33ada91098ba026bd006bd7b9d0"/></dir><dir name="Typesync"><dir name="Order"><file name="Values.php" hash="f2fe8cde6e3ae10cac6a26500fc0984b"/></dir></dir></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Anymarket"><file name="AnymarketattributesController.php" hash="29db5f472baef6f064861a90577b3d39"/><file name="AnymarketbrandsController.php" hash="8e527c5c0e140e78815c9fb385023112"/><file name="AnymarketcategoriesController.php" hash="74468898d76dece1d5e14dcb9f815fc0"/><file name="AnymarketlogController.php" hash="8dbbbc42b687ad8056e98e61bff72a91"/><file name="AnymarketordersController.php" hash="d385cf6aabb0d46d1b77cedb2f408fe7"/><file name="AnymarketproductsController.php" hash="1548e718073f181fab1faac29dc698ec"/><file name="AnymarketqueueController.php" hash="8fc629165bfeb675d5c7230faca69e63"/></dir><file name="AnymarketController.php" hash="c84286b666ed0bcd988346b2fc46467d"/></dir><file name="IndexController.php" hash="377c4bed65fdf284f793d249cb59650c"/></dir><dir name="etc"><file name="adminhtml.xml" hash="59c70a74d5d791a85a6783dc6c2d954a"/><file name="api.xml" hash="3546bfaef38893f387c70879f8f62bd5"/><file name="config.xml" hash="71bbe2dae5b27f90e47e0f2a053fedb2"/><file name="system.xml" hash="e1f756b9d72ce52d3df13d254e2ee617"/><file name="wsdl.xml" hash="92472d43f8c69fea0b2ca67c102225c6"/><file name="wsi.xml" hash="e7e1d615fdad47f1454edcb4cea6b6df"/></dir><dir name="sql"><dir name="db1_anymarket_setup"><file name="mysql4-install-1.0.0.php" hash="78272b736dd84175c2a929f56e195854"/><file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="08975052bef31e56c8fad046b599b4a8"/><file name="mysql4-upgrade-1.1.0-1.2.0.php" hash="e7af419b7793c1047e5d943f5b790ffb"/><file name="mysql4-upgrade-1.2.0-1.3.0.php" hash="850f538334af173a2918078c87cbfb16"/><file name="mysql4-upgrade-1.3.0-1.4.0.php" hash="1e4a102ab2de2f4af4250c6d7b31b4e3"/><file name="mysql4-upgrade-1.4.0-1.5.0.php" hash="4a21c4dff0151d55d62c5023f7b29930"/><file name="mysql4-upgrade-1.5.0-1.6.0.php" hash="c9ebd2ab6bdd29f0b7eb7e92a66887b0"/><file name="mysql4-upgrade-1.6.0-1.7.0.php" hash="f822917939bf63eb1b51e517a300baf8"/><file name="mysql4-upgrade-1.7.0-1.8.0.php" hash="59ff14275617b4d828eaf8dcc36bc080"/><file name="mysql4-upgrade-1.8.0-2.0.0.php" hash="f84214fc43f665c79b92dc7a092b364f"/><file name="mysql4-upgrade-2.0.0-2.1.0.php" hash="f27d52b9e03093827edf2da66df9af95"/><file name="mysql4-upgrade-2.1.0-2.2.0.php" hash="8540010143d20286287e9b3abfee11f9"/><file name="mysql4-upgrade-2.2.0-2.3.6.php" hash="e5e770b4ab8ba48e177efbc1d613fb3c"/><file name="mysql4-upgrade-2.3.6-2.3.9.php" hash="8482a0d785e4abdfb0e060014c2849f2"/><file name="mysql4-upgrade-2.3.9-2.4.0.php" hash="0c70f1b41ed5bc1c5009c3be94aabc85"/><file name="mysql4-upgrade-2.4.0-2.4.3.php" hash="3b0e01bd5ba4afef89cfbe40305f9087"/><file name="mysql4-upgrade-2.4.3-2.4.4.php" hash="8540010143d20286287e9b3abfee11f9"/><file name="mysql4-upgrade-2.4.4-2.9.1.php" hash="1227a2f27f4144df4d1bbfc928f97d83"/><file name="mysql4-upgrade-2.9.1-2.9.2.php" hash="cbf2ebc39de43a793b54460631eb6668"/></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="DB1_AnyMarket.xml" hash="98dd8e192a0a2ad509ce5a50c6c40f98"/></dir></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="DB1_AnyMarket.csv" hash="3c464aa9a9643570436eb7afe5dcb28d"/></dir><dir name="pt_BR"><file name="DB1_AnyMarket.csv" hash="e690e6802f73adfeff24e716f5b47d86"/></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="db1_anymarket.xml" hash="47bb7ca814c58a2985f198c3703f1d58"/></dir><dir name="template"><dir name="db1"><dir name="anymarket"><dir name="system"><dir name="config"><dir name="form"><dir name="field"><file name="array_dropdown.phtml" hash="6a0ec3bf507fe6211ca0ad4825325c57"/><file name="button_check_configuration.phtml" hash="252673865f738851cacc1337948b8f86"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target></contents>
20
  <compatible/>
21
+ <dependencies><required><php><min>5.4.0</min><max>5.7.0</max></php></required></dependencies>
22
  </package>