ice_import - Version 1.8.3

Version Notes

- Speed improvement
- Added option for updating of category to product relation
- Minor bug fixing

Download this release

Release Info

Developer IceShop
Extension ice_import
Version 1.8.3
Comparing to
See all releases


Code changes from version 1.8.0 to 1.8.3

app/code/community/ICEshop/Iceimport/Model/Convert/Adapter/Iceimport.php CHANGED
@@ -356,6 +356,8 @@ class Iceimport
356
 
357
  $this->deleteTempFileForCatalogCategoryProductInsert();
358
 
 
 
359
  $arValues = $this->addCatIdToArray($offset);
360
  $columns = ['category_id', 'product_id'];
361
  $fp = fopen($this->filenameValues, 'w+');
@@ -374,8 +376,10 @@ class Iceimport
374
  return $elements['entity_id'];
375
  }, $arValues);
376
 
377
- if (!empty($final)) {
378
- $this->db_magento->query("DELETE FROM {$this->tablePrefix}catalog_category_product WHERE product_id IN (" . implode(',', $final) . ");");
 
 
379
  }
380
  }
381
 
@@ -539,7 +543,7 @@ class Iceimport
539
 
540
  $select_unspsc_id = $this->db_magento->query("SELECT attribute_id FROM `{$this->tablePrefix}eav_attribute` WHERE attribute_code = 'unspsc' AND entity_type_id = $category_entity_type;");
541
  $unspsc_id = $select_unspsc_id->fetch()['attribute_id'];
542
- $this->db_magento->query("INSERT INTO {$this->tablePrefix}catalog_category_entity (`entity_type_id`, `attribute_set_id`, `path`, `level`, `created_at`, `updated_at`) SELECT $category_entity_type, $attribute_set_id, tc.unspsc_path_c, tc.level, '$now', '$now' FROM {$this->tablePrefix}temp_cats tc WHERE unspsc_c NOT IN (SELECT value FROM {$this->tablePrefix}catalog_category_entity_varchar WHERE attribute_id = $unspsc_id) GROUP BY tc.unspsc_path_c;");
543
  }
544
 
545
  public function updateCategoryPath ()
@@ -686,7 +690,7 @@ class Iceimport
686
 
687
  // categories
688
  $categoriesConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/update_categories_from_csv');
689
- $categoriesToActiveConf = Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/category_active');
690
 
691
  // mapping
692
  $config_mpn = Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/attribute_mapping_mpn');
