Файл: CMS/comm/comm_add.php
Строк: 76
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if ($is_logged) {
$error = '';
if (!empty($_POST['submit'])) {
$cid = !empty($_POST['cid']) ? num($_POST['cid']) : 0;
$url = !empty($_POST['url']) ? check($_POST['url']) : '';
$name = !empty($_POST['name']) ? check($_POST['name']) : '';
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
$status = !empty($_POST['status']) ? 1 : 0;
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if ($uset['users_point'] >= $config['add_comm_score']) {
if (!empty($cid)) {
if (array_key_exists($cid,$categories)) {
if (cms_strlen($url) >= 3 && cms_strlen($url) <= 50) {
if (cms_strlen($name) >= 3 && cms_strlen($name) <= 100) {
if (cms_strlen($text) >= 5 && cms_strlen($text) <= 1000) {
if (preg_match('|^[a-z0-9-_]+$|i', $url)) {
$url = cms_tolower($url);
$is_soo = (int) $db->selectCell("SELECT `comm_id` FROM ?_comm_comm
WHERE LOWER(`comm_url`) = ? LIMIT 1;", $url);
if ($is_soo < 1) {
if (is_quarantine($log)) {
if (is_flood($log)) {
$text = antimat($text);
$text = smiles($text);
$lastid = (int) $db->query("INSERT INTO ?_comm_comm (`comm_cats_id`, `comm_url`, `comm_user`, `comm_name`, `comm_about`, `comm_create`, `comm_status`, `comm_admins`, `comm_count`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 1);", $cid, $url, $log, $name, $text, SITE_TIME, $status, $log);
$db->query("INSERT INTO ?_comm_users (`cu_comm`, `cu_user`, `cu_admin`, `cu_time`) VALUES(?, ?, 2, ?)", $lastid, $log, SITE_TIME);
$db->query("UPDATE ?_comm_category SET `cats_count` = (`cats_count` + 1) WHERE `cats_id` = ?;", $cid);
del_vars('community');
$inSes->addMessage('Сообщество успешно создано!', 'ok');
redirect(gen_comm($url, 'edit', '', RND));
}
else $error = 'Антифлуд! Вы слишком часто создаёте сообщества!';
}
else $error = 'Карантин! Вы не можете создавать сообщества в течении ' . round($config['allow_karantin'] / 3600) . ' часов!';
}
else $error = 'Ошибка! Сообщество с таким адресом уже зарегистрировано!';
}
else $error = 'Ошибка! Адрес сообщества содержит плохие символы!';
}
else $error = 'Ошибка! Слишком длинное или короткое описание сообщества (от 10 до 500 символов)!';
}
else $error = 'Ошибка! Слишком длинное или короткое название сообщества (от 3 до 100 символов)!';
}
else $error = 'Ошибка! Слишком короткий или длинный адрес сообщества (от 3 до 50 символов)!';
}
else $error = 'Ошибка! Выбранный вами раздел не существует!';
}
else $error = 'Ошибка! Вы не выбрали категорию для создания сообщества!';
}
else $error = 'Ошибка! Создавать сообщества могут обитатели с рейтингом больше ' . num2name($config['add_comm_score'],$config['score_name']);
}
else $error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';
if (!empty($error)) $inSes->addMessage($error, 'error');
}
show_header('Создание сообщества');
if (!empty($categories) && count($categories) > 0) {
if ($uset['users_point'] >= $config['add_comm_score']) {
if (!empty($_GET['code'])) include( MODULES_PATH . 'code.inc.php' );
else if (!empty($_GET['smiles'])) include( MODULES_PATH . 'smiles.inc.php' );
$cats = array();
foreach($categories as $key => $val) $cats[$key] = $val[0];
$form = new cmsForm('?rnd=' . $_SESSION['token'], 'post', ' name="form" id="form"');
$form->addSelect('Категория:', 'cid', request('cid',$id), $cats);
$form->addText('Адрес сообщества:<br />' . $config['site_url'] . '/comm/', 'url', request('url'), ' maxlength="30"');
$form->addText('Название сообщества:', 'name', request('name'), ' maxlength="99"');
$form->addCode('Краткое описание: <small>[<a href="' . gen_uri('add', $id, 'smiles=1') . '">Смайлы</a>] ');
$form->addCode('[<a href="' . gen_uri('add', $id, 'code=1') . '">ББ-коды</a>]</small><br />');
$form->addTextarea('', 'text', request('text'), ' id="msg"');
echo $form->Submit('Создать', 'submit');
unset($form);
echo '<div class="b">' . blink('[!]');
echo ' В поле Адрес сообщества разрешено использовать только знаки латинского алфавита и цифры, а также знак дефис!</div>';
}
else {
show_error('Для создания сообщества Вам нужно набрать как минимум ' . num2name($config['add_comm_score'],$config['score_name']));
}
}
else {
show_error('Разделы сообществ ещё не созданы!');
}
}
else {
show_header('Создание сообщества');
show_login('Вы не авторизованы, для создания сообщества, необходимо');
}
echo '<div class="b">' . icon('return.png');
echo ' <a href="' . gen_uri('index') . '">Сообщества</a></div>';
?>