Справедливости ради стоит отметить, что данная система watermark работает не только в virtuemart, а в любой папке с картинками, которые вам нужно защитить.
Я немного модифицировал скрипт. Ввел проверку на размер изображения, т.к. при использовании слимбокса ватермарк исходной картинки оказывается слишком мелким. После доработки мы видим следующую картину: на картинке шаблона товара у изображения мелкий watermark, а при увеличении он становится большим. Проверочную цифру можете подставить свою.
Итак, ближе к делу. Пошаговая инструкция.
1. В папке с изображениями товаров virtuemart (/components/com_virtuemart/shop_images/product/) создаем файл .htaccess следующего содержания
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(gif|jpeg|jpg|png)$ /components/com_virtuemart/shop_image/product/watermark.php [QSA,NC]
2. В той же папке создаем файл watermark.php и кидаем туда этот код:
// watermark.php</p>
// Path the the requested file
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
// Load the requested image
$image = imagecreatefromstring(file_get_contents($path));
$w = imagesx($image);
$h = imagesy($image);
if (($w>300)||($h>300))
{
// Load the watermark image
$watermark = imagecreatefrompng('watermark2.png');
}
else
{
$watermark = imagecreatefrompng('watermark.png');
}
$ww = imagesx($watermark);
$wh = imagesy($watermark);
// Merge watermark upon the original image (centred)
imagecopy($image, $watermark, $w-$ww, $h-$wh, 0, 0, $ww, $wh);
// Send the image
header('Content-type: image/jpeg');
imagejpeg($image,null,95);
exit();
?>
3. Копируем в эту папку два файла watermark.png (маленькая картинка) watermark2.png (большая картинка) .
Всё! Можно пользоваться. Метод проверен, система работает. При попытке сохранения картинки ватермарк с неё не стирается. То есть выполняет свою задачу на 100%!