Вход Регистрация
Файл: modules/diary/images.php
Строк: 105
<?php

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

foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
    require_once 
"../../sys/inc/$inc.php";
}

$limit = 6;
if (isset(
$_GET['id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `diary` WHERE `id`='" . intval($_GET['id']) . "' LIMIT 1"), 0) != 0) {
    
$diary = mysql_fetch_assoc(mysql_query("SELECT * FROM `diary` WHERE `id`='" . intval($_GET['id']) . "' LIMIT 1"));
    
$set['title'] = '' . $diary['name'] . ' - ' . lang('Изображения'); // заголовок страницы

    
require_once H . 'sys/inc/thead.php';

    
aut();

    
$us = get_user($diary['id_user']);
    if (isset(
$user) && ($user['id'] == $us['id'] || $user['level'] > 2 && $user['level'] > $us['level'])) {
        if (isset(
$_GET['img']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_images` WHERE `id`='" . intval($_GET['img']) . "' AND `id_diary`='$diary[id]' LIMIT 1"), 0) != 0) {
            
$img = intval($_GET['img']);
            if (isset(
$_GET['pos']) && ($_GET['pos'] == 'up' || $_GET['pos'] == 'down')) {
                
$pos = $_GET['pos'];
                
mysql_query("UPDATE `diary_images` SET `position`='$pos' WHERE `id`='$img' LIMIT 1");
                
$_SESSION['message'] = lang('Изменения сохранены');

                
header("Location: ?id=$diary[id]");
                exit();
            } elseif (isset(
$_GET['del'])) {
                
$ras = mysql_fetch_array(mysql_query("SELECT `ras` FROM `diary_images` WHERE `id`='$img' LIMIT 1"));
                @
unlink(H . "modules/diary/images/48/$img.$ras");
                @
unlink(H . "modules/diary/images/128/$img.$ras");
                @
unlink(H . "modules/diary/images/640/$img.$ras");
                @
unlink(H . "modules/diary/images/$img.$ras");
                
mysql_query("DELETE FROM `diary_images` WHERE `id`='" . intval($_GET['img']) . "' LIMIT 1");

                
$_SESSION['message'] = lang('Изображение успешно удалено');

                
header("Location: ?id=$diary[id]");
                exit();
            }
        }
        if (isset(
$_FILES['file']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_images` WHERE `id_diary`='$diary[id]' LIMIT 1"), 0) < $limit) {
            if (
$imgc = @imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']))) {
                
$file = esc(stripcslashes(htmlspecialchars($_FILES['file']['name'])));
                
$ras = strtolower(preg_replace('#^.*.#', NULL, $file));
                
$img_x = imagesx($imgc);
                
$img_y = imagesy($imgc);

                if (isset(
$_POST['position']) && ($_POST['position'] == 'up' || $_POST['position'] == 'down')) {
                    
$position = $_POST['position'];
                } else {
                    
$err[] = lang('Ошибка позиции');
                }
                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(
$err)) {
                    
mysql_query("INSERT INTO `diary_images` (`id_diary`, `position`, `ras`) values ('$diary[id]', '$position', '$ras')");
                    
$id_image = mysql_insert_id();

                    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 . "modules/diary/images/48/$id_image.$ras", 90);
                    @
chmod(H . "modules/diary/images/48/$id_image.$ras", 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 . "modules/diary/images/128/$id_image.$ras", 90);
                    @
chmod(H . "modules/diary/images/128/$id_image.$ras", 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 . "modules/diary/images/640/$id_image.$ras", 90);
                        
imagedestroy($screen);
                        
$imgc = img_copyright($imgc); // наложение копирайта
                        
imagejpeg($imgc, H . "modules/diary/images/$id_image.$ras", 90);
                        @
chmod(H . "modules/diary/images/$id_image.$ras", 0777);
                    } else {
                        
$imgc = img_copyright($imgc); // наложение копирайта

                        
imagejpeg($imgc, H . "modules/diary/images/640/$id_image.$ras", 90);
                        
imagejpeg($imgc, H . "modules/diary/images/$id_image.$ras", 90);
                        @
chmod(H . "modules/diary/images/$id_image.$ras", 0777);
                    }

                    @
chmod(H . "modules/diary/images/640/$id_image.$ras", 0777);



                    
imagedestroy($imgc);

                    
$_SESSION['message'] = lang('Изображение успешно добавлено');

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

        echo 
"<div class='list-group-item'>";
        echo 
lang('Лимит изображений') . ": $limit ";
        echo 
"</div>";

        
$q = mysql_query("SELECT * FROM `diary_images` WHERE `id_diary`='$diary[id]' ORDER BY `id` ASC");
        while (
$image = mysql_fetch_assoc($q)) {
            echo 
"<table class='list-group-item-komm'><tr><td class='icon14'>";
            echo
'<img src="/modules/diary/images/48/' . $image['id'] . '.' . $image['ras'] . '" alt=""/>';
            echo 
"</td><td class='null'>";
            echo 
"<a href='?id=$diary[id]&amp;img=$image[id]&amp;del' style='float: right;' data-toggle='tooltip' data-placement='left' title='" . lang('Удалить') . "'><i class='fa fa-trash-o fa-fw'></i></a>";

            echo 
'Позиция:<br/>';
            if (
$image['position'] == 'up') {
                echo 
"<b>" . lang('Вверху') . "</b>";
            } else {
                echo 
"<a href='?id=$diary[id]&amp;img=$image[id]&amp;pos=up'>" . lang('Вверху') . "</a>";
            }
            echo 
' | ';
            if (
$image['position'] == 'down') {
                echo 
"<b>" . lang('Внизу') . "</b>";
            } else {
                echo 
"<a href='?id=$diary[id]&amp;img=$image[id]&amp;pos=down'>" . lang('Внизу') . "</a>";
            }

            echo 
"</td></tr></table>";
        }

        if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_images` WHERE `id_diary`='$diary[id]' LIMIT 1"), 0) < $limit) {
            echo 
'<form class="list-group-item" enctype="multipart/form-data" action="?id=' . $diary['id'] . '" method="post">';
            
$doc->File('file', 'Изображение');
            echo 
lang('Позиция');
            echo 
'<select name="position" class="form-control" style="width: 50%;">';
            echo 
'<option value="up">Сверху</option>';
            echo 
'<option value="down">Снизу</option>';
            echo 
'</select><br/>';

            
$doc->Button('btn btn-primary btn-sm', null, 'upload', 'Выгрузить');
            echo 
'</form>';
        }
        
$doc->Link('list-group-item', "/modules/diary/$diary[name]/", 'arrow-left', 'Назад');
    } else {
        
header("Location:/diary/$diary[name]/");
    }
} else {
    
header("Location:index.php");
}
require_once 
H . 'sys/inc/tfoot.php';
Онлайн: 2
Реклама