Файл: modules/forum/action/create_forum.php
Строк: 113
<?php
/* DCMS Special
 * Дата последнего редактирования 13.01.2016
 * Модифицировал densnet
 * Автор yadalay
 */
if (access('forum_for_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']);
        $access = intval($_POST['access']);
        $output = (isset($_POST['output'])) ? 1 : 0;
        $icon = esc(stripcslashes(htmlspecialchars($_POST['icon'])));
        $isset_name = mysql_result(mysql_query('SELECT COUNT(*) FROM `forum` WHERE `name` = "' . $name . '"'), 0);
        $isset_number = mysql_result(mysql_query('SELECT COUNT(*) FROM `forum` WHERE `number` = ' . $number), 0);
        if (mb_strlen($name) < 3 || mb_strlen($name) > 40) {
            $_SESSION['err'] = lang('В поле Название подфорума можно использовать от 3 до 40 символов');
        } elseif ($number < 0 || $number == NULL || $number == 0) {
            $_SESSION['err'] = lang('Введите уровень');
        } elseif (mb_strlen($description) > 100) {
            $_SESSION['err'] = lang('Слишком длинное описание подфорума');
        } elseif ($isset_number > 0) {
            $_SESSION['err'] = lang('Данный уровень уже использует другой подфорум');
        } elseif ($isset_name > 0) {
            $_SESSION['err'] = lang('Подфорум с таким названием уже существует');
        } else {
            admin_log(lang('Форум'), lang('Подфорумы'), lang("Создание подфорума") . " $name");
            mysql_query("INSERT INTO forum SET name = '$name', description = '$description', number = '$number', icon = '$icon', access = '$access', output = '$output'");
            $_SESSION['message'] = lang('Подфорум успешно создан');
            header('Location: ' . DIR_FORUM);
            exit;
        }
    } elseif (isset($_POST['cancel'])) {
        header('Location: ' . DIR_FORUM);
        exit;
    }
    $next_number = mysql_result(mysql_query('SELECT MAX(`number`) FROM `forum`'), 0) + 1;
    #Навигация
    echo "<div class='card-header'>";
    echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo "<a href='" . DIR_FORUM . "'>" . lang('Форум') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
    echo lang('Создание подфорума');
    echo "</div>";
    echo "<form class='list-group-item' style='margin-top: -1px;' action='" . DIR_FORUM . "?create_forum' method='post'>";
    $doc->Input('name', 'Название подфорума');
    $doc->Textarea('description', 'Описание подфорума');
    $doc->Input('icon', 'Иконка', null, "folder");
    $doc->Input('number', 'Позиция', null, "$next_number");
    echo "Доступ:<br />";
    echo "<div class='c-inputs-stacked'>";
    echo "<label class='c-input c-radio'><input id='access0' name='access' type='radio' value='0' checked='checked'><span class='c-indicator'></span> " . lang('Все') . "</label>";
    echo "<label class='c-input c-radio'><input id='access1' name='access' type='radio' value='1'><span class='c-indicator'></span> " . lang('Только администраторы') . "</label>";
    echo "<label class='c-input c-radio'><input id='access2' name='access' type='radio' value='2'><span class='c-indicator'></span> " . lang('Администраторы + модераторы') . "</label>";
    echo "</div>";
    echo "<hr>";
    $doc->Checkbox('output', 'Список разделов', 1);
    echo "<hr>";
    $doc->Button('btn btn-primary btn-sm', 'create', null, 'Создать');
    $doc->Button('btn btn-secondary btn-sm', 'cancel', null, 'Отменить');
    echo "</form>";
    require_once H . 'sys/inc/tfoot.php';
} else {
    header('Location: ' . DIR_FORUM);
}
exit;