File size: 4.53Kb
<?php
$title='Гостевая книга';
include '../system/func.php';
include '../system/head.php';
switch($act){
default:
echo '<div class="title">Оставить сообщение</div>';
$arr=file('gb.dat');
$cnt=count($arr);
if(isset($_POST['ok'])){
if ($cnt > 0) $out=unserialize($arr[0]);
;$data['nick']=check($_POST['nick']);
$data['text']=check($_POST['text'], true);
$data['time']=time();
$data['ua']=check($_SERVER['HTTP_USER_AGENT']);
$data['ip']=check($_SERVER['REMOTE_ADDR']);
$code=check($_POST['code']);
$_SESSION['nick']=$data['nick'];
if (empty($code) && $gb_pass != $cgb_pass){
$err='Не введён код с картинки';
}
elseif ($_SESSION['capcha'] != $code && $gb_pass != $cgb_pass){
$err='Heвepнo ввeдён кoд с картинки';
}
elseif (empty($data['nick']) && $gb_pass != $cgb_pass){
$err='Не введён ник';
}
elseif (mb_strlen($data['nick'], 'UTF') > 30 && $gb_pass != $cgb_pass){
$err='Слишкoм длинный ник';
}
elseif (mb_strtolower($data['nick'], 'UTF-8') == mb_strtolower($admin, 'UTF-8') && $gb_pass != $cgb_pass){
$err='Запрещено писать от этого ника';
}
elseif (empty($data['text'])){
$err='Не введён текст сообщения';
}
elseif (mb_strlen($data['text'], 'UTF-8') > 2000){
$err='Cлишкoм длинный тeкcт cooбщeния';
}
elseif($data['text'] == $out['text'] && $data['nick'] == $out['nick']){
$err='Вы уже это писали';
}
if (!empty($err)){
err($err);
}else{
preg_match_all('!(http://[\S]+)([\s]|$)!i',$data['text'],$url);
for($s=0; $s<count($url); $s++){
if (!preg_match('|http://'.$_SERVER['HTTP_HOST'].'|i',$url['1'][''.$s.'']) && $gb_pass != $cgb_pass){
$data['text']=str_replace($url['1'][''.$s.''].''.$url['2'][''.$s.''],'[текст скрыт]',$data['text']);
}else{
$data['text']=str_replace($url['1'][''.$s.''].''.$url['2'][''.$s.''],'<a href="'.$url['1'][''.$s.''].''.$url['2'][''.$s.''].'">Ссылка</a>',$data['text']);
}
}
include 'smiles.php';
$data['text']=str_replace($sstr,$simg,$data['text']);
$f=fopen('gb.dat','w');
fputs($f,serialize($data)."\n".implode('',$arr));
fclose($f);
header('Location: ?');
}
}
echo '<div class="menu"><form method="post">'.($gb_pass != $cgb_pass?'Ник:<br/><input type="text" name="nick" maxlength="50" size="8"'.(isset($_SESSION['nick'])?' value="'.$_SESSION['nick'].'"':'').'><br/>':'<input type="hidden" name="nick" value="'.$admin.'">').'Сообщение:<br/>[<a href="?act=smiles">Смайлы</a>]<br/><textarea name="text" rows="3" cols="20">';
if (isset($_GET['otvet']) && isset($arr[''.$_GET['otvet'].''])){
$otv=unserialize($arr[''.abs(intval($_GET['otvet'])).'']);
echo $otv['nick'].', ';
}
echo '</textarea><br/>'.($gb_pass != $cgb_pass?'Bвeдитe кoд:<br/><img src="/design/img/code.png" alt="code"> <a href="?"><img src="/design/img/obn.png" alt="Обновить"/></a><br/><input type="text" name="code" size="7"><br/>':'').'<input class="btn btn-default" type="submit" name="ok" value="Написать"></form></div>
<div class="title">Сообщения</div><div class="err">• Создатель: <kbd>'.$admin.'</kbd></div>';
if($cnt != 0){
$total=intval(($cnt-1)/10)+1;
$page=abs(intval($_GET['page']));
if(empty($page) OR $page < 0) $page = 1;
if($page > $total) $page = $total;
$past=intval($cnt/10);
$start=$page*10-10;
for($i=0; $i<10; $i++){
if ($start == $cnt) break;
$post=unserialize($arr[$start]);
echo '<div class="menu"><img src="/design/img/user.png" alt="'.$post['nick'].'"> <b><a href="?otvet='.$start.'">'.$post['nick'].'</a> ('.MyTime($post['time']).')</b>'.($gb_pass == $cgb_pass?' <a href="admin.php?act=delete&id='.$start.'">[Уд]</a> <a href="admin.php?act=edit&id='.$start.'">[Ред]</a> <a href="admin.php?act=inf&id='.$start.'">[Инф]</a>':'').'<br/><div class="st_1"></div><div class="st_2">'.$post['text'].'</div></div>';
$start++;
}
navigator($cnt, $page, '10', $total, '?page=');
}else{
echo '<div class="menu">Сообщений нет</div>';
}
if ($gb_pass == $cgb_pass){
echo '<div class="menu"><a href="admin.php?act=exit">• Выход</a></div>';
}
break;
case 'smiles':
echo '<div class="title">Смайлы</div>';
include 'smiles.php';
$cnt=count($sstr);
if ($cnt != 0){
for ($i=0; $i<$cnt; $i++){
echo '<div class="menu">'.$simg[$i].' '.$sstr[$i].'</div>';
}
}else{
echo '<div class="menu">Смайлов пока нет :)</div>';
}
break;
}
echo '<div class="menu">« <a href="/">Главная</a></div>';
include '../system/foot.php';
?>