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

/* DCMS Special
 * Дата последнего редактирования 11.12.2015
 * Модифицировал densnet
 */

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

        if (
utf8_strlen($name) < 3) {
            
$err[] = 'Короткое название';
        }

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

        
$name = mysql_real_escape_string($name);
        
$msg = $_POST['opis'];

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

        
$msg = mysql_real_escape_string($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 (
in_array($_POST['access'], array('all', 'only_me', 'friends', 'pass', 'auth'))) {
            
$access = $_POST['access'];
        } else {
            
$access = 'all';
        }

        if (
$access == 'pass') {
            if (
utf8_strlen($_POST['passwd']) < 1) {
                
$err[] = 'Введите пароль!';
            }
            if (
utf8_strlen($_POST['passwd']) > 16) {
                
$err[] = 'Пароль слишком длинный!';
            }
            
$password = $_POST['passwd'];
        } else {
            
$password = NULL;
        }

        if (!isset(
$err)) {
            if (
$user['id'] != $ank['id']) {
                
admin_log('Фотогалерея', 'Фотоальбомы', "Редактирование фотоальбома пользователя '[url=/info.php?id=$ank[id]]$ank[nick][/url]'");
            }
            
mysql_query("UPDATE `gallery` SET `opis` = '$msg', `name` = '$name', `access` = '$access', `password` = '$password' WHERE `id` = '$gallery[id]'");
            
header("Location: " . DIR_FOTO . "$ank[id]/$gallery[id]/");
            exit();
        }
    }

    
$new_gallery_access = $gallery['access'];

    
err();

    
#Навигация
    
echo "<ol class='breadcrumb'>";
    echo 
"<li><a href='/'><span class='fa fa-home fa-fw'></span></a></li>";
    echo 
"<li><a href='" . DIR_FOTO . "'>Фотоальбомы</a></li>";
    echo 
"<li><a href='" . DIR_FOTO . "$ank[id]/'>Альбомы $ank[nick]</a></li>";
    echo 
"<li><a href='" . DIR_FOTO . "$ank[id]/$gallery[id]/'>$gallery[name]</a></li>";
    echo 
"<li class='active'>Редактирование</li>";
    echo 
"</ol>";

    echo 
"<form action='?act=edit&amp;ok' class='list-group-item' method="post">";

    echo 
"Название альбома<br />";
    echo 
"<input class='form-control' type='text' name='name' value='$gallery[name]' />";

    echo 
"Описание<br />";
    echo 
"<textarea class='form-control' rows='3' name='opis'>$gallery[opis]</textarea>n";

    echo 
"Давать доступ<br />n";
    echo 
"<label class='c-input c-radio'><input type='radio' name='access' value='all'" . ($new_gallery_access == 'all' ? " checked='checked'" : null) . "/><span class='c-indicator'></span> <span class='fa fa-globe fa-fw'></span> Всем</label><br />";
    echo 
"<label class='c-input c-radio'><input type='radio' name='access' value='only_me'" . ($new_gallery_access == 'only_me' ? " checked='checked'" : null) . "/><span class='c-indicator'></span> <span class='fa fa-lock fa-fw'></span> Только мне</label><br />";
    echo 
"<label class='c-input c-radio'><input type='radio' name='access' value='auth'" . ($new_gallery_access == 'auth' ? " checked='checked'" : null) . "/><span class='c-indicator'></span> <span class='fa fa-user fa-fw'></span> Только авторизованным</label><br />";
    echo 
"<label class='c-input c-radio'><input type='radio' name='access' value='friends'" . ($new_gallery_access == 'friends' ? " checked='checked'" : null) . "/><span class='c-indicator'></span> <span class='fa fa-users fa-fw'></span> Только друзьям</label><br />";
    echo 
"<label class='c-input c-radio'><input type='radio' name='access' value='pass'" . ($new_gallery_access == 'pass' ? " checked='checked'" : null) . "/><span class='c-indicator'></span> <span class='fa fa-key fa-fw'></span> Только по паролю</label><br />";

    echo 
"<input class='form-control' name='passwd' style='width: 50%;' maxlength='16' type='text' value='$gallery[password]' /><br />";

    echo 
