Вход Регистрация
Файл: pages/load/screen.php
Строк: 82
<?php
include "../../system/mysql.php";
include 
"../../system/sys_func.php";

if (!isset(
$_GET['id']) || isset($_GET['id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM load_file WHERE id = '"intval($_GET['id']) ."'"), 0) == 0) {
    
header("location: /pages/load/");
    exit;
}

$file mysql_fetch_assoc(mysql_query("SELECT * FROM load_file WHERE id = '"intval($_GET['id']) ."' LIMIT 1"));

if(!isset(
$user) || isset($user) && $user['position'] != "admin" && $file['id_user'] != $user['id']) {
    
header("location: file.php?id="$file['id'] ."");
    exit;
}

switch(
$_GET['act']) {
    case 
del:
        if(!isset(
$_GET['screen']) || mysql_result(mysql_query("SELECT COUNT(*) FROM load_screen WHERE id = '".intval($_GET['screen'])."' AND id_file = '"$file['id'] ."'"), 0) == 0) {
            
header("location: ?id="$file['id'] ."");
            exit;
        }

        if (isset(
$_POST['submit'])) {
            
$id intval($_GET['screen']);
            
unlink("screen/"$id .".gif");
            
unlink("screen/mini/"$id .".gif");
            
mysql_query("DELETE FROM load_screen WHERE id = '"$id ."' LIMIT 1");
            
header("location: ?id="$file['id'] ."");
            exit;
        }

        
$title "Загрузки / Удаление скриншота";
        include 
"../../system/head.php";
        echo 
"<div class='title'><a href='/pages/load/'>Загрузки</a> / Удаление скриншота</div>";
        echo 
"<form method='post'>";
        echo 
"Удалить скриншот?<br/>";
        echo 
"<input type='submit' name='submit' value='Да'/> <a href='?id="$file['id'] ."'>Нет</a><br/>";
        echo 
"</form>";
        
foot();
        exit;
    break;

    case 
add:
        
$error false;
        
$errort '';
        if (isset(
$_POST['submit'])) {
        
$name $_FILES['img']['name'];
        
$ext strtolower(strrchr($name"."));
        
$size $_FILES['img']['size'];
        
$list = array(".gif"".png"".jpg");

        if (!isset(
$_FILES['img'])) {
            
$error true;
            
$errort .= '<div class="err">Выберите изображение</div>';
        } elseif(
preg_match('/.php/i'$name) || preg_match('/.pl/i'$name) || $name == '.htaccess' || !in_array($ext$list)) {
            
$error true;
            
$errort .= '<div class="err">Можно загружать только изображения</div>';
        } elseif(
$size 1048576) {
            
$error true;
            
$errort .= '<div class="err">Большой размер изображения</div>';
        } else {
            
mysql_query("INSERT INTO load_screen SET id_file = '".$file['id']."', ext = '".$ext."'");
            
$id mysql_insert_id();
            
copy($_FILES['img']['tmp_name'], "screen/".$id.".gif");
            
$source "screen/".$id.".gif"//наш исходник
            
$height "50"//параметр высоты превью
            
$width  "50"//параметр ширины превью
            
$rgb    "0xffffff"//цвет заливки несоответствия
            
$size   getimagesize($source);//узнаем размеры картинки (дает нам масив size)
            
$format strtolower(substr($size['mime'], strpos($size['mime'], '/')+1)); //определяем тип файла
            
$icfunc "imagecreatefrom" $format;   //определение функции соответственно типу файла
            
if (!function_exists($icfunc)) return false;  //если нет такой функции прекращаем работу скрипта
            
$x_ratio     $width $size[0]; //пропорция ширины будущего превью
            
$y_ratio     $height $size[1]; //пропорция высоты будущего превью
            
$ratio       min($x_ratio$y_ratio);
            
$use_x_ratio = ($x_ratio == $ratio); //соотношения ширины к высоте
            
$new_width   $use_x_ratio  $width  floor($size[0] * $ratio); //ширина превью 
            
$new_height  = !$use_x_ratio $height floor($size[1] * $ratio); //высота превью
            
$new_left    $use_x_ratio  floor(($width $new_width) / 2); //расхождение с заданными параметрами по ширине
            
$new_top     = !$use_x_ratio floor(($height $new_height) / 2); //расхождение с заданными параметрами по высоте
            
$img imagecreatetruecolor($width,$height); //создаем вспомогательное изображение пропорциональное превью
            
imagefill($img00$rgb); //заливаем его…
            
$photo $icfunc($source); //достаем наш исходник
            
imagecopyresampled($img$photo$new_left$new_top00$new_width$new_height$size[0], $size[1]); //копируем на него нашу превью с учетом расхождений
            
imagejpeg($img"screen/mini/".$id.".gif"); //выводим результат (превью картинки)
            // Очищаем память после выполнения скрипта
            
imagedestroy($img);
            
imagedestroy($photo);
            
header("location: ?id=".$file['id']."");
            exit;
        }
    }

    
$title "Загрузки / Добавление скриншота";
    include 
"../../system/head.php";
    echo 
"<div class='title'><a href='/pages/load/'>Загрузки</a> / Добавление скриншота </div>";
    echo 
$errort;
    echo 
"<form method='post' enctype='multipart/form-data'>";
    echo 
"Выберите изображение:<br/><input type='file' name='img'/><br/>";
    echo 
"<input type='submit' name='submit' value='Добавить'/><br/>";
    echo 
"</form>";
    echo 
"<a class='link' href='?id="$file['id'] ."'>← Назад</a>";
    
foot();
    exit;
    break;
}

$title "Загрузки / Управление скринами";
include 
"../../system/head.php";
echo 
"<div class='title'><a href='/pages/load/'>Загрузки</a> / Управление скриншотами</div>";

$query mysql_query("SELECT * FROM load_screen WHERE id_file = '"$file['id'] ."' ORDER BY id ASC");

if (
mysql_num_rows($query) == 0) {
    echo 
"<div class='post'>Нет скриншотов</div>";
} else {
    echo 
"<div class='post'>";
    while (
$screen mysql_fetch_assoc($query)) {
        echo 
"<a href='?id="$file['id'] ."&act=del&screen="$screen['id'] ."'><img src='screen/mini/"$screen['id'] .".gif' alt=''/></a> ";
    }
    echo 
"</div>";
}

echo 
"<a class='link' href='?id="$file['id'] ."&act=add'><img src='/design/imgs/add.png' alt=''/> Добавить скриншот</a>";
echo 
"<a class='link' href='file.php?id="$file['id'] ."'>← Назад</a>";
foot();
?>
Онлайн: 0
Реклама