[-] 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
This commit is contained in:
fBrignoli
2012-07-25 09:30:56 +00:00
parent 9665448bd2
commit bd28cc6e4b
2 changed files with 17 additions and 10 deletions
+5 -3
View File
@@ -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';
}
+12 -7
View File
@@ -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 = '<h2>'.$this->displayName.'</h2>';
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;
}