From bd28cc6e4b579c9cbbd47b911ff9dc51d2475cae Mon Sep 17 00:00:00 2001 From: fBrignoli Date: Wed, 25 Jul 2012 09:30:56 +0000 Subject: [PATCH] [-] MO : Watermark - Bug Fixed #PSCFV-2770 - Watermark is not working git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16564 b9a71923-0436-4b27-9f14-aed3839534dd --- controllers/admin/AdminImagesController.php | 8 +++++--- modules/watermark/watermark.php | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/controllers/admin/AdminImagesController.php b/controllers/admin/AdminImagesController.php index 3daf8b944..2d089028c 100644 --- a/controllers/admin/AdminImagesController.php +++ b/controllers/admin/AdminImagesController.php @@ -524,7 +524,7 @@ class AdminImagesControllerCore extends AdminController SELECT m.`name` FROM `'._DB_PREFIX_.'module` m LEFT JOIN `'._DB_PREFIX_.'hook_module` hm ON hm.`id_module` = m.`id_module` LEFT JOIN `'._DB_PREFIX_.'hook` h ON hm.`id_hook` = h.`id_hook` - WHERE h.`name` = \'watermark\' AND m.`active` = 1'); + WHERE h.`name` = \'actionWatermark\' AND m.`active` = 1'); if ($result && count($result)) { @@ -535,8 +535,10 @@ class AdminImagesControllerCore extends AdminController if (file_exists($dir.$imageObj->getExistingImgPath().'.jpg')) foreach ($result as $module) { - if ($moduleInstance = Module::getInstanceByName($module['name']) && is_callable(array($moduleInstance, 'hookwatermark'))) - call_user_func(array($moduleInstance, 'hookwatermark'), array('id_image' => $imageObj->id, 'id_product' => $imageObj->id_product)); + $moduleInstance = Module::getInstanceByName($module['name']); + if ($moduleInstance && is_callable(array($moduleInstance, 'hookActionWatermark'))) + call_user_func(array($moduleInstance, 'hookActionWatermark'), array('id_image' => $imageObj->id, 'id_product' => $imageObj->id_product)); + if (time() - $this->start_time > $this->max_execution_time - 4) // stop 4 seconds before the tiemout, just enough time to process the end of the page on a slow server return 'timeout'; } diff --git a/modules/watermark/watermark.php b/modules/watermark/watermark.php index c65fd8a89..68e6ae5f6 100644 --- a/modules/watermark/watermark.php +++ b/modules/watermark/watermark.php @@ -44,7 +44,7 @@ class Watermark extends Module { $this->name = 'watermark'; $this->tab = 'administration'; - $this->version = '0.2'; + $this->version = '0.3'; $this->author = 'PrestaShop'; parent::__construct(); @@ -213,7 +213,7 @@ class Watermark extends Module { $this->_html = '

'.$this->displayName.'

'; - if (!empty($_POST)) + if (Tools::isSubmit('btnSubmit')) { $this->_postValidation(); if (!count($this->_postErrors)) @@ -230,14 +230,19 @@ class Watermark extends Module return $this->_html; } - /* we assume here only jpg files */ + // Retrocompatibility public function hookwatermark($params) + { + $this->hookActionWatermark($params); + } + + public function hookActionWatermark($params) { $image = new Image($params['id_image']); $image->id_product = $params['id_product']; $file = _PS_PROD_IMG_DIR_.$image->getExistingImgPath().'-watermark.jpg'; - $str_shop = '-'.(int)$this->context->shop->id; + $str_shop = '-'.(int)$this->context->shop->id; if (Shop::getContext() != Shop::CONTEXT_SHOP || !Tools::file_exists_cache(dirname(__FILE__).'/watermark'.$str_shop.'.gif')) $str_shop = ''; @@ -247,9 +252,9 @@ class Watermark extends Module //go through file formats defined for watermark and resize them foreach ($this->imageTypes as $imageType) { - $newFile = _PS_PROD_IMG_DIR_.$image->getExistingImgPath().'-'.stripslashes($imageType['name']).'.jpg'; - if (!ImageManager::resize($file, $newFile, (int)$imageType['width'], (int)$imageType['height'])) - $return = false; + $newFile = _PS_PROD_IMG_DIR_.$image->getExistingImgPath().'-'.stripslashes($imageType['name']).'.jpg'; + if (!ImageManager::resize($file, $newFile, (int)$imageType['width'], (int)$imageType['height'])) + $return = false; } return $return; }