<?php
########################################
## WAP-ENGINE ##
########################################
## ##
## Автор : CHUMA (Токарев Владимир) ##
## e-mail : [email protected] ##
## WAP : http://wap-engine.ru ##
## ##
########################################
## ВЫ НЕ ИМЕЕТЕ ПРАВО ##
## ИЗМЕНЯТЬ КОД СКРИПТА ##
## ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ! ##
########################################
$file_get = isset($_GET['file']) ? stripslashes(trim($_GET['file'])) : 0;
$kat = isset($_GET['kat']) ? stripslashes(trim($_GET['kat'])) : 0;
$img_f = isset($_GET['img']) ? stripslashes(trim($_GET['img'])) : 0;
if(!empty($_GET['kat']) && (!preg_match("#^[^><|?*\:\"]+$#", $kat) || preg_match("#(\.\.)+|^(\/)+|^(\.)+$|^(\.\/)+$|^(\.\/\.)+$|(\/\/)+#", $kat)))
{
exit;
}
if(!empty($_GET['kat']) && !file_exists('../../modules/zagruz/'.$kat))
{
exit;
}
if(!empty($_GET['file']) && (!preg_match("#^[^><|?*/\:\"]+$#", $file_get) || preg_match("#(\.\.)+#", $file_get) || empty($_GET['kat'])))
{
exit;
}
if(!empty($_GET['file']) && !file_exists('../../modules/zagruz/'.$kat.'/'.$file_get))
{
exit;
}
if(!empty($_GET['img']) && (!preg_match("#^[^><|?*\:\"]+$#", $img_f) || preg_match("#(\.\.)+|^(\/)+|^(\.)+$|^(\.\/)+$|^(\.\/\.)+$|(\/\/)+#", $img_f)))
{
exit;
}
if(!empty($_GET['img']) && !file_exists('../../modules/zagruz/'.$img_f))
{
exit;
}
$file_get_out = str_replace('.jpg', '', $file_get);
$file_get_out = str_replace('.jpeg', '', $file_get_out);
$file_get_out = str_replace('.jpe', '', $file_get_out);
$file_get_out = str_replace('.gif', '', $file_get_out);
$file_get_out = str_replace('.png', '', $file_get_out);
if(!empty($kat) && !empty($file_get))
{
$pic = urldecode(htmlspecialchars(str_replace('./', '', $kat.'/'.$file_get)));
$load_data = @file($kat.'/op/'.$file_get.'_load.txt');
$loads = trim($load_data[0]) + 1;
$file = fopen($kat.'/op/'.$file_get.'_load.txt','w');
flock ($file,LOCK_EX);
fputs($file,$loads);
fflush ($file);
flock ($file,LOCK_UN);
fclose($file);
$d_load = 1;
header('Content-Disposition: attachment; filename='.$file_get_out.'.jpg');
}
else
{
$pic = urldecode(htmlspecialchars(str_replace('./', '', $img_f)));
}
$size_img = getimagesize($pic);
$type_img = $size_img['mime'];
$width = $size_img[0];
$height = $size_img[1];
if(!empty($_GET['prev']))
{
$qual = 20;
}
else
{
$qual = 85;
}
if(empty($_GET['wid']) && empty($_GET['hei']))
{
$W = 70;
$H = $height / ($width / $W);
}
elseif(empty($_GET['wid']))
{
$H = intval($_GET['hei']);
$W = $width / ($height / $H);
}
elseif(empty($_GET['hei']))
{
if(!empty($d_load))
{
$W = intval($_GET['wid']);
}
else
{
if($_GET['wid'] > $width)
{
$W = $width;
}
else
{
$W = intval($_GET['wid']);
}
}
$H = $height / ($width / $W);
}
if(!empty($_GET['wid']) && !empty($_GET['hei']))
{
$W = intval($_GET['wid']);
$H = intval($_GET['hei']);
if($W < $H)
{
$H = $height / ($width / $W);
}
elseif($W > $H)
{
$W = $width / ($height / $H);
}
}
if($type_img == 'image/gif')
{
$old = imagecreatefromgif($pic);
}
if($type_img == 'image/jpeg')
{
$old = imagecreatefromjpeg($pic);
}
if($type_img == 'image/png')
{
$old = imagecreatefrompng($pic);
}
$new = imagecreatetruecolor($W, $H);
$res = imagecopyresampled($new, $old, 0, 0, 0, 0, $W, $H, $width, $height);
header('Content-type: image/jpeg');
imagejpeg($new, null, $qual);
imagedestroy($new);
imagedestroy($old);
?>