Файл: core/modules/blog_add.php
Строк: 96
<?php
if (!defined('CMS')) { die('Access Denied!'); }
$config['blog_quest'] = !empty($config['blog_quest']) ? 1 : 0;
$config['blog_moder'] = !empty($config['blog_moder']) ? 1 : 0;
if (!empty($_POST['submit'])) {
$cid = !empty($_POST['cid']) ? num($_POST['cid']) : 0;
$title = !empty($_POST['title']) ? check($_POST['title']) : '';
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
$name = !empty($_POST['name']) ? check($_POST['name']) : '';
$xxx = !empty($_POST['xxx']) ? 1 : 0;
$_SESSION['captcha_key'] = !empty($_SESSION['captcha_key']) ? $_SESSION['captcha_key'] : NULL;
$_SESSION['captcha_failures'] = !empty($_SESSION['captcha_failures']) ? $_SESSION['captcha_failures'] : 0;
$_SESSION[SP]['crc32'] = !empty($_SESSION[SP]['crc32']) ? $_SESSION[SP]['crc32'] : NULL;
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (!empty($cid)) {
if (cms_strlen($title) >= 5 && cms_strlen($title) <= 50) {
if (cms_strlen($text) >= $config['blog_min_text'] && cms_strlen($text) <= $config['blog_max_text']) {
if (array_key_exists($cid,$categories)) {
if ($is_logged) {
if (is_flood($log)) {
if ( crc32($text) <> $_SESSION[SP]['crc32'] ) {
$_SESSION[SP]['crc32'] = crc32($text);
$text = antimat($text);
$text = smiles($text);
$moder = ($config['blog_moder'] == 1) ? 1 : 0;
$lastid = (int) $db->query("INSERT INTO ?_blog_posts (`blog_cats_id`, `blog_user`, `blog_title`, `blog_text`, `blog_time`, `blog_moders`, `blog_is_xxx`) VALUES (?, ?, ?, ?, ?, ?, ?);", $cid, $log, $title, $text, SITE_TIME, $moder, $xxx);
$db->query("UPDATE ?_blog_category SET `cats_count` = (`cats_count` + 1) WHERE `cats_id` = ?;", $cid);
$db->query("UPDATE ?_users SET `users_point` = (`users_point` + ?), `users_money` = (`users_money` + ?)
WHERE `users_login` = ? LIMIT 1;", $config['blog_add_point'], $config['blog_add_money'], $log);
$inSes->addMessage('Статья успешно опубликована!', 'ok');
gen_red('post', $lastid, RND);
}
else $inSes->addMessage('Ошибка! Ваша статья <u>уже была</u> успешно добавлена!');
}
else $inSes->addMessage('Антифлуд! Вы слишком часто добавляете статьи!');
}
else if (!empty($config['blog_guest'])) { // для гостей
if (cms_strlen($name) >= 3 && cms_strlen($name) <= 25) {
if ( crc32($text) <> $_SESSION[SP]['crc32'] ) {
$_SESSION[SP]['crc32'] = crc32($text);
$text = antimat($text);
$text = smiles($text);
$moder = ($config['blog_moder'] == 1) ? 1 : 0;
$lastid = (int) $db->query("INSERT INTO ?_blog_posts (`blog_cats_id`, `blog_user`, `blog_guest`, `blog_title`, `blog_text`, `blog_time`, `blog_moders`, `blog_is_xxx`) VALUES (?, ?, ?, ?, ?, ?, ?, ?);", $cid, 'guest', $name, $title, $text, SITE_TIME, $moder, $xxx);
$db->query("UPDATE ?_blog_category SET `cats_count` = (`cats_count` + 1) WHERE `cats_id` = ?;", $cid);
$inSes->addMessage('Статья успешно опубликована!', 'ok');
gen_red('post', $lastid, RND);
}
else $inSes->addMessage('Ошибка! Ваша статья <u>уже была</u> успешно добавлена!');
}
else $inSes->addMessage('Ошибка! Слишком длинное или короткое имя (от 3 до 25 символов)!');
}
else $inSes->addMessage('Добавлять новые статьи могут только обитатели сайта!');
}
else $inSes->addMessage('Ошибка! Выбранный вами раздел не существует!');
}
else $inSes->addMessage('Ошибка! Слишком длинный или короткий текст статьи (от ' . $config['blog_min_text'] . ' до ' . $config['blog_max_text'] . ' символов)!');
}
else $inSes->addMessage('Ошибка! Слишком длинный или короткий заголовок (от 5 до 50 символов)!');
}
else $inSes->addMessage('Ошибка! Вы не выбрали категорию для добавления статьи!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
show_header('Публикация новой статьи');
if (!empty($categories) && count($categories) > 0) {
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];
if ($is_logged || !empty($config['blog_guest'])) {
$form = new cmsForm('?rnd=' . $_SESSION['token'], 'post', ' name="form" id="form"');
$form->addSelect('Категория:', 'cid', request('cid',$id), $cats);
$form->addText('Заголовок:', 'title', request('title'), ' maxlength="50" style="width:100%"');
if (!$is_logged) {
$form->addText('Ваше имя:', 'name', request('name'), ' maxlength="25" style="width:100%"');
}
$form->addCode('Текст: <span class="xsmall">[<a href="' . gen_uri('add', $id, 'smiles=1') . '">Смайлы</a>] ');
$form->addCode('[<a href="' . gen_uri('add', $id, 'code=1') . '">ББ-коды</a>]</span>');
$form->addCode(' [<a href="#form" onclick="document.form.msg.rows += 5;">+</a>]');
$form->addCode(' [<a href="#form" onclick="document.form.msg.rows -= 5;">-</a>]');
$form->addTextarea('', 'text', request('text'), ' id="msg" style="width:98%;"');
//$form->addCheckBox(array('', ' - Для взрослых'), 'xxx', request('xxx'));
echo $form->Submit('Опубликовать', 'submit');
unset($form);
if ($config['blog_moder'] == 1) {
echo '<div class="bl"><span class="blink">Обратите внимание</span>: ';
echo 'включена проверка публикуемых статей, Ваша статья будет опубликована сразу после проверки модератором.</div>';
}
}
else {
show_login('Вы не авторизованы, для добавления новой статьи, необходимо');
}
}
else {
show_error('Категории блогов еще не созданы!');
}
echo '<div class="blocks"><table><tr>';
echo '<td class="w25"><a href="' . gen_uri('index', '', RND) . '">Блоги</a></td>';
echo '<td class="w25"><a href="' . gen_uri('top', '', RND) . '">Топ статей</a></td>';
echo '<td class="w25"><a href="' . gen_uri('search', '', RND) . '">Поиск</a></td>';
echo '<td class="w25"><a href="' . gen_uri('category', '', RND) . '">Категории</a></td></tr></table></div>';
?>