Файл: modules/news/add.php
Строк: 120
<?php
/* DCMS Special
* Дата последнего редактирования 10.12.2015
* Модифицировал 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'] = 'Новости';
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 = 'Слишком большой заголовок новости';
}
if (utf8_strlen($title) < 3) {
$err = 'Короткий заголовок';
}
$mat = antimat($title);
if ($mat) {
$err[] = 'В заголовке новости обнаружен мат: ' . $mat;
}
if (utf8_strlen($msg) > 10024) {
$err = 'Содержиние новости слишком большое';
}
if (utf8_strlen($msg) < 2) {
$err = 'Новость слишком короткая';
}
$mat = antimat($msg);
if ($mat) {
$err[] = 'В тексте сообщения обнаружен мат: ' . $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]', 'Новости', '" . toOutput($msg) . "')");
}
}
msg('Новость успешно добавлена');
header("Location: index.php");
exit;
}
}
err();
#Навигация
echo "<ol class='breadcrumb'>";
echo "<li><a href='/'><span class='fa fa-home fa-fw'></span></a></li>";
echo "<li><a href='/modules/news/'>Новости</a></li>";
echo "<li class='active'>Новая новость</li>";
echo "</ol>";
echo "<form class='list-group-item' name='add' method='POST' action='add.php'>";
echo "Заголовок новости<br />";
echo "<input class='form-control' name='title' maxlength='250' value='' type='text' />";
echo "Ссылка на источник<br />";
echo "<input class='form-control' name='link' maxlength='64' value='http://' type='text' />";
echo "Содержание новости<br />";
echo "<textarea class='form-control' name='msg' rows='3'></textarea><br />";
echo "<label class='c-input c-checkbox'><input name='mail' value='1' type='checkbox' checked='checked' /><span class='c-indicator'></span> Рассылка на email (" . mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `set_news_to_mail` = '1' AND `ank_mail` <> ''"), 0) . ")</label><br />";
echo "<div class='hr'></div>";
echo "Состояние обсуждения<br />";
echo "<label class='c-input c-radio'><input name='close' type='radio' checked='checked' value='0' /><span class='c-indicator'></span><span class='fa fa-unlock-alt fa-fw'></span> Открытое</label><br />";
echo "<label class='c-input c-radio'><input name='close' type='radio' checked='checked' value='1' /><span class='c-indicator'></span><span class='fa fa-lock fa-fw'></span> Закрытое</label><br/>";
echo "<div class='hr'></div>";
echo "Показывать на главной<br />";
echo "<div class='col-xs-4'><input class='form-control' type='text' name='ch' value='1' /></div>";
echo "<select class='c-select' name='mn'>";
echo "<option value='0' selected='selected'>Выбрать</option>";
echo "<option value='1'>Дней</option>";
echo "<option value='7'>Недель</option>";
echo "<option value='31'>Месяцев</option>";
echo "</select><br /><br />";
echo "<button class='btn btn-success' name='ok'><span class='fa fa-share-square-o fa-fw'></span> Опубликовать</button>";
echo "</form>";
require_once H . 'sys/inc/tfoot.php';