deleteImages(); $product_has_images = (bool)Image::getImages(1, $product["id_product"]); $url = $path.$product["reference"]."Big.jpg"; $url2 = $path."Art".$product["reference"]."Big.jpg"; $ok = false; if(file_exists($url2)) { $image = new Image(); $image->id_product = (int)$product["id_product"]; $image->position = Image::getHighestPosition($product["id_product"]) + 1; $image->cover = (!$product_has_images) ? true : false; $field_error = $image->validateFields(false, true); $lang_field_error = $image->validateFieldsLang(false, true); if ($field_error === true && $lang_field_error === true && $image->add()) { $image->associateTo(Shop::getContextListShopID()); if (!copyImg($product["id_product"], $image->id, $url2)) { $this->warnings[] = sprintf(Tools::displayError('Error copying image: %s'), $url2); $image->delete(); } else $id_image = array($image->id); } else { $this->warnings[] = sprintf( Tools::displayError('%s cannot be saved'), (isset($image->id_product) ? ' ('.$image->id_product.')' : '') ); $this->errors[] = ($field_error !== true ? $field_error : '').(isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '').mysql_error(); } $ok = true; } if(file_exists($url) && !$ok) { $image = new Image(); $image->id_product = (int)$product["id_product"]; $image->position = Image::getHighestPosition($product["id_product"]) + 1; $image->cover = (!$product_has_images) ? true : false; $field_error = $image->validateFields(false, true); $lang_field_error = $image->validateFieldsLang(false, true); if ($field_error === true && $lang_field_error === true && $image->add()) { $image->associateTo(Shop::getContextListShopID()); if (!copyImg($product["id_product"], $image->id, $url)) { $this->warnings[] = sprintf(Tools::displayError('Error copying image: %s'), $url); $image->delete(); } else $id_image = array($image->id); } else { $this->warnings[] = sprintf( Tools::displayError('%s cannot be saved'), (isset($image->id_product) ? ' ('.$image->id_product.')' : '') ); $this->errors[] = ($field_error !== true ? $field_error : '').(isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '').mysql_error(); } } for($i = 0 ; $i < 10; $i++){ $url = $path.$product["reference"]."-0".$i."X300.jpg"; $url2 = $path."Art".$product["reference"]."-0".$i."X300.jpg"; $ok = false; if(file_exists($url2)) { $image = new Image(); $image->id_product = (int)$product["id_product"]; $image->position = Image::getHighestPosition($product["id_product"]) + 1; $image->cover = false; $field_error = $image->validateFields(false, true); $lang_field_error = $image->validateFieldsLang(false, true); if ($field_error === true && $lang_field_error === true && $image->add()) { $image->associateTo(Shop::getContextListShopID()); if (!copyImg($product["id_product"], $image->id, $url2)) { $this->warnings[] = sprintf(Tools::displayError('Error copying image: %s'), $url2); $image->delete(); } else $id_image = array($image->id); } else { $this->warnings[] = sprintf( Tools::displayError('%s cannot be saved'), (isset($image->id_product) ? ' ('.$image->id_product.')' : '') ); $this->errors[] = ($field_error !== true ? $field_error : '').(isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '').mysql_error(); } $ok = true; } if(file_exists($url) && !$ok) { $image = new Image(); $image->id_product = (int)$product["id_product"]; $image->position = Image::getHighestPosition($product["id_product"]) + 1; $image->cover = false; $field_error = $image->validateFields(false, true); $lang_field_error = $image->validateFieldsLang(false, true); if ($field_error === true && $lang_field_error === true && $image->add()) { $image->associateTo(Shop::getContextListShopID()); if (!copyImg($product["id_product"], $image->id, $url)) { $this->warnings[] = sprintf(Tools::displayError('Error copying image: %s'), $url); $image->delete(); } else $id_image = array($image->id); } else { $this->warnings[] = sprintf( Tools::displayError('%s cannot be saved'), (isset($image->id_product) ? ' ('.$image->id_product.')' : '') ); $this->errors[] = ($field_error !== true ? $field_error : '').(isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '').mysql_error(); } } } echo $product["id_product"]."-".$it." "; $it++; ob_end_flush(); flush(); ob_start(); } echo "stop"; function copyImg($id_entity, $id_image = null, $tmpfile, $entity = 'products') { $watermark_types = explode(',', Configuration::get('WATERMARK_TYPES')); switch ($entity) { default: case 'products': $image_obj = new Image($id_image); $path = $image_obj->getPathForCreation(); break; case 'categories': $path = _PS_CAT_IMG_DIR_.(int)$id_entity; break; } // Evaluate the memory required to resize the image: if it's too much, you can't resize it. if (!ImageManager::checkImageMemoryLimit($tmpfile)) return false; 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)); return true; } ?>