Version Notes
Improvements:
- Added acknowledge notifications warning.
Bugfix:
- Minor bug fixing
Download this release
Release Info
| Developer | IceShop |
| Extension | ice_import |
| Version | 1.7.15 |
| Comparing to | |
| See all releases | |
Code changes from version 1.7.14 to 1.7.15
- app/code/community/ICEshop/Iceimport/Block/Adminhtml/Notifications.php +7 -5
- app/code/community/ICEshop/Iceimport/Helper/System/Systemcheck.php +124 -16
- app/code/community/ICEshop/Iceimport/Model/Convert/Adapter/Product.php +80 -57
- app/code/community/ICEshop/Iceimport/controllers/Adminhtml/IceimportController.php +66 -1
- app/code/community/ICEshop/Iceimport/etc/config.xml +1 -1
- app/code/community/ICEshop/Iceimport/sql/iceimport_setup/{mysql4-install-1.7.14.php → mysql4-install-1.7.15.php} +0 -0
- app/code/community/ICEshop/Iceimport/sql/iceimport_setup/mysql4-upgrade-1.7.14-1.7.15.php +75 -0
- package.xml +9 -6
app/code/community/ICEshop/Iceimport/Block/Adminhtml/Notifications.php
CHANGED
|
@@ -13,11 +13,13 @@ class ICEshop_Iceimport_Block_Adminhtml_Notifications extends Mage_Adminhtml_Blo
|
|
| 13 |
$checker = Mage::helper('iceimport/system_systemcheck')->init();
|
| 14 |
$problems_digest = $checker->getExtensionProblemsDigest();
|
| 15 |
$response = array();
|
| 16 |
-
if
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
|
|
|
|
|
|
| 21 |
}
|
| 22 |
return $response;
|
| 23 |
}
|
| 13 |
$checker = Mage::helper('iceimport/system_systemcheck')->init();
|
| 14 |
$problems_digest = $checker->getExtensionProblemsDigest();
|
| 15 |
$response = array();
|
| 16 |
+
if($checker->checkSetWarning()){
|
| 17 |
+
if ($problems_digest->getCount() != 0) {
|
| 18 |
+
$problems = $problems_digest->getProblems();
|
| 19 |
+
foreach ($problems as $problem_name => $problem_value) {
|
| 20 |
+
$response[] = array($problem_name => $problem_value);
|
| 21 |
+
}
|
| 22 |
+
}
|
| 23 |
}
|
| 24 |
return $response;
|
| 25 |
}
|
app/code/community/ICEshop/Iceimport/Helper/System/Systemcheck.php
CHANGED
|
@@ -114,8 +114,8 @@ class ICEshop_Iceimport_Helper_System_Systemcheck extends Mage_Core_Helper_Abstr
|
|
| 114 |
'wait_timeout' => $mysqlVars['wait_timeout'] . ' sec.',
|
| 115 |
'max_allowed_packet' => array(
|
| 116 |
'current_value' => $mysqlVars['max_allowed_packet'] . ' bytes',
|
| 117 |
-
'recommended_value' => '>= ' . (
|
| 118 |
-
'result' => ($mysqlVars['max_allowed_packet'] >= (
|
| 119 |
'label' => 'Max Allowed Packet',
|
| 120 |
'advice' => array(
|
| 121 |
'label' => $this->__('The maximum size of one packet or any generated/intermediate string.'),
|
|
@@ -555,6 +555,14 @@ class ICEshop_Iceimport_Helper_System_Systemcheck extends Mage_Core_Helper_Abstr
|
|
| 555 |
*/
|
| 556 |
public function getExtensionProblemsDigest()
|
| 557 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 558 |
$problems = array();
|
| 559 |
$count = 0;
|
| 560 |
//extension problems
|
|
@@ -562,12 +570,32 @@ class ICEshop_Iceimport_Helper_System_Systemcheck extends Mage_Core_Helper_Abstr
|
|
| 562 |
$check_module = $check_module->getLastItem()->getData();
|
| 563 |
|
| 564 |
if ($check_module['path_exists'] == 0) {
|
| 565 |
-
$
|
| 566 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 567 |
}
|
| 568 |
if ($check_module['config_exists'] == 0) {
|
| 569 |
-
$
|
| 570 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 571 |
}
|
| 572 |
|
| 573 |
//extension rewrites problems
|
|
@@ -579,50 +607,107 @@ class ICEshop_Iceimport_Helper_System_Systemcheck extends Mage_Core_Helper_Abstr
|
|
| 579 |
}
|
| 580 |
}
|
| 581 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 582 |
//system requirements (for magento/extension)
|
| 583 |
$requirements = $this->getSystem()->getRequirements()->getData();
|
| 584 |
foreach ($requirements as $requirement) {
|
| 585 |
if (!$requirement['result']) {
|
| 586 |
-
$
|
| 587 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 588 |
}
|
| 589 |
}
|
| 590 |
|
| 591 |
//magento API problems
|
| 592 |
$magento_api_session_timeout = $this->getSystem()->getMagentoApi()->getSessionTimeout();
|
| 593 |
if (!$magento_api_session_timeout['result']) {
|
| 594 |
-
$
|
| 595 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 596 |
}
|
| 597 |
|
| 598 |
$mysql = $this->getSystem()->getMysql()->getData();
|
| 599 |
foreach ($mysql as $mysql_param_name => $mysql_param_value) {
|
| 600 |
if (is_array($mysql_param_value) && !$mysql_param_value['result']) {
|
| 601 |
-
$
|
| 602 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 603 |
}
|
| 604 |
}
|
| 605 |
|
| 606 |
-
$
|
| 607 |
-
$log_feed = $DB_logger->getLogByType('report', false, 1);
|
| 608 |
if (!empty($log_feed) && count($log_feed) > 0) {
|
| 609 |
foreach($log_feed as $log_entry) {
|
| 610 |
$problems['iceimport_log'][] = array(
|
| 611 |
'label' => 'Iceimport Error',
|
| 612 |
'current_value' => $log_entry['log_value']
|
| 613 |
);
|
| 614 |
-
|
| 615 |
}
|
| 616 |
}
|
| 617 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 618 |
$try_delete_product = $DB_logger->getLogEntryByKey('error_try_delete_product');
|
| 619 |
$delete_product_percentage = $DB_logger->getLogEntryByKey('error_try_delete_product_percentage');
|
| 620 |
if(!empty($delete_product_percentage) && !empty($try_delete_product)) {
|
| 621 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 622 |
'label' => 'There is a problem during last import',
|
| 623 |
'current_value' => $try_delete_product['log_value'].$delete_product_percentage['log_value']
|
| 624 |
);
|
| 625 |
$count++;
|
|
|
|
| 626 |
}
|
| 627 |
|
| 628 |
$problems_digest = new Varien_Object();
|
|
@@ -631,11 +716,34 @@ class ICEshop_Iceimport_Helper_System_Systemcheck extends Mage_Core_Helper_Abstr
|
|
| 631 |
return $problems_digest;
|
| 632 |
}
|
| 633 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 634 |
public function setWarningIceimport($massage){
|
| 635 |
Mage::getSingleton('adminhtml/session')->addNotice('Warning!'.$massage);
|
| 636 |
}
|
| 637 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 638 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 639 |
public function getImagesStatistics(){
|
| 640 |
try{
|
| 641 |
$db_res = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 114 |
'wait_timeout' => $mysqlVars['wait_timeout'] . ' sec.',
|
| 115 |
'max_allowed_packet' => array(
|
| 116 |
'current_value' => $mysqlVars['max_allowed_packet'] . ' bytes',
|
| 117 |
+
'recommended_value' => '>= ' . (1 * 1024 * 1024),
|
| 118 |
+
'result' => ($mysqlVars['max_allowed_packet'] >= (1 * 1024 * 1024)),
|
| 119 |
'label' => 'Max Allowed Packet',
|
| 120 |
'advice' => array(
|
| 121 |
'label' => $this->__('The maximum size of one packet or any generated/intermediate string.'),
|
| 555 |
*/
|
| 556 |
public function getExtensionProblemsDigest()
|
| 557 |
{
|
| 558 |
+
$DB_logger = Mage::helper('iceimport/db');
|
| 559 |
+
$skip_data = $DB_logger->getLogEntryByKey('iceimport_skip_problems_digest');
|
| 560 |
+
$skip_data_empty = FALSE;
|
| 561 |
+
if(!empty($skip_data['log_value'])){
|
| 562 |
+
$skip_data_empty = true;
|
| 563 |
+
$skip_data = (array)json_decode($skip_data['log_value']);
|
| 564 |
+
}
|
| 565 |
+
|
| 566 |
$problems = array();
|
| 567 |
$count = 0;
|
| 568 |
//extension problems
|
| 570 |
$check_module = $check_module->getLastItem()->getData();
|
| 571 |
|
| 572 |
if ($check_module['path_exists'] == 0) {
|
| 573 |
+
$path_exist_flag = true;
|
| 574 |
+
if($skip_data_empty && !empty($skip_data['extension'])){
|
| 575 |
+
foreach ($skip_data['extension'] as $key=>$value){
|
| 576 |
+
if($value=='path_exists'){
|
| 577 |
+
$path_exist_flag =false;
|
| 578 |
+
}
|
| 579 |
+
}
|
| 580 |
+
}
|
| 581 |
+
if($path_exist_flag){
|
| 582 |
+
$problems['extension']['path_exists'] = $check_module['path_exists'];
|
| 583 |
+
$count++;
|
| 584 |
+
}
|
| 585 |
}
|
| 586 |
if ($check_module['config_exists'] == 0) {
|
| 587 |
+
$path_exist_flag = true;
|
| 588 |
+
if($skip_data_empty && !empty($skip_data['extension'])){
|
| 589 |
+
foreach ($skip_data['extension'] as $key=>$value){
|
| 590 |
+
if($value=='config_exists'){
|
| 591 |
+
$path_exist_flag =false;
|
| 592 |
+
}
|
| 593 |
+
}
|
| 594 |
+
}
|
| 595 |
+
if($path_exist_flag){
|
| 596 |
+
$problems['extension']['config_exists'] = $check_module['config_exists'];
|
| 597 |
+
$count++;
|
| 598 |
+
}
|
| 599 |
}
|
| 600 |
|
| 601 |
//extension rewrites problems
|
| 607 |
}
|
| 608 |
}
|
| 609 |
|
| 610 |
+
if($skip_data_empty && !empty($skip_data['rewrite'])){
|
| 611 |
+
foreach ($skip_data['rewrite'] as $key=>$value){
|
| 612 |
+
if(!empty($problems['rewrite'][$value])){
|
| 613 |
+
unset($problems['rewrite'][$value]);
|
| 614 |
+
$count--;
|
| 615 |
+
}
|
| 616 |
+
}
|
| 617 |
+
}
|
| 618 |
+
|
| 619 |
//system requirements (for magento/extension)
|
| 620 |
$requirements = $this->getSystem()->getRequirements()->getData();
|
| 621 |
foreach ($requirements as $requirement) {
|
| 622 |
if (!$requirement['result']) {
|
| 623 |
+
$requirement_flag = true;
|
| 624 |
+
if($skip_data_empty && !empty($skip_data['requirement'])){
|
| 625 |
+
foreach ($skip_data['requirement'] as $key=>$value){
|
| 626 |
+
if($value==$requirement['label']){
|
| 627 |
+
$requirement_flag =false;
|
| 628 |
+
}
|
| 629 |
+
}
|
| 630 |
+
}
|
| 631 |
+
if($requirement_flag){
|
| 632 |
+
$problems['requirement'][] = $requirement;
|
| 633 |
+
$count++;
|
| 634 |
+
}
|
| 635 |
}
|
| 636 |
}
|
| 637 |
|
| 638 |
//magento API problems
|
| 639 |
$magento_api_session_timeout = $this->getSystem()->getMagentoApi()->getSessionTimeout();
|
| 640 |
if (!$magento_api_session_timeout['result']) {
|
| 641 |
+
$api_skip_flag = true;
|
| 642 |
+
if($skip_data_empty && !empty($skip_data['api'])){
|
| 643 |
+
foreach ($skip_data['api'] as $key=>$value){
|
| 644 |
+
if($value=='timeout'){
|
| 645 |
+
$api_skip_flag =false;
|
| 646 |
+
}
|
| 647 |
+
}
|
| 648 |
+
}
|
| 649 |
+
if($api_skip_flag){
|
| 650 |
+
$problems['api']['timeout'] = $magento_api_session_timeout;
|
| 651 |
+
$count++;
|
| 652 |
+
}
|
| 653 |
}
|
| 654 |
|
| 655 |
$mysql = $this->getSystem()->getMysql()->getData();
|
| 656 |
foreach ($mysql as $mysql_param_name => $mysql_param_value) {
|
| 657 |
if (is_array($mysql_param_value) && !$mysql_param_value['result']) {
|
| 658 |
+
$mysql_skip_flag = true;
|
| 659 |
+
if($skip_data_empty && !empty($skip_data['mysql'])){
|
| 660 |
+
foreach ($skip_data['mysql'] as $key=>$value){
|
| 661 |
+
if($value==$mysql_param_name){
|
| 662 |
+
$mysql_skip_flag =false;
|
| 663 |
+
}
|
| 664 |
+
}
|
| 665 |
+
}
|
| 666 |
+
if($mysql_skip_flag){
|
| 667 |
+
$problems['mysql'][$mysql_param_name] = $mysql_param_value;
|
| 668 |
+
$count++;
|
| 669 |
+
}
|
| 670 |
}
|
| 671 |
}
|
| 672 |
|
| 673 |
+
$log_feed = $DB_logger->getLogByType('report', false, 10);
|
|
|
|
| 674 |
if (!empty($log_feed) && count($log_feed) > 0) {
|
| 675 |
foreach($log_feed as $log_entry) {
|
| 676 |
$problems['iceimport_log'][] = array(
|
| 677 |
'label' => 'Iceimport Error',
|
| 678 |
'current_value' => $log_entry['log_value']
|
| 679 |
);
|
| 680 |
+
$count++;
|
| 681 |
}
|
| 682 |
}
|
| 683 |
|
| 684 |
+
if($skip_data_empty && !empty($skip_data['iceimport_log'])){
|
| 685 |
+
foreach ($skip_data['iceimport_log'] as $key=>$value){
|
| 686 |
+
if(!empty($problems['iceimport_log'][$value])){
|
| 687 |
+
unset($problems['iceimport_log'][$value]);
|
| 688 |
+
$count--;
|
| 689 |
+
}
|
| 690 |
+
}
|
| 691 |
+
}
|
| 692 |
+
|
| 693 |
$try_delete_product = $DB_logger->getLogEntryByKey('error_try_delete_product');
|
| 694 |
$delete_product_percentage = $DB_logger->getLogEntryByKey('error_try_delete_product_percentage');
|
| 695 |
if(!empty($delete_product_percentage) && !empty($try_delete_product)) {
|
| 696 |
+
$iceimport_delete_product_skip_flag = true;
|
| 697 |
+
if($skip_data_empty && !empty($skip_data['iceimport_delete_product'])){
|
| 698 |
+
foreach ($skip_data['iceimport_delete_product'] as $key=>$value){
|
| 699 |
+
if($value=='delete_product'){
|
| 700 |
+
$iceimport_delete_product_skip_flag =false;
|
| 701 |
+
}
|
| 702 |
+
}
|
| 703 |
+
}
|
| 704 |
+
if($iceimport_delete_product_skip_flag){
|
| 705 |
+
$problems['iceimport_delete_product']['delete_product'] = array(
|
| 706 |
'label' => 'There is a problem during last import',
|
| 707 |
'current_value' => $try_delete_product['log_value'].$delete_product_percentage['log_value']
|
| 708 |
);
|
| 709 |
$count++;
|
| 710 |
+
}
|
| 711 |
}
|
| 712 |
|
| 713 |
$problems_digest = new Varien_Object();
|
| 716 |
return $problems_digest;
|
| 717 |
}
|
| 718 |
|
| 719 |
+
/**
|
| 720 |
+
* Set warning message for extension
|
| 721 |
+
*
|
| 722 |
+
* @param String $massage
|
| 723 |
+
*/
|
| 724 |
public function setWarningIceimport($massage){
|
| 725 |
Mage::getSingleton('adminhtml/session')->addNotice('Warning!'.$massage);
|
| 726 |
}
|
| 727 |
|
| 728 |
+
/**
|
| 729 |
+
* Check skip wrning iceimport
|
| 730 |
+
* @return boolean
|
| 731 |
+
*/
|
| 732 |
+
public function checkSetWarning(){
|
| 733 |
+
$DB_logger = Mage::helper('iceimport/db');
|
| 734 |
+
$skip_data = $DB_logger->getLogEntryByKey('iceimport_skip_problems_digest');
|
| 735 |
+
if(empty($skip_data['log_value'])){
|
| 736 |
+
return true;
|
| 737 |
+
} else {
|
| 738 |
+
return false;
|
| 739 |
+
}
|
| 740 |
+
}
|
| 741 |
+
|
| 742 |
|
| 743 |
+
/**
|
| 744 |
+
* Method return import images statistics
|
| 745 |
+
* @return string
|
| 746 |
+
*/
|
| 747 |
public function getImagesStatistics(){
|
| 748 |
try{
|
| 749 |
$db_res = Mage::getSingleton('core/resource')->getConnection('core_write');
|
app/code/community/ICEshop/Iceimport/Model/Convert/Adapter/Product.php
CHANGED
|
@@ -147,43 +147,49 @@ class ICEshop_Iceimport_Model_Convert_Adapter_Product extends Mage_Catalog_Model
|
|
| 147 |
$sku = $iceimportAttributes['sku'];
|
| 148 |
|
| 149 |
// set category, unspsc, unspsc path
|
| 150 |
-
|
| 151 |
$message = Mage::helper('catalog')->__('Skip import row, required field "%s" not defined', 'categories');
|
| 152 |
Mage::throwException($message);
|
| 153 |
-
}
|
|
|
|
| 154 |
if (!empty($iceimportAttributes['categories'])) {
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
if (empty($iceimportAttributes['unspsc'])) {
|
| 165 |
-
$message = Mage::helper('catalog')->__('Skip import. Category UNSPSC not defined in store');
|
| 166 |
-
Mage::throwException($message);
|
| 167 |
-
}
|
| 168 |
-
$unspsc = $iceimportAttributes['unspsc'];
|
| 169 |
-
if (empty($iceimportAttributes['unspsc_path'])) {
|
| 170 |
-
$message = Mage::helper('catalog')->__('Skip import. Category UNSPSC path not defined in store');
|
| 171 |
-
Mage::throwException($message);
|
| 172 |
-
}
|
| 173 |
-
if (!empty($iceimportAttributes['unspsc_path'])) {
|
| 174 |
-
$cat_unspscs = explode('/', $iceimportAttributes['unspsc_path']);
|
| 175 |
-
foreach ($cat_unspscs as $cat_unspsc) {
|
| 176 |
-
if (empty($cat_unspsc)) {
|
| 177 |
-
$message = Mage::helper('catalog')->__('Skip import row, some of categories does not have UNSPSC');
|
| 178 |
-
Mage::throwException($message);
|
| 179 |
-
}
|
| 180 |
-
}
|
| 181 |
}
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 186 |
}
|
|
|
|
| 187 |
// set in / out of stock
|
| 188 |
$isInStock = 0;
|
| 189 |
if (!empty($iceimportAttributes['is_in_stock'])) {
|
|
@@ -262,9 +268,11 @@ class ICEshop_Iceimport_Model_Convert_Adapter_Product extends Mage_Catalog_Model
|
|
| 262 |
FROM `{$this->_tablePrefix}eav_entity_type`
|
| 263 |
WHERE entity_type_code = 'catalog_product';";
|
| 264 |
|
|
|
|
| 265 |
$initAttributes .= "SELECT @category_entity_type_id := `entity_type_id`
|
| 266 |
FROM `{$this->_tablePrefix}eav_entity_type`
|
| 267 |
WHERE entity_type_code = 'catalog_category';";
|
|
|
|
| 268 |
|
| 269 |
$initAttributes .= "SELECT @attribute_set_id := `attribute_set_id`
|
| 270 |
FROM `{$this->_tablePrefix}eav_attribute_set`
|
|
@@ -276,30 +284,32 @@ class ICEshop_Iceimport_Model_Convert_Adapter_Product extends Mage_Catalog_Model
|
|
| 276 |
WHERE `attribute_code` = 'price'
|
| 277 |
AND entity_type_id = @product_entity_type_id;";
|
| 278 |
|
| 279 |
-
$
|
| 280 |
-
|
| 281 |
-
|
| 282 |
-
|
|
|
|
| 283 |
|
| 284 |
-
|
| 285 |
-
|
| 286 |
-
|
| 287 |
-
|
| 288 |
|
| 289 |
-
|
| 290 |
-
|
| 291 |
-
|
| 292 |
-
|
| 293 |
|
| 294 |
-
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
| 298 |
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
|
| 302 |
-
|
|
|
|
| 303 |
|
| 304 |
$initAttributes .= "SELECT @tax_auvibel_id := `attribute_id`
|
| 305 |
FROM `{$this->_tablePrefix}eav_attribute`
|
|
@@ -340,9 +350,11 @@ class ICEshop_Iceimport_Model_Convert_Adapter_Product extends Mage_Catalog_Model
|
|
| 340 |
$defaulttaxConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/default_tax', $storeId);
|
| 341 |
$productData['int']['tax_class_id'] = $defaulttaxConf;
|
| 342 |
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
|
|
|
|
|
|
| 346 |
|
| 347 |
// get url key
|
| 348 |
$url = '';
|
|
@@ -361,7 +373,12 @@ class ICEshop_Iceimport_Model_Convert_Adapter_Product extends Mage_Catalog_Model
|
|
| 361 |
$stockConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/import_stock', $storeId);
|
| 362 |
$priceConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/import_prices', $storeId);
|
| 363 |
|
|
|
|
| 364 |
$productId = $this->_coreSave($productData, $productId, $storeId, $sku, $categoryIds);
|
|
|
|
|
|
|
|
|
|
|
|
|
| 365 |
$this->_corePriceStock($websiteId, $productId, $price, $qty, $sku, $isInStock, $stockConf, $priceConf, 0);
|
| 366 |
|
| 367 |
$this->_connRes->query("INSERT INTO {$this->_tablePrefix}iceshop_iceimport_imported_product_ids (product_id, product_sku) VALUES (:prod_id, :sku) ON DUPLICATE KEY UPDATE product_sku = :sku", array(':prod_id' => $productId, ':sku' => $sku));
|
|
@@ -370,7 +387,13 @@ class ICEshop_Iceimport_Model_Convert_Adapter_Product extends Mage_Catalog_Model
|
|
| 370 |
$session->setData("skipped_counter", (int)++$skipped_counter);
|
| 371 |
return true;
|
| 372 |
}
|
|
|
|
|
|
|
| 373 |
$productId = $this->_coreSave($productData, $productId, $storeId, $sku, $categoryIds);
|
|
|
|
|
|
|
|
|
|
|
|
|
| 374 |
// add price & stock
|
| 375 |
$this->_corePriceStock($websiteId, $productId, $price, $qty, $sku, $isInStock);
|
| 376 |
$this->_connRes->query("INSERT INTO {$this->_tablePrefix}iceshop_iceimport_imported_product_ids (product_id, product_sku) VALUES (:prod_id, :sku) ON DUPLICATE KEY UPDATE product_sku = :sku", array(':prod_id' => $productId, ':sku' => $sku));
|
|
@@ -493,7 +516,7 @@ class ICEshop_Iceimport_Model_Convert_Adapter_Product extends Mage_Catalog_Model
|
|
| 493 |
* @param $categoryIds
|
| 494 |
* @return null
|
| 495 |
*/
|
| 496 |
-
protected function _coreSave(array $entityData, $productId = null, $storeId = 0, $sku, $categoryIds)
|
| 497 |
{
|
| 498 |
$coreSaveSQL = '';
|
| 499 |
$newProduct = false;
|
|
@@ -623,7 +646,7 @@ class ICEshop_Iceimport_Model_Convert_Adapter_Product extends Mage_Catalog_Model
|
|
| 623 |
}
|
| 624 |
}
|
| 625 |
// categories
|
| 626 |
-
if ($newProduct || ($productId === null) || ($productId !== null && $this->_getRefreshSetting('categories') == 1)) {
|
| 627 |
$coreSaveSQL .= "INSERT INTO `{$this->_tablePrefix}catalog_category_product` (`category_id`, `product_id`, `position`) VALUES ";
|
| 628 |
$counter = 1;
|
| 629 |
|
| 147 |
$sku = $iceimportAttributes['sku'];
|
| 148 |
|
| 149 |
// set category, unspsc, unspsc path
|
| 150 |
+
/*if (empty($iceimportAttributes['categories'])) {
|
| 151 |
$message = Mage::helper('catalog')->__('Skip import row, required field "%s" not defined', 'categories');
|
| 152 |
Mage::throwException($message);
|
| 153 |
+
}*/
|
| 154 |
+
|
| 155 |
if (!empty($iceimportAttributes['categories'])) {
|
| 156 |
+
if (!empty($iceimportAttributes['categories'])) {
|
| 157 |
+
$cat_names = explode('/', $iceimportAttributes['categories']);
|
| 158 |
+
foreach ($cat_names as $cat_name) {
|
| 159 |
+
if (empty($cat_name)) {
|
| 160 |
+
$message = Mage::helper('catalog')->__('Skip import row, some of categories does not have name');
|
| 161 |
+
Mage::throwException($message);
|
| 162 |
+
}
|
| 163 |
+
}
|
| 164 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
}
|
| 166 |
+
if (!empty($iceimportAttributes['categories'])) {
|
| 167 |
+
$category = $iceimportAttributes['categories'];
|
| 168 |
+
if (empty($iceimportAttributes['unspsc'])) {
|
| 169 |
+
$message = Mage::helper('catalog')->__('Skip import. Category UNSPSC not defined in store');
|
| 170 |
+
Mage::throwException($message);
|
| 171 |
+
}
|
| 172 |
+
$unspsc = $iceimportAttributes['unspsc'];
|
| 173 |
+
if (empty($iceimportAttributes['unspsc_path'])) {
|
| 174 |
+
$message = Mage::helper('catalog')->__('Skip import. Category UNSPSC path not defined in store');
|
| 175 |
+
Mage::throwException($message);
|
| 176 |
+
}
|
| 177 |
+
if (!empty($iceimportAttributes['unspsc_path'])) {
|
| 178 |
+
$cat_unspscs = explode('/', $iceimportAttributes['unspsc_path']);
|
| 179 |
+
foreach ($cat_unspscs as $cat_unspsc) {
|
| 180 |
+
if (empty($cat_unspsc)) {
|
| 181 |
+
$message = Mage::helper('catalog')->__('Skip import row, some of categories does not have UNSPSC');
|
| 182 |
+
Mage::throwException($message);
|
| 183 |
+
}
|
| 184 |
+
}
|
| 185 |
+
}
|
| 186 |
+
$unspscPath = $iceimportAttributes['unspsc_path'];
|
| 187 |
+
if (!empty($cat_unspscs) && !empty($cat_names) && count($cat_names) != count($cat_unspscs)) {
|
| 188 |
+
$message = Mage::helper('catalog')->__('Skip import row, categories names does not match categories UNSPSC');
|
| 189 |
+
Mage::throwException($message);
|
| 190 |
+
}
|
| 191 |
}
|
| 192 |
+
|
| 193 |
// set in / out of stock
|
| 194 |
$isInStock = 0;
|
| 195 |
if (!empty($iceimportAttributes['is_in_stock'])) {
|
| 268 |
FROM `{$this->_tablePrefix}eav_entity_type`
|
| 269 |
WHERE entity_type_code = 'catalog_product';";
|
| 270 |
|
| 271 |
+
if (!empty($iceimportAttributes['categories'])) {
|
| 272 |
$initAttributes .= "SELECT @category_entity_type_id := `entity_type_id`
|
| 273 |
FROM `{$this->_tablePrefix}eav_entity_type`
|
| 274 |
WHERE entity_type_code = 'catalog_category';";
|
| 275 |
+
}
|
| 276 |
|
| 277 |
$initAttributes .= "SELECT @attribute_set_id := `attribute_set_id`
|
| 278 |
FROM `{$this->_tablePrefix}eav_attribute_set`
|
| 284 |
WHERE `attribute_code` = 'price'
|
| 285 |
AND entity_type_id = @product_entity_type_id;";
|
| 286 |
|
| 287 |
+
if (!empty($iceimportAttributes['categories'])) {
|
| 288 |
+
$initAttributes .= "SELECT @unspsc_id := `attribute_id`
|
| 289 |
+
FROM `{$this->_tablePrefix}eav_attribute`
|
| 290 |
+
WHERE `attribute_code` = 'unspsc'
|
| 291 |
+
AND entity_type_id = @category_entity_type_id;";
|
| 292 |
|
| 293 |
+
$initAttributes .= "SELECT @category_name_id := `attribute_id`
|
| 294 |
+
FROM `{$this->_tablePrefix}eav_attribute`
|
| 295 |
+
WHERE `attribute_code` = 'name'
|
| 296 |
+
AND entity_type_id = @category_entity_type_id;";
|
| 297 |
|
| 298 |
+
$initAttributes .= "SELECT @category_active_id := `attribute_id`
|
| 299 |
+
FROM `{$this->_tablePrefix}eav_attribute`
|
| 300 |
+
WHERE `attribute_code` = 'is_active'
|
| 301 |
+
AND entity_type_id = @category_entity_type_id;";
|
| 302 |
|
| 303 |
+
$initAttributes .= "SELECT @include_nav_bar_id := `attribute_id`
|
| 304 |
+
FROM `{$this->_tablePrefix}eav_attribute`
|
| 305 |
+
WHERE `attribute_code` = 'include_in_menu'
|
| 306 |
+
AND entity_type_id = @category_entity_type_id;";
|
| 307 |
|
| 308 |
+
$initAttributes .= "SELECT @category_is_anchor_id := `attribute_id`
|
| 309 |
+
FROM `{$this->_tablePrefix}eav_attribute`
|
| 310 |
+
WHERE `attribute_code` = 'is_anchor'
|
| 311 |
+
AND entity_type_id = @category_entity_type_id;";
|
| 312 |
+
}
|
| 313 |
|
| 314 |
$initAttributes .= "SELECT @tax_auvibel_id := `attribute_id`
|
| 315 |
FROM `{$this->_tablePrefix}eav_attribute`
|
| 350 |
$defaulttaxConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/default_tax', $storeId);
|
| 351 |
$productData['int']['tax_class_id'] = $defaulttaxConf;
|
| 352 |
|
| 353 |
+
if (!empty($iceimportAttributes['categories'])) {
|
| 354 |
+
// get category id
|
| 355 |
+
$categoriesToActiveConf = Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/category_active', $storeId);
|
| 356 |
+
$categoryIds = $this->_addCategories($category, $storeId, $unspsc, $unspscPath, $categoriesToActiveConf);
|
| 357 |
+
}
|
| 358 |
|
| 359 |
// get url key
|
| 360 |
$url = '';
|
| 373 |
$stockConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/import_stock', $storeId);
|
| 374 |
$priceConf = (int)Mage::getStoreConfig('iceshop_iceimport_importprod_root/importprod/import_prices', $storeId);
|
| 375 |
|
| 376 |
+
if (!empty($iceimportAttributes['categories'])) {
|
| 377 |
$productId = $this->_coreSave($productData, $productId, $storeId, $sku, $categoryIds);
|
| 378 |
+
} else {
|
| 379 |
+
$productId = $this->_coreSave($productData, $productId, $storeId, $sku);
|
| 380 |
+
}
|
| 381 |
+
|
| 382 |
$this->_corePriceStock($websiteId, $productId, $price, $qty, $sku, $isInStock, $stockConf, $priceConf, 0);
|
| 383 |
|
| 384 |
$this->_connRes->query("INSERT INTO {$this->_tablePrefix}iceshop_iceimport_imported_product_ids (product_id, product_sku) VALUES (:prod_id, :sku) ON DUPLICATE KEY UPDATE product_sku = :sku", array(':prod_id' => $productId, ':sku' => $sku));
|
| 387 |
$session->setData("skipped_counter", (int)++$skipped_counter);
|
| 388 |
return true;
|
| 389 |
}
|
| 390 |
+
|
| 391 |
+
if (!empty($iceimportAttributes['categories'])) {
|
| 392 |
$productId = $this->_coreSave($productData, $productId, $storeId, $sku, $categoryIds);
|
| 393 |
+
} else {
|
| 394 |
+
$productId = $this->_coreSave($productData, $productId, $storeId, $sku);
|
| 395 |
+
}
|
| 396 |
+
|
| 397 |
// add price & stock
|
| 398 |
$this->_corePriceStock($websiteId, $productId, $price, $qty, $sku, $isInStock);
|
| 399 |
$this->_connRes->query("INSERT INTO {$this->_tablePrefix}iceshop_iceimport_imported_product_ids (product_id, product_sku) VALUES (:prod_id, :sku) ON DUPLICATE KEY UPDATE product_sku = :sku", array(':prod_id' => $productId, ':sku' => $sku));
|
| 516 |
* @param $categoryIds
|
| 517 |
* @return null
|
| 518 |
*/
|
| 519 |
+
protected function _coreSave(array $entityData, $productId = null, $storeId = 0, $sku, $categoryIds =NULL)
|
| 520 |
{
|
| 521 |
$coreSaveSQL = '';
|
| 522 |
$newProduct = false;
|
| 646 |
}
|
| 647 |
}
|
| 648 |
// categories
|
| 649 |
+
if (($newProduct || ($productId === null) || ($productId !== null && $this->_getRefreshSetting('categories') == 1)) && !empty($categoryIds)) {
|
| 650 |
$coreSaveSQL .= "INSERT INTO `{$this->_tablePrefix}catalog_category_product` (`category_id`, `product_id`, `position`) VALUES ";
|
| 651 |
$counter = 1;
|
| 652 |
|
app/code/community/ICEshop/Iceimport/controllers/Adminhtml/IceimportController.php
CHANGED
|
@@ -43,7 +43,9 @@ class ICEshop_Iceimport_Adminhtml_IceimportController extends Mage_Adminhtml_Con
|
|
| 43 |
$i = 1;
|
| 44 |
foreach ($problems as $problem_section_name => $problem_section) {
|
| 45 |
if($problem_section_name !='iceimport_delete_product'){
|
|
|
|
| 46 |
foreach ($problem_section as $problem_name => $problem_value) {
|
|
|
|
| 47 |
print '<tr>';
|
| 48 |
print '<td class="label">';
|
| 49 |
print '<label class="problem-digest">' . $helper->__('Problem') . " " . $i . ':</label>';
|
|
@@ -55,6 +57,31 @@ class ICEshop_Iceimport_Adminhtml_IceimportController extends Mage_Adminhtml_Con
|
|
| 55 |
print '<span class="requirement-passed">"' . $problem_value['label'] . '"</span> <span class="requirement-failed">"' . $problem_value['current_value'] . '"</span>. ' . $helper->__(' Check ') . ' <a class="section-toggler-trigger-iceimport requirement-passed" data-href="#' . $problem_section_name . '-section" href="#' . $problem_section_name . '-section">' . ucfirst($problem_section_name) . '</a> ' . $helper->__('section') . '.';
|
| 56 |
}
|
| 57 |
print '</td>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
print '</tr>';
|
| 59 |
$i++;
|
| 60 |
}
|
|
@@ -65,8 +92,15 @@ class ICEshop_Iceimport_Adminhtml_IceimportController extends Mage_Adminhtml_Con
|
|
| 65 |
print '<label class="problem-digest">' . $helper->__('Problem') . " " . $i . ':</label>';
|
| 66 |
print '</td>';
|
| 67 |
print '<td class="value">';
|
| 68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
print '</td>';
|
|
|
|
| 70 |
print '</tr>';
|
| 71 |
$i++;
|
| 72 |
}
|
|
@@ -82,6 +116,7 @@ class ICEshop_Iceimport_Adminhtml_IceimportController extends Mage_Adminhtml_Con
|
|
| 82 |
target="_blank">»<?php print $helper->__('Click to generate'); ?></a>
|
| 83 |
<p class="note"><?php print $helper->__("Use this report for more info on found problems or send it to Iceshop B.V. to help analyzing the problem to speed up solution of any issues."); ?></p>
|
| 84 |
</td>
|
|
|
|
| 85 |
</tr>
|
| 86 |
</table>
|
| 87 |
</div>
|
|
@@ -1112,6 +1147,36 @@ class ICEshop_Iceimport_Adminhtml_IceimportController extends Mage_Adminhtml_Con
|
|
| 1112 |
$this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
|
| 1113 |
}
|
| 1114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1115 |
|
|
|
|
|
|
|
| 1116 |
|
| 1117 |
}
|
| 43 |
$i = 1;
|
| 44 |
foreach ($problems as $problem_section_name => $problem_section) {
|
| 45 |
if($problem_section_name !='iceimport_delete_product'){
|
| 46 |
+
|
| 47 |
foreach ($problem_section as $problem_name => $problem_value) {
|
| 48 |
+
|
| 49 |
print '<tr>';
|
| 50 |
print '<td class="label">';
|
| 51 |
print '<label class="problem-digest">' . $helper->__('Problem') . " " . $i . ':</label>';
|
| 57 |
print '<span class="requirement-passed">"' . $problem_value['label'] . '"</span> <span class="requirement-failed">"' . $problem_value['current_value'] . '"</span>. ' . $helper->__(' Check ') . ' <a class="section-toggler-trigger-iceimport requirement-passed" data-href="#' . $problem_section_name . '-section" href="#' . $problem_section_name . '-section">' . ucfirst($problem_section_name) . '</a> ' . $helper->__('section') . '.';
|
| 58 |
}
|
| 59 |
print '</td>';
|
| 60 |
+
if($problem_section_name != 'requirement' && $problem_section_name != 'rewrite'){
|
| 61 |
+
print '<td class="value">';
|
| 62 |
+
print '<span class="f-right">'
|
| 63 |
+
. '<a href="' . Mage::helper("adminhtml")->getUrl("adminhtml/iceimport/checkwarning/", array('warning'=>$problem_name,'section_problems' => $problem_section_name)) . '">'
|
| 64 |
+
. Mage::helper( 'iceimport' )->__( 'Acknowledge' ) . '</a></span>';
|
| 65 |
+
print '</td>';
|
| 66 |
+
} elseif ($problem_section_name == 'requirement') {
|
| 67 |
+
print '<td class="value">';
|
| 68 |
+
print '<span class="f-right">'
|
| 69 |
+
. '<a href="' . Mage::helper("adminhtml")->getUrl("adminhtml/iceimport/checkwarning/", array('warning'=>$problem_value['label'],'section_problems' => $problem_section_name)) . '">'
|
| 70 |
+
. Mage::helper( 'iceimport' )->__( 'Acknowledge' ) . '</a></span>';
|
| 71 |
+
print '</td>';
|
| 72 |
+
} elseif ($problem_section_name == 'rewrite') {
|
| 73 |
+
print '<td class="value">';
|
| 74 |
+
print '<span class="f-right">'
|
| 75 |
+
. '<a href="' . Mage::helper("adminhtml")->getUrl("adminhtml/iceimport/checkwarning/", array('warning'=>$problem_name,'section_problems' => $problem_section_name)) . '">'
|
| 76 |
+
. Mage::helper( 'iceimport' )->__( 'Acknowledge' ) . '</a></span>';
|
| 77 |
+
print '</td>';
|
| 78 |
+
} elseif ($problem_section_name == 'iceimport_log') {
|
| 79 |
+
print '<td class="value">';
|
| 80 |
+
print '<span class="f-right">'
|
| 81 |
+
. '<a href="' . Mage::helper("adminhtml")->getUrl("adminhtml/iceimport/checkwarning/", array('warning'=>$problem_name,'section_problems' => $problem_section_name)) . '">'
|
| 82 |
+
. Mage::helper( 'iceimport' )->__( 'Acknowledge' ) . '</a></span>';
|
| 83 |
+
print '</td>';
|
| 84 |
+
}
|
| 85 |
print '</tr>';
|
| 86 |
$i++;
|
| 87 |
}
|
| 92 |
print '<label class="problem-digest">' . $helper->__('Problem') . " " . $i . ':</label>';
|
| 93 |
print '</td>';
|
| 94 |
print '<td class="value">';
|
| 95 |
+
print '<span class="requirement-failed">' . $problem_value['label'] . ': </span> <span class="requirement">' . $problem_value['current_value'] . '</span> ';
|
| 96 |
+
print '</td>';
|
| 97 |
+
|
| 98 |
+
print '<td class="value">';
|
| 99 |
+
print '<span class="f-right">'
|
| 100 |
+
. '<a href="' . Mage::helper("adminhtml")->getUrl("adminhtml/iceimport/checkwarning/", array('warning'=>$problem_name, 'section_problems' => $problem_section_name)) . '">'
|
| 101 |
+
. Mage::helper( 'iceimport' )->__( 'Acknowledge' ) .'</a></span>';
|
| 102 |
print '</td>';
|
| 103 |
+
|
| 104 |
print '</tr>';
|
| 105 |
$i++;
|
| 106 |
}
|
| 116 |
target="_blank">»<?php print $helper->__('Click to generate'); ?></a>
|
| 117 |
<p class="note"><?php print $helper->__("Use this report for more info on found problems or send it to Iceshop B.V. to help analyzing the problem to speed up solution of any issues."); ?></p>
|
| 118 |
</td>
|
| 119 |
+
<td></td>
|
| 120 |
</tr>
|
| 121 |
</table>
|
| 122 |
</div>
|
| 1147 |
$this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
|
| 1148 |
}
|
| 1149 |
|
| 1150 |
+
/**
|
| 1151 |
+
* Add to log skip notifications
|
| 1152 |
+
*/
|
| 1153 |
+
public function checkwarningAction() {
|
| 1154 |
+
$DB_logger = Mage::helper('iceimport/db');
|
| 1155 |
+
$skip_data = $DB_logger->getLogEntryByKey('iceimport_skip_problems_digest');
|
| 1156 |
+
|
| 1157 |
+
$warning = $this->getRequest()->getParam('warning');
|
| 1158 |
+
$section_problems = $this->getRequest()->getParam('section_problems');
|
| 1159 |
+
if(empty($skip_data['log_value'])){
|
| 1160 |
+
$skip_data = array();
|
| 1161 |
+
$skip_data[$section_problems][] = $warning;
|
| 1162 |
+
$skip_data = json_encode($skip_data);
|
| 1163 |
+
$DB_logger->insertLogEntry('iceimport_skip_problems_digest', $skip_data);
|
| 1164 |
+
} else {
|
| 1165 |
+
$skip_data = (array)json_decode($skip_data['log_value']);
|
| 1166 |
+
if(!empty($skip_data[$section_problems])){
|
| 1167 |
+
if(!in_array($warning, $skip_data[$section_problems], true)){
|
| 1168 |
+
$skip_data[$section_problems][] = $warning;
|
| 1169 |
+
$skip_data = json_encode($skip_data);
|
| 1170 |
+
$DB_logger->insertLogEntry('iceimport_skip_problems_digest', $skip_data);
|
| 1171 |
+
}
|
| 1172 |
+
} else {
|
| 1173 |
+
$skip_data[$section_problems][] = $warning;
|
| 1174 |
+
$skip_data = json_encode($skip_data);
|
| 1175 |
+
$DB_logger->insertLogEntry('iceimport_skip_problems_digest', $skip_data);
|
| 1176 |
+
}
|
| 1177 |
+
}
|
| 1178 |
|
| 1179 |
+
$this->_redirectUrl(Mage::helper("adminhtml")->getUrl("*/system_config/edit", array('section' => 'iceimport_information')));
|
| 1180 |
+
}
|
| 1181 |
|
| 1182 |
}
|
app/code/community/ICEshop/Iceimport/etc/config.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<ICEshop_Iceimport>
|
| 5 |
-
<version>1.7.
|
| 6 |
</ICEshop_Iceimport>
|
| 7 |
</modules>
|
| 8 |
<admin>
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<ICEshop_Iceimport>
|
| 5 |
+
<version>1.7.15</version>
|
| 6 |
</ICEshop_Iceimport>
|
| 7 |
</modules>
|
| 8 |
<admin>
|
app/code/community/ICEshop/Iceimport/sql/iceimport_setup/{mysql4-install-1.7.14.php → mysql4-install-1.7.15.php}
RENAMED
|
File without changes
|
app/code/community/ICEshop/Iceimport/sql/iceimport_setup/mysql4-upgrade-1.7.14-1.7.15.php
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
include_once 'uninstall-old-version.php';
|
| 3 |
+
$unistaller_old_version = new Uninstall_Capacitywebsolutions_Importproduct();
|
| 4 |
+
$unistaller_old_version->uninstall();
|
| 5 |
+
$installer = $this;
|
| 6 |
+
$installer->startSetup();
|
| 7 |
+
|
| 8 |
+
$entityTypeId = $installer->getEntityTypeId('catalog_category');
|
| 9 |
+
$attributeSetId = $installer->getDefaultAttributeSetId($entityTypeId);
|
| 10 |
+
$attributeGroupId = $installer->getDefaultAttributeGroupId($entityTypeId, $attributeSetId);
|
| 11 |
+
|
| 12 |
+
$installer->addAttribute('catalog_category', 'unspsc', array(
|
| 13 |
+
'type' => 'varchar',
|
| 14 |
+
'label' => 'unspsc',
|
| 15 |
+
'input' => 'text',
|
| 16 |
+
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
|
| 17 |
+
'visible' => true,
|
| 18 |
+
'required' => false,
|
| 19 |
+
'user_defined' => false,
|
| 20 |
+
'default' => 0
|
| 21 |
+
));
|
| 22 |
+
|
| 23 |
+
$installer->addAttributeToGroup(
|
| 24 |
+
$entityTypeId,
|
| 25 |
+
$attributeSetId,
|
| 26 |
+
$attributeGroupId,
|
| 27 |
+
'unspsc',
|
| 28 |
+
'11'
|
| 29 |
+
);
|
| 30 |
+
|
| 31 |
+
$attributeId = $installer->getAttributeId($entityTypeId, 'unspsc');
|
| 32 |
+
|
| 33 |
+
$installer->run("
|
| 34 |
+
|
| 35 |
+
DROP TABLE IF EXISTS `{$installer->getTable('iceimport_imported_product_ids')}`;
|
| 36 |
+
DROP TABLE IF EXISTS `{$installer->getTable('capacity_product_image_queue')}`;
|
| 37 |
+
DROP TABLE IF EXISTS `{$installer->getTable('iceshop_iceimport_image_queue')}`;
|
| 38 |
+
DROP TABLE IF EXISTS `{$installer->getTable('iceshop_iceimport_imported_product_ids')}`;
|
| 39 |
+
DROP TABLE IF EXISTS `{$installer->getTable('iceshop_extensions_logs')}`;
|
| 40 |
+
|
| 41 |
+
|
| 42 |
+
INSERT IGNORE INTO `{$installer->getTable('catalog_category_entity_varchar')}`
|
| 43 |
+
(`entity_type_id`, `attribute_id`, `entity_id`, `value`)
|
| 44 |
+
SELECT '{$entityTypeId}', '{$attributeId}', `entity_id`, '1'
|
| 45 |
+
FROM `{$installer->getTable('catalog_category_entity')}`;
|
| 46 |
+
|
| 47 |
+
CREATE TABLE IF NOT EXISTS `{$installer->getTable('iceshop_iceimport_image_queue')}` (
|
| 48 |
+
`queue_id` INT(10) NOT NULL AUTO_INCREMENT,
|
| 49 |
+
`entity_id` INT(10) UNSIGNED NOT NULL,
|
| 50 |
+
`image_url` VARCHAR(255) NOT NULL,
|
| 51 |
+
`is_downloaded` TINYINT NOT NULL DEFAULT 0,
|
| 52 |
+
PRIMARY KEY(`queue_id`),
|
| 53 |
+
UNIQUE KEY (`entity_id`, `image_url`),
|
| 54 |
+
CONSTRAINT `FK_CAP_PRD_IMG_QUEUE_ENTT_ID_CAT_PRD_ENTT_ENTT_ID` FOREIGN KEY (`entity_id`) REFERENCES `{$installer->getTable('catalog_product_entity')}` (`entity_id`) ON DELETE CASCADE
|
| 55 |
+
)ENGINE=InnoDB CHARSET=utf8 COMMENT='Table to manage product image import';
|
| 56 |
+
|
| 57 |
+
CREATE TABLE IF NOT EXISTS `{$installer->getTable('iceshop_iceimport_imported_product_ids')}` (
|
| 58 |
+
`product_id` int(11) NOT NULL,
|
| 59 |
+
`product_sku` varchar(255) DEFAULT NULL,
|
| 60 |
+
KEY `pi_idx` (`product_id`)
|
| 61 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
| 62 |
+
|
| 63 |
+
CREATE TABLE IF NOT EXISTS {$installer->getTable('iceshop_extensions_logs')} (
|
| 64 |
+
`log_id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
| 65 |
+
`log_key` VARCHAR(255) NOT NULL,
|
| 66 |
+
`log_value` TEXT,
|
| 67 |
+
`log_type` VARCHAR(10) NOT NULL DEFAULT 'info',
|
| 68 |
+
`timecol` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
| 69 |
+
UNIQUE KEY (`log_key`),
|
| 70 |
+
KEY `IDX_LOG_TYPE` (`log_type`),
|
| 71 |
+
KEY `IDX_TIMECOL` (`timecol`)
|
| 72 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Iceshop Connector logs';
|
| 73 |
+
");
|
| 74 |
+
|
| 75 |
+
$installer->endSetup();
|
package.xml
CHANGED
|
@@ -1,19 +1,22 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>ice_import</name>
|
| 4 |
-
<version>1.7.
|
| 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 & productsr</summary>
|
| 10 |
<description>This extension can use to import products with categories, multiple images and custom options from CSV file.</description>
|
| 11 |
-
<notes>
|
| 12 |
-
-
|
|
|
|
|
|
|
|
|
|
| 13 |
<authors><author><name>IceShop</name><user>IceShop</user><email>support@iceshop.nl</email></author></authors>
|
| 14 |
-
<date>2015-05-
|
| 15 |
-
<time>
|
| 16 |
-
<contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ICEshop_Iceimport.xml" hash="566089f8d3a54436ae62ebd4c5124293"/></dir><dir name="template"><dir name="iceshop"><dir name="iceimport"><file name="notifications.phtml" hash="3d9336ffcd90d11a34271d01b0b7fa9e"/></dir></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="ICEshop"><dir name="Iceimport"><dir name="Block"><dir name="Adminhtml"><dir name="Images"><dir name="List"><file name="Grid.php" hash="93aec656c6751a65cfefc2f8ebf473b7"/></dir></dir><file name="Notifications.php" hash="
|
| 17 |
<compatible/>
|
| 18 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 19 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>ice_import</name>
|
| 4 |
+
<version>1.7.15</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 & productsr</summary>
|
| 10 |
<description>This extension can use to import products with categories, multiple images and custom options from CSV file.</description>
|
| 11 |
+
<notes>Improvements:
|
| 12 |
+
- Added acknowledge notifications warning.
|
| 13 |
+

|
| 14 |
+
Bugfix:
|
| 15 |
+
- Minor bug fixing</notes>
|
| 16 |
<authors><author><name>IceShop</name><user>IceShop</user><email>support@iceshop.nl</email></author></authors>
|
| 17 |
+
<date>2015-05-27</date>
|
| 18 |
+
<time>12:47:01</time>
|
| 19 |
+
<contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ICEshop_Iceimport.xml" hash="566089f8d3a54436ae62ebd4c5124293"/></dir><dir name="template"><dir name="iceshop"><dir name="iceimport"><file name="notifications.phtml" hash="3d9336ffcd90d11a34271d01b0b7fa9e"/></dir></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="ICEshop"><dir name="Iceimport"><dir name="Block"><dir name="Adminhtml"><dir name="Images"><dir name="List"><file name="Grid.php" hash="93aec656c6751a65cfefc2f8ebf473b7"/></dir></dir><file name="Notifications.php" hash="66cb81dd34c3b34a8dfb9750487e4f3e"/><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="056987a5987c129ccaeff6c04df8678d"/><file name="Exportall.php" hash="c329655e2fc2d0983688699adc400976"/><file name="Updatebutton.php" hash="8400ab44d28d6bf95ddca6dd5a0bd73c"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="fd9775a248481ddd683926452affb9ff"/><file name="Db.php" hash="564941a7ee03c28f46d282681c0c7c10"/><file name="Format.php" hash="5c56ce9db24076c52b198325fb637758"/><dir name="System"><file name="System.php" hash="ff58fc97338b95e165de85ef640147de"/><file name="Systemcheck.php" hash="0d27f2b9f92c4821624937f2e0f6ef25"/></dir></dir><dir name="Model"><dir name="Convert"><dir name="Adapter"><file name="Product.php" hash="701e922073bb5951abaae83ee8543303"/></dir></dir><dir name="Dataflow"><dir name="Batch"><file name="Import.php" hash="52c0ed7367b2200a17a48103e953ae58"/></dir><dir name="Convert"><dir name="Parser"><file name="Csv.php" hash="052c8c5a800ab4a11c7ca60a45fd81ba"/></dir></dir></dir><file name="Observer.php" hash="64d712737e4d535d39d79127e2d02fb7"/><dir name="System"><dir name="Config"><file name="Checksystem.php" hash="260200dc8cecfa718b32fa47468282df"/><file name="Defaulttax.php" hash="898bf21060622bf8dc96469eb018c463"/><file name="Iceshoplink.php" hash="bae43572fcb4fddf9e0961f8da5e7f1b"/><file name="Yesno.php" hash="59e349561a36e02f44b47301fce99ef5"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IceimagesController.php" hash="b43840720cb8fca823addc60402047ae"/><file name="IceimportController.php" hash="6353d45b9571e659e521a24565ae59e0"/><file name="IceimportimagesController.php" hash="441910744c4e8fb4e509caf5cc845a72"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="2990ebf927b0476b7702731ad2979682"/><file name="config.xml" hash="2f3f85dc34c85fb058215775958086bc"/><file name="system.xml" hash="7d9ca6cae327ed02bebebaa54c686439"/></dir><dir name="sql"><dir name="iceimport_setup"><file name="mysql4-install-1.7.15.php" hash="e5b8e89aea9a674f0cd25718d5d62a1c"/><file name="mysql4-upgrade-0.1.0-1.7.0.php" hash="ff0682cde32b4f694bf1bed2c55a97f6"/><file name="mysql4-upgrade-1.4.0-1.7.0.php" hash="ff0682cde32b4f694bf1bed2c55a97f6"/><file name="mysql4-upgrade-1.5.0-1.7.0.php" hash="b51e20fdab764b90c6fd81551d9e368f"/><file name="mysql4-upgrade-1.6.0-1.7.0.php" hash="b51e20fdab764b90c6fd81551d9e368f"/><file name="mysql4-upgrade-1.6.0-1.7.5.php" hash="73e2587c366b1d3940d08e2a65dcc253"/><file name="mysql4-upgrade-1.7.14-1.7.15.php" hash="e5b8e89aea9a674f0cd25718d5d62a1c"/><file name="mysql4-upgrade-1.7.5-1.7.9.php" hash="73e2587c366b1d3940d08e2a65dcc253"/><file name="mysql4-upgrade-1.7.6-1.7.9.php" hash="73e2587c366b1d3940d08e2a65dcc253"/><file name="mysql4-upgrade-1.7.9-1.7.13" hash="e5b8e89aea9a674f0cd25718d5d62a1c"/><file name="uninstall-old-version.php" hash="4269e8547005958b044946d5e2d670e9"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="ICEshop"><dir name="Iceimport"><file name="jquery-1.11.1.min.js" hash="056fd2a776eae867b7e2b5ddcb754d78"/><file name="script.js" hash="1babf805c21c1e344b1fd8e7387b327e"/></dir></dir></dir><dir name="skin"><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="0136e37ac22d82753fafec8294bc8555"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ICEshop_Iceimport.xml" hash="b94f339b79303bf7e78ba89290c66ada"/></dir></target></contents>
|
| 20 |
<compatible/>
|
| 21 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 22 |
</package>
|
