File size: 4.9Kb
<?php
/* SocCMS
* Дата последнего редактирования 22.10.2016
* Модифицировал densnet
* Автор yadalay
*/
if (access('forum_for_create')) {
if (isset($_POST['create'])) {
$name = $db->safesql(trim($_POST['name']));
$description = $db->safesql(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 = $db->super_query("SELECT COUNT(*) as count FROM `forum` WHERE `name` = '$name'");
$isset_number = $db->super_query("SELECT COUNT(*) as count FROM `forum` WHERE `number` = '$number'");
if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)|(\.\-)]/", $_POST['name'], $m)) {
$_SESSION['err'] = lang('В поле Название подфорума присутствуют запрещенные') . " <span style='font-weight: bold; color: red;'>$m[0]</span> " . lang('символы');
} else
if (mb_strlen($name) < $set['forum_name_min'] || mb_strlen($name) > $set['forum_name_max']) {
$_SESSION['err'] = lang('В поле Название подфорума можно использовать от') . " $set[forum_name_min] " . lang('до') . " $set[forum_name_max] " . lang('символов');
} elseif ($number < 0 || $number == NULL || $number == 0) {
$_SESSION['err'] = lang('Введите уровень');
} elseif (mb_strlen($description) > $set['forum_opis_max']) {
$_SESSION['err'] = lang('Слишком длинное описание подфорума');
} elseif ($isset_number['count'] > 0) {
$_SESSION['err'] = lang('Данный уровень уже использует другой подфорум');
} elseif ($isset_name['count'] > 0) {
$_SESSION['err'] = lang('Подфорум с таким названием уже существует');
} else {
admin_log('Форум', 'Подфорумы', "Создание подфорума $name");
$db->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;
}
}
$next_number = $db->super_query("SELECT MAX(`number`) as number FROM `forum`");
$next_number = $next_number['number'] + 1;
#Навигация
echo "<div class='list-group-item-null list-group-item-grey'><small>";
echo "<a href='/' class='hint--right' data-hint='" . 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 "</small></div>";
echo "<form class='list-group-item-null-mini' action='" . DIR_FORUM . "?create_forum' method='post'>";
$doc->Input('name', 'Название подфорума', null, null, 'form-control', 'text', 'required');
$doc->Textarea('description', 'Описание подфорума');
$doc->Input('icon', 'Иконка', null, "folder");
$doc->Input('number', 'Позиция', null, "$next_number", 'form-control', 'number');
echo lang('Доступ') . ":<br />";
echo "<label class='custom-control custom-radio'><input id='access0' name='access' type='radio' value='0' checked='checked' class='custom-control-input'><span class='custom-control-indicator'></span> <span class='custom-control-description'>" . lang('Все') . "</span></label><br />";
echo "<label class='custom-control custom-radio'><input id='access1' name='access' type='radio' value='1' class='custom-control-input'><span class='custom-control-indicator'></span> <span class='custom-control-description'>" . lang('Только администраторы') . "</span></label><br />";
echo "<label class='custom-control custom-radio'><input id='access2' name='access' type='radio' value='2' class='custom-control-input'><span class='custom-control-indicator'></span> <span class='custom-control-description'>" . lang('Администраторы + модераторы') . "</span></label>";
echo "<div class='hr'></div>";
$doc->Checkbox('output', 'Список разделов', 1);
echo "<br />";
$doc->Button('btn btn-primary btn-sm', 'create', null, 'Создать');
$doc->a("" . DIR_FORUM . "", 'btn btn-secondary btn-sm', null, 'Отменить');
echo "</form>";
require_once H . 'sys/inc/tfoot.php';
} else {
header('Location: ' . DIR_FORUM);
}
exit;