@@ -736,20 +740,6 @@ FROM {$this->tablePrefix}import_feed impf WHERE sku NOT IN (SELECT sku FROM {$th
736
 
737
  foreach ($value as $k => $attr) {
738
  $front_input = false;
739
- if ($attr == 'mpn' && !$productmpnConf ||
740
- $attr == 'ean' && !$producteanConf ||
741
- $attr == 'brand_name' && !$productbrandConf ||
742
- $attr == 'delivery_eta' && !$deliveryetaConf ||
743
- $attr == 'description' && !$productdescriptionConf ||
744
- $attr == 'short_description' && !$productshdescriptionConf ||
745
- $attr == 'visibility' && !$updateVisibilityFromCsvConf ||
746
- $attr == 'url_key' && !$updateUrlKeyFromCsvConf ||
747
- $attr == 'name' && !$productnameConf ||
748
- $attr == 'price' && !$productpricesConf ||
749
- $attr == 'status' && !$updateStatusFromCsvConf
750
- ) {
751
- continue;
752
- }
753
 
754
  $attr_for_select = $attr;
755
 
@@ -844,9 +834,21 @@ FROM {$this->tablePrefix}import_feed impf WHERE sku NOT IN (SELECT sku FROM {$th
844
  $counter++;
845
  }
846
 
847
- $this->db_magento->query("UPDATE {$this->tablePrefix}catalog_product_entity_{$post_fix} cpek JOIN {$this->tablePrefix}import_feed impf ON impf.entity_id = cpek.entity_id SET cpek.value = impf.$attr WHERE cpek.attribute_id = $attribute_id AND cpek.value <> impf.$attr AND cpek.store_id = impf.store AND cpek.entity_type_id = impf.entity_type_id;");
848
- $this->db_magento->query("UPDATE {$this->tablePrefix}catalog_product_entity_{$post_fix} cpek JOIN {$this->tablePrefix}import_feed impf ON impf.entity_id = cpek.entity_id SET cpek.value = impf.$attr WHERE cpek.attribute_id = $attribute_id AND cpek.value <> impf.$attr AND cpek.store_id = 0 AND cpek.entity_type_id = impf.entity_type_id;");
849
-
 
 
 
 
 
 
 
 
 
 
 
 
850
  }
851
  }
852
  }
@@ -875,12 +877,18 @@ FROM {$this->tablePrefix}import_feed impf WHERE sku NOT IN (SELECT sku FROM {$th
875
  if ($productstockConf) {
876
  $this->db_magento->query("UPDATE {$this->tablePrefix}import_feed SET qty = 0 WHERE qty IS NULL;");
877
  $this->db_magento->query("INSERT INTO {$this->tablePrefix}cataloginventory_stock_item (`product_id`, `stock_id`, `qty`, `is_in_stock`) SELECT impf.entity_id, $stock_id, impf.qty, impf.is_in_stock FROM {$this->tablePrefix}import_feed impf
878
- ON DUPLICATE KEY UPDATE product_id = impf.entity_id, stock_id = $stock_id, qty = impf.qty;");
 
 
 
879
  }
880
 
881
  if ($updateIsInStockFromCsvConf) {
882
  $this->db_magento->query("INSERT INTO {$this->tablePrefix}cataloginventory_stock_status (`product_id`, `website_id`, `stock_id`, `qty`, `stock_status`) SELECT impf.entity_id, $websiteId, $stock_id, impf.qty, impf.is_in_stock FROM {$this->tablePrefix}import_feed impf
883
  ON DUPLICATE KEY UPDATE product_id = impf.entity_id, stock_id = $stock_id, website_id = $websiteId, qty = impf.qty;");
 
 
 
884
  }
885
 
886
  // Creating temp file for categories
@@ -911,28 +919,52 @@ ON DUPLICATE KEY UPDATE product_id = impf.entity_id, stock_id = $stock_id, websi
911
 
912
  $this->updateCategoryPath();
913
 
914
- if ($categoriesConf) {
915
  // catalog_category_entity_varchar
916
- $array_for_varchar = ['unspsc_c' => $unspsc_id, 'category' => $name_id, 'url_key' => $url_key_id];
917
- foreach ($array_for_varchar as $attr_varchar => $attr_varchar_id) {
 
 
 
918
 
919
- $this->db_magento->query("INSERT INTO {$this->tablePrefix}catalog_category_entity_varchar (`entity_type_id`, `attribute_id`, `store_id`, `entity_id`, `value`) SELECT $category_entity_type, $attr_varchar_id , tc.store, tc.id, tc.$attr_varchar FROM {$this->tablePrefix}temp_cats tc WHERE tc.id <> 0 ON DUPLICATE KEY UPDATE `value` = tc.$attr_varchar;");
920
- $this->db_magento->query("INSERT INTO {$this->tablePrefix}catalog_category_entity_varchar (`entity_type_id`, `attribute_id`, `store_id`, `entity_id`, `value`) SELECT $category_entity_type, $attr_varchar_id , 0, tc.id, tc.$attr_varchar FROM {$this->tablePrefix}temp_cats tc WHERE store = '$default_store_id' AND tc.id <> 0 ON DUPLICATE KEY UPDATE `value` = tc.$attr_varchar;");
 
 
 
 
 
921
  }
922
 
923
- // catalog_category_entity_int
 
 
 
 
 
924
  $array_for_int = ['is_active' => $categoriesToActiveConf, 'is_anchor' => 1, 'include_in_menu' => 1];
 
 
 
 
 
925
 
926
- foreach ($array_for_int as $attr_int => $int) {
 
927
 
928
- $select_attribute_int = $this->db_magento->query("SELECT attribute_id FROM `{$this->tablePrefix}eav_attribute` WHERE attribute_code = '$attr_int' AND entity_type_id = $category_entity_type;");
929
- $attribute_int = $select_attribute_int->fetch()['attribute_id'];
930
 
931
- $this->db_magento->query("INSERT INTO {$this->tablePrefix}catalog_category_entity_int (`entity_type_id`, `attribute_id`, `store_id`, `entity_id`, `value`) SELECT $category_entity_type, $attribute_int , tc.store, tc.id, $int FROM {$this->tablePrefix}temp_cats tc WHERE tc.id <> 0 ON DUPLICATE KEY UPDATE `value` = $int;");
932
- $this->db_magento->query("INSERT INTO {$this->tablePrefix}catalog_category_entity_int (`entity_type_id`, `attribute_id`, `store_id`, `entity_id`, `value`) SELECT $category_entity_type, $attribute_int , 0, tc.id, $int FROM {$this->tablePrefix}temp_cats tc WHERE store = '$default_store_id' AND tc.id <> 0 ON DUPLICATE KEY UPDATE `value` = $int;");
 
 
 
 
933
  }
934
- }
935
 
 
 
 
936
  // loading data to catalog_category_product;
937
  $this->loadDataToCatalogCategoryProduct();
938
  }
@@ -1006,7 +1038,7 @@ ON DUPLICATE KEY UPDATE product_id = impf.entity_id, stock_id = $stock_id, websi
1006
  $ids_for_update_is_active = implode(',', $array_for_updating_is_active);
1007
 
1008
  if (!empty($ids_for_update_is_active)) {
1009
- $this->db_magento->query("UPDATE `{$this->tablePrefix}catalog_category_entity_int` SET `value` = 0 WHERE `attribute_id` = $attribute_is_active_id AND `entity_id` IN ($ids_for_update_is_active);");
1010
  }
1011
  }
1012
  }
356
 
357
  $this->deleteTempFileForCatalogCategoryProductInsert();
358
 
359
+ $categoriesToProductsConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/update_categories_to_product');
360
+
361
  $arValues = $this->addCatIdToArray($offset);
362
  $columns = ['category_id', 'product_id'];
363
  $fp = fopen($this->filenameValues, 'w+');
376
  return $elements['entity_id'];
377
  }, $arValues);
378
 
379
+ if ($categoriesToProductsConf) {
380
+ if (!empty($final)) {
381
+ $this->db_magento->query("DELETE FROM {$this->tablePrefix}catalog_category_product WHERE product_id IN (" . implode(',', $final) . ");");
382
+ }
383
  }
384
  }
385
 
543
 
544
  $select_unspsc_id = $this->db_magento->query("SELECT attribute_id FROM `{$this->tablePrefix}eav_attribute` WHERE attribute_code = 'unspsc' AND entity_type_id = $category_entity_type;");
545
  $unspsc_id = $select_unspsc_id->fetch()['attribute_id'];
546
+ $this->db_magento->query("INSERT INTO {$this->tablePrefix}catalog_category_entity (`entity_type_id`, `attribute_set_id`, `path`, `level`, `children_count`, `position`, `created_at`, `updated_at`) SELECT $category_entity_type, $attribute_set_id, tc.unspsc_path_c, tc.level, 0, 1, '$now', '$now' FROM {$this->tablePrefix}temp_cats tc WHERE unspsc_c NOT IN (SELECT value FROM {$this->tablePrefix}catalog_category_entity_varchar WHERE attribute_id = $unspsc_id) GROUP BY tc.unspsc_path_c;");
547
  }
548
 
549
  public function updateCategoryPath ()
690
 
691
  // categories
692
  $categoriesConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/update_categories_from_csv');
693
+ $categoriesToActiveConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/category_active');
694
 
695
  // mapping
696
  $config_mpn = Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/attribute_mapping_mpn');
740
 
741
  foreach ($value as $k => $attr) {
742
  $front_input = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
743
 
744
  $attr_for_select = $attr;
745
 
834
  $counter++;
835
  }
836
 
