Файл: CMS/core/modules/journal_add.php
Строк: 113
<?php
if (!defined('CMS')) { die('Access Denied!'); }
$config['journal_moder'] = !empty($config['journal_moder']) ? 1 : 0;
if ($is_logged) {
if (is_admin() || $uset['users_level'] == 106) {
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']) : '';
$_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) >= 3 && cms_strlen($title) <= 50) {
if (cms_strlen($text) >= $config['journal_min_text'] && cms_strlen($text) <= $config['journal_max_text']) {
if (array_key_exists($cid,$categories)) {
if (is_quarantine($log)) {
if (is_flood($log)) {
if ( crc32($text) <> $_SESSION[SP]['crc32'] ) {
$_SESSION[SP]['crc32'] = crc32($text);
$text = antimat($text);
$text = smiles($text);
$moder = ($config['journal_moder'] == 1) ? 1 : 0;
$moder = is_admin() ? 0 : $moder;
$lastid = (int) $db->query("INSERT INTO ?_journal_posts (`journal_cats_id`, `journal_user`, `journal_title`, `journal_text`, `journal_time`, `journal_moders`) VALUES (?, ?, ?, ?, ?, ?);", $cid, $log, $title, $text, SITE_TIME, $moder);
$db->query("UPDATE ?_journal_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['journal_add_point'], $config['journal_add_money'], $log);
/* Лента */
/*
$subs = $db->select("SELECT * FROM ?_users_lenta_subscribe
WHERE `sub_publisher` = ?", $log);
if (!empty($subs) && count($subs) > 0) {
$sex = ($uset['users_gender'] == 1) ? 'опубликовал' : 'опубликовала';
$text = $sex . " новою статью <b>" . $title . "</b> в блоге.n";
$text .= "[journal=" . $lastid . "]Подробнее >>[/journal]";
foreach($subs as $sub) {
$db->query("INSERT INTO ?_users_lenta SET `lenta_subscriber` = ?, `lenta_publisher` = ?, `lenta_time` = ?, `lenta_message` = ?", $sub['sub_subscriber'], $log, SITE_TIME, $text);
}
}
*/
$inSes->addMessage('Ваша статья успешно опубликована!', 'ok');
gen_red('post', $lastid, RND);
}
else $inSes->addMessage('Ошибка! Ваша статья <u>уже была</u> успешно добавлена!');
}
else $inSes->addMessage('Антифлуд! Вы слишком часто добавляете статьи!');
}
else $inSes->addMessage('Карантин! Вы не можете добавлять статьи в течении ' . round($config['allow_karantin'] / 3600) . ' часов!');
}
else $inSes->addMessage('Ошибка! Выбранный вами раздел не существует!');
}
else $inSes->addMessage('Ошибка! Слишком длинный или короткий текст статьи (от ' . $config['journal_min_text'] . ' до ' . $config['journal_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];
$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"');
$form->addCode('<span class="blink">*</span> Текст: <small>[<a href="' . gen_uri('add', $id, 'smiles=1') . '">Смайлы</a>] ');
$form->addCode('[<a href="' . gen_uri('add', $id, 'code=1') . '">ББ-коды</a>]</small>');
$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%;"');
echo $form->Submit('Опубликовать', 'submit');
unset($form);
if ($config['journal_moder'] == 1) {
echo '<div class="b"><span class="blink">Обратите внимание</span>: ';
echo 'включена проверка публикуемых статей, Ваша статья будет опубликована сразу после проверки модератором.</div>';
}
}
else {
show_error('Категории журнала еще не созданы!');
}
}
else {
show_header('Публикация новой статьи');
show_error('Публиковать новые статьи, могут только журналисты!');
}
}
else {
show_header('Публикация новой статьи');
show_login('Вы не авторизованы, для добавления новой статьи в журнал, необходимо');
}
echo '<div class="b">' . icon('return.png');
echo ' <a href="' . gen_uri('index', '', RND) . '">Журнал</a> | ';
echo '<a href="' . gen_uri('top', '', RND) . '">Топ статей</a> | ';
echo '<a href="' . gen_uri('search', '', RND) . '">Поиск</a> | ';
echo '<a href="' . gen_uri('category', '', RND) . '">Категории</a><br /></div>';
?>