Файл: news.php
Строк: 239
<?php
include ("files/zag.php");
if(isset($_COOKIE['aut']) and $_COOKIE['aut']
== 1){
switch($_GET['go']){
case 'dn':
if($udata[10] < 2){
header('Location: /news.php'); exit;
}
$id = check::num($_GET['id']);
$news = file("data/news.dat");
if($id != 0){
if(empty($id)){
header('Location: /news.php'); exit;
}
if($news[$id]
== ''){
echo '
Такой новости не существует!
';
include('files/down.php'); exit;
}
}
$file = 'data/news.dat';
$array = file($file);
$input = '';
$array[$id] = $input;
file_put_contents($file, $array);
echo 'Новость удалена.';
break;
default:
echo '
<big>Новости</big><br>- - -
';
$news = @file("data/news.dat");
$news = array_reverse($news);
$total = count($news);
if($total == 0){
echo '
<br>Новостей нет.
';
include('files/down.php'); exit;
}
//$news = array_reverse($news);
if (empty($_GET['start'])){
$start = 0;
}else{
$start
= $_GET['start'];
}
if ($total < $start + 5){
$end = $total;
}else{
$end = $start + 5;
}
for ($i = $start; $i < $end; $i++){
$ndata = explode(":||:",$news[$i]);
$gm = explode('.', $u['log']);
if($udata[10]
>= 2){
echo '<br><div style="margin-bottom:5px;">'.$ndata[0].'<br><br>
<a href="/news.php?go=dn&id='.(($total-1)-$i).'">[x]</a> '.$ndata[1].'<br><br>
Опубликовано: <a href="/search.php?go=go&nick='.$ndata[3].'">'.nick($ndata[3]).'</a> <font color="#666">'.date('d.m в H:i', $ndata[2]).'</font><br>
Обсуждения: <a href="/news.php?go=com&id='.(($total-1)-$i).'"><font color="#666">('.$ndata[4].')</font></a></div>
';
}else{
echo '<br><div style="margin-bottom:5px;">'.$ndata[0].'<br><br>
'.$ndata[1].'<br><br>
Опубликовано: <a href="/search.php?go=go&nick='.$ndata[3].'">'.nick($ndata[3]).'</a> <font color="#666">'.date('d.m в H:i', $ndata[2]).'</font><br>
Обсуждения: <a href="/news.php?go=com&id='.(($total-1)-$i).'"><font color="#666">('.$ndata[4].')</font></a></div>
';
}
}
echo '
- - -<br>
';
if($start != 0){
echo '
<a href="/chat.php?start='.($start - 10).'"><Назад</a>';
}else{
echo '<Назад.';
}
echo '
|
';
if($total > $start + 10){
echo '<a href="chat.php?start='.($start + 10).'">Далее></a>';
}else{
echo 'Далее>';
}
break;
case 'com':
$id = check::num($_GET['id']);
$news = file("data/news.dat");
if($id != 0){
if(empty($id)){
header('Location: /news.php'); exit;
}
if($news[$id]
== ''){
echo '
Такой новости не существует!
';
include('files/down.php'); exit;
}
}
$ndata = explode(':||:', $news[$id]);
echo '
<big><a href="/news.php">Новости</a> » '.$ndata[0].'</b></big><br>- - -<br>
'.$ndata[1].'<br><br>
Опубликовано: <a href="/search.php?go=go&nick='.$ndata[3].'">'.nick($ndata[3]).'</a> <font color="#666">'.date('d.m в H:i', $ndata[2]).'</font><br>
<br>
';
if(isset($_POST['msg'])){
$msg = check::text(check::nobr($msg));
if(empty($msg)){
header('Location: /news.php?go=com&id='.$id.''); exit;
}
$addcom = ''.$id.':||:'.$msg.':||:'.$u['log'].':||:'.time().':||:';
$fp = fopen("data/ncoms.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$addcomrn");
flock ($fp,LOCK_UN);
fclose($fp);
$file = 'data/news.dat';
$array = file($file);
$input = ''.$ndata[0].':||:'.$ndata[1].':||:'.$ndata[2].':||:'.$ndata[3].':||:'.($ndata[4]+1).':||:';
$array[$id] = $input."n";
file_put_contents($file, $array);
header('Location: /news.php?go=com&id='.$id.'');
}
echo '
<form action="/news.php?go=com&id='.$id.'" method="post">
Сообщение:<br><textarea rows="2" name="msg" style="width:99%;"></textarea><br>
<input type="submit" value="Написать"/> <a href="/news.php?go=com&id='.$id.'&r='.rand(11111, 99999).'"><input type="submit" value="Обновить"/></a>
</form><br>
';
$ncoms = file('data/ncoms.dat');
$ncoms = array_reverse($ncoms);
$total = count($ncoms);
for($i = 0; $i < $total; $i++){
$ncdata = explode(":||:", $ncoms[$i]);
$ncdata_99[]
= $i;
$ncdata_0[] = $ncdata[0];
$ncdata_1[] = $ncdata[1];
$ncdata_2[] = $ncdata[2];
$ncdata_3[] = $ncdata[3];
}
if(empty($ncdata_0)){
echo '<br>Сообщений нет.';
}else{
foreach($ncdata_0 as $k
=> $v){
if($ncdata_0[$k]
== $id){
if($udata[10]
>= 2)
$dat_screen[] = '
<br><a href="/news.php?go=com_del&id='.$ncdata_99[$k].'">[x]</a> <a href="/search.php?go=go&nick='.$ncdata_2[$k].'">'.nick($ncdata_2[$k]).'</a> '.status($ncdata_2[$k]).' <a href="/news.php?go=com_say&id='.$id.'&nick='.$ncdata_2[$k].'">[ отв. ]</a> ( '.date('d.m в H:i', $ncdata_3[$k]).' )<br>
'.$ncdata_1[$k].'
';
else $dat_screen[] = '
<br><a href="/search.php?go=go&nick='.$ncdata_2[$k].'">'.nick($ncdata_2[$k]).'</a> '.status($ncdata_2[$k]).' <a href="/news.php?go=com_say&id='.$id.'&nick='.$ncdata_2[$k].'">[ отв. ]</a> ( '.date('d.m в H:i', $ncdata_3[$k]).' )<br>
'.$ncdata_1[$k].'
';
}
}
$total = count($dat_screen);
if($total == 0) echo 'Сообщений нет.';
if(empty($_GET['start'])) $start = 0;else $start = $_GET['start'];
if ($total < $start + 10) $end = $total; else $end = $start + 10;
for ($i = $start; $i < $end; $i++){
echo $dat_screen[$i];
}}
echo '<br>- - -<br>';
if($start != 0){
echo '
<a href="/news.php?go=com&id='.$id.'&start='.($start - 10).'"><Назад</a>';
}else{
echo '<Назад.';
}
echo '
|
';
if($total > $start + 10){
echo '<a href="/news.php?go=com&id='.$id.'&start='.($start + 10).'">Далее></a>';
}else{
echo 'Далее>';
}
break;
case 'com_del':
if($udata[10] < 2){
header('Location: /news.php'); exit;
}
$id = check::num($_GET['id']);
$file = 'data/ncoms.dat';
$array = file($file);
$array2 = explode(':||:', $array[$id]);
$carray = count($array);
$id = ($carray-1)-$id;
if($id != 0){
if($id == '' or $array[$id] == ''){
echo '
Такого сообщения не существует!
';
include('files/down.php'); exit;
}}
$input = '';
$array[$id] = $input;
file_put_contents($file, $array);
$file2 = 'data/news.dat';
$array3 = file($file2);
$array4 = explode(':||:', $array3[$array2[0]]);
if($array4[4] == 0) $array4[4] = 0; else $array4[4] = ($array4[4]-1);
$input2 = ''.$array4[0].':||:'.$array4[1].':||:'.$array4[2].':||:'.$array4[3].':||:'.$array4[4].':||:';
$array3[$array2[0]] = $input2;
file_put_contents($file2, $array3);
echo 'Сообщение удалено!';
break;
case 'com_say':
$id = check::num($_GET['id']);
$news = file("data/news.dat");
if($id != 0){
if(empty($id)){
header('Location: /news.php'); exit;
}
if($news[$id]
== ''){
echo '
Такой новости не существует!
';
include('files/down.php'); exit;
}
}
$nwdata = explode(':||:', $news[$id]);
echo '
<big><a href="/news.php">Новости</a> » '.$nwdata[0].'</big><br>- - -<br>
';
$nick = check::text($nick);
if(!file_exists('data/reg/'.$nick.'.dat')){
echo '
Персонаж не найден или его не существует...
';
include('files/down.php'); exit;
}
$nick2 = file('data/reg/'.$nick.'.dat');
$ndata = explode(':||:', $nick2[0]);
if($ndata[0]
== $u['log']){
echo '
Самом себе нельзя писать.
';
include('files/down.php'); exit;
}
if(isset($_POST['msg'])){
$msg = check::text(check::nobr($msg));
if(empty($msg)){
echo '
Сообщение осталось пустым.
';
include('files/down.php'); exit;
}
$addcom = ''.$id.':||:для <a href="/search.php?go=go&nick='.$ndata[0].'">'.nick($ndata[0]).'</a>: '.$msg.':||:'.$u['log'].':||:'.time().':||:';
$fp = fopen("data/ncoms.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$addcomrn");
flock ($fp,LOCK_UN);
fclose($fp);
$file = 'data/news.dat';
$array = file($file);
$input = ''.$nwdata[0].':||:'.$nwdata[1].':||:'.$nwdata[2].':||:'.$nwdata[3].':||:'.($nwdata[4]+1).':||:';
$array[$id] = $input."n";
file_put_contents($file, $array);
header('Location: /news.php?go=com&id='.$id.'');
}
echo '
<form action="/news.php?go=com_say&id='.$id.'&nick='.$ndata[0].'" method="post">
Сообщение для <a href="/search.php?go=go&nick='.$ndata[0].'">'.nick($ndata[0]).'</a>:<br>
<textarea name="msg" style="width:99%;" rows="2"></textarea><br>
<input type="submit" value="Написать"/>
</form>
';
break;
}
}else{
header('Location: /index.php');
}
include('files/down.php');
?>