View file modules/kabinet/img.php

File size: 3.82Kb
<?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('../../photo/'.$login.'.jpg'))
 {
  exit;
 }
if(!empty($_GET['file']) && (!preg_match("#^[^><|?*/\:\"]+$#", $file_get) || preg_match("#(\.\.)+#", $file_get) || empty($_GET['kat'])))
 {
  exit;
 }
if(!empty($_GET['file']) && !file_exists('../../photo/'.$login.'.jpg'))
 {
  exit;
 }
if(!empty($_GET['img']) && (!preg_match("#^[^><|?*\:\"]+$#", $img_f) || preg_match("#(\.\.)+|^(\/)+|^(\.)+$|^(\.\/)+$|^(\.\/\.)+$|(\/\/)+#", $img_f)))
 {
  exit;
 }
if(!empty($_GET['img']) && !file_exists('../../modules/kabinet/'.$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 = 40;
 }
else
 {
  $qual = 105;
 }

if(empty($_GET['wid']) && empty($_GET['hei']))
 {
  $W = 90;
  $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);
?>