837
+ if ($attr == 'mpn' && $productmpnConf ||
838
+ $attr == 'ean' && $producteanConf ||
839
+ $attr == 'brand_name' && $productbrandConf ||
840
+ $attr == 'delivery_eta' && $deliveryetaConf ||
841
+ $attr == 'description' && $productdescriptionConf ||
842
+ $attr == 'short_description' && $productshdescriptionConf ||
843
+ $attr == 'visibility' && $updateVisibilityFromCsvConf ||
844
+ $attr == 'url_key' && $updateUrlKeyFromCsvConf ||
845
+ $attr == 'name' && $productnameConf ||
846
+ $attr == 'price' && $productpricesConf ||
847
+ $attr == 'status' && $updateStatusFromCsvConf
848
+ ) {
849
+ $this->db_magento->query("UPDATE {$this->tablePrefix}catalog_product_entity_{$post_fix} cpek JOIN {$this->tablePrefix}import_feed impf ON impf.entity_id = cpek.entity_id SET cpek.value = impf.$attr WHERE cpek.attribute_id = $attribute_id AND cpek.value <> impf.$attr AND cpek.store_id = impf.store AND cpek.entity_type_id = impf.entity_type_id;");
850
+ $this->db_magento->query("UPDATE {$this->tablePrefix}catalog_product_entity_{$post_fix} cpek JOIN {$this->tablePrefix}import_feed impf ON impf.entity_id = cpek.entity_id SET cpek.value = impf.$attr WHERE cpek.attribute_id = $attribute_id AND cpek.value <> impf.$attr AND cpek.store_id = 0 AND cpek.entity_type_id = impf.entity_type_id;");
851
+ }
852
  }
853
  }
854
  }
877
  if ($productstockConf) {
878
  $this->db_magento->query("UPDATE {$this->tablePrefix}import_feed SET qty = 0 WHERE qty IS NULL;");
879
  $this->db_magento->query("INSERT INTO {$this->tablePrefix}cataloginventory_stock_item (`product_id`, `stock_id`, `qty`, `is_in_stock`) SELECT impf.entity_id, $stock_id, impf.qty, impf.is_in_stock FROM {$this->tablePrefix}import_feed impf
880
+ ON DUPLICATE KEY UPDATE product_id = impf.entity_id, stock_id = $stock_id, qty = impf.qty, is_in_stock = impf.is_in_stock;");
881
+ } else {
882
+ $this->db_magento->query("INSERT INTO {$this->tablePrefix}cataloginventory_stock_item (`product_id`, `stock_id`, `qty`, `is_in_stock`) SELECT impf.entity_id, $stock_id, impf.qty, impf.is_in_stock FROM {$this->tablePrefix}import_feed impf
883
+ ON DUPLICATE KEY UPDATE product_id = impf.entity_id;");
884
  }
885
 
886
  if ($updateIsInStockFromCsvConf) {
887
  $this->db_magento->query("INSERT INTO {$this->tablePrefix}cataloginventory_stock_status (`product_id`, `website_id`, `stock_id`, `qty`, `stock_status`) SELECT impf.entity_id, $websiteId, $stock_id, impf.qty, impf.is_in_stock FROM {$this->tablePrefix}import_feed impf
888
  ON DUPLICATE KEY UPDATE product_id = impf.entity_id, stock_id = $stock_id, website_id = $websiteId, qty = impf.qty;");
889
+ } else {
890
+ $this->db_magento->query("INSERT INTO {$this->tablePrefix}cataloginventory_stock_status (`product_id`, `website_id`, `stock_id`, `qty`, `stock_status`) SELECT impf.entity_id, $websiteId, $stock_id, impf.qty, impf.is_in_stock FROM {$this->tablePrefix}import_feed impf
891
+ ON DUPLICATE KEY UPDATE product_id = impf.entity_id;");
892
  }
893
 
894
  // Creating temp file for categories
919
 
920
  $this->updateCategoryPath();
921
 
 
922
  // catalog_category_entity_varchar
923
+ $array_for_varchar = ['unspsc_c' => $unspsc_id, 'category' => $name_id, 'url_key' => $url_key_id];
924
+ foreach ($array_for_varchar as $attr_varchar => $attr_varchar_id) {
925
+
926
+ $store_def_query_varchar = "INSERT INTO {$this->tablePrefix}catalog_category_entity_varchar (`entity_type_id`, `attribute_id`, `store_id`, `entity_id`, `value`) SELECT $category_entity_type, $attr_varchar_id , tc.store, tc.id, tc.$attr_varchar FROM {$this->tablePrefix}temp_cats tc WHERE tc.id <> 0 ";
927
+ $store_null_query_varchar = "INSERT INTO {$this->tablePrefix}catalog_category_entity_varchar (`entity_type_id`, `attribute_id`, `store_id`, `entity_id`, `value`) SELECT $category_entity_type, $attr_varchar_id , 0, tc.id, tc.$attr_varchar FROM {$this->tablePrefix}temp_cats tc WHERE store = '$default_store_id' AND tc.id <> 0 ";
928
 
929
+ if ($categoriesConf) {
930
+ $store_def_query_varchar .= "ON DUPLICATE KEY UPDATE `value` = tc.$attr_varchar;";
931
+ $store_null_query_varchar .= "ON DUPLICATE KEY UPDATE `value` = tc.$attr_varchar;";
932
+
933
+ } else {
934
+ $store_def_query_varchar .= "ON DUPLICATE KEY UPDATE `entity_id` = tc.id;";
935
+ $store_null_query_varchar .= "ON DUPLICATE KEY UPDATE `entity_id` = tc.id;";
936
  }
937
 
938
+ $this->db_magento->query($store_def_query_varchar);
939
+ $this->db_magento->query($store_null_query_varchar);
940
+ }
941
+
942
+ // catalog_category_entity_int
943
+ if ($categoriesToActiveConf) {
944
  $array_for_int = ['is_active' => $categoriesToActiveConf, 'is_anchor' => 1, 'include_in_menu' => 1];
945
+ } else {
946
+ $array_for_int = ['is_anchor' => 1, 'include_in_menu' => 1];
947
+ }
948
+
949
+ foreach ($array_for_int as $attr_int => $int) {
950
 
951
+ $select_attribute_int = $this->db_magento->query("SELECT attribute_id FROM `{$this->tablePrefix}eav_attribute` WHERE attribute_code = '$attr_int' AND entity_type_id = $category_entity_type;");
952
+ $attribute_int = $select_attribute_int->fetch()['attribute_id'];
953
 
954
+ $store_def_query_int = "INSERT INTO {$this->tablePrefix}catalog_category_entity_int (`entity_type_id`, `attribute_id`, `store_id`, `entity_id`, `value`) SELECT $category_entity_type, $attribute_int , tc.store, tc.id, $int FROM {$this->tablePrefix}temp_cats tc WHERE tc.id <> 0 ";
955
+ $store_null_query_int = "INSERT INTO {$this->tablePrefix}catalog_category_entity_int (`entity_type_id`, `attribute_id`, `store_id`, `entity_id`, `value`) SELECT $category_entity_type, $attribute_int , 0, tc.id, $int FROM {$this->tablePrefix}temp_cats tc WHERE store = '$default_store_id' AND tc.id <> 0 ";
956
 
957
+ if ($categoriesConf && !$categoriesToActiveConf) {
958
+ $store_def_query_int .= "ON DUPLICATE KEY UPDATE `value` = $int;";
959
+ $store_null_query_int .= "ON DUPLICATE KEY UPDATE `value` = $int;";
960
+ } else {
961
+ $store_def_query_int .= "ON DUPLICATE KEY UPDATE `entity_id` = tc.id;";
962
+ $store_null_query_int .= "ON DUPLICATE KEY UPDATE `entity_id` = tc.id;";
963
  }
 
964
 
965
+ $this->db_magento->query($store_def_query_int);
966
+ $this->db_magento->query($store_null_query_int);
967
+ }
968
  // loading data to catalog_category_product;
969
  $this->loadDataToCatalogCategoryProduct();
970
  }
1038
  $ids_for_update_is_active = implode(',', $array_for_updating_is_active);
1039
 
1040
  if (!empty($ids_for_update_is_active)) {
1041
+ //$this->db_magento->query("UPDATE `{$this->tablePrefix}catalog_category_entity_int` SET `value` = 0 WHERE `attribute_id` = $attribute_is_active_id AND `entity_id` IN ($ids_for_update_is_active);");
1042
  }
1043
  }
1044
  }
app/code/community/ICEshop/Iceimport/controllers/Adminhtml/System/Convert/GuiController.php CHANGED
@@ -54,11 +54,22 @@ class ICEshop_Iceimport_Adminhtml_System_Convert_GuiController extends Mage_Admi
54
 
55
  $iceimport = new Iceimport();
56
 
57
- try {
 
 
 
58
 
 
59
  $iceimport->importProduct($importData);
60
  } catch (Exception $e) {
 
 
 
 
 
61
  $errors[] = $e->getMessage();
 
 
62
  }
63
 
64
  if (method_exists($adapter, 'getEventPrefix')) {
@@ -83,11 +94,35 @@ class ICEshop_Iceimport_Adminhtml_System_Convert_GuiController extends Mage_Admi
83
  }
84
  }
