View file foto/func/photo.edit.php

File size: 5.73Kb
<?php

only_reg();
$action = (isset($photo_id) ? 'edit' : 'create');

if ($action == 'create') {
    $photo = array('name' => '', 'opis' => '', 'metka' => 0);

    if (!$ank || !$gallery) {
        header('Location: ?');
        exit;
    }
}

if ($action == 'edit' && (!user_access('foto_foto_edit') && $ank['id'] != $user['id']) && $gallery) {
    header('Location: ?');
    exit;
}

if (isset($_POST['ok'])) {

    if ($action == 'create') {
        $image = new upload($_FILES['file']);
        $image->file_new_name_body = $tmp = md5($_FILES['file']['name']);
        $image->file_new_name_ext = 'jpg';
        $image->image_convert = 'jpg';
        $image->image_background_color = '#ffffff';
        $image->allowed = array('image/*');

        if (!$image->file_is_image) {
            $err[] = 'Файл не является изображением';
        }

        if ($image->image_src_x > $set['max_upload_foto_x'] || $image->image_src_y > $set['max_upload_foto_y']) {
            if ($image->image_src_x > $set['max_upload_foto_x']) {
                $image->image_x = $set['max_upload_foto_x'];
            } else {
                $image->image_y = $set['max_upload_foto_y'];
            }

            $image->image_resize = true;
            $image->image_ratio = true;
        }

        if (!$image->uploaded) {
            $err[] = 'Файл не был загружен на сервер';
        }

        if (!isset($err)) {
            $image->Process(H . 'sys/tmp/');
        }

        if ($image->processed) {
            $file_path = $image->file_dst_pathname;
        } else {
            $err[] = 'Не удалось загрузить фотографию';
        }

        $photo['name'] = preg_replace('#\.[^\.]*$#i', '', $image->file_src_name);
    }

    if ($_POST['name']) {
        $photo['name'] = $_POST['name'];
    }

    $photo['opis'] = $_POST['msg'];
    $photo['metka'] = (isset($_POST['metka']) ? 1 : 0);

    if (strlen2($photo['name']) > 64) {
        $err[] = 'Название слишком длинное';
    } elseif (strlen2($photo['name']) < 1) {
        $err[] = 'Название слишком короткое';
    }

    if (strlen2($photo['opis']) > 512) {
        $err[] = 'Описание слишком длинное';
    }

    if (!isset($err)) {
        if ($action == 'edit') {
            db::query("UPDATE `gallery_foto` SET name = '" . my_esc($photo['name']) . "', opis = '" . my_esc($photo['opis']) . "', metka = '$photo[metka]' WHERE id = '$photo_id'");

            if ($user['id'] != $ank['id'])
                admin_log('Фотогалерея', 'Фотографии', 'Параметры фотографии пользователя [url=/id' . $ank['id'] . ']' . $ank['nick'] . '[/url]');
        } else {
            db::query("INSERT INTO `gallery_foto` (`id_gallery`, `name`, `ras`, `type`, `opis`, `id_user`, `metka`, `time`) 
                          VALUES ('$gallery_id', '" . my_esc($photo['name']) . "', 'jpg', 'image/jpeg', '" . my_esc($photo['opis']) . "', '$user[id]', '" . $photo['metka'] . "', '$time')");

            $photo_id = db::insert_id();
            rename($file_path, PATH_UPLOADS . '/gallery/foto/' . $photo_id . '.jpg');
            @chmod(PATH_UPLOADS . '/gallery/foto/' . $photo_id . '.jpg', 0666);
            $ph->get_tape($user_id, $gallery_id, 'album');
        }

        $_SESSION['message'] = ($action == 'edit' ? 'Изменения успешно приняты' : 'Фотография успешно загружена');
        header('Location: ?');
        exit;
    }
}

$set['title'] = $ank['nick'] . ' - ' . ($action == 'edit' ? 'Параметры фотографии' : 'Загрузка фотографии');
include_once H . 'sys/inc/thead.php';
title();
aut();
err();
?>
<div class="foot">
    <img src="/style/icons/str2.gif">
    <a href="/info.php?id=<?php echo $ank['id']; ?>"><?php echo $ank['nick']; ?></a> |
    <a href="/foto/<?php echo $ank['id']; ?>/">Фотоальбомы</a> |
    <a href="/foto/<?php echo $ank['id']; ?>/<?php echo $gallery_id; ?>/"><?php echo text($gallery['name']); ?></a> |
    <?php if ($action == 'edit') { ?>
        <a href="/foto/<?php echo $ank['id']; ?>/<?php echo $gallery_id; ?>/<?php echo $photo_id; ?>/"><?php echo text($photo['name']); ?></a> |
    <?php } ?>
    <b><?php echo($action == 'edit' ? 'Редактирование' : 'Загрузка фотографии'); ?></b>
</div>

<form action="?func=photo.edit" method="post" class="mess albums_edit" enctype="multipart/form-data">
    <div>
        Название:<br/>
        <input type="text" name="name" value="<?php echo text($photo['name']); ?>"/><br/>
    </div>

    <?php if ($action == 'create') { ?>
        <div>
            Файл:<br/>
            <input type="file" name="file" accept="image/*"/><br/>
        </div>
    <?php } ?>

    <div>
        <?php
        $insert = text($photo['opis']);

        if (is_file(H . 'style/themes/' . $set['set_them'] . '/altername_post_form.php')) {
            include_once H . 'style/themes/' . $set['set_them'] . '/altername_post_form.php';
        } else {
            echo $tPanel . '<textarea name="msg">' . $insert . '</textarea><br />';
        }
        ?>
    </div>

    <div class="off">
        <label><input type="checkbox" name="metka" value="1" <?php echo($photo['metka'] == 1 ? 'checked' : ''); ?> />
            Метка (18+)</label>
    </div>

    <div>
        <input class="submit" type="submit" value="<?php echo($action == 'edit' ? 'Сохранить' : 'Загрузить'); ?>"
               name="ok"/>
        <a href="?">Отмена</a>
    </div>
</form>