Просмотр файла guest.php

Размер файла: 11.66Kb
<?php
 ##############################################################################
##                                                                            ##
##                                  P C M S                                   ##
##    Движок на файлах                                                        ##
##    Скрипт распространяется бесплатно!                                      ##
##    Запрещается продавать его и вносить изменения в код!                    ##
##                                                                            ##
##    Автор скрипта: Proton (http://wap-svoboda.com                           ##
##    Создан в ноябре 2009 года.                                              ##
##                                                                            ##
 ##############################################################################
 
$path=$_SERVER['DOCUMENT_ROOT'];
include $path.'/config.php';
include $path.'/functions.php';
$act=@$_GET['act']?htmlspecialchars($_GET['act']):'';
if (empty($act)) {
################################################################################
/////////////////////////////////Главная страница///////////////////////////////
################################################################################
echo head_tags('Гостевая книга').'
<div class="t1">
<div class="t2">
<div class="t3">
';
echo '<div class="tcs">
<div class="t2">
<div class="bg1">
<form action="guest.php?act=say" method="post">
Сообщение:<br />
<textarea name="mess" nums="47" rows="3"></textarea><br />
<input type="submit" value="Добавить / Обновить" name="submit" /></form>
</div></div></div>
';

$page=@$_GET['page']?htmlspecialchars($_GET['page']):1;
$count_mess=0;
if ($file=@file($path.'/data/guest.dat')) {
$count_mess=$count=count($file);
$file=array_reverse($file);
$obsum=$page*7;
$nasum=$obsum-7;
for($i=$nasum;$i<$obsum;$i++) {
if (!empty($file[$i])) {
// начало строк
echo '<div class="bg2">
<div class="cs">
';
$str=trim($file[$i]);
$array=explode('||',$str);
$id_user=$array[0];

$time=date("H:i d/m/y",$array[1]);
$id_mess=$i+1;
$mess=trim(stripslashes($array[2]));
$mess=htmlspecialchars($mess);
$mess=str_replace('[br/]',"<br />\r\n",$mess);
$mess=smile($mess);
if (is_numeric($id_user)) {
$user='<a href="/user.php?user='.$id_user.'"><b>'.search_user($id_user).'</b></a> '.online_tag($id_user).'';
$mess=preg_replace('|http://([0-9a-z\-\.\?\/\=\+\_\&\;\:\%\#\-\)\(\!\,\]\[\~]+)|i','<a href="http://$1">http://$1</a>',$mess);
} else {
$user='<b>Гость</b>';
$mess=preg_replace('|http://([0-9a-z\-\.\?\/\=\+\_\&\;\:\%\#\-\)\(\!\,\]\[\~]+)|i',$_SERVER['HTTP_HOST'],$mess);
}
echo ''.$user.'';
if ($status=='Admin') {
echo ' (<a href="guest.php?act=edit&amp;id_mess='.$id_mess.'">?</a>)'; 
}
echo '<br />
<b>'.$time.'</b><br />
'.$mess.'<br />
';
if (!empty($array[3])) {
$otvet=trim(stripslashes($array[3]));
$otvet=htmlspecialchars($otvet);
$otvet=str_replace('[br/]',"<br />\r\n",$otvet);
$otvet=smile($otvet);
$otvet=preg_replace('|http://([0-9a-z\-\.\?\/\=\+\_\&\;\:\%\#\-\)\(\!\,\]\[\~]+)|i','<a href="http://$1">http://$1</a>',$otvet);
echo '<span style="color:red">Ответ админа:</span> '.$otvet.'<br />
';
}

// Конец строк
echo '<div class="line"></div>
</div></div>
';
}}

echo '</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
';
$page_nav=ceil($count_mess/7);
if ($page<=$page_nav and $page_nav>1) {
echo 'Страницы: ';
$pages=3;
$link=0;
$link2=0;
if ($page>($page_nav-$pages)) {
$link2=$page_nav-$page;
$link2=$pages-$link2;
}
if ($page>($pages+1) and $page_nav>7) {
echo '<a href="guest.php?page=1">1</a> ';
}
if (($page-$pages)>2 and $page_nav>8) {
echo ' ... ';
}
for ($i=(($page-$pages)-$link2); $i<$page; $i++) {
if ($i>0) {
echo '<a href="guest.php?page='.$i.'">'.$i.'</a> ';
$link++;
}}
$link=$pages-$link;
echo '<b>'.$page.'</b> ';
for ($i=($page+1); $i<((($page+$pages)+1)+$link); $i++) {
if ($i<=$page_nav) {
echo '<a href="guest.php?page='.$i.'">'.$i.'</a> ';
}}
if (($page+$pages)<($page_nav-1) and $page_nav>8) {
echo ' ... ';
}
if ($page<($page_nav-$pages) and $page_nav>7) {
echo '<a href="guest.php?page='.$page_nav.'">'.$page_nav.'</a>';
}
echo '<br />
';
}} else {
echo '<div class="bg2">
<div class="cs">
Сообщений нет!<br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
';
}
if ($status=='Admin' and $count_mess>2) {
echo '<a href="guest.php?act=unset">Очистить базу</a><br />
'; 
}
//echo '<a href="guest.php?act=say">Написать</a><br />';
echo '<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>

'.foot_tags($timestart);
} else if ($act=="say") {
################################################################################
////////////////////////////////Создаем Сообщение///////////////////////////////
################################################################################
if (empty($_POST['submit'])) {
echo head_tags('Форма ввода').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="tcs">
<div class="t2">
<div class="bg1">
<form action="guest.php?act=say" method="post">
Текст сообщения:<br />
<textarea cols="25" rows="5" name="mess"></textarea><br />
<input type="submit" value="Отправить" name="submit" />
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="guest.php?">Сообщения</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart);
} else {
if (!empty($_POST['mess'])) {
$id=$id?$id:'Гость';
$mess=stripslashes(trim($_POST['mess']));
$mess=substr($mess,0,1500);
$mess=str_replace(array("\r\n","\n","
","\r"),"[br/]",$mess);
$mess=str_replace('||','II',$mess);
if ($file=@file($path.'/data/guest.dat')) {
$count=count($file);
if ($count>24) {
unset($file[0]);
@file_put_contents($path.'/data/guest.dat',$file);
}
$file=array_reverse($file);
for($i=0;$i<3;$i++) {
if (!empty($file[$i])) {
$str=trim($file[$i]);
$array=explode('||',$str);
$check_mess=$array[2];
if ($mess==$check_mess) {
echo head_tags('Ошибка записи').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
Вы пишете предыдущее сообщение!<br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="guest.php?">Сообщения</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart); exit;
}}}}
if ($fopen=fopen($path.'/data/guest.dat','a')) {
fputs($fopen,"$id||$time||$mess\r\n");
fclose($fopen);
$_SESSION['text']='Сообщение успешно добавлено!<br />';
$messages=@file_get_contents($path.'/data/count/guest.dat')+1;
@file_put_contents($path.'/data/count/guest.dat',$messages);
}}
header("location: guest.php?act=&rand=".rand(1111,9999)."&".SID); exit;
}} else if ($act=="edit") {
################################################################################
///////////////////////////////////Редактор/////////////////////////////////////
################################################################################
if ($status=='Admin') {
$id_mess=$_GET['id_mess']-1;
if (empty($_POST['mess'])) {
$file=@file($path.'/data/guest.dat');
$file=array_reverse($file);
$str=trim($file[$id_mess]);
$array=explode('||',$str);
$mess=htmlspecialchars($array[2]);
$mess=str_replace('[br/]',"\r\n",$mess);
$otvet=@htmlspecialchars($array[3]);
$otvet=str_replace('[br/]',"\r\n",$otvet);
echo head_tags('Редактор').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="tcs">
<div class="t2">
<div class="bg1">
<form method="post">
<input type="hidden" name="id_mess" value="'.($id_mess+1).'" />
<input type="hidden" name="act" value="edit" />
Текст сообщения:<br />
<textarea class="button" cols="25" rows="4" name="mess">'.$mess.'</textarea><br />
Ответ админа:<br />
<textarea class="button" cols="25" rows="2" name="otvet">'.$otvet.'</textarea><br />
<input class="form_go" type="submit" value="Изменить" /> 
<input class="form_go" type="submit" name="del" value="Удалить" />
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="guest.php?">Сообщения</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart);
} elseif (empty($_POST['del'])) {
$id_mess=$_POST['id_mess']-1;
$file=@file($path.'/data/guest.dat');
$file=array_reverse($file);
$str=trim($file[$id_mess]);
$array=explode('||',$str);
$id_user=$array[0];
$time=$array[1];
$otvet=@stripslashes(trim($_POST['otvet']));
$otvet=substr($otvet,0,1500);
$otvet=str_replace(array("\r\n","\n","
","\r"),"[br/]",$otvet);
$otvet=str_replace('||','II',$otvet);
$mess=stripslashes(trim($_POST['mess']));
$mess=substr($mess,0,1500);
$mess=str_replace(array("\r\n","\n","
","\r"),"[br/]",$mess);
$mess=str_replace('||','II',$mess);
$file[$id_mess]="$id_user||$time||$mess||$otvet\r\n";
$file=array_reverse($file);
if (@file_put_contents($path.'/data/guest.dat',$file)) {
$_SESSION['text']='Сообщение исправлено!<br />';
}
header("location: guest.php?act=&rand=".rand(1111,9999)."&".SID); exit;
} else {
$id_mess=$_POST['id_mess']-1;
$file=@file($path.'/data/guest.dat');
$file=array_reverse($file);
unset($file[$id_mess]);
$file=array_reverse($file);
@file_put_contents($path.'/data/guest.dat',$file);
$messages=@file_get_contents($path.'/data/count/guest.dat')-1;
@file_put_contents($path.'/data/count/guest.dat',$messages);
$_SESSION['text']='Сообщение удалено!<br />';
header("location: guest.php?act=&rand=".rand(1111,9999)."&".SID); exit;
}}} else if ($act=="unset") {
################################################################################
//////////////////////////////Очистка базы сообений/////////////////////////////
################################################################################
if ($status=='Admin') {
if (empty($_GET['unset'])) {
echo head_tags('Очистка базы').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
Пожалуйста подтвердите очистку!<br />
&#187; <a href="guest.php?act=unset&amp;unset=1">Подтверждаю</a><br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="guest.php?">Сообщения</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart); exit;
} else {
@file_put_contents($path.'/data/guest.dat','');
@file_put_contents($path.'/data/count/guest.dat',0);
$_SESSION['text']='База сообщений успешно очищена!<br />';
header("location: guest.php?act=&rand=".rand(1111,9999)."&".SID); exit;
}}}











?>