Вход Регистрация
Файл: foto/inc/gallery_show_act.php
Строк: 98
<?php

//загружаем класс для работы с изображениями 
require_once H . "sys/classes/ImgType.class.php";

if ((
user_access('foto_alb_del') || isset($user) && $user['id'] == $ank['id']) && isset($_GET['act']) && $_GET['act'] == 'edit' && isset($_GET['ok'])) {
    
$name = esc(stripcslashes(htmlspecialchars($_POST['name'])), 1);

    if (
strlen2($name) < 3) {
        
$err[] = 'Короткое название';
    }
    if (
strlen2($name) > 32) {
        
$err[] = 'Название не должно быть длиннее 32-х символов';
    }
    
$name = my_esc($name);
    
$msg = $_POST['opis'];

//if (strlen2($msg)<10)$err='Короткое описание';
    
if (strlen2($msg) > 256) {
        
$err[] = 'Длина описания превышает предел в 256 символов';
    }
    
$msg = my_esc($msg);

    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery` WHERE `id_user` = '$ank[id]' AND `name` = '$name' AND `id` != '$gallery[id]'"), 0) != 0) {
        
$err[] = 'Альбом с таким названием уже существует';
    }

    if (!isset(
$err)) {
        if (
$user['id'] != $ank['id']) {
            
admin_log('Фотогалерея', 'Фотоальбомы', "Редактирование фотоальбома $gallery[name]");
        }
        
mysql_query("UPDATE `gallery` SET `opis` = '$msg', `name` = '$name' WHERE `id` = '$gallery[id]'");
        
msg(lang('Фотоальбом успешно изменен'));

        echo 
"<div class="list-group-item">n";
        echo 
"<a href='/foto/$ank[id]/'><span class='fa fa-arrow-left fa-fw'></span> " . lang('К фотоальбомам') . "</a><br />n";
        echo 
"</div>n";

        include_once 
'../sys/inc/tfoot.php';
        exit;
    }
}

if ((
user_access('foto_alb_del') || isset($user) && $user['id'] == $ank['id']) && isset($_GET['act']) && $_GET['act'] == 'delete' && isset($_GET['ok'])) {
    
$q = mysql_query("SELECT * FROM `gallery_foto` WHERE `id_gallery` = '$gallery[id]'");
    while (
$post = mysql_fetch_assoc($q)) {
        @
unlink(H . "files/foto/$post[id].png");

        
mysql_query("DELETE FROM `gallery_foto` WHERE `id` = '$post[id]' LIMIT 1");
    }
    if (
$user['id'] != $ank['id']) {
        
admin_log('Фотогалерея', 'Фотоальбомы', "Удаление альбома $gallery[name] (фотографий: " . mysql_num_rows($q) . ")");
    }
    
mysql_query("DELETE FROM `gallery` WHERE `id` = '$gallery[id]' LIMIT 1");
    
msg(lang('Фотоальбом успешно удален'));
    
aut();

    echo 
"<div class="list-group-item">n";
    echo 
"<a href='/foto/$ank[id]/'><span class='fa fa-arrow-left fa-fw'></span> " . lang('К фотоальбомам') . "</a><br />n";
    echo 
"</div>n";

    include_once 
'../sys/inc/tfoot.php';
    exit;
}

if (isset(
$user) && $user['id'] == $ank['id'] && isset($_FILES['file'])) {
    if (
$imgc = @imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']))) {
        
$name = esc(stripcslashes(htmlspecialchars($_POST['name'])), 1);
        if (isset(
$_POST['translit1']) && $_POST['translit1'] == 1) {
            
$name = translit($name);
        }
        if (
$name == null) {
            
$name = esc(stripcslashes(htmlspecialchars(preg_replace('#.[^.]*$#i', NULL, $_FILES['file']['name']))));
        }

        if (!
preg_match("#^([A-zА-я0-9-_ ])+$#ui", $name)) {
            
$err = 'В названии фото присутствуют запрещенные символы';
        }
        if (
strlen2($name) < 3) {
            
$name = $name . '_' . mt_rand(1, 99);
        }

        if (
strlen2($name) > 32) {
            
$err = 'Название не должно быть длиннее 32-х символов';
        }
        
$name = my_esc($name);
        
$msg = $_POST['opis'];

        if (isset(
$_POST['translit2']) && $_POST['translit2'] == 1) {
            
$msg = translit($msg);
        }
        if (
strlen2($msg) > 1024) {
            
$err = 'Длина описания превышает предел в 1024 символов';
        }
        
$msg = my_esc($msg);
        
$img_x = imagesx($imgc);
        
$img_y = imagesy($imgc);

        
/*
          if ($img_x > $set['max_upload_foto_x'] or $img_y > $set['max_upload_foto_y']) {
          $err = 'Размер изображения превышает ограничения в ' . $set['max_upload_foto_x'] . '*' . $set['max_upload_foto_y'];
          }
         * 
         */

        
if (!isset($err)) {
            
mysql_query("INSERT INTO `gallery_foto` (`id_gallery`, `name`, `ras`, `type`, `opis` ,`id_user`,`time`,`act`) values ('$gallery[id]', '$name', 'png', 'image/png', '$msg','$user[id]','" . time() . "','1')");
            
$id_foto = mysql_insert_id();
            
mysql_query("UPDATE `gallery` SET `time` = '$time' WHERE `id` = '$gallery[id]' LIMIT 1");

            
//класс для работы с файлом изображения 
            
$image = new ImgType();

            
//сам файл
            
$image->load($_FILES['file']['tmp_name']);
            
//размеры
            
$image->resizeToWidth($set['max_upload_foto_x']);
            
//сохраняем под ...
            
$image->save(H . 'files/foto/' . $id_foto . '.png');


            if (
$set['img_copyright'] == 1) {

                if (
$img_x == $img_y) {
                    
$dstW = $set['max_upload_foto_x']; // ширина
                    
$dstH = $set['max_upload_foto_y']; // высота 
                
} elseif ($img_x > $img_y) {
                    
$prop = $img_x / $img_y;
                    
$dstW = $set['max_upload_foto_x'];
                    
$dstH = ceil($dstW / $prop);
                } else {
                    
$prop = $img_y / $img_x;
                    
$dstH = $set['max_upload_foto_y'];
                    
$dstW = ceil($dstH / $prop);
                }

                
$screen = imagecreatetruecolor($dstW, $dstH);
                
$y = imagesy($screen);
                
imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
// наложение копирайта
                
$screen = img_copyright($screen);
//Куда накладываем
                
imagejpeg($screen, H . 'files/foto/' . $id_foto . '.png', 90);
// Освобождаем память
                
imagedestroy($screen);
            }

            
$_SESSION['message'] = 'Фотография успешно добавлена';

            exit(
header("Location: ?"));
        }
    } else {
        
$err = 'Выбранный Вами формат изображения не поддерживается';
    }
}
Онлайн: 2
Реклама