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

Размер файла: 6.36Kb
<?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();
?>