Файл: forum/action/create_razdel.php
Строк: 79
<?php
/*
 * Форум
 * DCMS Special
 * Автор yadalay
 * Модифицировал densnet
 * Файл create_razdel.php
 */
if (user_access('forum_razd_create')) {
    if (isset($_POST['create'])) {
        $name = mysql_real_escape_string(trim($_POST['name']));
        $description = mysql_real_escape_string(trim($_POST['description']));
        $number = intval($_POST['number']);
        $type = (isset($_POST['type'])) ? 1 : 0;
        $output = (isset($_POST['output'])) ? 1 : 0;
        $isset_name = mysql_result(mysql_query('SELECT COUNT(*) FROM `forum_razdels` WHERE `name` = "' . $name . '" AND `id_forum` = ' . $forum->id), 0);
        $isset_number = mysql_result(mysql_query('SELECT COUNT(*) FROM `forum_razdels` WHERE `number` = ' . $number . ' AND `id_forum` = ' . $forum->id), 0);
        if (mb_strlen($name) < 3 || mb_strlen($name) > 40) {
            echo "<div class = 'errs'>В поле 'Название раздела' можно использовать от 3 до 40 символов.</div>";
        } elseif ($number < 0 || $number == NULL || $number == 0) {
            echo "<div class = 'errs'>Введите уровень.</div>";
        } elseif (mb_strlen($description) > 100) {
            echo "<div class = 'errs'>Слишком длинное описание раздела.</div>";
        } elseif ($isset_number > 0) {
            echo "<div class = 'errs'>Данный уровень уже использует другой раздел этого подфорума.</div>";
        } elseif ($isset_name > 0) {
            echo "<div class = 'errs'>Раздел с таким названием уже существует в этом подфоруме.</div>";
        } else {
            admin_log('Форум', 'Разделы', 'Создание раздела "' . $name . '" в подфоруме "' . $forum->name . '".');
            mysql_query('INSERT INTO `forum_razdels` SET `id_forum` = ' . $forum->id . ', `name` = "' . $name . '", `description` = "' . $description . '", `number` = ' . $number . ', `type` = ' . $type . ', `output` = ' . $output);
            $_SESSION['msg'] = '<div class = "msg">Раздел успешно создан.</div>';
            header('Location: /forum/' . $forum->id . '/');
            exit;
        }
    } elseif (isset($_POST['cancel'])) {
        header('Location: /forum/' . $forum->id . '/');
        exit;
    }
    $next_number = mysql_result(mysql_query('SELECT MAX(`number`) FROM `forum_razdels` WHERE `id_forum` = ' . $forum->id), 0) + 1;
    echo "<div class = 'blok'><a href = '/forum/'>Форум</a> / <a href = '/forum/$forum->id/'>" . text::toOutput($forum->name, 1, 1, 0, 0, 0) . "</a> / Создание раздела</div>";
    echo "<form action = '/forum/$forum->id/create_razdel.html' class = 'razd' method = 'post'>";
    echo "<b>Название раздела (40 символов):</b><br />";
    echo "<input type = 'text' name = 'name' value = '' /><br />";
    echo "<b>Описание раздела (100 символов):</b><br />";
    echo L . "<textarea name = 'description'></textarea><br />";
    echo "<b>Позиция:</b> <input type = 'text' name = 'number' value = '$next_number' size = '3' /><br />";
    echo "<b>Могут создавать темы только:</b><br />";
    echo "<label><input type = 'checkbox' name = 'type' value = '1' /> Администраторы + модераторы</label><br />";
    echo "<b>Вывод раздела:</b><br />";
    echo "<label><input type = 'checkbox' name = 'output' value = '1' /> Отображать посл. 3 темы вместо описания</label><br />";
    echo "<button name = 'create' class = 'action'>";
    echo "<span class = 'label'><span class = 'icon icon44' /> Создать</span>";
    echo "</button>";
    echo "<button name = 'cancel' class = 'action'>";
    echo "<span class = 'label'> Отменить</span>";
    echo "</button></form>";
    require_once '../sys/inc/tfoot.php';
} else {
    header('Location: forum/' . $forum->id . '/');
}
exit;