Файл: modules/forum/action/edit_theme.php
Строк: 81
<?php
/* DCMS S (Special)
 * Версия файла 0.0.1
 * Дата последнего редактирования 23.11.2015
 * Модифицировал densnet
 * Автор yadalay
 */
if (!user::access('forum_them_edit') && $user['id'] != $theme->id_user) {
    header('Location: /modules/forum/' . $forum->id . '/' . $razdel->id . '/' . $theme->id . '.html');
    exit;
} else {
    if (isset($_POST['save'])) {
        $name = mysql_real_escape_string(trim($_POST['name']));
        $description = mysql_real_escape_string(trim($_POST['description']));
        $type = ($user['group_access'] > 7 && isset($_POST['type'])) ? 1 : 0;
        $razdel_id = intval($_POST['razdel']);
        $forum_id = mysql_fetch_object(mysql_query('SELECT `id_forum` FROM `forum_razdels` WHERE `id` = ' . $razdel_id))->id_forum;
        if (mb_strlen($name) < 3 || mb_strlen($name) > 40) {
            echo "<div class = 'alert alert-danger'>В поле 'Название темы' можно использовать от 3 до 40 символов.</div>";
        } elseif (mb_strlen($description) < 3) {
            echo "<div class = 'alert alert-danger'>Слишком короткое содержание темы.</div>";
        } else {
            msg('Тема успешно изменена');
            mysql_query('UPDATE `forum_themes` SET `id_forum` = ' . $forum_id . ', `id_razdel` = ' . $razdel_id . ', `id_admin` = ' . $user['id'] . ', `name` = "' . $name . '", `description` = "' . $description . '", `type` = ' . $type . ', `time_edit` = "' . $time . '" WHERE `id` = ' . $theme->id);
            header('Location: /modules/forum/' . $forum->id . '/' . $razdel->id . '/' . $theme->id . '.html');
            exit;
        }
    } elseif (isset($_POST['delete']) && (user::access('forum_them_del'))) {
        admin_log('Форум', 'Темы', 'Тема "' . $theme->name . '" была удалена из раздела "' . $razdel->name . '".');
        $files = mysql_query('SELECT `name` FROM `forum_post_files` WHERE `id_theme` = ' . $theme->id);
        while ($file = mysql_fetch_object($files)) {
            unlink('/modules/forum/files/' . $file->name);
        }
        $votes = mysql_query('SELECT `id` FROM `forum_votes` WHERE `id_theme` = ' . $theme->id);
        while ($vote = mysql_query($votes)) {
            mysql_query('DELETE FROM `forum_vote_voices` WHERE `id_vote` = ' . $vote->id);
        }
        mysql_query('DELETE FROM `forum_votes` WHERE `id_theme` = ' . $theme->id);
        mysql_query('DELETE FROM `forum_post_rating` WHERE `id_theme` = ' . $theme->id);
        mysql_query('DELETE FROM `forum_posts` WHERE `id_theme` = ' . $theme->id);
        mysql_query('DELETE FROM `forum_post_files` WHERE `id_theme` = ' . $theme->id);
        mysql_query('DELETE FROM `forum_votes_var` WHERE `id_theme` = ' . $theme->id);
        mysql_query('DELETE FROM `forum_themes` WHERE `id` = ' . $theme->id);
        msg('Тема успешно удалена');
        header('Location: /modules/forum/' . $forum->id . '/' . $razdel->id . '/');
        exit;
    }
    echo "<form action = '" . DIR_FORUM . "$forum->id/$razdel->id/$theme->id/edit_theme.html' class = 'card-block' method = 'post'>";
    echo "Название темы:<br />";
    echo "<input class='form-control' type='text' name='name' value='$theme->name' />";
    echo "Содержание темы:<br />";
    echo "<textarea class='form-control' name='description' rows='3'>$theme->description</textarea>";
    echo "Категория:<br />";
    echo "<select class='form-control' name='razdel'>";
    $forums = mysql_query('SELECT `id`, `name`, `access` FROM `forum`');
    while ($forum_s = mysql_fetch_object($forums)) {
        if ($forum_s->access == 0 || ($forum_s->access == 1 && $user['group_access'] > 7) || ($forum_s->access == 2 && $user['group_access'] > 2)) {
            echo "<option disabled = 'disabled'><b>$forum_s->name</b></option>";
            $razdels = mysql_query('SELECT `id`, `name` FROM `forum_razdels` WHERE `id_forum` = ' . $forum_s->id);
            while ($cat = mysql_fetch_object($razdels)) {
                echo "<option value = '$cat->id' " . (($cat->id == $theme->id_razdel) ? 'selected = "selected"' : NULL) . ">>> $cat->name</option>";
            }
        } else {
            continue;
        }
    }
    echo "</select>";
    if ($user['group_access'] > 7) {
        echo "Вывод темы в разделе:<br />";
        echo "<label class='c-input c-checkbox'><input type='checkbox' name='type' value='1' " . (($theme->type == 1) ? 'checked="checked"' : NULL) . " /><span class='c-indicator'></span> Тема всегда вверху</label><br />";
    }
    echo "<button name='save' class='btn btn-success'><span class='fa fa-save'></span> Сохранить</button> ";
    if (user::access('forum_them_del')) {
        echo "<button name='delete' class='btn btn-success'><span class='fa fa-trash-o'></span> Удалить тему</button>";
    }
    echo "</form>";
    echo "<div class = 'card-block'><a href = '" . DIR_FORUM . "$forum->id/$razdel->id/$theme->id.html'><span class='fa fa-arrow-left'></span> " . text::toOutput($theme->name, 1, 1, 0, 0, 0) . "</a></div>";
    require_once H . 'sys/inc/tfoot.php';
    exit;
}