85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  public function batchFinishAction()
87
  {
88
 
 
 
 
 
 
 
 
89
  $DB_logger = Mage::helper('iceimport/db');
90
  $delete_old_products = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/delete_old_products');
 
91
 
92
  $batchId = $this->getRequest()->getParam('id');
93
  if ($batchId) {
@@ -107,9 +142,30 @@ class ICEshop_Iceimport_Adminhtml_System_Convert_GuiController extends Mage_Admi
107
  $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
108
  }
109
  }
 
 
 
 
 
110
  if ($delete_old_products) {
111
  $iceimport = new Iceimport();
112
  $iceimport->deleteOldProducts($DB_logger);
113
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  }
115
  }
54
 
55
  $iceimport = new Iceimport();
56
 
57
+ $date = date('m/d/Y H:i:s');
58
+
59
+ $DB_logger = Mage::helper('iceimport/db');
60
+ $DB_logger->insertLogEntry('iceimport_import_started', $date);
61
 
62
+ try {
63
  $iceimport->importProduct($importData);
64
  } catch (Exception $e) {
65
+ $iceimport->deleteTemFileForAttributes();
66
+ $iceimport->deleteTempFileForCategories();
67
+ $iceimport->deleteTempFileForCatalogCategoryProductInsert();
68
+ $iceimport->deleteTempTableCats();
69
+ $iceimport->deleteTempTableProds();
70
  $errors[] = $e->getMessage();
71
+ $date = date('m/d/Y H:i:s');
72
+ $DB_logger->insertLogEntry('iceimport_import_ended', $date);
73
  }
74
 
75
  if (method_exists($adapter, 'getEventPrefix')) {
94
  }
95
  }
96
 
97
+ /**
98
+ * Update path to children category/root
99
+ */
100
+ public function updateCatalogCategoryChildren(){
101
+ try{
102
+ $db_res = Mage::getSingleton('core/resource')->getConnection('core_write');
103
+ $tablePrefix = '';
104
+ $tPrefix = (array)Mage::getConfig()->getTablePrefix();
105
+ if (!empty($tPrefix)) {
106
+ $tablePrefix = $tPrefix[0];
107
+ }
108
+ $db_res->query('UPDATE `'.$tablePrefix.'catalog_category_entity` SET children_count = (SELECT COUNT(*) FROM (SELECT * FROM `'.$tablePrefix.'catalog_category_entity`) AS table2 WHERE path LIKE CONCAT(`'.$tablePrefix.'catalog_category_entity`.path,"/%"));');
109
+ } catch (Exception $e){
110
+ }
111
+ }
112
+
113
  public function batchFinishAction()
114
  {
115
 
116
+ $db_res = Mage::getSingleton('core/resource')->getConnection('core_write');
117
+ $tablePrefix = '';
118
+ $tPrefix = (array)Mage::getConfig()->getTablePrefix();
119
+ if (!empty($tPrefix)) {
120
+ $tablePrefix = $tPrefix[0];
121
+ }
122
+
123
  $DB_logger = Mage::helper('iceimport/db');
124
  $delete_old_products = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/delete_old_products');
125
+ $category_sort = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/category_sort');
126
 
127
  $batchId = $this->getRequest()->getParam('id');
128
  if ($batchId) {
142
  $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
143
  }
144
  }
