File size: 8.19Kb
<?php
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
require_once "../../sys/inc/$inc.php";
}
access('adm_news_edit', null, 'index.php?' . SID);
$news = $pdo->query(("SELECT * FROM `news` WHERE `id` = '" . intval($_GET['edit']) . "' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
if ($pdo->query(("SELECT COUNT(*) FROM `news` WHERE `id` = '$news[id]'"), 0)->fetchColumn() == 0) {
header("Location: ?");
exit;
}
if (isset($_GET['delf']) && is_numeric($_GET['delf']) && ($pdo->query(("SELECT COUNT(*) FROM `news_files` WHERE `id` = '".intval($_GET['delf'])."' AND `id_user` = '".intval($user['id'])."'"),0)->fetchColumn()!=0 || $pdo->query(("SELECT COUNT(*) FROM `news_files` WHERE `id` = '".intval($_GET['delf'])."'"),0)->fetchColumn()!=0 && access('adm_show_adm'))){
$file = $pdo->query("SELECT * FROM `news_files` WHERE `id` = '".intval($_GET['delf'])."' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if($file['type']=='files' && isset($file['id'])){
@unlink(H.'modules/news/img/' . $file['id'] . '.dat');
@unlink(H.'modules/news/img/' . $file['id'] . '.png');
@unlink(H.'modules/news/img/' . $file['id'] . '.gif');
}
$pdo->query("DELETE FROM `news_files` WHERE `id` = '".intval($_GET['delf'])."'")->fetchColumn();
$_SESSION['message'] = 'Вложение успешно удалено';
header("Location: ?edit=$news[id]");
}
if (isset($_POST['title']) && isset($_POST['msg']) && isset($_POST['ok'])) {
$title = htmlspecialchars($_POST['title']);
$msg = htmlspecialchars($_POST['msg']);
if (utf8_strlen($title) > 250) {
$err = lang('Заголовок длинее 250-ти символов');
}
if (utf8_strlen($title) < 3) {
$err = lang('Заголовок короче 3-х символов');
}
$mat = antimat($title);
if ($mat) {
$err[] = lang("В заголовке обнаружен мат") . ": $mat";
}
if (utf8_strlen($msg) > 10024) {
$err = lang('Содержание длинее 10024-х символов');
}
if (utf8_strlen($msg) < 5) {
$err = lang('Содержание короче 5-ти символов');
}
$news['close'] = intval($_POST['close']);
$pdo->query("UPDATE `news` SET `close` = '" . htmlspecialchars($news['close']) . "' WHERE `id` = '$news[id]' LIMIT 1");
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;
}
if (isset($_POST['tm']) && $_POST['tm']==1){
$tm = 1;
}else{
$tm = 0;
}
if (access('adm_mysql')){
if ($_POST['id_z']==0) {
}else{
$pdo->query("UPDATE `jurnal_obn` SET `v` = '1' WHERE `id` = '".intval($_POST['id_z'])."'");
}
}
$pdo->query("UPDATE `news` SET `tematika` = '$tm', `title` = '$title', `msg` = '$msg', `mn` = '$mn', `ch` = '$ch', `main_time` = '$main_time' WHERE `id` = '$news[id]' LIMIT 1");
$pdo->query("UPDATE `user` SET `news_read` = '0'");
$_SESSION['message'] = lang('Изменения сохранены');
header("Location: ?news=$news[id]");
exit;
}
}
$set['title'] = lang('Новости') . ' - ' . lang('Редактирование');
require_once H . 'sys/inc/thead.php';
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 "<a href='/modules/news/?news=$news[id]'>" . cutStr($news['title'], 30) . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('Редактирование');
echo "</div>";
echo "<form class='list-group-item' name='edit' method='POST' action='?edit=$news[id]'>\n";
echo "<b>Заголовок новости</b> <font color=gray>(100 символов)</font> : <br><input value='$news[title]' name='title' type='text' class='form-control' style='width: 100%'><br />";
echo "<b>Содержание новости</b> <font color=gray>(10024 символов)</font> : <br>";
echo auto_bb("edit", "msg");
echo "<textarea name='msg' rows='5' class='form-control' style='width: 100%'>$news[msg]</textarea><br />";
echo "<b>Прикрепить:</b> <a href='foto_edit.php?id=$news[id]' class='btn btn-primary btn-sm'><i class='fa fa-camera fa-fw'></i> Фото</a> ";
$files = $pdo->query("SELECT * FROM `news_files` WHERE `id_post` = '$news[id]'");
while ($post = $files->fetch(PDO::FETCH_ASSOC))
{
if($post['type']=='foto'){
$file_id = $pdo->query("SELECT * FROM `gallery_foto` WHERE `id_user` = '".intval($post['id_user'])."' AND `id` = '".intval($post['id_file'])."'")->fetch(PDO::FETCH_BOTH);
if(isset($file_id['id'])){
$ras = htmlspecialchars(text($file_id['ras']));
echo "<br><span class='btn btn-secondary btn-sm' style='margin: 1px;'><i class='fa fa-camera fa-fw'></i> ";
echo toOutput($file_id['name']);
}
}
if($post['type']=='files'){
echo '<br><span class="btn btn-secondary btn-sm" style="margin: 1px;">';
echo"<i class='fa fa-camera fa-fw'></i> ";
echo htmlspecialchars($post['name']);
}
echo' <a href="?edit='.$news['id'].'&delf='.$post['id'].'"><font color=#F56257><i class="fa fa-trash fa-lg"></i></font></a>';
echo '</span>';
}
echo "<br><br><b>Возможность комментирования:</b><br />";
echo " <label class='c-input c-radio'><input value='0' name='close' type='radio' " . ($news['close'] == 0 ? ' checked="checked"' : null) . "><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' " . ($news['close'] == 1 ? ' checked="checked"' : null) . "><span class='c-indicator'></span><i class='fa fa-lock fa-fw'></i> " . lang('Закрытая') . "</label>
<br><br>";
if (access('adm_mysql')){
echo "<b>Тематика:</b><br />";
echo "<select name='tm' class='form-control' style='width: 30%'>";
echo "<option value='0' " . ($news['tematika'] && $news['tematika'] == 0 ? "selected='selected'" : null) . ">" . lang('Обновления') . "</option>";
echo "<option value='1' " . ($news['tematika'] && $news['tematika'] == 1 ? "selected='selected'" : null) . ">" . lang('Прочее') . "</option>";
echo "</select><br />";
echo "<br /><b>Выполненная задача (Обновления):</b><br />\n<select name='id_z' class='form-control' style='width: 50%;'>\n";
$q = $pdo->query("SELECT * FROM `jurnal_obn` WHERE `v` = '0'");
echo "<option value='0' selected='selected'><b>Не выбрано</b></option>\n";
while ($post = $q->fetch(PDO::FETCH_ASSOC))
{
echo "<option value='$post[id]'>" . text($post['name']) . "</option>\n";
}
echo "</select><br />\n";
}
echo "<b>Показывать на главной и личных страницах:</b><br />";
echo "<input name='ch' maxlength='64' type='text' value='$news[ch]' class='form-control' style='width: 30%'><br />";
echo "<select class='form-control' name='mn' style='width: 30%'>";
echo "<option value='0' " . ($news['mn'] && $news['mn'] == 0 ? "selected='selected'" : null) . ">" . lang('Выбрать') . "</option>";
echo "<option value='1' " . ($news['mn'] && $news['mn'] == 1 ? "selected='selected'" : null) . ">" . lang('Дней') . "</option>";
echo "<option value='7' " . ($news['mn'] && $news['mn'] == 7 ? "selected='selected'" : null) . ">" . lang('Недель') . "</option>";
echo "<option value='31' " . ($news['mn'] && $news['mn'] == 31 ? "selected='selected'" : null) . ">" . lang('Месяцев') . "</option>";
echo "</select><br>";
$doc->Button('knopka', 'ok', 'save', 'Сохранить');
echo "</form>";
require_once H . 'sys/inc/tfoot.php';