[*] FIX #PSCFV-8106 do not regenerate thumbnails if not

This commit is contained in:
gRoussac
2013-09-19 16:28:19 +02:00
parent 4e1d6de9b0
commit 0c511dead5
3 changed files with 161 additions and 206 deletions
+20 -9
View File
@@ -471,14 +471,19 @@ class AdminImportControllerCore extends AdminController
$entity_selected = $this->entities[$this->l(Tools::ucfirst(Tools::getValue('import_type')))];
$this->context->cookie->entity_selected = $entity_selected;
}
elseif(isset($this->context->cookie->entity_selected))
elseif (isset($this->context->cookie->entity_selected))
$entity_selected = (int)$this->context->cookie->entity_selected;
$csv_selected = '';
if (isset($this->context->cookie->csv_selected))
$csv_selected = pSQL($this->context->cookie->csv_selected);
$this->tpl_form_vars = array(
'module_confirmation' => (Tools::getValue('import')) && (isset($this->warnings) && !count($this->warnings)),
'path_import' => _PS_ADMIN_DIR_.'/import/',
'entities' => $this->entities,
'entity_selected' => $entity_selected,
'csv_selected' => $csv_selected,
'files_to_import' => $files_to_import,
'languages' => Language::getLanguages(false),
'id_language' => $this->context->language->id,
@@ -508,6 +513,8 @@ class AdminImportControllerCore extends AdminController
if ($entity_selected = (int)Tools::getValue('entity'))
$this->context->cookie->entity_selected = $entity_selected;
if ($csv_selected = Tools::getValue('csv'))
$this->context->cookie->csv_selected = $csv_selected;
$this->tpl_view_vars = array(
'import_matchs' => Db::getInstance()->executeS('SELECT * FROM '._DB_PREFIX_.'import_match'),
@@ -518,6 +525,7 @@ class AdminImportControllerCore extends AdminController
'iso_lang' => Tools::getValue('iso_lang'),
'truncate' => Tools::getValue('truncate'),
'forceIDs' => Tools::getValue('forceIDs'),
'regenerate' => Tools::getValue('regenerate'),
'match_ref' => Tools::getValue('match_ref'),
'separator' => $this->separator,
'multiple_value_separator' => $this->multiple_value_separator
@@ -807,7 +815,7 @@ class AdminImportControllerCore extends AdminController
* @param string entity 'products' or 'categories'
* @return void
*/
protected static function copyImg($id_entity, $id_image = null, $url, $entity = 'products')
protected static function copyImg($id_entity, $id_image = null, $url, $entity = 'products', $regenerate = true)
{
$tmpfile = tempnam(_PS_TMP_IMG_DIR_, 'ps_import');
$watermark_types = explode(',', Configuration::get('WATERMARK_TYPES'));
@@ -835,11 +843,14 @@ class AdminImportControllerCore extends AdminController
{
ImageManager::resize($tmpfile, $path.'.jpg');
$images_types = ImageType::getImagesTypes($entity);
foreach ($images_types as $image_type)
ImageManager::resize($tmpfile, $path.'-'.stripslashes($image_type['name']).'.jpg', $image_type['width'], $image_type['height']);
if (in_array($image_type['id_image_type'], $watermark_types))
Hook::exec('actionWatermark', array('id_image' => $id_image, 'id_product' => $id_entity));
if ($regenerate)
foreach ($images_types as $image_type)
{
ImageManager::resize($tmpfile, $path.'-'.stripslashes($image_type['name']).'.jpg', $image_type['width'], $image_type['height']);
if (in_array($image_type['id_image_type'], $watermark_types))
Hook::exec('actionWatermark', array('id_image' => $id_image, 'id_product' => $id_entity));
}
}
else
{
@@ -988,7 +999,7 @@ class AdminImportControllerCore extends AdminController
}
//copying images of categories
if (isset($category->image) && !empty($category->image))
if (!(AdminImportController::copyImg($category->id, null, $category->image, 'categories')))
if (!(AdminImportController::copyImg($category->id, null, $category->image, 'categories', !Tools::getValue('regenerate'))))
$this->warnings[] = $category->image.' '.Tools::displayError('cannot be copied.');
// If both failed, mysql error
if (!$res)
@@ -1450,7 +1461,7 @@ class AdminImportControllerCore extends AdminController
{
// associate image to selected shops
$image->associateTo($shops);
if (!AdminImportController::copyImg($product->id, $image->id, $url))
if (!AdminImportController::copyImg($product->id, $image->id, $url, 'products', !Tools::getValue('regenerate')))
{
$image->delete();
$this->warnings[] = sprintf(Tools::displayError('Error copying image: %s'), $url);
@@ -1576,7 +1587,7 @@ class AdminImportControllerCore extends AdminController
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, 'products', !Tools::getValue('regenerate')))
{
$this->warnings[] = sprintf(Tools::displayError('Error copying image: %s'), $url);
$image->delete();