<?php
/*Skrypt pochodzi z książki "PHP. 101 praktycznych skryptów"
  autor: Marcin Lis                    http://marcinlis.com*/

$ile = 2;

function removeTags($str)
{
  return htmlentities($str);
}

function readRecord($result)
{
  $row = mysql_fetch_row($result);
  if(!$row){
    return false;
  }
  else{
    $contents = $row[1]."<br />";
    $contents .= $row[2]."<br />";
    $contents .= $row[3]."<br />";
    $contents .= $row[4]."<br /><br />";
  }
  return $contents;
}

function readGuestBook($from, $ile)
{
  $query = "SELECT * FROM GUESTBOOK ";
  $query .= "ORDER BY ID DESC LIMIT $from, $ile";

  $result = mysql_query($query);
  if(!$result){
    //echo("Problem z bazą danych. Odrzucone zapytanie.1");
    return false;
  }
  $contents = "";
  do{
    $record = readRecord($result);
    $contents .= $record;
  }
  while ($record !== false);
  return $contents;
}
function addToGuestBook($imie, $nazwisko, $email, $contents)
{
  $imie = removeTags($imie);
  $nazwisko = removeTags($nazwisko);
  $email = removeTags($email);
  $contents = removeTags($contents);

  $query = "INSERT INTO GUESTBOOK (IMIE, NAZWISKO, EMAIL, CONTENTS) ";
  $query .= "VALUES('".$imie."','";
  $query .= $nazwisko."','";
  $query .= $email."','";
  $query .= $contents."'";
  $query .= ")";
  $result = mysql_query($query);
  if(!$result){
    //echo("Problem z bazą danych. Odrzucone zapytanie.");
    return false;
  }
}

if(isSet($_POST["imie"])){
  $imie = $_POST["imie"];
}
else{
  $imie = "";
}

if(isSet($_POST["nazwisko"])){
  $nazwisko = $_POST["nazwisko"];
}
else{
  $nazwisko = "";
}

if(isSet($_POST["email"])){
  $email = $_POST["email"];
}
else{
  $email = "";
}

if(isSet($_POST["contents"])){
  $contents = $_POST["contents"];
}
else{
  $contents = "";
}

$link = mysql_connect("localhost", "test", "test");
$flag = mysql_select_db("test");
if(!$link || !$flag){
  echo("Problem z połączeniem z bazą danych.");
  exit;
}
$query = "SELECT COUNT(*) FROM GUESTBOOK";

if(!$result = mysql_query($query)){
  echo("Problem z bazą danych. Odrzucone zapytanie.");
  mysql_close($link);
  exit;
}

if(!$row = mysql_fetch_row($result)){
  echo("Problem z bazą danych. Odrzucone zapytanie.");
  mysql_close($link);
  exit;
}
$rek_no = $row[0];

if(isSet($_GET["from"])){
  $from = $_GET["from"];
}
else{
  $from = 0;
}

if(!is_numeric($from) || $from < 0){
  $from = 0;
}

if($from - $ile < 0 || $from - $ile > $rek_no)
  $prev = 0;
else
  $prev = $from - $ile;

if($from + $ile > $rek_no)
  $next = $rek_no;
else
  $next = $from + $ile;

if($imie == "" || $nazwisko == "" || $email == "" || $contents == ""){
  $tempStr = readGuestBook($from, $ile);
  echo($tempStr);
}
else{
  addToGuestBook($imie, $nazwisko, $email, $contents);
  $tempStr = readGuestBook($from, $ile);
  echo($tempStr);
}

mysql_close($link);

$code = <<<TEMP
<a href="guestbook.php?from=$prev">Poprzednie</A> 
<a href="guestbook.php?from=$next">Następne</A>
TEMP;

if($rek_no >= $ile){
  echo("$code");
}
?>
