<?php
#-----------------------------------------------------#
# ********* ROTORCMS ********* #
# Made by : VANTUZ #
# E-mail : [email protected] #
# Site : http://pizdec.ru #
# WAP-Site : http://visavi.net #
# ICQ : 36-44-66 #
# Вы не имеете право вносить изменения в код скрипта #
# для его дальнейшего распространения #
#-----------------------------------------------------#
require_once ('../includes/start.php');
require_once ('../includes/functions.php');
if (isset($_GET['dir'])) {
$dir = check($_GET['dir']);
} else {
$dir = "";
}
if (isset($_GET['name'])) {
$name = check($_GET['name']);
} else {
$name = "";
}
if (preg_match('|^[a-z0-9_\-/]+$|i', $dir) && preg_match('|^[a-z0-9_\.\-]+$|i', $name)) {
if (file_exists(BASEDIR . $dir . '/' . $name)) {
$getim = getimagesize(BASEDIR . $dir . '/' . $name);
if ($getim[2] == 1 || $getim[2] == 2 || $getim[2] == 3) {
$width = $getim[0];
$height = $getim[1];
if ($width > $config['previewsize'] || $height > $config['previewsize']) {
$x_ratio = $config['previewsize'] / $width;
$y_ratio = $config['previewsize'] / $height;
if (($x_ratio * $height) < $config['previewsize']) {
$tn_height = ceil($x_ratio * $height);
$tn_width = $config['previewsize'];
} else {
$tn_width = ceil($y_ratio * $width);
$tn_height = $config['previewsize'];
}
// -------------------------------//
if ($getim[2] == 2) {
$img = imagecreatefromjpeg(BASEDIR . $dir . '/' . $name);
$dst = imagecreatetruecolor($tn_width, $tn_height);
imagecopyresampled($dst, $img, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
header('content-type: image/jpeg');
header('Content-Disposition: filename="' . $name . '"');
imagejpeg ($dst, null, 75);
imagedestroy($img);
imagedestroy($dst);
}
// -------------------------------//
if ($getim[2] == 1) {
$img = imagecreatefromgif(BASEDIR . $dir . '/' . $name);
$dst = imagecreatetruecolor($tn_width, $tn_height);
$colorTransparent = imagecolortransparent($img);
imagepalettecopy($img, $dst);
imagefill($dst, 0, 0, $colorTransparent);
imagecolortransparent($dst, $colorTransparent);
imagetruecolortopalette($dst, true, 256);
imagecopyresampled($dst, $img, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
header('content-type: image/gif');
header('Content-Disposition: filename="' . $name . '"');
imagegif ($dst);
imagedestroy($img);
imagedestroy($dst);
}
// -------------------------------//
if ($getim[2] == 3) {
$img = imagecreatefrompng(BASEDIR . $dir . '/' . $name);
$dst = imagecreatetruecolor($tn_width, $tn_height);
$colorTransparent = imagecolortransparent($img);
imagepalettecopy($img, $dst);
imagefill($dst, 0, 0, $colorTransparent);
imagecolortransparent($dst, $colorTransparent);
imagetruecolortopalette($dst, true, 256);
imagecopyresampled($dst, $img, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
header('content-type: image/png');
header('Content-Disposition: filename="' . $name . '"');
imagepng ($dst);
imagedestroy($img);
imagedestroy($dst);
}
} else {
$filename = file_get_contents(BASEDIR . $dir . '/' . $name);
header('Content-type: ' . $getim['mime']);
header('Content-Disposition: filename="' . $name . '"');
header('Content-Length: ' . strlen($filename));
echo $filename;
}
}
}
}
exit;
?>