Файл: modules/news/add.php
Строк: 125
<?php
/* DCMS Special
* Дата последнего редактирования 15.01.2016
* Модифицировал densnet
*/
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
require_once "../../sys/inc/$inc.php";
}
#Спрашиваем разрешение на создание новости
access('adm_news_add', null, 'index.php?' . SID);
$set['title'] = lang('Новости');
require_once H . 'sys/inc/thead.php';
if (isset($_POST['title']) && isset($_POST['msg']) && isset($_POST['link'])) {
$title = esc($_POST['title'], 1);
$link = esc($_POST['link'], 1);
if ($link != NULL && !preg_match('#^https?://#i', $link) && !preg_match('#^/#', $link)) {
$link = '/' . $link;
}
$msg = esc($_POST['msg']);
if (utf8_strlen($title) > 100) {
$err = lang('Слишком большой заголовок новости');
}
if (utf8_strlen($title) < 3) {
$err = lang('Короткий заголовок');
}
$mat = antimat($title);
if ($mat) {
$err[] = lang("В заголовке новости обнаружен мат") . ": $mat";
}
if (utf8_strlen($msg) > 10024) {
$err = lang('Содержиние новости слишком большое');
}
if (utf8_strlen($msg) < 2) {
$err = lang('Новость слишком короткая');
}
$mat = antimat($msg);
if ($mat) {
$err[] = lang("В тексте сообщения обнаружен мат") . ": $mat";
}
$msg = mysql_real_escape_string($msg);
$close = intval($_POST['close']);
if (!isset($err)) {
$ch = intval($_POST['ch']);
$mn = intval($_POST['mn']);
$main_time = time() + $ch * $mn * 60 * 60 * 24;
if ($main_time <= time()) {
$main_time = 0;
}
mysql_query("INSERT INTO `news` (`time`, `msg`, `title`, `main_time`, `link`, `avtor`, `close`) values('$time', '" . mysql_real_escape_string($msg) . "', '$title', '$main_time', '$link', '$user[nick]', '$close')");
mysql_query("OPTIMIZE TABLE `news`");
#Расслылка новостей на майл
if (isset($_POST['mail'])) {
$q = mysql_query("SELECT `ank_mail` FROM `user` WHERE `set_news_to_mail` = '1' AND `ank_mail` <> ''");
while ($ank = mysql_fetch_assoc($q)) {
mysql_query("INSERT INTO `mail_to_send` (`mail`, `them`, `msg`) values('$ank[ank_mail]', '" . lang('Новости') . "', '" . toOutput($msg) . "')");
}
}
$_SESSION['message'] = lang('Новость успешно добавлена');
header("Location: index.php");
exit;
}
}
err();
#Навигация
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='/modules/news/'>" . lang('Новости') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('Новая новость');
echo "</div>";
echo "<form class='list-group-item' name='add' method='POST' action='add.php'>";
$count_email = mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `set_news_to_mail` = '1' AND `ank_mail` <> ''"), 0);
$doc->Input('title', 'Заголовок новости', 250);
$doc->Input('link', 'Ссылка на источник', 64);
echo auto_bb("add", "msg");
$doc->Textarea('msg', 'Содержание новости', 10024);
$doc->Checkbox('mail', "Рассылка на email ($count_email)", "checked='checked'", 1);
echo "<hr>";
echo lang('Состояние обсуждения') . "<br />";
echo " <label class='c-input c-radio'><input value='0' name='close' type='radio' checked='checked'><span class='c-indicator'></span><i class='fa fa-unlock fa-fw'></i> " . lang('Открытое') . "</label><br />
<label class='c-input c-radio'><input value='1' name='close' type='radio'><span class='c-indicator'></span><i class='fa fa-lock fa-fw'></i> " . lang('Закрытое') . "</label>
";
echo "<hr>";
echo lang('Показывать') . "<br />";
echo "<input name='ch' maxlength='64' type='text' value='1' class='form-control' style='width: 50%'><br />";
echo "<select name='mn' class='form-control' style='width: 50%'>";
echo "<option value='0' selected='selected'>" . lang('Выбрать') . "</option>";
echo "<option value='1'>" . lang('Дней') . "</option>";
echo "<option value='7'>" . lang('Недель') . "</option>";
echo "<option value='31'>" . lang('Месяцев') . "</option>";
echo "</select><br />";
$doc->Button('btn btn-primary btn-sm', 'ok', 'pencil', 'Опубликовать');
echo "</form>";
require_once H . 'sys/inc/tfoot.php';