Те кто работал с галереей знают что она накладывает ватермарки токо на полную картинку.
Так что вот вам хак для наложения ватермарка и на мини эскизы тоже.
Те кто работал с галереей знают что она накладывает ватермарки токо на полную картинку.
Так что вот вам хак для наложения ватермарка и на мини эскизы тоже.
И так приступим,
1 — делаем картинку watermark_small.png (у меня она просто с непрозрачным фоном в примере) и кладем по адресу componentscom_datsogallery Размер картинки делается в соответствии с размером мини-эскиза.
2 — файл datsogallery.php
После строки
добавляем еще одну
находим строки
$dgvotes = _DG_RATING;
$dgcomment = _DG_COMMENT1;
и прямо перед ними вставляем
$wm = $mosConfig_live_site.»/».$dgurl.»&func=wmark»;
$wm = str_replace(«&»,»&»,$wm).»&»;
////////////////////
Далее на пару строк ниже находим
и заменяем на
3 — файл sub_wm.php — полностью заменяем его содержимое на:
<?php
/***************************************************
** DatsoGallery — A Joomla! Gallery Component **
** Copyright (C) 2006-2008 by Andrey Datso **
** Version : 1.6 **
** Homepage : http://www.datso.fr **
** License : Copyright, don’t distribute **
** Modified by : Aliaksandr Rudik **
***************************************************/
defined (‘_VALID_MOS’) or die(‘Direct Access to this location is not allowed.’);
$pic = «»;
$path = «»;
$id = 0;
$tid = intval( mosGetParam( $_REQUEST, ‘tid’, 0 ) );
$mid = intval( mosGetParam( $_REQUEST, ‘mid’, 0 ) );
$oid = intval( mosGetParam( $_REQUEST, ‘oid’, 0 ) );
if ($tid) {
$pic = «imgthumbname»;
$path = $thumbnaildir;
$id = $tid;
$watermark = $gallerydir.’/watermark_small.png’;
} else if ($mid) {
$pic = «imgfilename»;
$path = $picturedir;
$id = $mid;
$watermark = $gallerydir.’/watermark.png’;
} else if ($oid) {
$pic = «imgoriginalname»;
$path = $originaldir;
$id = $oid;
$watermark = $gallerydir.’/watermark.png’;
}
if ($id) {
$database->setQuery(«select c.access «
. » from #__datsogallery_catg as c «
. » left join #__datsogallery as a on a.catid = c.cid «
. » where a.id = $id «);
$c_access = $database->loadResult();
if ($gid < $c_access) {
exit;
}else{
$database->setQuery(«select a.$pic «
. » from #__datsogallery as a «
. » where a.id = $id «);
$pic = $database->loadResult();
$pic = $path.$pic;
}
$img_info = getimagesize($pic);
if (!$img_info) {
exit;
}else{
//$watermark = $gallerydir.’/watermark.png’;
$watermark = imagecreatefrompng($watermark);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($pic);
$size = getimagesize($pic);
$dest_x = $size[0] — $watermark_width — 5;
$dest_y = $size[1] — $watermark_height — 5;
imagecopyresampled($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $watermark_width, $watermark_height);
header(‘content-type: image/jpeg’);
imagejpeg($image, », $dest_qual=95);
imagedestroy($image);
imagedestroy($watermark);
}
}
?>
Все, хак окончен, как оно выглядит и работает вы могли увидеть на скрине.
Проверялось на оригинальной 12-й версии и 1.6 галереи