get_count_limit();
$count_limit = (int)$count_limit;
$count_left = $Attach->get_count_left();
$size_limit = $Attach->get_size_limit_byte();
$allowed_exts = $Attach->get_allowed_ext();
$css_uri = get_css_uri();
$altsize = $_POST['altsize'];
?>
" type="text/css">
enable_attachment())
{
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$file = $_FILES['file'];
$filesize = $file["size"];
$filetype = $file["type"];
$origfilename = $file['name'];
$ext_l = strrpos($origfilename, ".");
$ext = strtolower(substr($origfilename, $ext_l+1, strlen($origfilename)-($ext_l+1)));
$banned_ext = array('exe', 'com', 'bat', 'msi');
$img_ext = array('jpeg', 'jpg', 'png', 'gif');
$warning = "";
if (!$file || $filesize == 0 || $file["name"] == "") // nothing received
{
$warning = $lang_attachment['text_nothing_received'];
}
elseif (!$count_left) //user cannot upload more files
{
$warning = $lang_attachment['text_file_number_limit_reached'];
}
elseif ($filesize > $size_limit || $filesize >= 5242880) //do not allow file bigger than 5 MB
{
$warning = $lang_attachment['text_file_size_too_big'];
}
elseif (!in_array($ext, $allowed_exts) || in_array($ext, $banned_ext)) //the file extension is banned
{
$warning = $lang_attachment['text_file_extension_not_allowed'];
}
else //everythins is okay
{
if (in_array($ext, $img_ext))
$isimage = true;
else $isimage = false;
if ($savedirectorytype_attachment == 'onedir')
$savepath = "";
elseif ($savedirectorytype_attachment == 'monthdir')
$savepath = date("Ym")."/";
elseif ($savedirectorytype_attachment == 'daydir')
$savepath = date("Ymd")."/";
$filemd5 = md5_file($file['tmp_name']);
$filename = date("YmdHis").$filemd5;
$file_location = make_folder($savedirectory_attachment."/", $savepath) . $filename;
$db_file_location = $savepath.$filename;
$abandonorig = false;
$hasthumb = false;
$width = 0;
if ($isimage) //the uploaded file is a image
{
$maycreatethumb = false;
$stop = false;
$imagesize = getimagesize($file['tmp_name']);
if ($imagesize){
$height = $imagesize[1];
$width = $imagesize[0];
$it = $imagesize[2];
if ($it != 1 || !$Attach->is_gif_ani($file['tmp_name'])){ //if it is an animation GIF, stop creating thumbnail and adding watermark
if ($thumbnailtype_attachment != 'no') //create thumbnail for big image
{
//determine the size of thumbnail
if ($altsize == 'yes'){
$targetwidth = $altthumbwidth_attachment;
$targetheight = $altthumbheight_attachment;
}
else
{
$targetwidth = $thumbwidth_attachment;
$targetheight = $thumbheight_attachment;
}
$hscale=$height/$targetheight;
$wscale=$width/$targetwidth;
$scale=($hscale < 1 && $wscale < 1) ? 1 : (( $hscale > $wscale) ? $hscale : $wscale);
$newwidth=floor($width/$scale);
$newheight=floor($height/$scale);
if ($scale != 1){ //thumbnail is needed
if ($it==1)
$orig=@imagecreatefromgif($file["tmp_name"]);
elseif ($it == 2)
$orig=@imagecreatefromjpeg($file["tmp_name"]);
else
$orig=@imagecreatefrompng($file["tmp_name"]);
if ($orig && !$stop)
{
$thumb = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($thumb, $orig, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
if ($thumbnailtype_attachment == 'createthumb'){
$hasthumb = true;
imagejpeg($thumb, $file_location.".".$ext.".thumb.jpg", $thumbquality_attachment);
}
elseif ($thumbnailtype_attachment == 'resizebigimg'){
$ext = "jpg";
$filetype = "image/jpeg";
$it = 2;
$height = $newheight;
$width = $newwidth;
$maycreatethumb = true;
$abandonorig = true;
}
}
}
}
$watermarkpos = $watermarkpos_attachment;
if ($watermarkpos != 'no' && !$stop) //add watermark to image
{
if ($width > $watermarkwidth_attachment && $height > $watermarkheight_attachment)
{
if ($abandonorig)
{
$resource = $thumb;
}
else
{
$resource=imagecreatetruecolor($width,$height);
if ($it==1)
$resource_p=@imagecreatefromgif($file["tmp_name"]);
elseif ($it==2)
$resource_p=@imagecreatefromjpeg($file["tmp_name"]);
else
$resource_p=@imagecreatefrompng($file["tmp_name"]);
imagecopy($resource, $resource_p, 0, 0, 0, 0, $width, $height);
}
$watermark = imagecreatefrompng('pic/watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
//the position of the watermark
if ($watermarkpos == 'random')
$watermarkpos = mt_rand(1, 9);
switch ($watermarkpos)
{
case 1: {
$wmx = 5;
$wmy = 5;
break;
}
case 2: {
$wmx = ($width-$watermark_width)/2;
$wmy = 5;
break;
}
case 3: {
$wmx = $width-$watermark_width-5;
$wmy = 5;
break;
}
case 4: {
$wmx = 5;
$wmy = ($height-$watermark_height)/2;
break;
}
case 5: {
$wmx = ($width-$watermark_width)/2;
$wmy = ($height-$watermark_height)/2;
break;
}
case 6: {
$wmx = $width-$watermark_width-5;
$wmy = ($height-$watermark_height)/2;
break;
}
case 7: {
$wmx = 5;
$wmy = $height-$watermark_height-5;
break;
}
case 8: {
$wmx = ($width-$watermark_width)/2;
$wmy = $height-$watermark_height-5;
break;
}
case 9: {
$wmx = $width-$watermark_width-5;
$wmy = $height-$watermark_height-5;
break;
}
}
imagecopy($resource, $watermark, $wmx, $wmy, 0, 0, $watermark_width, $watermark_height);
if ($it==1)
imagegif($resource, $file_location.".".$ext);
elseif ($it==2)
imagejpeg($resource, $file_location.".".$ext, $watermarkquality_attachment);
else
imagepng($resource, $file_location.".".$ext);
$filesize = filesize($file_location.".".$ext);
$maycreatethumb = false;
$abandonorig = true;
}
}
if ($maycreatethumb){ // if no watermark is added, create the thumbnail now for the above resized image.
imagejpeg($thumb, $file_location.".".$ext, $thumbquality_attachment);
$filesize = filesize($file_location.".".$ext);
}
}
}
else $warning = $lang_attachment['text_invalid_image_file'];
}
if (!$abandonorig){
if(!move_uploaded_file($file["tmp_name"], $file_location.".".$ext))
$warning = $lang_attachment['text_cannot_move_file'];
}
if (!$warning) //insert into database and add code to editor
{
$dlkey = md5($db_file_location.".".$ext);
sql_query("INSERT INTO attachments (userid, width, added, filename, filetype, filesize, location, dlkey, isimage, thumb) VALUES (".$CURUSER['id'].", ".$width.", ".sqlesc(date("Y-m-d H:i:s")).", ".sqlesc($origfilename).", ".sqlesc($filetype).", ".$filesize.", ".sqlesc($db_file_location.".".$ext).", ".sqlesc($dlkey).", ".($isimage ? 1 : 0).", ".($hasthumb ? 1 : 0).")") or sqlerr(__FILE__, __LINE__);
$count_left--;
echo("");
}
}
}
print("");
}
?>