[-] BO : Bug Fixed #PSCFV-2116 - Import combinations images

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16168 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
fBrignoli
2012-06-29 13:14:26 +00:00
parent f2953a3b6c
commit 6e559febd0
+15 -4
View File
@@ -1400,9 +1400,11 @@ class AdminImportControllerCore extends AdminController
public function attributeImport() public function attributeImport()
{ {
$default_language = Configuration::get('PS_LANG_DEFAULT'); $default_language = Configuration::get('PS_LANG_DEFAULT');
$groups = array(); $groups = array();
foreach (AttributeGroup::getAttributesGroups($default_language) as $group) foreach (AttributeGroup::getAttributesGroups($default_language) as $group)
$groups[$group['name']] = (int)$group['id_attribute_group']; $groups[$group['name']] = (int)$group['id_attribute_group'];
$attributes = array(); $attributes = array();
foreach (Attribute::getAttributes($default_language) as $attribute) foreach (Attribute::getAttributes($default_language) as $attribute)
$attributes[$attribute['attribute_group'].'_'.$attribute['name']] = (int)$attribute['id_attribute']; $attributes[$attribute['attribute_group'].'_'.$attribute['name']] = (int)$attribute['id_attribute'];
@@ -1413,6 +1415,9 @@ class AdminImportControllerCore extends AdminController
AdminImportController::setLocale(); AdminImportController::setLocale();
for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, Tools::getValue('separator')); $current_line++) for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, Tools::getValue('separator')); $current_line++)
{ {
if (count($line) == 1 && empty($line[0]))
continue;
if (Tools::getValue('convert')) if (Tools::getValue('convert'))
$line = $this->utf8EncodeArray($line); $line = $this->utf8EncodeArray($line);
$info = AdminImportController::getMaskedRow($line); $info = AdminImportController::getMaskedRow($line);
@@ -1459,6 +1464,7 @@ class AdminImportControllerCore extends AdminController
if ($field_error === true && $lang_field_error === true && $image->add()) if ($field_error === true && $lang_field_error === true && $image->add())
{ {
$image->associateTo($id_shop_list);
if (!AdminImportController::copyImg($product->id, $image->id, $url)) if (!AdminImportController::copyImg($product->id, $image->id, $url))
$this->warnings[] = Tools::displayError('Error copying image:').$url; $this->warnings[] = Tools::displayError('Error copying image:').$url;
else else
@@ -1512,6 +1518,7 @@ class AdminImportControllerCore extends AdminController
$position = $tab_group[2]; $position = $tab_group[2];
else else
$position = false; $position = false;
if (!isset($groups[$group])) if (!isset($groups[$group]))
{ {
$obj = new AttributeGroup(); $obj = new AttributeGroup();
@@ -1520,10 +1527,12 @@ class AdminImportControllerCore extends AdminController
$obj->name[$default_language] = $group; $obj->name[$default_language] = $group;
$obj->public_name[$default_language] = $group; $obj->public_name[$default_language] = $group;
$obj->position = (!$position) ? AttributeGroup::getHigherPosition() + 1 : $position; $obj->position = (!$position) ? AttributeGroup::getHigherPosition() + 1 : $position;
if (($field_error = $obj->validateFields(UNFRIENDLY_ERROR, true)) === true && if (($field_error = $obj->validateFields(UNFRIENDLY_ERROR, true)) === true &&
($lang_field_error = $obj->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true) ($lang_field_error = $obj->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true)
{ {
$obj->add(); $obj->add();
$obj->associateTo($id_shop_list);
$groups[$group] = $obj->id; $groups[$group] = $obj->id;
} }
else else
@@ -1567,10 +1576,12 @@ class AdminImportControllerCore extends AdminController
$obj->id_attribute_group = $groups_attributes[$key]['id']; $obj->id_attribute_group = $groups_attributes[$key]['id'];
$obj->name[$default_language] = str_replace('\n', '', str_replace('\r', '', $attribute)); $obj->name[$default_language] = str_replace('\n', '', str_replace('\r', '', $attribute));
$obj->position = (!$position) ? Attribute::getHigherPosition($groups[$group]) + 1 : $position; $obj->position = (!$position) ? Attribute::getHigherPosition($groups[$group]) + 1 : $position;
if (($field_error = $obj->validateFields(UNFRIENDLY_ERROR, true)) === true && if (($field_error = $obj->validateFields(UNFRIENDLY_ERROR, true)) === true &&
($lang_field_error = $obj->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true) ($lang_field_error = $obj->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true)
{ {
$obj->add(); $obj->add();
$obj->associateTo($id_shop_list);
$attributes[$group.'_'.$attribute] = $obj->id; $attributes[$group.'_'.$attribute] = $obj->id;
} }
else else
@@ -2504,7 +2515,7 @@ class AdminImportControllerCore extends AdminController
{ {
$this->warnings[] = $product_name.(isset($product_id) ? ' (ID '.$product_id.')' : '').' '.Tools::displayError($message); $this->warnings[] = $product_name.(isset($product_id) ? ' (ID '.$product_id.')' : '').' '.Tools::displayError($message);
} }
public function ajaxProcessSaveImportMatchs() public function ajaxProcessSaveImportMatchs()
{ {
if ($this->tabAccess['edit'] === '1') if ($this->tabAccess['edit'] === '1')
@@ -2526,16 +2537,16 @@ class AdminImportControllerCore extends AdminController
die('{"id" : "'.Db::getInstance()->Insert_ID().'"}'); die('{"id" : "'.Db::getInstance()->Insert_ID().'"}');
} }
} }
public function ajaxProcessLoadImportMatchs() public function ajaxProcessLoadImportMatchs()
{ {
if ($this->tabAccess['edit'] === '1') if ($this->tabAccess['edit'] === '1')
{ {
$return = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'import_match` WHERE `id_import_match` = '.(int)Tools::getValue('idImportMatchs')); $return = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'import_match` WHERE `id_import_match` = '.(int)Tools::getValue('idImportMatchs'));
die('{"id" : "'.$return[0]['id_import_match'].'", "matchs" : "'.$return[0]['match'].'", "skip" : "'.$return[0]['skip'].'"}'); die('{"id" : "'.$return[0]['id_import_match'].'", "matchs" : "'.$return[0]['match'].'", "skip" : "'.$return[0]['skip'].'"}');
} }
} }
public function ajaxProcessDeleteImportMatchs() public function ajaxProcessDeleteImportMatchs()
{ {
if ($this->tabAccess['edit'] === '1') if ($this->tabAccess['edit'] === '1')