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

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

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/50/$post[id].jpg");
            @
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");
            
mysql_query("DELETE FROM `gallery_frend` WHERE `id_foto` = '$post[id]'");
        }
        if (
$user['id'] != $ank['id']) {
            
admin_log(lang('Фотогалерея'), lang('Фотоальбомы'), lang('Удаление альбома') . " $gallery[name] (" . lang('фотографий') . ": " . mysql_num_rows($q) . ")");
        }
        
mysql_query("DELETE FROM `gallery` WHERE `id` = '$gallery[id]' LIMIT 1");
        
header("Location: " . DIR_FOTO . "$ank[id]/");
        exit;
    }
    
err();

    
#Навигация
    
echo "<div class='card-header'>";
    echo 
"<a href='/' class='hint--right' data-hint='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
"<a href='" . DIR_FOTO . "'>" . lang('Фотоальбомы') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
"<a href='" . DIR_FOTO . "$ank[id]/'>" . lang('Альбомы') . " $ank[nick]</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
"<a href='" . DIR_FOTO . "$ank[id]/$gallery[id]/'>" . cutStr($gallery['name'], 30) . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
lang('Удаление');
    echo 
"</div>";

    echo 
"<form action='?act=delete&amp;ok' class='list-group-item' style='margin-top: -1px;' method="post">";

    echo 
lang('Подтвердите удаление фотоальбома') . "<br />n";

    
$doc->Button('btn btn-success btn-sm', null, 'trash-o', 'Удалить');
    
$doc->Link('btn btn-secondary btn-sm', '?', null, 'Отмена');

    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'] == 'edit') {
    if (isset(
$_GET['ok']) && isset($_POST['name']) && isset($_POST['opis'])) {
        
$name = esc(stripcslashes(htmlspecialchars($_POST['name'])), 1);

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

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

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

//if (utf8_strlen($msg)<10)$err='Короткое описание';
        
if (utf8_strlen($msg) > 256) {
            
$err[] = lang('Длина описания превышает предел в 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[] = lang('Альбом с таким названием уже существует');
        }

        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['password']) < 1) {
                
$err[] = lang('Введите пароль');
            }
            if (
utf8_strlen($_POST['password']) > 16) {
                
$err[] = lang('Пароль слишком длинный');
            }
            
$password = $_POST['password'];
        } else {
            
$password = NULL;
        }

        if (!isset(
$err)) {
            if (
$user['id'] != $ank['id']) {
                
admin_log(lang('Фотогалерея'), lang('Фотоальбомы'), "" . lang('Редактирование фотоальбома пользователя') . " '[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]'");
            
$_SESSION['message'] = lang('Изменения сохранены');

            
header("Location: " . DIR_FOTO . "$ank[id]/$gallery[id]/");
            exit();
        }
    }

    
$new_gallery_access = $gallery['access'];

    
err();

    
#Навигация
    
echo "<div class='list-group-item-null list-group-item-grey'><small>";
    echo 
"<a href='/' class='hint--right' data-hint='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
"<a href='" . DIR_FOTO . "'>" . lang('Фотоальбомы') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
"<a href='" . DIR_FOTO . "$ank[id]/'>" . lang('Альбомы') . " $ank[nick]</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
"<a href='" . DIR_FOTO . "$ank[id]/$gallery[id]/'>" . cutStr($gallery['name'], 30) . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
lang('Редактирование');
    echo 
"</small></div><br />";

    echo 
"<form action='?act=edit&amp;ok' class='list-group-item' style='margin-top: -1px;' method="post">";

    
$doc->Input('name', 'Название альбома', 32, "$gallery[name]");
    
$doc->Textarea('opis', 'Описание альбома', 256, "$gallery[opis]");

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

    
$doc->Input('password', 'Пароль альбома', 16, "$gallery[password]");
    echo 
"<br />";
    
$doc->Button('btn btn-success-outline btn-sm', null, 'save', 'Сохранить');
    
$doc->Link('btn btn-secondary-outline btn-sm', '?', null, 'Отмена');

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

            
#if (utf8_strlen($msg)<10)$err='Короткое описание';
            
if (utf8_strlen($msg) > 10024) {
                
$err = lang('Длина описания превышает предел в 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 = lang('Размер изображения превышает ограничения в') . ' ' . $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");

                
$q = mysql_query("SELECT * FROM `friends` WHERE `user` = '$user[id]' AND `i` = '1'");
                
$fot_id = $id_foto;

                
$msg_lenta = "$SexDob новое [url=/modules/foto/$ank[id]/$gallery[id]/$fot_id/]фото[/url]";

                while (
$f = mysql_fetch_array($q)) {
                    
$a = mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id` = '$f[frend]' LIMIT 1"));

                    
mysql_query("INSERT INTO `notifications` (`id_user`, `id_kont`, `msg`, `time`) values('$user[id]', '$a[id]', '" . mysql_real_escape_string($msg_lenta) . "', '$time')");
                }

                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);
                
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);

                
$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);

                    
$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);

                
crop(H . "sys/gallery/640/$id_foto.jpg", H . "sys/gallery/avatar/$id_foto.tmp.jpg");
                
resize(H . "sys/gallery/avatar/$id_foto.tmp.jpg", H . "sys/gallery/avatar/$id_foto.jpg", 150, 150);

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

                
resize(H . "sys/gallery/avatar/$id_foto.jpg", H . "sys/gallery/50/$id_foto.jpg", 50, 50);

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

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

    
err();

    
#Навигация
    
echo "<div class='list-group-item-null list-group-item-grey'><small>";
    echo 
"<a href='/' class='hint--right' data-hint='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
"<a href='" . DIR_FOTO . "'>" . lang('Фотоальбомы') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
"<a href='" . DIR_FOTO . "$ank[id]/'>" . lang('Альбомы') . " $ank[nick]</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
"<a href='" . DIR_FOTO . "$ank[id]/$gallery[id]/'>" . cutStr($gallery['name'], 30) . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo 
lang('Новое фото');
    echo 
"</small></div><br />";

    echo 
"<form name='add' enctype='multipart/form-data' style='margin-top: -1px;' class='list-group-item-null' action='?act=upload&amp;ok' method='post'>";

    
$doc->Input('name', 'Название', 100);
    
$doc->Checkbox('adult', 'Фото для взрослых', 1);
    
$doc->File('file', 'Изображение');
    
$doc->Textarea('opis', 'Описание альбома', 256);

    echo 
"<b>" . lang('Размещаемые на Сайте Фото не должны') . ":</b><br />";
    echo 
'* ' . lang('нарушать действующее законодательство, честь и достоинство, права и охраняемые законом интересы третьих лиц, способствовать разжиганию религиозной, расовой или межнациональной розни, содержать сцены насилия, либо бесчеловечного обращения с животными, и т.д.') . '<br />';
    echo 
'* ' . lang('носить непристойный или оскорбительный характер') . '<br />';
    echo 
'* ' . lang('содержать рекламу наркотических средств') . '<br />';
    echo 
'* ' . lang('нарушать права несовершеннолетних лиц') . '<br />';
    echo 
'* ' . lang('нарушать авторские и смежные права третьих лиц') . '<br />';
    echo 
'* ' . lang('носить порнографический характер') . '<br />';
    echo 
'* ' . lang('содержать коммерческую рекламу в любом виде') . '<br />';

    
$doc->Button('btn btn-primary-outline btn-sm', null, 'upload', 'Выгрузить');
    
$doc->Link('btn btn-secondary-outline btn-sm', '?', null, 'Отмена');

    echo 
"</form>";

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