<?php
if (!defined('entry')) {
    define('entry', true);
}

$img = @$_GET['img'];
$w = @$_GET['w'];
$h = @$_GET['h'];

$x = getimagesize($img);
$sw = $x[0];
$sh = $x[1];

if (isset($w) and !isset($h)) {
  $h = (100 / ($sw / $w)) * .01;
  $h = @round($sh * $h);
} elseif (isset($h) and !isset($w)) {
  $w = (100 / ($sh / $h)) * .01;
  $w = @round($sw * $w);
}

$imgext = pathinfo($img, PATHINFO_EXTENSION);

switch ($imgext) {
  case 'png':
    header("Content-type: image/png");
    $s_img = imagecreatefrompng($img);
    break;
  case 'jpg':
  case 'jpeg':
    header("Content-type: image/jpeg");
    $s_img = imagecreatefromjpeg($img);
    break;
  case 'gif':
    header("Content-type: image/gif");
    $s_img = imagecreatefromgif($img);
    break;
  default:
    readfile($img);
    exit();
    break;
}

$d_img = imagecreatetruecolor($w, $h);

$sw = imagesx($s_img);
$sh = imagesy($s_img);
$dw = imagesx($d_img);
$dh = imagesy($d_img);

imagecopyresampled($d_img, $s_img, 0, 0, 0, 0, $dw, $dh, $sw, $sh);

switch ($imgext) {
  case 'png':
    imagepng($d_img);
    break;
  case 'jpg':
  case 'jpeg':
    imagejpeg($d_img);
    break;
  case 'gif':
    imagegif($d_img);
    break;
  default:
    readfile($img);
    exit();
    break;
}