"<button class='btn btn-success'><span class='fa fa-save fa-fw'></span> Сохранить</button> ";
    echo 
"<a class='btn btn-secondary' href='?'>Отмена</a>";
    echo 
"</form>";

    require_once 
H . 'sys/inc/tfoot.php';
    exit;
}
if ((
access('foto_alb_del') || isset($user) && $user['id'] == $ank['id']) && isset($_GET['act']) && $_GET['act'] == 'delete') {
    if (isset(
$_GET['ok'])) {
        
$q = mysql_query("SELECT * FROM `gallery_foto` WHERE `id_gallery` = '$gallery[id]'");
        while (
$post = mysql_fetch_assoc($q)) {
            @
unlink(H . "sys/gallery/48/$post[id].jpg");
            @
unlink(H . "sys/gallery/128/$post[id].jpg");
            @
unlink(H . "sys/gallery/640/$post[id].jpg");
            @
unlink(H . "sys/gallery/foto/$post[id].jpg");

            
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");
        
header("Location: " . DIR_FOTO . "$ank[id]/");
        exit;
    }
    
err();

    
#Навигация
    
echo "<ol class='breadcrumb'>";
    echo 
"<li><a href='/'><span class='fa fa-home fa-fw'></span></a></li>";
    echo 
"<li><a href='" . DIR_FOTO . "'>Фотоальбомы</a></li>";
    echo 
"<li><a href='" . DIR_FOTO . "$ank[id]/'>Альбомы $ank[nick]</a></li>";
    echo 
"<li><a href='" . DIR_FOTO . "$ank[id]/$gallery[id]/'>$gallery[name]</a></li>";
    echo 
"<li class='active'>Удаление</li>";
    echo 
"</ol>";

    echo 
"<form action='?act=delete&amp;ok' class='list-group-item' method="post">";

    echo 
"Подтвердите удаление фотоальбома<br />n";
    echo 
"<button class='btn btn-success'><i class='fa fa-trash-o fa-fw'></i> Удалить</button> ";
    echo 
"<a class='btn btn-secondary' href='?'>Отмена</a>";
    echo 
"</form>";

    require_once 
H . 'sys/inc/tfoot.php';
    exit;
}

if (isset(
$user) && $user['id'] == $ank['id'] && isset($_GET['act']) && $_GET['act'] == 'upload') {
    if (isset(
$_FILES['file'])) {

        if (
$imgc = @imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']))) {
            
$name = esc(stripcslashes(htmlspecialchars($_POST['name'])), 1);

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

            
#if (utf8_strlen($msg)<10)$err='Короткое описание';
            
if (utf8_strlen($msg) > 10024) {
                
$err = 'Длина описания превышает предел в 10024 символов';
            }
            
$msg = mysql_real_escape_string($msg);
            
$img_x = imagesx($imgc);
            
$img_y = imagesy($imgc);

            if (
$img_x > $set['max_upload_foto_x'] || $img_y > $set['max_upload_foto_y']) {
                
$err = 'Размер изображения превышает ограничения в ' . $set['max_upload_foto_x'] . '*' . $set['max_upload_foto_y'];
            }
            if (isset(
$_POST['adult']) && $_POST['adult'] == 1) {
                
$adult = 1;
            } else {
                
$adult = 0;
            }

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

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

                
$screen = imagecreatetruecolor($dstW, $dstH);
                
imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
                
#imagedestroy($imgc);
                
imagejpeg($screen, H . "sys/gallery/48/$id_foto.jpg", 90);
                @
chmod(H . "sys/gallery/48/$id_foto.jpg", 0777);
                
imagedestroy($screen);

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

                
$screen = imagecreatetruecolor($dstW, $dstH);
                
imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
                
#imagedestroy($imgc);
                
$screen = img_copyright($screen); // наложение копирайта
                
imagejpeg($screen, H . "sys/gallery/128/$id_foto.jpg", 90);
                @
chmod(H . "sys/gallery/128/$id_foto.jpg", 0777);
                
imagedestroy($screen);

                if (
$img_x > 640 || $img_y > 640) {
                    if (
$img_x == $img_y) {
                        
$dstW = 640; // ширина
                        
$dstH = 640; // высота 
                    
} elseif ($img_x > $img_y) {
                        
$prop = $img_x / $img_y;
                        
$dstW = 640;
                        
$dstH = ceil($dstW / $prop);
                    } else {
                        
$prop = $img_y / $img_x;
                        
$dstH = 640;
                        
$dstW = ceil($dstH / $prop);
                    }

                    
$screen = imagecreatetruecolor($dstW, $dstH);
                    
imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
                    
#imagedestroy($imgc);
                    
$screen = img_copyright($screen); // наложение копирайта
                    
imagejpeg($screen, H . "sys/gallery/640/$id_foto.jpg", 90);
                    
imagedestroy($screen);
                    
$imgc = img_copyright($imgc); // наложение копирайта
                    
imagejpeg($imgc, H . "sys/gallery/foto/$id_foto.jpg", 90);
                    @
chmod(H . "sys/gallery/foto/$id_foto.jpg", 0777);
                } else {
                    
$imgc = img_copyright($imgc); // наложение копирайта

                    
imagejpeg($imgc, H . "sys/gallery/640/$id_foto.jpg", 90);
                    
imagejpeg($imgc, H . "sys/gallery/foto/$id_foto.jpg", 90);
                    @
chmod(H . "sys/gallery/foto/$id_foto.jpg", 0777);
                }

                @
chmod(H . "sys/gallery/640/$id_foto.jpg", 0777);

                
imagedestroy($imgc);
                
header("Location: " . DIR_FOTO . "$ank[id]/$gallery[id]/$id_foto");
                exit();
            }
        } else {
            
$err = 'Выбранный Вами формат изображения не поддерживается';
        }
    }

    
err();

    
#Навигация
    
echo "<ol class='breadcrumb'>";
    echo 
"<li><a href='/'><span class='fa fa-home fa-fw'></span></a></li>";
    echo 
"<li><a href='" . DIR_FOTO . "'>Фотоальбомы</a></li>";
    echo 
"<li><a href='" . DIR_FOTO . "$ank[id]/'>Альбомы $ank[nick]</a></li>";
    echo 
"<li><a href='" . DIR_FOTO . "$ank[id]/$gallery[id]/'>$gallery[name]</a></li>";
    echo 
"<li class='active'>Новое фото</li>";
    echo 
"</ol>";

    echo 
"<form name='add' enctype='multipart/form-data' class='list-group-item' action='?act=upload&amp;ok' method='post'>";
    echo 
'Название <font color="red">*</font><br />';
    echo 
"<input class='form-control' name='name' type='text' />";
    echo 
"<label class='c-input c-checkbox'><input class='form-control' type='checkbox' name='adult' value='1' /><span class='c-indicator'></span> Фото для взрослых <font color='red'><small>(+18)</small></font></label><br />n";
    echo 
'Файл <font color="red">*</font><br />';
    echo 
"<label class='file'><input type='file' name='file' id='file' accept='image/*,image/jpeg'><span class='file-custom'></span></label>";
    echo 
"<br />";
    echo 
'Описание <br />';

    echo 
"<textarea class='form-control' name='opis' rows='3'></textarea><br />";

    echo 
'<b>Размещаемые на Сайте Фото не должны:</b><br />';
    echo 
'* нарушать действующее законодательство, честь и достоинство, права и охраняемые законом интересы третьих лиц, способствовать разжиганию религиозной, расовой или межнациональной розни, содержать сцены насилия, либо бесчеловечного обращения с животными, и т.д.;<br />';
    echo 
'* носить непристойный или оскорбительный характер;<br />';
    echo 
'* содержать рекламу наркотических средств;<br />';
    echo 
'* нарушать права несовершеннолетних лиц;<br />';
    echo 
'* нарушать авторские и смежные права третьих лиц;<br />';
    echo 
'* носить порнографический характер;<br />';
    echo 
'* содержать коммерческую рекламу в любом виде.<br />';
    echo 
"<button class='btn btn-success'><i class='fa fa-upload fa-fw'></i> Выгрузить</button> ";
    echo 
"<a class='btn btn-secondary' href='?'>Отмена</a>";
    echo 
"</form>";

    require_once 
H . 'sys/inc/tfoot.php';
    exit;
}
Онлайн: 2
Реклама