<?php
/*
///////////////////////////////////////////
Author : EuroDesign (iNeeXT)
URL : http://design.h2m.in
Support : [email protected]
Guest v1.0
///////////////////////////////////////////
*/
include_once("mod/cfg.php");
include_once("mod/functions.php");
include_once("mod/connect.php");
$ref=rand(10000,1000000);
// Количество сообщений в гостевой книге
$count_pos_page_gbook=3;
function f_table_gbook($msg_date, $author, $msg) {
echo "<div class=\"quote\"><img src=\"images/anonim.gif\" width=\"11\" height=\"11\" alt=\"mmm\" > $author
<br />[$msg_date]<br /></div>";
echo "<div class=\"block\">";
echo ''.bb_code(smiles(antimat(antirek($msg))));
echo "</div>\n";
}
error_reporting(E_ALL ^ E_NOTICE);
?>
<SCRIPT language="JavaScript">
<!--
function f_submit() {
var m_f = document.i_form;
if (m_f.i_author.value=="" || m_f.i_msg.value=="") {
window.alert("Не заполнено обязательное поле");
return false;
}
if (m_f.i_author.value.length>50) {
window.alert("В поле Имя допустимо не более 50 символов");
m_f.i_author.focus();
return false;
}
if (m_f.i_msg.value.length>2048) {
window.alert("В поле Сообщение допустимо не более 2048 символов");
m_f.i_msg.focus();
return false;
}
return true;
}
//-->
</SCRIPT>
<?php
echo '<meta http-equiv=\"refresh\" content=\"120; url=\">';
echo "<div class=\"header\">Гостевая книга\n";
echo " / <a href=\"?obn=$ref\">Обновить</a><BR></div>\n";
if ($db = @mysql_connect($host, $user, $pass)) {
mysql_select_db($base);
mysql_query("SET NAMES cp1251");
if (isset($_GET['page'])) {
$page = $_GET['page'];
}
$i_author="";
$i_msg="";
$err_msg="";
if (isset($_POST['i_go'])) {
// Форма отправлена
$i_author = $_POST['i_author'];
$i_msg = $_POST['i_msg'];
// Удаляем тэги
$i_author=strip_tags($i_author);
$i_msg=strip_tags($i_msg);
// Удаляем пробельные символы
$i_author=trim($i_author);
$i_msg=trim($i_msg);
$i_msg=HtmlSpecialChars($i_msg);
$i_author=HtmlSpecialChars($i_author);
$mass = split("\n", $i_msg);
if (count($mass) <= 10) {
$i_msg=str_replace("\n", "<BR>", $i_msg);
$i_msg=str_replace("\r", "", $i_msg);
// Если директива magic_quotes_gpc выключена,
// то добавляем защитные слэши перед спецсимволами
if (!ini_get("magic_quotes_gpc")) {
$i_author=mysql_real_escape_string($i_author);
$i_msg=mysql_real_escape_string($i_msg);
}
}
else {
$err_msg = "В сообщении допустимо не более 10 строк!<BR>\n";
}
if (strlen($i_author)>50 || strlen($i_author) == 0) {
$err_msg .= "Поле имя не заполнено или длина более ";
$err_msg .= "50 символов!<BR>\n";
}
if (strlen($i_msg)>2048 || strlen($i_msg) == 0) {
$err_msg .= "Поле сообщение не заполнено или длина ";
$err_msg .= "более 2048 символов!<BR>\n";
}
if (eregi("[a-zа-я0-9,\.\"\']{51}", $i_msg)) {
$err_msg .= "Поле сообщение содержит более 50 ";
$err_msg .= "символов без пробела!<BR>\n";
}
if (eregi("<BR><BR><BR>", $i_msg)) {
$err_msg .= "Поле сообщение содержит более 2 символов ";
$err_msg .= "перевода строки подряд!<BR>\n";
}
if (!$err_msg) {
// Если ошибок нет
$date = date("Y-m-d H:i:s");
$query = "insert into gbook values ";
$query .= "(NULL, '$i_author', '$i_msg', '$date', 'n')";
// Проверяем на повтор
$query2 = "select * from gbook order by id_msg desc limit 0,1";
$result = mysql_query($query2);
if (mysql_num_rows($result) == 1) {
$test_author = mysql_result($result, 0, "author");
$test_msg = mysql_result($result, 0, "msg");
if ($test_author===stripslashes($i_author) &&
$test_msg===stripslashes($i_msg)) {
}
// Добавляем новое сообщение
else mysql_query($query);
$page=1;
}
elseif (mysql_num_rows($result) == 0) {
// Добавляем первое сообщение
mysql_query($query);
}
$i_author="";
$i_msg="";
}
}
// Выводим сообщения
$res = mysql_query("select * from gbook order by id_msg desc");
$count = mysql_num_rows($res);
if ($count>0) {
if (!isset($page) || $page<1) $page=1;
if (!ereg('^[0-9]+$', $page)) $page=1;
$count_page=ceil($count/$count_pos_page_gbook);
if ($page>$count_page) $page=$count_page;
$pos_end=$page*$count_pos_page_gbook;
$pos_start=$pos_end-$count_pos_page_gbook;
if ($pos_end>$count) $pos_end=$count;
if ($pos_start<0) $pos_start=0;
for ($i=$pos_start; $i<$pos_end; $i++) {
$id = mysql_result($res, $i, "id_msg");
$author = mysql_result($res, $i, "author");
$msg = mysql_result($res, $i, "msg");
$d = mysql_result($res, $i, "msg_date");
$msg_date = $d[8] . $d[9] . "." . $d[5] . $d[6] . ".";
$msg_date .= $d[0] . $d[1] . $d[2] . $d[3];
$msg_date .= " " . $d[11] . $d[12] . $d[13] . $d[14] . $d[15];
f_table_gbook($msg_date, $author, $msg); // Выводим описание
}
if ($count>$count_pos_page_gbook) { // Выводим количество страниц
echo "<div class=\"header\">Страницы:\n";
for ($j=1; $j<$count_page+1; $j++) {
if ($j==$page) echo "[$j] \n";
else echo "<A href=\"?page=$j\">$j</A> \n";
}
echo "</div>\n";
}
}
else {
echo "Сообщений нет<BR>\n";
}
mysql_close($db);
}
else {
echo "Не удалось установить ";
echo "соединение с базой данных";
}
?>
<div class="header">
Новое сообщение </div>
<?php
if ($err_msg) {
// Если возникли ошибки, то выводим их описание
$i_msg=str_replace("<BR>", "\n", $i_msg);
$i_author=stripslashes($i_author);
$i_msg=stripslashes($i_msg);
echo "<div class=\"quote\">Сообщение не добавлено ";
echo "по сл. причинам:<BR>\n";
echo "$err_msg</div>\n";
}
?>
<FORM method="POST" name="i_form" id="i_form"
onsubmit="return f_submit();">
Ваше имя:<br />
<INPUT type="text" class="txt_frm" name="i_author" id="i_author" <?php echo "value=\"$i_author\""; ?> >
<br />
Сообщение:<BR>
<TEXTAREA name="i_msg" id="i_msg">
<?php echo $i_msg; ?>
</TEXTAREA><BR>
<INPUT type="submit" name="i_go" value="Добавить">
</FORM>
<a href="smiles.php">- Смайлы</a><br />
<a href="bb_code.php">- ББ-коды</a><br />
<?php
footer();
?>