145
+
146
+ $select_count_imported_products = $db_res->query("SELECT COUNT(DISTINCT product_sku) as count FROM {$tablePrefix}iceshop_iceimport_imported_product_ids WHERE product_sku IS NOT NULL;");
147
+ $count_imported_products = $select_count_imported_products->fetch()['count'];
148
+ $DB_logger->insertLogEntry('iceimport_count_imported_products', $count_imported_products);
149
+
150
  if ($delete_old_products) {
151
  $iceimport = new Iceimport();
152
  $iceimport->deleteOldProducts($DB_logger);
153
  }
154
+
155
+ if ($category_sort) {
156
+ if (!isset($iceimport)) {
157
+ $iceimport = new Iceimport();
158
+ }
159
+ $iceimport->runCategoriesSorting();
160
+ }
161
+ try {
162
+ $this->updateCatalogCategoryChildren();
163
+ $db_res->query("TRUNCATE {$tablePrefix}dataflow_batch_import");
164
+ } catch (Exception $e) {
165
+ $DB_logger->insertLogEntry('iceimport_import_status_cron', 'Failed');
166
+ throw new Exception($e->getMessage());
167
+ }
168
+ $date = date('m/d/Y H:i:s');
169
+ $DB_logger->insertLogEntry('iceimport_import_ended', $date);
170
  }
171
  }
app/code/community/ICEshop/Iceimport/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <ICEshop_Iceimport>
5
- <version>1.8.0</version>
6
  </ICEshop_Iceimport>
7
  </modules>
8
  <admin>
@@ -128,6 +128,7 @@
128
  <import_images>1</import_images>
129
  <process_image_queue>0</process_image_queue>
130
  <update_categories_from_csv>1</update_categories_from_csv>
 
131
  <update_status_from_csv>1</update_status_from_csv>
132
  <update_visibility_from_csv>1</update_visibility_from_csv>
133
  <update_is_in_stock_from_csv>1</update_is_in_stock_from_csv>
2
  <config>
3
  <modules>
4
  <ICEshop_Iceimport>
5
+ <version>1.8.3</version>
6
  </ICEshop_Iceimport>
7
  </modules>
8
  <admin>
128
  <import_images>1</import_images>
129
  <process_image_queue>0</process_image_queue>
130
  <update_categories_from_csv>1</update_categories_from_csv>
131
+ <update_categories_to_product>1</update_categories_to_product>
132
  <update_status_from_csv>1</update_status_from_csv>
133
  <update_visibility_from_csv>1</update_visibility_from_csv>
134
  <update_is_in_stock_from_csv>1</update_is_in_stock_from_csv>
app/code/community/ICEshop/Iceimport/etc/system.xml CHANGED
@@ -153,12 +153,22 @@
153
  <show_in_website>1</show_in_website>
154
  <show_in_store>1</show_in_store>
155
  </update_categories_from_csv>
 
 
 
 
 
 
 
 
 
 
156
  <update_status_from_csv translate="label">
157
  <label><![CDATA[Update status]]></label>
158
  <comment><![CDATA[]]></comment>
159
  <frontend_type>select</frontend_type>
160
  <source_model>iceimport/system_config_yesno</source_model>
161
- <sort_order>33</sort_order>
162
  <show_in_default>1</show_in_default>
163
  <show_in_website>1</show_in_website>
164
  <show_in_store>1</show_in_store>
@@ -168,7 +178,7 @@
168
  <comment><![CDATA[]]></comment>
169
  <frontend_type>select</frontend_type>
170
  <source_model>iceimport/system_config_yesno</source_model>
171
- <sort_order>34</sort_order>
172
  <show_in_default>1</show_in_default>
173
  <show_in_website>1</show_in_website>
174
  <show_in_store>1</show_in_store>
@@ -178,7 +188,7 @@
178
  <comment><![CDATA[]]></comment>
179
  <frontend_type>select</frontend_type>
180
  <source_model>iceimport/system_config_yesno</source_model>
181
- <sort_order>35</sort_order>
182
  <show_in_default>1</show_in_default>
183
  <show_in_website>1</show_in_website>
184
  <show_in_store>1</show_in_store>
@@ -188,7 +198,7 @@
188
  <comment><![CDATA[]]></comment>
189
  <frontend_type>select</frontend_type>
190
  <source_model>iceimport/system_config_yesno</source_model>
191
- <sort_order>36</sort_order>
192
  <show_in_default>1</show_in_default>
193
  <show_in_website>1</show_in_website>
194
  <show_in_store>1</show_in_store>
@@ -197,7 +207,7 @@
197
  <label>Import product images (via Cron)</label>
198
  <frontend_type>select</frontend_type>
199
  <source_model>iceimport/system_config_yesno</source_model>
200
- <sort_order>37</sort_order>
201
  <show_in_default>1</show_in_default>
202
  <show_in_website>1</show_in_website>
203
  <show_in_store>1</show_in_store>
@@ -206,7 +216,7 @@
206
  <label>Run image queue processing</label>
207
  <frontend_type>select</frontend_type>
208
  <source_model>iceimport/system_config_yesno</source_model>
209
- <sort_order>38</sort_order>
210
  <show_in_default>1</show_in_default>
211
  <show_in_website>1</show_in_website>
212
  <show_in_store>1</show_in_store>
@@ -216,7 +226,7 @@
216
  <comment>Choose run re-index all the content after finishing ICEimport or not.</comment>
217
  <frontend_type>select</frontend_type>
218
  <source_model>iceimport/system_config_yesno</source_model>
219
- <sort_order>39</sort_order>
220
  <show_in_default>1</show_in_default>
221
  <show_in_website>1</show_in_website>
222
  <show_in_store>1</show_in_store>
@@ -226,7 +236,7 @@
226
  <comment><![CDATA[Import profile]]></comment>
227
  <frontend_type>select</frontend_type>
228
  <source_model>iceimport/system_config_profiles</source_model>
229
- <sort_order>40</sort_order>
230
  <show_in_default>1</show_in_default>
231
  <show_in_website>1</show_in_website>
232
  <show_in_store>1</show_in_store>
