public function postProcess() { if (Tools::isSubmit('submitAdd' . $this->table)) { //$newFilename="image_".time().".jpg"; $slideshowInfos = $this->getSlideshow((int) Tools::getValue('id_opartslideshow_slideshow')); $obj = new MyImage((int) Tools::getValue('id_opartslideshow_slideshow_image')); $errors = ""; if (isset($_FILES['image_file']) && is_uploaded_file($_FILES['image_file']['tmp_name'])) { $filename = Tools::getValue('filename'); if (file_exists($this->imgDir . $filename)) { unlink($this->imgDir . $filename); if (file_exists(_PS_ROOT_DIR_ . "/img/tmp/" . $this->table . '_' . $filename)) { unlink(_PS_ROOT_DIR_ . "/img/tmp/" . $this->table . '_' . $filename); } //on rechange le filename pour eviter la mise en cache de la nouvelle image $filename = "image_" . time() . ".jpg"; $changeFilename = true; } $sizes = getimagesize($_FILES['image_file']['tmp_name']); if ($error = ImageManager::validateUpload($_FILES['image_file'])) { $errors .= $error; } elseif (!($tmpName = tempnam(_PS_TMP_IMG_DIR_, 'PS')) || !move_uploaded_file($_FILES['image_file']['tmp_name'], $tmpName)) { return false; } if ($sizes[0] == $slideshowInfos['width'] && $sizes[1] == $slideshowInfos['height']) { rename($tmpName, $this->imgDir . $filename); chmod($this->imgDir . $filename, 0705); } elseif (!ImageManager::resize($tmpName, $this->imgDir . $filename, $slideshowInfos['width'], $slideshowInfos['height'])) { $errors .= Tools::displayError($this->l('An error occurred during the image upload.')); } if (file_exists($tmpName)) { unlink($tmpName); } $obj->copyFromPost(); if (isset($changeFilename) && $changeFilename === true) { $obj->filename = $filename; } } else { $obj->copyFromPost(); } $obj->save(); } else { parent::postProcess(); } }