View file ä󿪫¬/modules/groups/news/edit.php

File size: 18.55Kb
<?
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
    require_once "../../../sys/inc/$inc.php";
}

only_reg('/reg.php');




$num=1;
if(isset($_GET['id']) && $pdo->query(("SELECT COUNT(*) FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"),0)->fetchColumn()==1)
{
$s=intval($_GET['id']);
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '$s' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);








if(isset($_GET['edit']) && $pdo->query(("SELECT COUNT(*) FROM `soo_news` WHERE `id` = '".intval($_GET['edit'])."' AND `id_soo`='$soo[id]' LIMIT 1"),0)->fetchColumn()==1)
{
$id = intval($_GET['edit']);    
}else{
header('Location: /modules/groups/group.php?id='.$soo['id'].'');exit;    
}
$news = $pdo->query("SELECT * FROM `soo_news` WHERE `id_soo`='$soo[id]' AND `id`='$id'")->fetch(PDO::FETCH_ASSOC);


if($soo['private_newsadd']==0){
$newsadd = $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' LIMIT 1"),0)->fetchColumn()==0 && $user['id']!=$soo['admid'];
}elseif($soo['private_newsadd']==1){
$newsadd = $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `mod` = '1' LIMIT 1"),0)->fetchColumn()==0 && $user['id']!=$soo['admid'];
}elseif($soo['private_newsadd']==2){
$newsadd = $pdo->query(("SELECT COUNT(*) FROM `soo` WHERE `id` = '$soo[id]' AND `admid` = '$user[id]' LIMIT 1"),0)->fetchColumn()==0 && $user['id']!=$soo['admid'];
}
if($soo['private_newsadd']==$soo['private_newsadd'] && $newsadd)
{
}else{

$mod = $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `mod` = '1' LIMIT 1"),0)->fetchColumn();
if(isset($user) && $user['id']==$soo['admid'] || $user['id']==$news['avtor'] || $mod || access('adm_mysql'))
{



if (isset($_POST['title']) && isset($_POST['msg']) && !isset($_POST['plus']) && !isset($_POST['minus']))
{
	
	
	if (isset($_POST['msg2']) && !isset($_POST['plus']) && !isset($_POST['minus']))
{


$msg2 = stripslashes(htmlspecialchars($_POST['msg2']));
if (utf8_strlen($msg2)>250){ $err[] = 'Опрос содержит более 250 символов'; }

if (utf8_strlen($msg2)<3){ $err[] = 'Опрос содержит менее 3 символов'; }

// Если добавляют или убирают форму

for ($i=1; $i < $_SESSION['forms']; $i++)
	{		$_SESSION['variant_' . $i] = htmlspecialchars($_POST['varian_' . $i]);
		if (utf8_strlen(htmlspecialchars($_POST['varian_' . $i])) > 125){ $err[] = 'Вариант №' . $i . ' содержит более 250 символов'; }
		
		if (utf8_strlen(htmlspecialchars($_POST['varian_' . $i])) < 1){ $err[] = 'Вариант №' . $i . ' содержит менее 1 символа'; }
		}}
}








if(isset($_POST['foto_upload']) && !isset($_POST['edit'])){
	
	header('Location: foto_edit.php?id='.$soo['id'].'&edit='.$news['id'].'');
	exit;
}

$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
include_once '../../../modules/groups/inc/ban.php';

$set['title']='Редактирование записи'; // заголовок страницы
include_once '../../../sys/inc/thead.php';
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '$s' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);











#Навигация
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/groups/group.php?id=$soo[id]'>$soo[name]</a> <i class='fa fa-angle-right fa-fw'></i> <a href='/modules/groups/news/news.php?id=$soo[id]'>";
echo lang('блог группы');
echo "</a> <i class='fa fa-angle-right fa-fw'></i> редактирование</div>";

///////////////////////////
if (isset($_GET['delf']) && is_numeric($_GET['delf']) && ($pdo->query(("SELECT COUNT(*) FROM `soo_news_foto` WHERE `id` = '".intval($_GET['delf'])."' AND `id_user` = '".intval($user['id'])."'"),0)->fetchColumn()!=0 || $pdo->query(("SELECT COUNT(*) FROM `soo_news_foto` WHERE `id` = '".intval($_GET['delf'])."'"),0)->fetchColumn()!=0 && access('adm_show_adm'))){


$foto = $pdo->query("SELECT * FROM `soo_news_foto` WHERE `id` = '".intval($_GET['delf'])."' AND `id_user` = '".intval($user['id'])."' LIMIT 1")->fetch(PDO::FETCH_ASSOC);

if($foto['type']=='foto_upload' && isset($foto['id'])){
	@unlink(H.'sys/groups/foto/' . $foto['id'] . '.dat');
@unlink(H.'sys/groups/foto/' . $foto['id'] . '.png');
@unlink(H.'sys/groups/foto/' . $foto['id'] . '.gif');
}
$pdo->query("DELETE FROM `soo_news_foto` WHERE `id` = '".intval($_GET['delf'])."' AND `id_user` = '".intval($user['id'])."'");
msg('Файл успешно удален');
}
///////////////////////////







if($soo['konf_soo']==0 || isset($user) && $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `invit`='0' AND `activate`='0' LIMIT 1"),0)->fetchColumn()==1 || isset($user) && $user['id']==$soo['admid']  || isset($user) && $user['level']>0)
{

$news = $pdo->query("SELECT * FROM `soo_news` WHERE `id_soo`='$soo[id]' AND `id`='$id' ORDER BY `time`")->fetch(PDO::FETCH_ASSOC);
$notes = $pdo->query("SELECT * FROM `notes` WHERE `id_soo`='$soo[id]' AND `id_news`='$news[id]' ORDER BY `time`")->fetch(PDO::FETCH_ASSOC);

echo "<div class='list-group-item'>\n";

if(isset($_POST['name']) && isset($_POST['msg']) && !isset($_POST['files']))
{
$name=stripcslashes(htmlspecialchars($_POST['name']));
if (utf8_strlen($name)<1)$err[]='Короткий заголовок записи';
if (utf8_strlen($name)>150)$err[]='Заголовок записи не должен быть длиннее 150 символов';
$mat=antimat($name);
if ($mat)$err[]='В заголовке обнаружен мат: '.$mat;


$mess = stripcslashes(htmlspecialchars($_POST['msg']));
if (utf8_strlen($mess)<3)$err[]='Короткое сообщение';
if (utf8_strlen($mess)>30000)$err[]='Сообщение не должно быть длиннее 30000 символов';
$mat=antimat($mess);
if ($mat)$err[]='В описании раздела обнаружен мат: '.$mat;

if (isset($_POST['metka']) && ($_POST['metka'] == '0' || $_POST['metka'] == '1'))$metka = $_POST['metka'];
else $metka = 0;

$href= htmlspecialchars($_POST['ist']);
if (utf8_strlen($href)>200){$err='Ссылка не может превышать больше 200 символов';}

$privat_komm=intval($_POST['private_komm']);
$id_dir=intval($_POST['id_dir']);


if ($notes['id_dir'] > 0){ 
if($notes['time']>time()-604800){
if($_POST['id_dir']==0){
$typed=0;
}else{
$typed=1;
}
}else{
$typed=0;    
}
}


if(!isset($err))
{

$pdo->query("UPDATE `soo_news` SET `name_blog` = '$name', `mess` = '0', `private_komm` = '$privat_komm' WHERE `id` = '$news[id]'");
$pdo->query("UPDATE `notes` SET `metka` = '".intval($metka)."', `href` = '$href', `name` = '$name', `msg` = '$mess', `id_dir` = '$id_dir', `cat_alt` = '$id_dir', `type` = '$typed' WHERE `id_news` = '$news[id]'");
$news = $pdo->query("SELECT * FROM `soo_news` WHERE `id_soo`='$soo[id]' AND `id`='$id' ORDER BY `time`")->fetch(PDO::FETCH_ASSOC);


if (isset($_POST['msg2']) && isset($_GET['create']) && $_GET['create']=='opros' && !isset($_POST['plus']) && !isset($_POST['minus']))
{
	$msg2 = stripslashes(htmlspecialchars($_POST['msg2']));
	
	
	$pdo->query("INSERT INTO `notes_votes` (`time`, `msg`, `id_user`, `id_notes`) values('$time', '$msg2', '$user[id]', '$notes[id]')");
$ID = $pdo->lastInsertId();


for ($i=1; $i < $_SESSION['forms']; $i++)
			{
				$otvet = htmlspecialchars($_POST['varian_' . $i]);
				
				$pdo->query("INSERT INTO `notes_votes_variant` (`num`, `otvet`, `id_votes`) values('$i', '$otvet', '$ID')")->fetchColumn();
				
				$_SESSION['variant_' . $i] = NULL;
			}
		$_SESSION['forms'] = 3;
		$_SESSION['poster'] = NULL;//
	
}





$_SESSION['message'] = 'Изменения успешно приняты';
header("Location: /modules/groups/news/list.php?id=$soo[id]&id_news=$news[id]");
}
}
$ban_n = $pdo->query("SELECT * FROM `ban_blogs` WHERE `id_user` = '$user[id]' AND `status` = '1' LIMIT 1")->fetch(PDO::FETCH_ASSOC);

if ($ban_n['status']==1)
{
header('location: /modules/blogs/admin/ban_user.php');
}



if(isset($_GET['create']) && $_GET['create']=='opros'){
if ($notes['share_id'] < 1){
if (!isset($_SESSION['poster']))
{
	$_SESSION['poster'] = NULL;
}

if (isset($_POST['plus']) || isset($_POST['minus']))
{	
	$_SESSION['poster'] = htmlspecialchars($_POST['msg2']);
	for ($i=1; $i < $_SESSION['forms']; $i++)
	{
		$_SESSION['variant_' . $i] = htmlspecialchars($_POST['varian_' . $i]);
	}

}
echo "<form method=\"post\" name=\"message\" action=\"?id=".intval($_GET['id'])."&amp;edit=".intval($_GET['edit'])."&amp;create=opros\" enctype=\"multipart/form-data\">\n";
}
    
}else{
	
echo'<form method="post" name="message">';    
}



echo'<b>Заголовок</b> <font color=gray><small>(150 символов)</small></font> :<br/>';
echo'<input class="form-control" type="text" name="name" value="'.text($news['name_blog']).'"><br/>';
echo'<b>Сообщение</b> <font color=gray><small>(30000 символов)</small></font> :<br/>';
echo auto_bb("message", "msg");
echo"<textarea class=\"form-control\" rows='5' name=\"msg\">".stripslashes($notes['msg'])."</textarea><br/>";
echo "<b>Прикрепить:</b> \n";



echo "<button style='margin-top: 2px;' class='btn btn-primary btn-sm' name='foto_upload'>";
echo "<i class='fa fa-camera fa-fw'></i> Фото</button>";

echo ' <a class="btn btn-primary btn-sm" style="margin-top: 2px;" href="/modules/groups/news/files/file_vid_edit.php?id='.$soo['id'].'&post='.$news['id'].'"><i class="fa fa-film fa-fw"></i> Видео</a> ';

echo ' <a class="btn btn-primary btn-sm" style="margin-top: 2px;" href="/modules/groups/news/files/file_mus_edit.php?id='.$soo['id'].'&post='.$news['id'].'"><i class="fa fa-music fa-fw"></i> Музыку</a> ';

echo ' <a class="btn btn-primary btn-sm" style="margin-top: 2px;" href="/modules/groups/news/files/file_fil_edit.php?id='.$soo['id'].'&post='.$news['id'].'"><i class="fa fa-file fa-fw"></i> Файл</a> ';

echo ' <a class="btn btn-primary btn-sm" style="margin-top: 2px;" href="posters_edit.php?id='.$soo['id'].'&edit='.$notes['id'].'&news='.$news['id'].'"><i class="fa fa-pencil fa-fw"></i> Постер</a> ';

if ($pdo->query(("SELECT COUNT(*) FROM `notes_votes` WHERE `id_notes` = '".intval($notes['id'])."' AND `id_user` = '".intval($user['id'])."'"),0)->fetchColumn())	
{
}else{
echo ' <a class="btn btn-primary btn-sm" style="margin-top: 2px;" href="?id='.$soo['id'].'&edit='.$news['id'].'&create=opros"><i class="fa fa-bullhorn fa-fw"></i> Опрос</a> ';
}

echo '<br>';


if(isset($_GET['create']) && $_GET['create']=='opros'){

echo '<div style="border: 1px #A7CCDD solid; padding: 3px; margin: 1px;">';


// Если добавляют или убирают форму
	if (isset($_POST['plus']) && $_SESSION['forms'] < 11){ $_SESSION['forms'] = $_SESSION['forms'] + 1; header('Location: edit.php?id='.$soo['id'].'&edit='.$news['id'].'&create=opros'); exit; } // Добавляем формы ответа

if (isset($_POST['minus']) && $_SESSION['forms'] > 3){ $_SESSION['forms'] = $_SESSION['forms'] - 1; header('Location: edit.php?id='.$soo['id'].'&edit='.$news['id'].'&create=opros'); exit; } // Убираем формы ответа
	$msg2 = htmlspecialchars($_SESSION['poster']);
	echo '<b>Опрос:</b><br/>';

echo '<input class="form-control" name="msg2" type="text" placeholder="Название опроса..." value="' . $msg2 . '"><br />';

if (isset($_SESSION['forms'])) // Колличество форм для ответа
	$forms = intval($_SESSION['forms']);
else $forms = 3;

$_SESSION['forms'] = $forms;
for ($i=1; $i<$forms; $i++)
{
	
	// Цвет названия форм вариантов
	
	$color = $i.$i.$i; 
	
	$color = $color.$color + $color + $color - ($color / 2);
	
	// Если вариант небыл заполнен
	
	if (!isset($_SESSION['variant_' . $i]))$_SESSION['variant_' . $i] = NULL;
	
	// Форма вариантов
	
	echo '<b>Вариант №' . $i . '</b><br /><input type="text" class="form-control" value="' . htmlspecialchars($_SESSION['variant_' . $i]) . '" name="varian_' . $i . '" maxlength="125" placeholder="Введите вариант..."/><br />';
	
}

// Добавляем форму

if ($forms < 11)echo '<input class="btn btn-primary btn-sm" name="plus" value="[+] Еще вариант" type="submit"/> ';

// Убираем форму

if ($forms > 3)echo '<input class="btn btn-primary btn-sm" name="minus" value="[-] Убрать вариант" type="submit"/> ';

echo"<br /><br />";
?>Опрос будет добавлен автоматически после нажатия на кнопку "сохранить запись"<?
echo"<br />";

echo '</div>';
}



$posters = $pdo->query("SELECT * FROM `posters` WHERE `id_user` = '".intval($user['id'])."' AND `id_post` = '".intval($notes['id'])."' AND `type` = '2'");

while ($poster = $posters->fetch(PDO::FETCH_ASSOC))
{
echo '<span class="btn btn-secondary btn-sm" style="margin: 1px;">';
echo"<i class='fa fa-pencil fa-fw'></i> ";
echo 'Постер';
if (isset($_GET['del_p'])){
$pdo->query("DELETE FROM `posters` WHERE `id_user` = '".intval($user['id'])."' AND `id` = '".intval($_GET['del_p'])."'");    
header("Location: edit.php?id=$soo[id]&edit=$news[id]");
}    
echo' <a href="?id='.$soo['id'].'&edit='.$news['id'].'&del_p='.$poster['id'].'"><font color=#F56257><i class="fa fa-trash fa-lg"></i></font></a>';
echo "</span><br>";
}




$foto = $pdo->query("SELECT * FROM `soo_news_foto` WHERE `id_user` = '$user[id]' AND `id_news` = '$news[id]'");
while ($post = $foto->fetch(PDO::FETCH_ASSOC))
{
if($post['type']=='foto'){
    
$foto_id = $pdo->query("SELECT * FROM `gallery_foto` WHERE `id_user` = '$user[id]' AND `id` = '".intval($post['id_foto'])."'")->fetch(PDO::FETCH_BOTH);    
		$ras = htmlspecialchars($foto_id['ras']);
		
echo '<span class="btn btn-secondary btn-sm" style="margin: 1px;">';
echo"<i class='fa fa-camera fa-fw'></i> ";
echo htmlspecialchars($foto_id['name']);
} 

if($post['type']=='video'){
		$ras = htmlspecialchars($post['ras']);
		
		
echo '<span class="btn btn-secondary btn-sm" style="margin: 1px;">';
echo"<i class='fa fa-film fa-fw'></i> ";
echo htmlspecialchars($post['name']);

}

if($post['type']=='music'){
		$ras = htmlspecialchars($post['ras']);
		
		
echo '<span class="btn btn-secondary btn-sm" style="margin: 1px;">';
echo"<i class='fa fa-music fa-fw'></i> ";
echo htmlspecialchars($post['name']);

}

if($post['type']=='file'){
		$ras = htmlspecialchars($post['ras']);
		
		
echo '<span class="btn btn-secondary btn-sm" style="margin: 1px;">';
echo"<i class='fa fa-file fa-fw'></i> ";
echo htmlspecialchars($post['name']);

	}
    
if($post['type']=='foto_upload'){
		$ras = htmlspecialchars($post['ras']);
		
echo '<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.php?id='.$soo['id'].'&edit='.$news['id'].'&delf='.$post['id'].'"><font color=#F56257><i class="fa fa-trash fa-lg"></i></font></a>';
echo '</span><br>';    
}

if ($pdo->query(("SELECT COUNT(*) FROM `notes_votes` WHERE `id_notes` = '".intval($notes['id'])."' AND `id_user` = '".intval($user['id'])."'"),0)->fetchColumn())	
{
$votes = $pdo->query("select * from `notes_votes` where `id_notes`='".intval($notes['id'])."';")->fetch(PDO::FETCH_ASSOC);
echo '<span class="btn btn-secondary btn-sm" style="margin: 1px;"><i class="fa fa-bullhorn fa-fw"></i> Опрос ';
echo'<a href="oprosedit.php?id='.$notes['id'].'&votes='.$votes['id'].'&minus"><font color=#F56257><i class="fa fa-trash fa-lg"></i></font></a>';

echo '</span><br />';     
}





$notes = $pdo->query("SELECT * FROM `notes` WHERE `id_soo`='$soo[id]' AND `id_news`='$news[id]'")->fetch(PDO::FETCH_ASSOC);

echo "<br /><div class='mess'><b>Категория:</b><br />\n<select name='id_dir' class='form-control' style='width: 50%;'>\n";
$q = $pdo->query("SELECT * FROM `notes_dir` ORDER BY `id` DESC");

echo "<option value='0'".(!$notes['id_dir'] ? " selected='selected'":null)."><b>Без категории</b></option>\n";

while ($post = $q->fetch(PDO::FETCH_ASSOC))
{
echo "<option value='$post[id]'".($notes['id_dir'] == $post['id'] ?" selected='selected'":null).">" . text($post['name']) . "</option>\n";
}
echo "</select><br />\n";
echo "При добавлении записи в неправильную категорию, запись будет удалена модератором, а вы получите штраф <b><font color=red>-200</font> баллов</b>.</div>";




echo "<br /><b>Ссылка на источник</b> <font color=gray><small>(при желании если вы скопировали пост с другого сайта)</small></font>:<br />\n<input name=\"ist\" value=\"".text($notes['href'])."\" size=\"16\" maxlength=\"200\" type=\"text\" class='form-control' style='width: 50%;'/><br />\n";



echo "<br /><b>Могут комментировать:</b><br /><input name='private_komm' type='radio' ".($news['private_komm']==0?' checked="checked"':null)." value='0'  selected='selected'/> <i class='fa fa-unlock fa-fw'></i> Все пользователи<br/>";
echo "<input name='private_komm' type='radio' ".($news['private_komm']==1?' checked="checked"':null)." value='1' /> <i class='fa fa-users fa-fw'></i> Только участники <br/>";

echo "<br /><label><input type='checkbox' name='metka' value='1' ".($notes['metka']==1?' checked="checked"':null)." /> Метка <span style='border: 1px #AEB6BD solid; border-radius: 3px; color: red;'><small><b>18+</b></small></span></label><br />";

echo'<br><input class="knopka" type="submit" value="Сохранить запись"></form><br/>';




}
else
{
echo'<div class="list-group-item">Вам недоступен просмотр новостей данной группы</div>';
}}else{
header('Location: /index.php');exit;      
}
    
    
}
}
else
{
$set['title']='Ошибка 404'; // заголовок страницы
include_once '../../../sys/inc/thead.php';    
    
err404(); 

}
include_once '../../../sys/inc/tfoot.php';
?>