@@ -234,7 +244,7 @@
234
  <cron_settings>
235
  <label>When you want to run cron ?</label>
236
  <frontend_type>text</frontend_type>
237
- <sort_order>41</sort_order>
238
  <validate>required-entry</validate>
239
  <comment>Use Crontab Format (Eg. "30 7 * * *" in 7:30 AM). Don't forget `Flush Magento Cache` and `Flush Cache Storage` after changes.</comment>
240
  <show_in_default>1</show_in_default>
153
  <show_in_website>1</show_in_website>
154
  <show_in_store>1</show_in_store>
155
  </update_categories_from_csv>
156
+ <update_categories_to_product translate="label">
157
+ <label><![CDATA[Update products to categories]]></label>
158
+ <comment><![CDATA[]]></comment>
159
+ <frontend_type>select</frontend_type>
160
+ <source_model>iceimport/system_config_yesno</source_model>
161
+ <sort_order>33</sort_order>
162
+ <show_in_default>1</show_in_default>
163
+ <show_in_website>1</show_in_website>
164
+ <show_in_store>1</show_in_store>
165
+ </update_categories_to_product>
166
  <update_status_from_csv translate="label">
167
  <label><![CDATA[Update status]]></label>
168
  <comment><![CDATA[]]></comment>
169
  <frontend_type>select</frontend_type>
170
  <source_model>iceimport/system_config_yesno</source_model>
171
+ <sort_order>34</sort_order>
172
  <show_in_default>1</show_in_default>
173
  <show_in_website>1</show_in_website>
174
  <show_in_store>1</show_in_store>
178
  <comment><![CDATA[]]></comment>
179
  <frontend_type>select</frontend_type>
180
  <source_model>iceimport/system_config_yesno</source_model>
181
+ <sort_order>35</sort_order>
182
  <show_in_default>1</show_in_default>
183
  <show_in_website>1</show_in_website>
184
  <show_in_store>1</show_in_store>
188
  <comment><![CDATA[]]></comment>
189
  <frontend_type>select</frontend_type>
190
  <source_model>iceimport/system_config_yesno</source_model>
191
+ <sort_order>36</sort_order>
192
  <show_in_default>1</show_in_default>
193
  <show_in_website>1</show_in_website>
194
  <show_in_store>1</show_in_store>
198
  <comment><![CDATA[]]></comment>
199
  <frontend_type>select</frontend_type>
200
  <source_model>iceimport/system_config_yesno</source_model>
201
+ <sort_order>37</sort_order>
202
  <show_in_default>1</show_in_default>
203
  <show_in_website>1</show_in_website>
204
  <show_in_store>1</show_in_store>
207
  <label>Import product images (via Cron)</label>
208
  <frontend_type>select</frontend_type>
209
  <source_model>iceimport/system_config_yesno</source_model>
210
+ <sort_order>38</sort_order>
211
  <show_in_default>1</show_in_default>
212
  <show_in_website>1</show_in_website>
213
  <show_in_store>1</show_in_store>
216
  <label>Run image queue processing</label>
217
  <frontend_type>select</frontend_type>
218
  <source_model>iceimport/system_config_yesno</source_model>
219
+ <sort_order>39</sort_order>
220
  <show_in_default>1</show_in_default>
221
  <show_in_website>1</show_in_website>
222
  <show_in_store>1</show_in_store>
226
  <comment>Choose run re-index all the content after finishing ICEimport or not.</comment>
227
  <frontend_type>select</frontend_type>
228
  <source_model>iceimport/system_config_yesno</source_model>
229
+ <sort_order>40</sort_order>
230
  <show_in_default>1</show_in_default>
231
  <show_in_website>1</show_in_website>
232
  <show_in_store>1</show_in_store>
236
  <comment><![CDATA[Import profile]]></comment>
237
  <frontend_type>select</frontend_type>
238
  <source_model>iceimport/system_config_profiles</source_model>
239
+ <sort_order>41</sort_order>
240
  <show_in_default>1</show_in_default>
241
  <show_in_website>1</show_in_website>
242
  <show_in_store>1</show_in_store>
244
  <cron_settings>
245
  <label>When you want to run cron ?</label>
246
  <frontend_type>text</frontend_type>
247
+ <sort_order>42</sort_order>
248
  <validate>required-entry</validate>
249
  <comment>Use Crontab Format (Eg. "30 7 * * *" in 7:30 AM). Don't forget `Flush Magento Cache` and `Flush Cache Storage` after changes.</comment>
250
  <show_in_default>1</show_in_default>
package.xml CHANGED
@@ -1,20 +1,20 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ice_import</name>
4
- <version>1.8.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v.3</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Import categories &amp; products</summary>
10
  <description>This extension can use to import products with categories, multiple images and custom options from CSV file.</description>
11
- <notes>- Updated logic of importing of products and categories&#xD;
12
- - Speed improvement&#xD;
13
- - Reduced memory usage</notes>
14
  <authors><author><name>IceShop</name><user>IceShop</user><email>support@iceshop.nl</email></author></authors>
