PDA

View Full Version : Attachment Watermark (Certain forums)


mk craig 42
02-18-2012, 01:53 AM
Is it possible to only add a watermark to attachment if it was posted in certain sections?
There are 3-4 sections on the forum that I DO NOT want attachment watermarks on, however the rest of them.

Is this possible:

This is the product for my current one:

$tempimage='';
$referers_count=0;
$referers=array();
if($vbulletin->options['watermark_referer']) {
$referers=explode(',',$vbulletin->options['watermark_referer']);
if(empty($_SERVER['HTTP_REFERER'])) {
$referers_count=1;
}
else {
str_replace($referers,'',$_SERVER['HTTP_REFERER'],$referers_count);
}
}

if(!isset($_SERVER['HTTP_RANGE'])
&&in_array($extension,array('jpg','png','gif'))
&&$attachmentinfo['dateline']<TIMENOW-$vbulletin->options['watermark_days']*86400
&&(!$referers||($referers&&!$referers_count)))
{
if($vbulletin->options['watermark_thumb']&&empty($vbulletin->GPC['thumb'])) {
$clearfname = DIR.'/'.$vbulletin->options['cleargifurl'];
if( file_exists($clearfname) && $fp2 = fopen($clearfname,'rb') ) {
header('Content-Length: '. filesize($clearfname));
header('Content-type: image/gif');
@fclose($fp);
$fp = $fp2;
$lastbyte = filesize($clearfname)-1;
}
} else {

$wm_t = @imagecreatefrompng($vbulletin->options['watermark_path_top']);
$wm_b = @imagecreatefrompng($vbulletin->options['watermark_path_bottom']);

if (strtolower($extension) == "gif") {
$im_a = @imagecreatefromgif($attachpath);
}
else if(strtolower($extension) == "jpg") {
$im_a = @imagecreatefromjpeg($attachpath);
}
else if(strtolower($extension) == "png") {
$im_a = @imagecreatefrompng($attachpath);
}

if($im_a) {
$tempimage = @imagecreatetruecolor(imagesx($im_a), imagesy($im_a));
imagecopy($tempimage, $im_a, 0, 0, 0, 0, imagesx($im_a), imagesy($im_a));
$im_a = $tempimage;

if($wm_t&&imagesx($im_a)>imagesx($wm_t)) {
imagefilledrectangle($im_a, 0 , 0 , imagesx($im_a) , imagesy($wm_t) , imagecolorallocatealpha($im_a, 0, 0, 0, 100) );
imagecopy($im_a, $wm_t, imagesx($im_a)-imagesx($wm_t), 0, 0, 0, imagesx($wm_t), imagesy($wm_t));
}
if($wm_b&&imagesx($im_a)>imagesx($wm_b)) {
imagefilledrectangle($im_a, 0 , imagesy($im_a)-imagesy($wm_b) , imagesx($im_a) , imagesy($im_a) , imagecolorallocatealpha($im_a, 0, 0, 0, 100) );
imagecopy($im_a, $wm_b, imagesx($im_a)-imagesx($wm_b), imagesy($im_a)-imagesy($wm_b), 0, 0, imagesx($wm_b), imagesy($wm_b));

}

$tmpfname = tempnam($vbulletin->options['tmppath'],'watermark_');

if (strtolower($extension) == "gif") {
imagegif($im_a,$tmpfname);
}
else if(strtolower($extension) == "jpg") {
imagejpeg($im_a,$tmpfname);
}
else if(strtolower($extension) == "png") {
imagepng($im_a,$tmpfname);
}

if($wm_t) imagedestroy($wm_t);
if($wm_b) imagedestroy($wm_b);
imagedestroy($im_a);

if( file_exists($tmpfname) && $fp2 = fopen($tmpfname,'rb') ) {
header('Content-Length: '. filesize($tmpfname));
@fclose($fp);
$fp = $fp2;
$lastbyte = filesize($tmpfname)-1;
}
}
}
}