Файл: modules/news/add.php
Строк: 112
<?php
/* DCMS S (Special)
* Версия файла 0.0.1
* Дата последнего редактирования 21.11.2015
* Модифицировал densnet
*/
require_once '../../sys/inc/start.php';
require_once H . 'sys/inc/compress.php';
require_once H . 'sys/inc/sess.php';
require_once H . 'sys/inc/settings.php';
require_once H . 'sys/inc/db_connect.php';
require_once H . 'sys/inc/ipua.php';
require_once H . 'sys/inc/fnc.php';
require_once H . 'sys/inc/user.php';
user::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 = text::esc($_POST['title'], 1);
$link = text::esc($_POST['link'], 1);
if ($link != NULL && !preg_match('#^https?://#i', $link) && !preg_match('#^/#', $link)) {
$link = '/' . $link;
}
$msg = text::esc($_POST['msg']);
if (text::utf8_strlen($title) > 250) {
$err = 'Заголовок длинее 250-ти символов';
}
if (text::utf8_strlen($title) < 3) {
$err = 'Заголовок короче 3-х символов';
}
$mat = text::antimat($title);
if ($mat) {
$err[] = 'В заголовке обнаружен мат: ' . $mat;
}
if (text::utf8_strlen($msg) > 10024) {
$err = 'Содержание длинее 10024-х символов';
}
if (text::utf8_strlen($msg) < 5) {
$err = 'Содержание короче 5-ти символов';
}
$mat = text::antimat($msg);
if ($mat) {
$err[] = 'В содержании обнаружен мат: ' . $mat;
}
$mat = mysql_real_escape_string($msg);
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`) values('$time', '" . mysql_real_escape_string($msg) . "', '$title', '$main_time', '$link', '$user[nick]')");
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]', 'Новости', '" . text::toOutput($msg) . "')");
}
}
msg('Новость успешно добавлена');
header("Location: index.php");
exit;
}
}
err();
echo "<div class='card'>";
echo "<div class='card-header'>Новая новость</div>";
?>
<form class='card-block' name='add' method='POST' action='add.php'>
Заголовок новости<br />
<input class="form-control" name='title' size='16' maxlength='250' value='' type='text' />
Ссылка на источник<br />
<input class="form-control" name='link' size='16' maxlength='64' value='' type='text' />
Содержание новости<br />
<textarea class="form-control" name='msg' rows="3"></textarea><br />
<?php
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 />";
?>
Показывать на главной<br />
<div class="col-xs-4">
<input class="form-control" type='text' name='ch' value='1' />
</div>
<div class="col-xs-6">
<select class="c-select" name='mn'>
<option value='0' selected = 'selected'>Выбрать</option>
<option value='1'>Дней</option>
<option value='7'>Недель</option>
<option value='31'>Месяцев</option>
</select></div><br /><br />
<button class='btn btn-success' name='ok'>Опубликовать</button>
</form>
</div>
<div class='list-group-item'><a href='/modules/news/'><span class='fa fa-arrow-left'></span> Новости</a></div>
<?php
require_once H . 'sys/inc/tfoot.php';