15
- <date>2017-07-20</date>
16
- <time>11:26:07</time>
17
- <contents><target name="magecommunity"><dir name="ICEshop"><dir name="Iceimport"><dir name="Block"><dir name="Adminhtml"><file name="Dashboard.php" hash="2eee914402e5610ba273109994e6ca6a"/><dir name="Images"><dir name="List"><file name="Grid.php" hash="e3c9190844dd7d829ec8c95a3edb53a9"/></dir></dir><file name="Notifications.php" hash="2c917dd62d7119cc0f5b3fda87efc537"/><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="a716ac837c2a3548c2b0c8ab7d871321"/><file name="Exportall.php" hash="38bbe2ec93f492230f2ffcee56dd259b"/><file name="Updatebutton.php" hash="bf0344ecdb7b2756f10830c51324f5a2"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="29b0d1ddc50a67eaf7160cf1228f24da"/><file name="Db.php" hash="e4214f988bc3e030ad1f73f275453aaf"/><file name="Format.php" hash="20e0c6e3be6ce66b5c5fa2091fe04f4a"/><dir name="System"><file name="System.php" hash="2645d278ecfdd0bcb2bfaf4a9c8ea53e"/><file name="Systemcheck.php" hash="8b4916b33bf1b92610e01758b8f4492f"/></dir></dir><dir name="Model"><dir name="Convert"><dir name="Adapter"><file name="Iceimport.php" hash="11266bd8d7cf995fdfafee349a380063"/></dir></dir><dir name="Dataflow"><dir name="Batch"><file name="Import.php" hash="b47a93c74ce8c785ad69eb47803ef3db"/></dir><dir name="Convert"><dir name="Adapter"><file name="Io.php" hash="0fc5cdfdce12eda0553711355b3c2405"/></dir><dir name="Parser"><file name="Csv.php" hash="c031459fe50a569fbe655262ef286c40"/></dir></dir></dir><file name="Observer.php" hash="1d4ea7dbd0f707071e8a77f24049bfd4"/><dir name="System"><dir name="Config"><file name="Category.php" hash="d20fe0979a1ed5d56a1e91374d0f566b"/><file name="Checksystem.php" hash="86cda2191bea190d59bdfaf904cd55fd"/><file name="Defaulttax.php" hash="2baea942efcc3880d785da9f021f04fc"/><file name="Explanations.php" hash="5452b370335ef4c03272c11c527e4ca3"/><dir name="Fields"><file name="Attributes.php" hash="e493e1f8a09aee4e5e603b292ac17fef"/></dir><file name="Iceshoplink.php" hash="5a5b523ab4bb13ad8f94c82f321ba19e"/><file name="Profiles.php" hash="6f8525946e12b116c7c2435c74b82e43"/><file name="Stock.php" hash="db933dc508d917904915771de54a998c"/><file name="Websites.php" hash="de666d4e92f777646839e73717e20fd3"/><file name="Yesno.php" hash="273e501e78300ac78360fd787d5f9d1b"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IceimagesController.php" hash="4ab35558c030e353a54cfe64b3d81df1"/><file name="IceimportController.php" hash="13505b537014587f3178a920b30d63bb"/><file name="IceimportimagesController.php" hash="51d383100bf1b6a4fc97866f0e0a51bb"/><dir name="System"><dir name="Convert"><file name="GuiController.php" hash="7b7be25a6ada3d075ed67f3a7dac0038"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="aae63620174bbe5791cad5ce154eb8da"/><file name="config.xml" hash="d7d44877fee1f2b205f6966ea0be44fb"/><file name="system.xml" hash="206b0646605eeabf2be1e899de25b092"/></dir><file name="include.php" hash="4feef8b32dce3375a9d48f817a90c396"/><dir name="sql"><dir name="iceimport_setup"><file name="mysql4-install-1.8.0.php" hash="4f3769e113bf3359d8e31e7ed541f6df"/><file name="mysql4-upgrade-1.7.15-1.8.0.php" hash="51e7eab2a26c9521b3ee1463b66adadd"/><file name="mysql4-upgrade-1.7.16-1.8.0.php" hash="e82b29207bc0bb92b15bdea5b60c071d"/><file name="mysql4-upgrade-1.7.17-1.8.0.php" hash="f6b22ec5557cb2b0e5f6aa469c034937"/><file name="mysql4-upgrade-1.7.18-1.8.0.php" hash="8e6fbf57ebe0a1f38ac8bcbf64eee746"/><file name="mysql4-upgrade-1.7.19-1.8.0.php" hash="7c03da0f59ead15cb1e0a0f7ee2d5d28"/><file name="mysql4-upgrade-1.7.20-1.8.0.php" hash="ac6d4efbd15ba801242635c43ce24270"/><file name="mysql4-upgrade-1.7.21-1.8.0.php" hash="0e7237d0cc4bae04d2f5b931cbc9f5ba"/><file name="mysql4-upgrade-1.7.22-1.8.0.php" hash="0e7237d0cc4bae04d2f5b931cbc9f5ba"/><file name="mysql4-upgrade-1.7.8-1.8.0.php" hash="361c8fe17ee33d289094fc252501f7a1"/><file name="upgrade_run.php" hash="f77e33b196d987239f7b3176bed27e90"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ICEshop_Iceimport.xml" hash="ba688dd33def1bb1c1c3f6d312eff468"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ICEshop_Iceimport.xml" hash="af53e1e9c59f2e351ec75e6b2a452360"/></dir><dir name="template"><dir name="iceshop"><dir name="iceimport"><file name="dashboard.phtml" hash="0fb362cb59eaff591b8b33e812798986"/><file name="notifications.phtml" hash="d41bd462ebfee9392a086530dfd13c55"/></dir></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="ICEshop"><dir name="Iceimport"><file name="dashboard.js" hash="54ebceb6b8be6a0cc8f012248a5ea1ba"/><file name="jquery-1.11.1.min.js" hash="00581ba93329e1af4e422831174588f9"/><file name="script.js" hash="3c00573b09de4b67d0776dccb5acf139"/></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="iceshop"><dir name="iceimport"><dir name="images"><file name="iceshop_logo_small_16px.png" hash="4ef632b4b89a047789307b301b9dfb6e"/></dir><file name="styles.css" hash="dfde1444b1d962bae2e0b8f0a7076334"/></dir></dir></dir></dir></dir></target></contents>
18
  <compatible/>
19
- <dependencies><required><php><min>5.2.0</min><max>7.1.7</max></php></required></dependencies>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ice_import</name>
4
+ <version>1.8.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v.3</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Import categories &amp; products</summary>
10
  <description>This extension can use to import products with categories, multiple images and custom options from CSV file.</description>
11
+ <notes>- Speed improvement&#xD;
12
+ - Added option for updating of category to product relation&#xD;
13
+ - Minor bug fixing</notes>
14
  <authors><author><name>IceShop</name><user>IceShop</user><email>support@iceshop.nl</email></author></authors>
