Description:
This is a basic guest book that does not use a database,
a text file is used with values sepeerated by new lines
and the ;
Details:
Email is validated. Name and message are check for values.
****************************** */
class guestbook {
var $name ;
var $message ;
var $guestLog ;
var $handle ;
var $filename ;
var $errors ;
function guestbook(){
$this->errors = array();
$this->setName($_POST['name']);
$this->setMessage($_POST['message']);
}
function init(){
// Open data file
if (!$this->handle = fopen($this->filename, 'r')) {
echo "Cannot open file ($this->filename)";
}
if( $_POST['phpaction'] == "true" ){
// validate guestbook entry.
if(is_writable($this->filename) ){
$this->errors = $this->validate();
if( empty($this->errors) ){
$this->writeNew();
} else {
// echo "Data Not valid.";
}
} else {
// echo "File note writable!";
}
}
$this->populateObj();
fclose($this->handle);
}
function validate(){
$errors = array();
if ( empty( $this->name ) ){
$errors['name'] = "Kérlek írd be a neved.." ;
}
if ( empty( $this->message ) ){
$errors['message'] = "Kérlek írd be a hívókódod.";
}
return $errors;
}
function writeNew(){
$content = "".$this->name .";".";".$this->message.";".date("Y-m-d h:m:s").";\n";
$handle = fopen($this->filename, 'a');
// Write $somecontent to our opened file.
if (fwrite($handle, $content) === FALSE) {
echo "Cannot write to file ($this->filename)";
exit;
}
fclose($handle);
//echo "Success, wrote ($this->name) to file ($this->filename)";
}
function populateObj(){
$handle = fopen($this->filename, "r");
$contents = fread($handle, filesize($this->filename));
fclose($handle);
$book = array();
$contents = split(";\n", $contents);
foreach($contents as $content){
if($content != ""){
$content = split(";", $content );
array_push($book, $content) ;
}
}
$this->setBook($book);
}
function setFilename($filename){
$this->filename = $filename;
}
function setBook($guestLog){
$this->guestLog = $guestLog ;
}
function getBook(){
return $this->guestLog ;
}
function setName($name){
// echo "Setting name: ".$name."
\n";
$this->name = $name;
}
function setMessage($message){
// echo "setting message: ".$message."
\n";
$this->message = $message;
}
}
?>