$v)
{
$text = preg_replace("/\b$k\b/i",$v,$text);
}
return $text;
} // END filter_bad_words
function showPrivate($pass,$num) {
global $settings;
if ($pass != $settings[apass]) {problem('Wrong password! Only the guestbook owner may read this post!');}
$delimiter="\t";
$lines=file($settings['logfile']);
list($name,$from,$email,$url,$comment,$added,$isprivate,$reply)=explode($delimiter,$lines[$num]);
echo '
Submitted by
Comments:
Name: '.$name.'
';
if ($from)
{
echo 'From: '.$from.' ';
}
if ($settings['use_url'] && $url)
{
echo 'Website: '.$url.' ';
}
if ($email)
{
echo 'E-mail: '.$email.'';
}
echo '
'','url' => '');
$char = array('.','@');
$repl = array('.','@');
$v['email']=htmlspecialchars($_POST['email']);
if (strlen($v['email']) > 0 && !(preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$v['email']))) {$v['email']='INVALID';}
$v['email']=str_replace($char,$repl,$v['email']);
if ($settings['use_url'])
{
$v['url']=htmlspecialchars($_POST['url']);
if ($v['url'] == 'http://' || $v['url'] == 'https://') {$v['url'] = '';}
elseif (strlen($v['url']) > 0 && !(preg_match("/(http(s)?:\/\/+[\w\-]+\.[\w\-]+)/i",$v['url']))) {$v['url'] = 'INVALID';}
}
elseif (!empty($_POST['url']))
{
$_SESSION['block'] = 1;
problem('You cannot signup this guestbook at the moment!',0);
}
else
{
$v['url'] = '';
}
return $v;
} // END check_mail_url
function addEntry($name,$from,$email,$url,$comments,$isprivate="0") {
global $settings;
/* This part will help prevent multiple submissions */
if ($settings['one_per_session'] && $_SESSION['add'])
{
problem('You may only submit this guestbook once per session!',0);
}
$delimiter="\t";
$added=date ("F j, Y");
$comments_nosmileys=$comments;
$comments = wordwrap($comments,$settings['max_word'],' ',1);
$comments = preg_replace('/(\r\n|\n|\r)/',' ',$comments);
$comments = preg_replace('/( \s*){2,}/','
',$comments);
if ($settings['smileys'] == 1 && $_REQUEST['nosmileys'] != "Y") {$comments = processsmileys($comments);}
if ($settings['filter']) {
$comments = filter_bad_words($comments);
$name = filter_bad_words($name);
$from = filter_bad_words($from);
}
$addline = $name.$delimiter.$from.$delimiter.$email.$delimiter.$url.$delimiter.$comments.$delimiter.$added.$delimiter.$isprivate.$delimiter.'0'.$delimiter.$_SERVER['REMOTE_ADDR']."\n";
$fp = @fopen($settings['logfile'],'rb') or problem("Can't open the log file ($settings[logfile]) for reading! CHMOD this file to 666 (rw-rw-rw)!");
$links = @fread($fp,filesize($settings['logfile']));
fclose($fp);
$addline .= $links;
$fp = fopen($settings['logfile'],'wb') or problem("Couldn't open links file ($settings[logfile]) for writing! Please CHMOD all $settings[logfile] to 666 (rw-rw-rw)!");
fputs($fp,$addline);
fclose($fp);
if ($settings['notify'] == 1)
{
$char = array('.','@');
$repl = array('.','@');
$email=str_replace($repl,$char,$email);
$message = "Hello!
Someone has just signed your guestbook!
Name: $name
From: $from
E-mail: $email
Website: $url
Message (without smileys):
$comments_nosmileys
Visit the below URL to view your guestbook:
$settings[gbook_url]
End of message
";
mail("$settings[admin_email]","Someone has just signed your guestbook",$message);
}
/* Register this session variable */
$_SESSION['add']=1;
?>
';
} // END printTopHTML
function printDownHTML() {
global $settings;
eval(gzinflate(base64_decode('DcpHkqNIAADA50x3cACEcDGxB6wEBQgEwl028N4VojCv381zFi
jpf6qrGcs++RY/abIWzP3fvMimvPj5I2bqs1ssTRBkgSYOKgPyrojWtcuoHnOxF/beFjKQkjd+WINyn9
klnSIvDtDJrUxQnSV+3lt7ODKuBO/CTFv9Hs4x1yGxdb8RNDBvTnX1WYae+ZHCGW6s1F8nrMz6IpqpEO
6bnch2y1s5by1zGSCaYLDmpE4uRzxnKlvNp5dYpW7CY5+DVsjwUijmcIjYiWY4eAlY7aEWp+b81q9quz
gzrZLvthutD8YYZA9t2junbnLlSmffs/3Mo8v/R8pQT42I59hSY9cpjQN7BlDFwevrP6crX0ajztLYub
zAgwEbr+/M31bmSHv70XNrMgty/GC5qFbIc92VrwkENqEiUMYIWFQl0Ide6IMMepVZCqwyS0bDlJYh9u
kw1vdLBw0aJXF8suRVfuf75n6qnsRV39ATUgCe/3qH/vFiabF/mZJW6GEUUoXnxLM134ihQy5rkjP8rG
J6Hq0cucqSqyuxSXpO7AFWiXVfTe9EoyEW37LK1+XlridWBOtKAdCXvMN/nWzEnmP59npu38gZeIT0qB
o7lRIMvScol60w+Tunk9vg2QtkiqXLl4MeQm8cX7wHlU6EVJYRN1TTzTCQHySvYwvO66Z/7o1/iN3xuq
idw4QuWyQO9TN0pdAAPKOqYYTfXOYJCtNQUX/OyupOxNWZIdAl6DpSHWj44zy02qgsGNJbbUAxsfgHMd
rjzDXfVnLshZecQZzoh6F5ZYbb9cB2Z5IZRXpYA+pel+hioDi0zOFY7X2no0tGzel0M9OisqWdkk3zQP
xKPe65/A2Q6z5CDwRlq4DoCbliGq4kueJBqzdAVgOP+kI91krrB2VaNQptqYSvxX3Xbs6HuiUUZlIMSh
VYOrlUcO5+0Kp52mRJFmmRiiyvMaE+uW9hOmscxxFF4yXFYxf3z5/f39+//wE=')));
} // END printDownHTML
function gbook_input($in,$error=0) {
$in = trim($in);
if (strlen($in))
{
$in = htmlspecialchars($in);
$in = preg_replace('/&(\#[0-9]+;)/','&$1',$in);
}
elseif ($error)
{
problem($error);
}
return stripslashes($in);
} // END gbook_input()
function gbook_isNumber($in,$error=0) {
$in = trim($in);
if (preg_match("/\D/",$in) || $in=="")
{
if ($error)
{
problem($error);
}
else
{
return '0';
}
}
return $in;
} // END gbook_isNumber()
function JunkMark($name,$from,$email,$url,$comments) {
/*
JunkMark(TM) SPAM filter
v1.2 from 2nd Feb 2007
(c) Copyright 2006-2007 Klemen Stirn. All rights reserved.
The function returns a number between 0 and 100. Larger numbers mean
more probability that the message is SPAM. Recommended limit is 60
(block message if score is 60 or more)
THIS CODE MAY ONLY BE USED IN THE "GBOOK" SCRIPT FROM PHPJUNKYARD.COM
AND DERIVATIVE WORKS OF THE GBOOK SCRIPT.
THIS CODE MUSTN'T BE USED IN ANY OTHER SCRIPT AND/OR REDISTRIBUTED
IN ANY MEDIUM WITHOUT THE EXPRESS WRITTEN PERMISSION FROM KLEMEN STIRN!
*/
eval(gzinflate(base64_decode('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
vvv//9Pw==')));
return $myscore;
} // END JunkMark()
function gbook_IP() {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif (isset($_SERVER['HTTP_VIA'])) {
$ip = $_SERVER['HTTP_VIA'];
}
elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
else {
die('ERROR: Unable to get your IP address, access blocked!');
}
return $ip;
} // END gbook_IP()
function gbook_CheckIP() {
$ip = gbook_IP();
$myBanned = file_get_contents('banned_ip.txt');
if (strpos($myBanned,$ip) !== false) {
die('ERROR: You have been permanently banned from this guestbook!');
}
return true;
} // END gbook_CheckIP()
function gbook_banIP($ip,$doDie=0) {
$fp=fopen('banned_ip.txt','a');
fputs($fp,$ip.'%');
fclose($fp);
if ($doDie) {
die('ERROR: You have been permanently banned from this guestbook!');
}
return true;
} // END gbook_banIP()
function gbook_session_regenerate_id() {
if (version_compare(phpversion(),'4.3.3','>=')) {
session_regenerate_id();
} else {
$randlen = 32;
$randval = '0123456789abcdefghijklmnopqrstuvwxyz';
$random = '';
$randval_len = 35;
for ($i = 1; $i <= $randlen; $i++) {
$random .= substr($randval, rand(0,$randval_len), 1);
}
if (session_id($random)) {
setcookie(
session_name('GBOOK'),
$random,
ini_get('session.cookie_lifetime'),
'/'
);
return true;
} else {
return false;
}
}
} // END gbook_session_regenerate_id()
?>