15
+ <date>2017-09-04</date>
16
+ <time>16:04:56</time>
17
+ <contents><target name="magecommunity"><dir name="ICEshop"><dir name="Iceimport"><dir name="Block"><dir name="Adminhtml"><file name="Dashboard.php" hash="2eee914402e5610ba273109994e6ca6a"/><dir name="Images"><dir name="List"><file name="Grid.php" hash="e3c9190844dd7d829ec8c95a3edb53a9"/></dir></dir><file name="Notifications.php" hash="2c917dd62d7119cc0f5b3fda87efc537"/><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="a716ac837c2a3548c2b0c8ab7d871321"/><file name="Exportall.php" hash="38bbe2ec93f492230f2ffcee56dd259b"/><file name="Updatebutton.php" hash="bf0344ecdb7b2756f10830c51324f5a2"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="29b0d1ddc50a67eaf7160cf1228f24da"/><file name="Db.php" hash="e4214f988bc3e030ad1f73f275453aaf"/><file name="Format.php" hash="20e0c6e3be6ce66b5c5fa2091fe04f4a"/><dir name="System"><file name="System.php" hash="2645d278ecfdd0bcb2bfaf4a9c8ea53e"/><file name="Systemcheck.php" hash="8b4916b33bf1b92610e01758b8f4492f"/></dir></dir><dir name="Model"><dir name="Convert"><dir name="Adapter"><file name="Iceimport.php" hash="716663f78e180d55310feeab741f6ec1"/></dir></dir><dir name="Dataflow"><dir name="Batch"><file name="Import.php" hash="b47a93c74ce8c785ad69eb47803ef3db"/></dir><dir name="Convert"><dir name="Adapter"><file name="Io.php" hash="0fc5cdfdce12eda0553711355b3c2405"/></dir><dir name="Parser"><file name="Csv.php" hash="c031459fe50a569fbe655262ef286c40"/></dir></dir></dir><file name="Observer.php" hash="1d4ea7dbd0f707071e8a77f24049bfd4"/><dir name="System"><dir name="Config"><file name="Category.php" hash="d20fe0979a1ed5d56a1e91374d0f566b"/><file name="Checksystem.php" hash="86cda2191bea190d59bdfaf904cd55fd"/><file name="Defaulttax.php" hash="2baea942efcc3880d785da9f021f04fc"/><file name="Explanations.php" hash="5452b370335ef4c03272c11c527e4ca3"/><dir name="Fields"><file name="Attributes.php" hash="e493e1f8a09aee4e5e603b292ac17fef"/></dir><file name="Iceshoplink.php" hash="5a5b523ab4bb13ad8f94c82f321ba19e"/><file name="Profiles.php" hash="6f8525946e12b116c7c2435c74b82e43"/><file name="Stock.php" hash="db933dc508d917904915771de54a998c"/><file name="Websites.php" hash="de666d4e92f777646839e73717e20fd3"/><file name="Yesno.php" hash="273e501e78300ac78360fd787d5f9d1b"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IceimagesController.php" hash="4ab35558c030e353a54cfe64b3d81df1"/><file name="IceimportController.php" hash="13505b537014587f3178a920b30d63bb"/><file name="IceimportimagesController.php" hash="51d383100bf1b6a4fc97866f0e0a51bb"/><dir name="System"><dir name="Convert"><file name="GuiController.php" hash="bd04455d17bbb5b142b20ce69e642a7e"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="aae63620174bbe5791cad5ce154eb8da"/><file name="config.xml" hash="d1ddebe204e2287a05a4248a86a77090"/><file name="system.xml" hash="524cc85326de40e10bd26ff36b9f9d72"/></dir><file name="include.php" hash="4feef8b32dce3375a9d48f817a90c396"/><dir name="sql"><dir name="iceimport_setup"><file name="mysql4-install-1.8.0.php" hash="4f3769e113bf3359d8e31e7ed541f6df"/><file name="mysql4-upgrade-1.7.15-1.8.0.php" hash="51e7eab2a26c9521b3ee1463b66adadd"/><file name="mysql4-upgrade-1.7.16-1.8.0.php" hash="e82b29207bc0bb92b15bdea5b60c071d"/><file name="mysql4-upgrade-1.7.17-1.8.0.php" hash="f6b22ec5557cb2b0e5f6aa469c034937"/><file name="mysql4-upgrade-1.7.18-1.8.0.php" hash="8e6fbf57ebe0a1f38ac8bcbf64eee746"/><file name="mysql4-upgrade-1.7.19-1.8.0.php" hash="7c03da0f59ead15cb1e0a0f7ee2d5d28"/><file name="mysql4-upgrade-1.7.20-1.8.0.php" hash="ac6d4efbd15ba801242635c43ce24270"/><file name="mysql4-upgrade-1.7.21-1.8.0.php" hash="0e7237d0cc4bae04d2f5b931cbc9f5ba"/><file name="mysql4-upgrade-1.7.22-1.8.0.php" hash="0e7237d0cc4bae04d2f5b931cbc9f5ba"/><file name="mysql4-upgrade-1.7.8-1.8.0.php" hash="361c8fe17ee33d289094fc252501f7a1"/><file name="upgrade_run.php" hash="f77e33b196d987239f7b3176bed27e90"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ICEshop_Iceimport.xml" hash="ba688dd33def1bb1c1c3f6d312eff468"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ICEshop_Iceimport.xml" hash="af53e1e9c59f2e351ec75e6b2a452360"/></dir><dir name="template"><dir name="iceshop"><dir name="iceimport"><file name="dashboard.phtml" hash="0fb362cb59eaff591b8b33e812798986"/><file name="notifications.phtml" hash="d41bd462ebfee9392a086530dfd13c55"/></dir></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="ICEshop"><dir name="Iceimport"><file name="dashboard.js" hash="54ebceb6b8be6a0cc8f012248a5ea1ba"/><file name="jquery-1.11.1.min.js" hash="00581ba93329e1af4e422831174588f9"/><file name="script.js" hash="3c00573b09de4b67d0776dccb5acf139"/></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="iceshop"><dir name="iceimport"><dir name="images"><file name="iceshop_logo_small_16px.png" hash="4ef632b4b89a047789307b301b9dfb6e"/></dir><file name="styles.css" hash="dfde1444b1d962bae2e0b8f0a7076334"/></dir></dir></dir></dir></dir></target></contents>
18
  <compatible/>
19
+ <dependencies><required><php><min>5.2.0</min><max>7.1.9</max></php></required></dependencies>
20
  </package>