Файл: forum.php
Строк: 106
<?php
include('files/zag.php');
if(isset($_COOKIE['aut']) and $_COOKIE['aut']
== 1){
switch($_GET['go']){
case 'nt':
$id = check::num($id);
if(!is_numeric($id) or empty($id) && $id != 0){
header('Location: /forum.php'); exit;
}
$s = file('data/forum/s.dat');
//$s = array_reverse($s);
if($s[$id] == ''){
header('Location: /forum.php'); exit;
}
$sdata = explode(':||:', $s[$id]);
echo '
<big><a href="/forum.php">Форум</a> » <a href="/forum.php?go=s&id='.$id.'">'.$sdata[0].'</a> »
Новая тема</big>
<br>- - -
';
if(isset($_POST['submit'])){
$name = check::text(check::nobr($_POST['name']));
$text = check::text(check::nobr($_POST['text']));
$tfile = 'data/forum/t.dat';
$tarray = file($tfile);
$file = 'data/forum/s.dat';
$array = file($file);
$input = ''.$sdata[0].':||:'.($sdata[1]+1).':||:'.($sdata[2]+1).':||:'.count($tarray).':||:';
$array[$id] = $input."n";
file_put_contents($file, $array);
$addt = ''.$id.':||:'.$name.':||:'.$u['log'].':||:1:||:'.$u['log'].':||:'.time().':||:0:||:';
$fp = fopen("data/forum/t.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$addtrn");
flock ($fp,LOCK_UN);
fclose($fp);
$addtext = ''.count($tarray).':||:'.$u['log'].':||:'.$text.':||:'.time().':||:';
$fp = fopen("data/forum/m.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$addtextrn");
flock ($fp,LOCK_UN);
fclose($fp);
header('Location: /forum.php?go=t&id='.count($tarray).''); exit;
}
echo '
<form action="/forum.php?go=nt&id='.$id.'" method="post">
Название:<br><input name="name" style="width:99%;"/><br>
Описание:<br><textarea name="text" style="width:99%;" rows="3"></textarea><br>
<input type="submit" value="Создать" name="submit"/>
</form><br>
';
break;
default:
echo '
<big>Форум</big><br>- - -
';
$sforum = file('data/forum/s.dat');
//$sforum = array_reverse($sforum);
$sftotal = count($sforum);
for($sf = 0; $sf
< $sftotal; $sf++){
$sfdata = explode(":||:", $sforum[$sf]);
echo '
<br><img src="img/icon/news2.png" alt="[IMG]"/> <a href="/forum.php?go=s&id='.$sf.'">'.$sfdata[0].'</a> ('.$sfdata[1].'/'.$sfdata[2].')<br>
';
$lt = file('data/forum/t.dat');
$ltdata = explode(':||:', $lt[$sfdata[3]]);
echo '
Последнее: <a href="/forum.php?go=t&id='.$sfdata[3].'">'.$ltdata[1].'</a> (<a href="/search.php?go=go&nick='.$ltdata[4].'">'.nick($ltdata[4]).'</a>/'.date('d.m в H:i', $ltdata[5]).')<br>
';
}
echo '
<br>- - -<br>
<a href="/faq.php?go=forum">Правила форума</a><br>
<a href="/forum.php?r='.rand(11111,9999).'">Обновить</a>
';
break;
case 's':
$id = check::num($id);
if(!is_numeric($id) or empty($id) && $id != 0){
header('Location: /forum.php'); exit;
}
$s = file('data/forum/s.dat');
//$s = array_reverse($s);
if($s[$id] == ''){
header('Location: /forum.php'); exit;
}
$sdata = explode(':||:', $s[$id]);
echo '
<big><a href="/forum.php">Форум</a> » '.$sdata[0].'</big><br>- - -
';
$tforum = file('data/forum/t.dat');
//$tforum = array_reverse($tforum);
$total = count($tforum);
for($i = 0; $i < $total; $i++){
$tdata = explode(":||:", $tforum[$i]);
$tdata_99[]
= $i;
$tdata_0[] = $tdata[0];
$tdata_1[] = $tdata[1];
$tdata_2[] = $tdata[2];
$tdata_3[] = $tdata[3];
$tdata_4[] = $tdata[4];
$tdata_5[] = $tdata[5];
$tdata_6[] = $tdata[6];
}
if(empty($tdata_0)){
echo '<br>В этом разделе нет тем.';
}else{
foreach($tdata_0 as $k
=> $v){
if($tdata_0[$k]
==
$id){
if($tdata_6[$k]
!= 1 && $tdata_6[$k]
== 0){
$dat_screen[]
= '<br><img src="img/icon/news.png" alt="[IMG]"/> <a href="/forum.php?go=t&id='.$tdata_99[$k].'">'.$tdata_1[$k].'</a> ('.$tdata_3[$k].')<br>
<a href="/search.php?go=go&nick='.$tdata_2[$k].'">'.nick($tdata_2[$k]).'</a>/<a href="/search.php?go=go&nick='.$tdata_4[$k].'">'.nick($tdata_4[$k]).'</a> ('.date('d.m в H:i', $tdata_5[$k]).')<br>';
}else{
$dat_screen[]
= '<br><img src="img/icon/news.png" alt="[IMG]"/> [тема закрыта] <a href="/forum.php?go=t&id='.$tdata_99[$k].'">'.$tdata_1[$k].'</a> ('.$tdata_3[$k].')<br>
<a href="/search.php?go=go&nick='.$tdata_2[$k].'">'.nick($tdata_2[$k]).'</a>/<a href="/search.php?go=go&nick='.$tdata_4[$k].'">'.nick($tdata_4[$k]).'</a> ('.date('d.m в H:i', $tdata_5[$k]).')<br>';
}
}
}
$total = count($dat_screen);
if($total == 0) echo '<br>В этом разделе нет тем.';
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="/forum.php?go=s&id='.$id.'&start='.($start - 10).'"><Назад</a>';
}else{
echo '<Назад.';
}
echo '
|
';
if($total > $start + 10){
echo '<a href="/forum.php?go=s&id='.$id.'&start='.($start + $udata[35]).'">Далее></a>';
}else{
echo 'Далее>';
}
echo '
<br>- - -<br>
<a href="/forum.php?go=nt&id='.$id.'">Новая тема</a><br>
<a href="/forum.php?go=s&id='.$id.'&r='.rand(11111,9999).'">Обновить</a>
';
break;
case 't':
$id = check::num($_GET['id']);
$t = file('data/forum/t.dat');
$total = count($t);
$t2 = check::num($t[$id]);
if($id != 0){
if($t[$id] == ''){
header('Location: /forum.php'); exit;
}}
$tdata = explode(':||:', $t[$id]);
$s = file('data/forum/s.dat');
//$s = array_reverse($s);
$sdata = explode(':||:', $s[$tdata[0]]);
echo '
<big><a href="/forum.php">Форум</a> » <a href="/forum.php?go=s&id='.$tdata[0].'">'.$sdata[0].'</a> » '.$tdata[1].'</big><br>- - -
';
$mforum = file('data/forum/m.dat');
//$tforum = array_reverse($tforum);
$total = count($mforum);
for($i = 0; $i < $total; $i++){
$mdata = explode(":||:", $mforum[$i]);
$mdata_99[]
= $i;
$mdata_0[] = $mdata[0];
$mdata_1[] = $mdata[1];
$mdata_2[] = $mdata[2];
$mdata_3[] = $mdata[3];
}
if(empty($mdata_0)){
echo '<br>В этой теме нет сообщений.';
}else{
foreach($mdata_0 as $k
=> $v){
if($mdata_0[$k]
==
$id){
$dat_screen[]
= '<a href="/search.php?go=go&nick='.$mdata_1[$k].'">'.nick($mdata_1[$k]).'</a> '.status($mdata_1[$k]).' <a href="/">[отв.]</a> ['.date('d.m в H:i', $mdata_3[$k]).']<br>
'.$mdata_2[$k].'<br>';
}
}
$total = count($dat_screen);
if($total == 0) echo '<br> В этой теме сообщений нет.';
if(empty($_GET['start']) or $_GET['start'] >= $total){
$start = 0;
}else{
$start = $_GET['start'];
}
if($total < $start + 10){
$end = $total;
}else{
$end = $start + 10;
}
for ($i = $start; $i < $end; $i++){
echo '<br><b>'.($i+1).'.</b> '.$dat_screen[$i];
}}
echo '
<br>- - -<br>
';
if(isset($_POST['text'])){
$text = check::text(check::nobr($_POST['text']));
$addtext = ''.$id.':||:'.$u['log'].':||:'.$text.':||:'.time().':||:';
$fp = fopen("data/forum/m.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$addtextrn");
flock ($fp,LOCK_UN);
fclose($fp);
$file = 'data/forum/t.dat';
$array = file($file);
$input = ''.$tdata[0].':||:'.$tdata[1].':||:'.$tdata[2].':||:'.($tdata[3]+1).':||:'.$u['log'].':||:'.time().':||:0:||:';
$array[$id] = $input."n";
file_put_contents($file, $array);
$file = 'data/forum/s.dat';
$array = file($file);
$input = ''.$sdata[0].':||:'.$sdata[1].':||:'.($sdata[2]+1).':||:'.$id.':||:';
$array[$tdata[0]] = $input."n";
file_put_contents($file, $array);
header('Location: /forum.php?go=t&id='.$id.'&start=');
}
echo '
<form action="/forum.php?go=t&id='.$id.'" method="post">
Сообщение:<br><textarea name="text" style="width:99%;"></textarea><br>
<input type="submit" value="Написать"/> <a href="/forum.php?go=t&id='.$id.'&r='.rand(11111,99999).'">Обновить</a>
</form>
- - -<br>
';
if($start != 0){
echo '
<a href="/forum.php?go=t&id='.$id.'&start='.($start - 10).'"><Назад</a>';
}else{
echo '<Назад.';
}
echo '
|
';
if($total > $start + 10){
echo '<a href="/forum.php?go=t&id='.$id.'&start='.($start + 10).'">Далее></a>';
}else{
echo 'Далее>';
}
break;
}
}else{
header('Location: /index.php');
}
include('files/down.php');
?>