From 8aafefe813e22db63b3a4b502a3e8d0a335b775e Mon Sep 17 00:00:00 2001 From: deva Date: Tue, 26 Jan 2010 13:00:58 +0000 Subject: Add guestbook module. --- htdocs/index.php | 3 +- utils/guestbook.php | 171 -------------------------------------------- utils/modules/guestbook.php | 48 ++++++------- 3 files changed, 24 insertions(+), 198 deletions(-) delete mode 100644 utils/guestbook.php diff --git a/htdocs/index.php b/htdocs/index.php index 8373362..3871c4b 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -11,7 +11,6 @@ include_once($MODULES_DIR . "/config.php"); $config = new Config($DATA_DIR . "/config.xml"); -include_once($UTIL_DIR . "/guestbook.php"); header("Content-Type: text/html; charset=UTF-8"); include_once($UTIL_DIR . "/login.php"); @@ -36,6 +35,7 @@ $pages = new Pages($DATA_DIR . "/pages.xml"); diff --git a/utils/guestbook.php b/utils/guestbook.php deleted file mode 100644 index 21b0fda..0000000 --- a/utils/guestbook.php +++ /dev/null @@ -1,171 +0,0 @@ -title = $title; - $this->email = $email; - $this->time = $time; - $this->remoteaddr = $remoteaddr; - $this->text = $text; - } - - public function show() - { - echo "
\n"; - echo "
" . $this->title . "
\n"; - echo "
" . date("D M jS Y G:i", $this->time) . "
\n"; - echo "
" . str_replace("@", "(A)", $this->email) . "
\n"; - echo "
" . $this->text . "
\n"; - echo "
\n"; - } -} - -class Guestbook { - private $file; - private $guestbook = array(); - - public function add($entry) { - $key = $entry->time; - $this->guestbook[$key] = $entry; - } - - public function write() - { - $fp = fopen($this->file, "w"); - fwrite($fp, "\n"); - - fwrite($fp, "\n"); - foreach($this->guestbook as $entry) { - fwrite($fp, " title, ENT_QUOTES, "UTF-8") . "\"\n"); - fwrite($fp, " time=\"" . $entry->time . "\"\n"); - fwrite($fp, " email=\"" . - htmlspecialchars($entry->email, ENT_QUOTES, "UTF-8") . "\"\n"); - fwrite($fp, " remoteaddr=\"" . - htmlspecialchars($entry->remoteaddr, ENT_QUOTES, "UTF-8") . "\"\n"); - fwrite($fp, " text=\"" . - htmlspecialchars($entry->text, ENT_QUOTES, "UTF-8") . "\">\n"); - fwrite($fp, " \n"); - } - fwrite($fp, "\n"); - - fclose($fp); - } - - public function show($number) - { - // If number is -1 show all shows. - if($number == -1) $number = 100000; - - foreach($this->guestbook as $entry) { - $entry->show(); - $number--; - if(!$number) return; - } - } - - private function read() - { - - $dom = new DomDocument; - $dom->preserveWhiteSpace = FALSE; - $dom->load($this->file); - $params = $dom->getElementsByTagName('entry'); - - foreach ($params as $param) { - $entry = new GuestbookEntry($param->getAttribute('name'), - $param->getAttribute('email'), - $param->getAttribute('time'), - $param->getAttribute('remoteaddr'), - $param->getAttribute('text')); - - $this->add($entry); - } - - // Key sort - krsort($this->guestbook); - } - - public function Guestbook($file) - { - $this->file = $file; - $this->read(); - } -} - -function filtermessage($name, $email, $message, $name_hidden, $email_hidden, $message_hidden) -{ - global $_SERVER; - - // First filter known bad IPs - $spammers = array("85.255.118.10", - "216.32.84.82", - "220.226.63.254"); - $ip = $_SERVER['REMOTE_ADDR']; - foreach($spammers as $spamip) { - if($ip == $spamip) { - // echo "Go away evil spammer!!!!"; - return false;//die(1); - } - } - - // Bot catcher! - if($name || $email || $message) return false;//$spam .= "BOTCatch\n"; - - $name = strip_tags($name_hidden); - $email = strip_tags($email_hidden); - if($name == "" && $email == "") return false;//$spam .= "Empty name and mail\n"; - if($name == "") $name = "Name unknown"; - if($email == "") $email = "Email unknown"; - - $message = strip_tags($message_hidden); - - // Banned words - if(stristr($message, "incest")) return false;//$spam .= "Contained word 'incest'\n"; - if(stristr($message, "estate")) return false;//$spam .= "Contained word 'estate'\n"; - if(stristr($message, "phentermine")) return false;//$spam .= "Contained word 'phentermine'\n"; - if(stristr($message, "viagra")) return false;//$spam .= "Contained word 'viagra'\n"; - if(stristr($message, "ringtones")) return false;//$spam .= "Contained word 'ringtones'\n"; - //if(stristr($message, "vaginal")) return false;//$spam .= "Contained word 'vaginal'\n"; - if(stristr($message, "messed up in the email of mine")) return false;//$spam .= "Contained words 'messed up in the email of mine'\n"; - if(stristr($message, "ambien")) return false;//$spam .= "Contained word 'ambien'\n"; - if(stristr($message, "dating")) return false;//$spam .= "Contained word 'dating'\n"; - if(stristr($message, "levitra")) return false;//$spam .= "Contained word 'levitra'\n"; - //if(stristr($message, "myspace")) return false;//$spam .= "Contained word 'myspace'\n"; - - if($message == "") return false;//$spam .= "Empty message\n"; - $date = date("r"); - //if(strstr($message, "http://")) return false;//$spam .= "Contains URL\n"; - - // Message is not SPAM - return true; -} - -// -// INIT CODE: -// -if($page == "guestbook" && $action == "post" && - !filtermessage($name, $email, $message, $name_hidden, $email_hidden, $message_hidden)) { -//!strstr($_SERVER['HTTP_REFERER'], "guestbook")) { - header("HTTP/1.0 404 Not Found"); -?> - - -404 Not Found - -

Not Found

-

The requested URL /?page=guestbook was not found on this server.

-
-
Apache/2.0.58 (Gentoo) mod_ssl/2.0.58 OpenSSL/0.9.7j PHP/5.1.6-pl6-gentoo Server at www.executionroom.com Port 80
- - \ No newline at end of file diff --git a/utils/modules/guestbook.php b/utils/modules/guestbook.php index babd1ec..45fb4c5 100644 --- a/utils/modules/guestbook.php +++ b/utils/modules/guestbook.php @@ -259,44 +259,33 @@ class Guestbook { global $_SERVER; // First filter known bad IPs - $spammers = array("85.255.118.10", - "216.32.84.82", - "220.226.63.254"); + $spammers = array("85.255.118.10", "216.32.84.82", "220.226.63.254"); $ip = $_SERVER['REMOTE_ADDR']; foreach($spammers as $spamip) { if($ip == $spamip) { - // echo "Go away evil spammer!!!!"; - return false;//die(1); + return false; } } // Bot catcher! - if($name || $email || $message) return false;//$spam .= "BOTCatch\n"; - + if($name || $email || $message) return false; + $name = strip_tags($name_hidden); $email = strip_tags($email_hidden); - if($name == "" && $email == "") return false;//$spam .= "Empty name and mail\n"; + if($name == "" && $email == "") return false; if($name == "") $name = "Name unknown"; if($email == "") $email = "Email unknown"; $message = strip_tags($message_hidden); // Banned words - if(stristr($message, "incest")) return false;//$spam .= "Contained word 'incest'\n"; - if(stristr($message, "estate")) return false;//$spam .= "Contained word 'estate'\n"; - if(stristr($message, "phentermine")) return false;//$spam .= "Contained word 'phentermine'\n"; - if(stristr($message, "viagra")) return false;//$spam .= "Contained word 'viagra'\n"; - if(stristr($message, "ringtones")) return false;//$spam .= "Contained word 'ringtones'\n"; - //if(stristr($message, "vaginal")) return false;//$spam .= "Contained word 'vaginal'\n"; - if(stristr($message, "messed up in the email of mine")) return false;//$spam .= "Contained words 'messed up in the email of mine'\n"; - if(stristr($message, "ambien")) return false;//$spam .= "Contained word 'ambien'\n"; - if(stristr($message, "dating")) return false;//$spam .= "Contained word 'dating'\n"; - if(stristr($message, "levitra")) return false;//$spam .= "Contained word 'levitra'\n"; - //if(stristr($message, "myspace")) return false;//$spam .= "Contained word 'myspace'\n"; + $words = array("incest", "estate", "phentermine", "viagra", "ringtones", + "messed up in the email of mine", "ambien", "dating", "levitra"); + foreach($words as $word) { + if(stristr($message, $word)) return false; + } - if($message == "") return false;//$spam .= "Empty message\n"; - $date = date("r"); - //if(strstr($message, "http://")) return false;//$spam .= "Contains URL\n"; + if($message == "") return false; // Empty message // Message is not SPAM return true; @@ -316,7 +305,7 @@ class Guestbook { convert($message_hidden)); $this->add($entry); $this->write(); - $str = "ok"; + $str = ""; } else { $str = "SPAM"; } @@ -334,18 +323,25 @@ class Guestbook { unset($action); // Make sure the post is not posted several times if module is included several times. } + $showeditor = false; + $showposts = 0; foreach($params as $param) { switch($param) { case "editor": - return $str . $this->editor(); + $showeditor = true; break; default: - if($show == "all") return $this->show(-1); - else return $this->show(7); + if($show == "all") $showposts = -1; + else $showposts = 7; break; } } + + if($showeditor == true) $str .= $this->editor(); + if($showposts != 0) $str .= $this->show($showposts); + + return $str; } public function add($entry) { -- cgit v1.2.3