#!/usr/local/bin/perl 

########################################################
#                                                      #
# DO NOT REMOVE THIS HEADER                            #
#                                                      #
########################################################
#                                                      #
# For Unix/Unix Compatible/Linux/FreeBSD servers.      #
#                                                      #
# This script will NOT work on MSWin32 servers.        #
#                                                      #
########################################################
#                                                      #
# Try changing the first line to #!/usr/local/bin/perl #
# if the script does not work for you.                 #
#                                                      #
########################################################
#                                                      #
# COPYRIGHT NOTICE                                     #
# Copyright 2000 by Thomas J. Delorme                  #
# All Rights Reserved.                                 #
#                                                      #
# This script may be used provided that it is not      #
# changed beyond the configuration section. Failure to #
# comply voids any and all support privledges. By      #
# using this script you agree to release the author    #
# from any liability or damages that might arise from  #
# its use. Redistributing/selling the code for this    #
# script without prior written consent is expressly    #
# forbidden.                                           #
#                                                      #
########################################################
#                                                      #
# If you would like to make money with this script,    #
# please join The Psychosys Perl Affiliate program.    #
# Details are available at the Psychosys Perl website. #
#                                                      #
########################################################
#                                                      #
# EasyGuest v1.1 by Thomas J. Delorme                  #
# Website : http://www.getperl.com                     #
# E-mail  : webmaster@getperl.com                      #
# Created : Tuesday, December 14, 1999                 #
# Revised : Saturday, January 29, 2000                 #
#                                                      #
########################################################

############   ADJUST THESE VARIABLES   ################

# You may not need to change the $mailprog variable. 
# Try it as is first. If it doesn't work try putting a # in 
# front of the first line below and remove the # on the 
# second line. If that fails, try the removing the # on
# the third line and put a # in front of the other two. 
# If that fails, ask your administrator where the sendmail
# program is on your system. 

	$mailprogram = '/usr/lib/sendmail';
	# $mailprogram = '/usr/lib/sendmail';
	# $mailprogram = '/usr/bin/sendmail';

# The date command for your server - try it as is.
# Otherwise ask your administrator where it is on your
# system. Two popular configs are shown.

	$datecommand = '/bin/date';
	# $datecommand = '/usr/bin/date';

# Name of your website

	$mysite = 'BOONPAISAL';

# URL of your website

	$homepage = 'http://www.yoyoo.com/jack/';

# If you use my EasyList mailing list script, any
# e-mail addresses collected by EasyGuest can also
# be added to your EasyList mailing list.
# Do you want to collect e-mail addresses for
# use with the EasyList mailing list program?

	$useeasylist = 'no';

# If you answered 'yes' above, enter the
# PATH of the EasyList log file - include the filename

	$listpath = '/usr/local/www/virtual/spooker1/jack/cgi-bin/guestth/emaildata.log';

# PATH of header file - include the filename

	$headfile = '/usr/local/www/virtual/spooker1/jack/cgi-bin/guestth/head.txt';

# PATH of footer file - include the filename

	$footfile = '/usr/local/www/virtual/spooker1/jack/cgi-bin/guestth/foot.txt';

# PATH of smut file - include the filename

	$smut = '/usr/local/www/virtual/spooker1/jack/cgi-bin/guestth/smut.txt';

# PATH to guestbook log - include the filename

	$guestpath = '/usr/local/www/virtual/spooker1/jack/cgi-bin/guestth/easyguest.log';

# URL of this script - include the filename

	$scripturl = 'http://www.yoyoo.com/jack/cgi-bin/guestth/easyguest.cgi';

# Password to access admin screen - CHANGE THIS IMMEDIATELY

	$adminpass = 'spooker';

# Change this to your e-mail address 
# If you're not using PERL 5 on your system ie. version 4
# or earlier, you will need to escape the @ sign like this :
# ( \@ instead of just @ )
#
# Perl 5 users should be able to enter their straight e-mail address

	$myemail = 'webmaster@yoyoo.com';

# Do you want to be notified if anyone tries to guess your admin password?

	$hacknotify = 'yes';

# Do you want to be notified if someone makes an entry in your guestbook?

	$entrynotify = 'yes';

# If you want to use file-locking for a more secure database
# keep this line as is...if you don't want to use file-locking
# or can't use 'flock' change the 1 to 0
# If you have a high-traffic site, I strongly suggest you use
# file-locking. 

	$uselock = '1';

# Do you want to disable HTML in the entries?

	$nohtml = 'yes';

# Do you want to censor adult language in the entries?

	$nosmut = 'yes';

# Edit this one to choose the font for the guestbook entries
# DO NOT use " or any special characters
# Use below for an example of what is allowed
# Also do not set a font size as the script does this automatically

	$font = 'FACE=arial,helvetica,sans-serif COLOR=000000';

# Enter the HTML Hex color for the Entry Title Block

	$titlecolor = '6699FF';

# Enter the HTML Hex color for the Entry Info Block

	$infocolor = 'BBBBBB';

# Enter the HTML Hex color for the Entry Comment Block

	$commentcolor = 'DDDDDD';

# Enter the number of entries to show per page

	$perpage = '100';

####################   STOP HERE!   ####################
#                                                      #
# You may now upload this file to your server, using   #
# the instructions you received in the readme.txt file #
#                                                      #
########################################################
#                                                      #
# WARNING : Changing anything in this box or below     #
#           may damage the script.                     #
#                                                      #
########################################################


# Get the form variables

	if ($ENV{'REQUEST_METHOD'} eq 'GET') {
        	$buffer = $ENV{'QUERY_STRING'};
	}	
	else {
        	read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
	}

# Break em up into a format the script can read

	@pairs = split(/&/, $buffer);
	foreach $pair (@pairs) {
        	($name, $value) = split(/=/, $pair);
        	$value =~ tr/+/ /;
        	$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        	$FORM{$name} = $value;
	}

	$datenow = `$datecommand +"%D"`;
	$timenow = `$datecommand +"%T (%Z)"`;
	
	chomp ($datenow);
	chomp ($timenow);

	open (FILE, "$headfile");

		if ($uselock eq '1') {
			flock FILE, 2;
			seek FILE, 0, 0;
		}

		@header = <FILE>;

		if ($uselock eq '1') {
			flock FILE, 8;
		}

	close (FILE);

	open (FILE, "$footfile");

		if ($uselock eq '1') {
			flock FILE, 2;
			seek FILE, 0, 0;
		}

		@footer = <FILE>;

		if ($uselock eq '1') {
			flock FILE, 8;
		}

	close (FILE);

# Decide which part of the script we need

	if ($FORM{'action'} eq 'showform') { &showform; }
	if ($FORM{'action'} eq 'enterguest') { &enterguest; }
	if ($FORM{'action'} eq 'admin') { &admin; }
	&guestread;

sub guestread
{

	open (FILE, "$guestpath");

		if ($uselock eq '1') {
			flock FILE, 2;
			seek FILE, 0, 0;
		}

		@guestfile = <FILE>;

		if ($uselock eq '1') {
			flock FILE, 8;
		}

	close (FILE);


	$entrynumber = @guestfile;
	++$entrynumber;	

	print "Content-type: text/html\n\n";
	&header;
	print "<P><TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0><TR><TD BGCOLOR=$titlecolor><FONT $font SIZE=4><B>$mysite Guestbook</B></FONT></TD></TR></TABLE><P>\n";
	print "<FORM ACTION=$scripturl METHOD=POST><INPUT TYPE=SUBMIT VALUE='Sign Guestbook'><INPUT TYPE=hidden NAME=action value=showform></FORM><P>\n";
	if (!$FORM{'start'}) {

		for ($x = 0; $x < $perpage; $x++) {
	
			if ($guestfile[$x] ne "") {

				@entry = split (/::/,$guestfile[$x]);

				print "<CENTER>\n
				<TABLE WIDTH=500 BORDER=1 CELLSPACING=0 CELLPADDING=0>\n
				<TR><TD BGCOLOR=$titlecolor COLSPAN=2><FONT $font SIZE=3>\n
				<B>$entry[2]</B>\n
				</FONT></TD>\n
				<TD BGCOLOR=$titlecolor ALIGN=RIGHT><FONT $font SIZE=2>\n
				<B>Entry :</B> $entry[10]\n
				</FONT></TD></TR>\n
				<TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2>\n
				<B>City :อำเภอ</B> $entry[3]\n
				</FONT></TD>\n
				<TD BGCOLOR=$infocolor ALIGN=CENTER><FONT $font SIZE=2>\n
				<B>State/Prov. :จังหวัด </B> $entry[4]\n
				</FONT></TD>\n
				<TD BGCOLOR=$infocolor ALIGN=RIGHT><FONT $font SIZE=2>\n
				<B>Country :ประเทศ </B> $entry[5]\n
				</FONT></TD></TR>\n
				<TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2>\n
				<B>Date :วันที่</B> $entry[0]\n
				</FONT></TD>\n
				<TD BGCOLOR=$infocolor ALIGN=CENTER><FONT $font SIZE=2>\n
				<B>Time :เวลา</B> $entry[1]\n
				</FONT></TD>\n
				<TD BGCOLOR=$infocolor ALIGN=RIGHT><FONT $font SIZE=2>\n
				<B>Site Rating :ให้คะแนนไซต์ </B> $entry[8] out of 10\n
				</FONT></TD></TR>\n
				<TR><TD COLSPAN=3 BGCOLOR=$infocolor><FONT $font SIZE=3>\n
				<B>URL :ชื่อเว็ปไซต์ของคุณ </B> $entry[6]\n
				</FONT></TD></TR>\n
				<TR><TD BGCOLOR=$infocolor COLSPAN=3><FONT $font SIZE=3>\n
				<B>E-mail :อีเมล์แอดเดส </B> $entry[7]</FONT></TD></TR>\n
				<TR><TD BGCOLOR=$commentcolor COLSPAN=3><FONT $font SIZE=3>\n
				<B>Comments :คำติชม (รู้จักเว็ปไซต์นี้ได้อย่างไร)</B><P></FONT>\n
				<FONT $font SIZE=3>\n
				$entry[9]\n
				</FONT></TD></TR></TABLE>\n
				</CENTER><P>\n";
			} else {
				print "<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0><TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2><B>End Of Entries.</B></FONT></TD></TR></TABLE><P>\n";
				print "<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0><TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2><B>Powered by <A HREF=http://www.yoyoo.com><B>yoyoo guestbook</B></A><BR>Provide By yoyoo.com<BR>All Rights Reserved.</B></FONT></TD></TR></TABLE>\n";
				&footer;
				exit;	
			}
		}

		$newstart = $perpage + 1;
		print "<FORM ACTION=$scripturl METHOD=POST><INPUT TYPE=SUBMIT VALUE='More Entries'><INPUT TYPE=hidden NAME=action value=guestread><INPUT TYPE=hidden NAME=start value=$newstart></FORM><P>\n";
		print "<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0><TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2><B>Powered by <A HREF=http://www.yoyoo.com><B>yoyoo guestbook</B></A><BR>Provide By Thomas yoyoo.com<BR>All Rights Reserved.</B></FONT></TD></TR></TABLE>\n";
	}
	if ($FORM{'start'}) {

		for ($x = $FORM{'start'} - 1; $x < $perpage + $FORM{'start'} - 1; $x++) {

			if ($guestfile[$x] ne "") {

				@entry = split (/::/,$guestfile[$x]);

				print "<CENTER>\n
				<TABLE WIDTH=500 BORDER=1 CELLSPACING=0 CELLPADDING=0>\n
				<TR><TD BGCOLOR=$titlecolor COLSPAN=2><FONT $font SIZE=3>\n
				<B>$entry[2]</B>\n
				</FONT></TD>\n
				<TD BGCOLOR=$titlecolor ALIGN=RIGHT><FONT $font SIZE=2>\n
				<B>Entry :</B> $entry[10]\n
				</FONT></TD></TR>\n
				<TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2>\n
				<B>City :อำเภอ</B> $entry[3]\n
				</FONT></TD>\n
				<TD BGCOLOR=$infocolor ALIGN=CENTER><FONT $font SIZE=2>\n
				<B>State/Prov. :</B> $entry[4]\n
				</FONT></TD>\n
				<TD BGCOLOR=$infocolor ALIGN=RIGHT><FONT $font SIZE=2>\n
				<B>Country :</B> $entry[5]\n
				</FONT></TD></TR>\n
				<TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2>\n
				<B>Date :</B> $entry[0]\n
				</FONT></TD>\n
				<TD BGCOLOR=$infocolor ALIGN=CENTER><FONT $font SIZE=2>\n
				<B>Time :</B> $entry[1]\n
				</FONT></TD>\n
				<TD BGCOLOR=$infocolor ALIGN=RIGHT><FONT $font SIZE=2>\n
				<B>Site Rating :</B> $entry[8] out of 10\n
				</FONT></TD></TR>\n
				<TR><TD COLSPAN=3 BGCOLOR=$infocolor><FONT $font SIZE=2>\n
				<B>URL :</B> $entry[6]\n
				</FONT></TD></TR>\n
				<TR><TD BGCOLOR=$infocolor COLSPAN=3><FONT $font SIZE=2>\n
				<B>E-mail :</B> $entry[7]</FONT></TD></TR>\n
				<TR><TD BGCOLOR=$commentcolor COLSPAN=3><FONT $font SIZE=2>\n
				<B>Comments :</B><P></FONT>\n
				<FONT $font SIZE=3>\n
				$entry[9]\n
				</FONT></TD></TR></TABLE>\n
				</CENTER><P>\n";
			} else {
				print "<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0><TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2><B>End Of Entries.</B></FONT></TD></TR></TABLE><P>\n";
				print "<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0><TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2><B>Powered by <A HREF=http://www.getperl.com><B>EasyGuest</B></A><BR>Copyright 1999 By Thomas J. Delorme<BR>All Rights Reserved.</B></FONT></TD></TR></TABLE>\n";
				&footer;
				exit;	

			}

		}

		$newstart = $FORM{'start'} + $perpage;
		print "<FORM ACTION=$scripturl METHOD=POST><INPUT TYPE=SUBMIT VALUE='More Entries'><INPUT TYPE=hidden NAME=action value=guestread><INPUT TYPE=hidden NAME=start value=$newstart></FORM><P>\n";
		print "<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0><TR><TD BGCOLOR=$infocolor><FONT $font SIZE=2><B>Powered by <A HREF=http://www.getperl.com><B>EasyGuest</B></A><BR>Copyright 1999 By Thomas J. Delorme<BR>All Rights Reserved.</B></FONT></TD></TR></TABLE>\n";

	}

	&footer;

	exit;

}

sub showform
{
	print "Content-type: text/html\n\n";
	&header;
	print "<FORM METHOD=post ACTION=$scripturl>\n";
	print "<TABLE BGCOLOR=AAAAAA BORDER=0 CELLPADDING=0 CELLSPACING=0>\n";
	print "<TR><TD COLSPAN=2>\n";
	print "<CENTER><FONT $font SIZE=3><B>Add Guestbook Entry</B></FONT><HR WIDTH=300>\n";
	print "<FONT $font SIZE=2>Please fill out the following information and press the SUBMIT button.<BR>\n";
	print "<FONT $font SIZE=4>เชิญกรอกข้อความแล้วกดปุ่ม SUBMIT button.<BR>\n";
	print "</TD></TR>\n";
	print "<TR><TD ALIGN=RIGHT><B><FONT $font SIZE=3>Your Name :ชื่อ</FONT></B></TD><TD><INPUT NAME=name TYPE=text SIZE=35><BR></TD></TR>\n";
	print "<TR><TD ALIGN=RIGHT><B><FONT $font SIZE=3>City :อำเภอ </FONT></B></TD><TD><INPUT NAME=city TYPE=text SIZE=35><BR></TD></TR>\n";
	print "<TR><TD ALIGN=RIGHT><B><FONT $font SIZE=3>State/Prov. :จังหวัด </FONT></B></TD><TD><INPUT NAME=state TYPE=text SIZE=35><BR></TD></TR>\n";
	print "<TR><TD ALIGN=RIGHT><B><FONT $font SIZE=3>Country :ประเทศ </FONT></B></TD><TD><SELECT NAME=country>\n
        <OPTION VALUE= >Select\n
        <OPTION VALUE= >____________________\n
        <OPTION VALUE=US>United States\n
        <OPTION VALUE=CA>Canada\n
        <OPTION VALUE=JP>Japan\n
        <OPTION VALUE=GB>United Kingdom\n
        <OPTION VALUE=AU>Australia\n
        <OPTION VALUE=DE>Germany\n
        <OPTION VALUE=FR>France\n
        <OPTION VALUE=CH>Switzerland\n
        <OPTION VALUE=IT>Italy\n
        <OPTION VALUE=NL>Netherlands\n
        <OPTION VALUE= >____________________\n
        <OPTION VALUE=AL>Albania\n
        <OPTION VALUE=DZ>Algeria\n
        <OPTION VALUE=AS>American Samoa\n
        <OPTION VALUE=AD>Andorra\n
        <OPTION VALUE=AI>Anguilla\n
        <OPTION VALUE=AQ>Antartica\n
        <OPTION VALUE=AG>Antigua & Barbuda\n
        <OPTION VALUE=AR>Argentina\n
        <OPTION VALUE=AM>Armenia\n
        <OPTION VALUE=AW>Aruba\n
        <OPTION VALUE=AU>Australia\n
        <OPTION VALUE=AT>Austria\n
        <OPTION VALUE=AZ>Azerbaijan\n
        <OPTION VALUE=BS>Bahamas\n
        <OPTION VALUE=BH>Bahrain\n
        <OPTION VALUE=BD>Bangladesh\n
        <OPTION VALUE=BB>Barbados\n
        <OPTION VALUE=BY>Belarus\n
        <OPTION VALUE=BE>Belgium\n
        <OPTION VALUE=BZ>Belize\n
        <OPTION VALUE=BJ>Benin\n
        <OPTION VALUE=BM>Bermuda\n
        <OPTION VALUE=BT>Bhutan\n
        <OPTION VALUE=BO>Bolivia\n
        <OPTION VALUE=BW>Botswana\n
        <OPTION VALUE=BV>Bouvet Island\n
        <OPTION VALUE=BR>Brazil\n
        <OPTION VALUE=IO>British Indian Ocean Terr.\n
        <OPTION VALUE=BN>Brunei Darussalam\n
        <OPTION VALUE=BG>Bulgaria\n
        <OPTION VALUE=BF>Burkina Faso\n
        <OPTION VALUE=BI>Burundi\n
        <OPTION VALUE=KH>Cambodia\n
        <OPTION VALUE=CM>Cameroon\n
        <OPTION VALUE=CA>Canada\n
        <OPTION VALUE=CV>Cape Verde\n
        <OPTION VALUE=KY>Cayman Islands\n
        <OPTION VALUE=CF>Central African Republic\n
        <OPTION VALUE=TD>Chad\n
        <OPTION VALUE=CL>Chile\n
        <OPTION VALUE=CN>China\n
        <OPTION VALUE=CX>Christmas Island\n
        <OPTION VALUE=CC>Cocos (Keeling) Isl\n
        <OPTION VALUE=CO>Colombia\n
        <OPTION VALUE=KM>Comoros\n
        <OPTION VALUE=CG>Congo\n
        <OPTION VALUE=CK>Cook Isl\n
        <OPTION VALUE=CR>Costa Rica\n
        <OPTION VALUE=CI>Cote D'Ivoire\n
        <OPTION VALUE=HR>Croatia\n
        <OPTION VALUE=CY>Cyprus\n
        <OPTION VALUE=CZ>Czech Republic\n
        <OPTION VALUE=DK>Denmark\n
        <OPTION VALUE=DJ>Djibouti\n
        <OPTION VALUE=DM>Dominica\n
        <OPTION VALUE=DO>Dominican Republic\n
        <OPTION VALUE=TP>East Timor\n
        <OPTION VALUE=EC>Ecuador\n
        <OPTION VALUE=EG>Egypt\n
        <OPTION VALUE=SV>El Salvador\n
        <OPTION VALUE=GQ>Equatorial Guinea\n
        <OPTION VALUE=EE>Estonia\n
        <OPTION VALUE=ET>Ethiopia\n
        <OPTION VALUE=FO>Faeroe Islands\n
        <OPTION VALUE=FK>Falkland Isl. (Malvinas)\n
        <OPTION VALUE=FJ>Fiji\n
        <OPTION VALUE=FI>Finland\n
        <OPTION VALUE=FR>France\n
        <OPTION VALUE=GF>French Guiana\n
        <OPTION VALUE=PF>French Polynesia\n
        <OPTION VALUE=TF>French Southern Terr.\n
        <OPTION VALUE=GA>Gabon\n
        <OPTION VALUE=GM>Gambia\n
        <OPTION VALUE=GE>Georgia\n
        <OPTION VALUE=DE>Germany\n
        <OPTION VALUE=GH>Ghana\n
        <OPTION VALUE=GI>Gibraltar\n
        <OPTION VALUE=GR>Greece\n
        <OPTION VALUE=GL>Greenland\n
        <OPTION VALUE=GD>Grenada\n
        <OPTION VALUE=GP>Guadeloupe\n
        <OPTION VALUE=GU>Guam\n
        <OPTION VALUE=GT>Guatemala\n
        <OPTION VALUE=GG>Guernsey, C.I.\n
        <OPTION VALUE=GN>Guinea\n
        <OPTION VALUE=GW>Guinea-Bissau\n
        <OPTION VALUE=GY>Guyana\n
        <OPTION VALUE=HT>Haiti\n
        <OPTION VALUE=HM>Heard and McDonald Isl\n
        <OPTION VALUE=HN>Honduras\n
        <OPTION VALUE=HK>Hong Kong\n
        <OPTION VALUE=HU>Hungary\n
        <OPTION VALUE=IS>Iceland\n
        <OPTION VALUE=IN>India\n
        <OPTION VALUE=ID>Indonesia\n
        <OPTION VALUE=IE>Ireland\n
        <OPTION VALUE=IM>Isle of Man\n
        <OPTION VALUE=IL>Israel\n
        <OPTION VALUE=IT>Italy\n
        <OPTION VALUE=JM>Jamaica\n
        <OPTION VALUE=JP>Japan\n
        <OPTION VALUE=JE>Jersey, C.I.\n
        <OPTION VALUE=JO>Jordan\n
        <OPTION VALUE=KZ>Kazakhstan\n
        <OPTION VALUE=KE>Kenya\n
        <OPTION VALUE=KI>Kiribati\n
        <OPTION VALUE=KR>Korea, Republic of\n
        <OPTION VALUE=KW>Kuwait\n
        <OPTION VALUE=KG>Kyrgyzstan\n
        <OPTION VALUE=LA>Laos\n
        <OPTION VALUE=LV>Latvia\n
        <OPTION VALUE=LB>Lebanon\n
        <OPTION VALUE=LS>Lesotho\n
        <OPTION VALUE=LR>Liberia\n
        <OPTION VALUE=LI>Liechtenstein\n
        <OPTION VALUE=LT>Lithuania\n
        <OPTION VALUE=LU>Luxemborg\n
        <OPTION VALUE=MO>Macau\n
        <OPTION VALUE=MG>Madagascar\n
        <OPTION VALUE=MW>Malawi\n
        <OPTION VALUE=MY>Malaysia\n
        <OPTION VALUE=MV>Maldives\n
        <OPTION VALUE=ML>Mali\n
        <OPTION VALUE=MT>Malta\n
        <OPTION VALUE=MH>Marshall Isl\n
        <OPTION VALUE=MQ>Martinique\n
        <OPTION VALUE=MR>Mauritania\n
        <OPTION VALUE=MU>Mauritius\n
        <OPTION VALUE=MX>Mexico\n
        <OPTION VALUE=FM>Micronesia\n
        <OPTION VALUE=MD>Moldova, Republic of\n
        <OPTION VALUE=MC>Monaco\n
        <OPTION VALUE=MN>Mongolia\n
        <OPTION VALUE=MS>Montserrat\n
        <OPTION VALUE=MA>Morocco\n
        <OPTION VALUE=MZ>Mozambique\n
        <OPTION VALUE=MM>Myanmar\n
        <OPTION VALUE=NA>Namibia\n
        <OPTION VALUE=NR>Nauru\n
        <OPTION VALUE=NP>Nepal\n
        <OPTION VALUE=AN>Netherland Antilles\n
        <OPTION VALUE=NL>Netherlands\n
        <OPTION VALUE=NC>New Caledonia\n
        <OPTION VALUE=NZ>New Zealand\n
        <OPTION VALUE=NI>Nicaragua\n
        <OPTION VALUE=NE>Niger\n
        <OPTION VALUE=NG>Nigeria\n
        <OPTION VALUE=NU>Niue\n
        <OPTION VALUE=NF>Norfolk Isl\n
        <OPTION VALUE=MP>Northern Mariana Isl\n
        <OPTION VALUE=NO>Norway\n
        <OPTION VALUE=OM>Oman\n
        <OPTION VALUE=PK>Pakistan\n
        <OPTION VALUE=PW>Palau\n
        <OPTION VALUE=PA>Panama\n
        <OPTION VALUE=PZ>Panama Canal Zone\n
        <OPTION VALUE=PG>Papua New Guinea\n
        <OPTION VALUE=PY>Paraguay\n
        <OPTION VALUE=PE>Peru\n
        <OPTION VALUE=PH>Philippines\n
        <OPTION VALUE=PN>Pitcairn\n
        <OPTION VALUE=PL>Poland\n
        <OPTION VALUE=PT>Portugal\n
        <OPTION VALUE=PR>Puerto Rico\n
        <OPTION VALUE=QA>Qatar\n
        <OPTION VALUE=RE>Reunion\n
        <OPTION VALUE=RO>Romania\n
        <OPTION VALUE=RU>Russian Federation\n
        <OPTION VALUE=RW>Rwanda\n
        <OPTION VALUE=KN>Saint Kitts & Nevis\n
        <OPTION VALUE=LC>Saint Lucia\n
        <OPTION VALUE=WS>Samoa\n
        <OPTION VALUE=SM>San Marino\n
        <OPTION VALUE=ST>Sao Tome & Principe\n
        <OPTION VALUE=SA>Saudi Arabia\n
        <OPTION VALUE=SN>Senegal\n
        <OPTION VALUE=SC>Seychelles\n
        <OPTION VALUE=SL>Sierra Leone\n
        <OPTION VALUE=SG>Singapore\n
        <OPTION VALUE=SK>Slovakia\n
        <OPTION VALUE=SI>Slovenia\n
        <OPTION VALUE=SB>Solomon Islands\n
        <OPTION VALUE=SO>Somalia\n
        <OPTION VALUE=ZA>South Africa\n
        <OPTION VALUE=ES>Spain\n
        <OPTION VALUE=LK>Sri Lanka\n
        <OPTION VALUE=SH>St. Helena\n
        <OPTION VALUE=PM>St. Pierre and Miquelon\n
        <OPTION VALUE=VC>St. Vincent & Grenadines\n
        <OPTION VALUE=SR>Suriname\n
        <OPTION VALUE=SJ>Svalbard & Jan Mayen Isl\n
        <OPTION VALUE=SZ>Swaziland\n
        <OPTION VALUE=SE>Sweden\n
        <OPTION VALUE=CH>Switzerland\n
        <OPTION VALUE=TW>Taiwan\n
        <OPTION VALUE=TJ>Tajikistan\n
        <OPTION VALUE=TZ>Tanzania, United Republic\n 
        <OPTION VALUE=TH>Thailand\n
        <OPTION VALUE=TG>Togo\n
        <OPTION VALUE=TK>Tokelau\n
        <OPTION VALUE=TO>Tonga\n
        <OPTION VALUE=TT>Trinidad & Tobago\n
        <OPTION VALUE=TN>Tunisia\n
        <OPTION VALUE=TR>Turkey\n
        <OPTION VALUE=TM>Turkmenistan\n
        <OPTION VALUE=TC>Turks and Caicos Isl\n
        <OPTION VALUE=TV>Tuvalu\n
        <OPTION VALUE=AE>U.A.E.\n
        <OPTION VALUE=UM>U.S.Minor Outlying Isl\n
        <OPTION VALUE=UG>Uganda\n
        <OPTION VALUE=UA>Ukraine\n
        <OPTION VALUE=GB>United Kingdom\n
        <OPTION VALUE=US>United States\n
        <OPTION VALUE=UY>Uruguay\n
        <OPTION VALUE=UZ>Uzbekistan\n
        <OPTION VALUE=VU>Vanuatu\n
        <OPTION VALUE=VA>Vatican City State\n
        <OPTION VALUE=VE>Venezuela\n
        <OPTION VALUE=VN>Viet Nam\n
        <OPTION VALUE=VG>Virgin Isl (British)\n
        <OPTION VALUE=VI>Virgin Isl, (U.S.)\n
        <OPTION VALUE=WF>Wallis & Futuna Islands\n
        <OPTION VALUE=EH>Western Sahara\n
        <OPTION VALUE=YE>Yemen, Republic of\n
        <OPTION VALUE=ZR>Zaire\n
        <OPTION VALUE=ZM>Zambia\n
        <OPTION VALUE=ZW>Zimbabwe\n
	</SELECT><BR></TD></TR>\n";
	print "<TR><TD ALIGN=RIGHT><B><FONT $font SIZE=2>Your URL :ชื่อเว็ปไซต์ของคุณ </FONT></B></TD><TD><INPUT NAME=url TYPE=text SIZE=35><BR></TD></TR>\n";
	print "<TR><TD ALIGN=RIGHT><B><FONT $font SIZE=2>Your E-Mail :อีเมล์แอดเดส </FONT></B></TD><TD><INPUT NAME=email TYPE=text SIZE=35><BR></TD></TR>\n";
	print "<TR><TD ALIGN=RIGHT><B><FONT $font SIZE=2>Rate This Site :ให้คะแนนไซต์ </FONT><FONT $font SIZE=1><BR>(10 being best)</FONT></B></TD><TD><SELECT NAME=rating>\n
	<OPTION VALUE=na>--\n
	<OPTION VALUE=10>10\n
	<OPTION VALUE=9>9\n
	<OPTION VALUE=8>8\n
	<OPTION VALUE=7>7\n
	<OPTION VALUE=6>6\n
	<OPTION VALUE=5>5\n
	<OPTION VALUE=4>4\n
	<OPTION VALUE=3>3\n
	<OPTION VALUE=2>2\n
	<OPTION VALUE=1>1\n
	</SELECT><BR></TD></TR>\n";
	print "<TR><TD VALIGN=TOP ALIGN=RIGHT><FONT $font SIZE=2><B>Comments :คำติชม (รู้จักเว็ปไซต์นี้ได้อย่างไร)</B></FONT></TD><TD VALIGN=TOP><INPUT NAME=comments TYPE=text SIZE=35><P>\n";
	print "<INPUT TYPE=hidden NAME=action VALUE=enterguest>\n";
	print "<INPUT TYPE=hidden NAME=date VALUE=$datenow>\n";
	print "<INPUT TYPE=hidden NAME=time VALUE=$timenow>\n";
	print "<INPUT TYPE=submit VALUE=Submit> <INPUT TYPE=reset VALUE=Clear><P></TD></TR>\n";
	print "<TR><TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=300>\n";
	print "<FONT $font SIZE=2>\n";
	print "Powered by <A HREF=http://www.yoyoo.com><B>yoyoo guestbook</B></A><BR>\n";
	print "Provide By yoyoo.com<BR>\n";
	print "All Rights Reserved.<BR></FONT>\n";
	print "</FORM></CENTER>\n";
	print "</TD></TR></TABLE>\n";
	&footer;
	
	exit;		
}

sub enterguest
{
	if ($useeasylist eq 'yes') {

		if ($FORM{'email'} =~ /\@/) {

			open (FILE, ">>$listpath");
	
				if ($uselock eq '1') {
					flock FILE, 2;
					seek FILE, 0, 2;
				}
			
				print FILE "$FORM{'email'}\n";

				if ($uselock eq '1') {
					flock FILE, 8;
				}

			close (FILE);
		}
	}

	open (FILE, "$guestpath");

		if ($uselock eq '1') {
			flock FILE, 2;
			seek FILE, 0, 0;
		}

		@guestfile = <FILE>;

		if ($uselock eq '1') {
			flock FILE, 8;
		}

	close (FILE);

	$entrynumber = @guestfile;
	++$entrynumber;

	if ($nohtml eq 'yes') { &htmlfilter; }
	if ($nosmut eq 'yes') { &smutfilter; }

	open (FILE, ">$guestpath");

		if ($uselock eq '1') {
			flock FILE, 2;
			seek FILE, 0, 0;
		}

		print FILE "$FORM{'date'}::$FORM{'time'}::$FORM{'name'}::$FORM{'city'}::$FORM{'state'}::$FORM{'country'}::$FORM{'url'}::$FORM{'email'}::$FORM{'rating'}::$FORM{'comments'}::$entrynumber\n";
		foreach $line (@guestfile) {
			print FILE "$line";
		}

		if ($uselock eq '1') {
			flock FILE, 8;
		}

	close (FILE);

	if ($entrynotify eq 'yes') {

			open (MAIL,"|$mailprogram -t");
             	print MAIL "To: $myemail\n";
                	print MAIL "From: $myemail\n";
                	print MAIL "Subject: Guestbook Entry\n";
			print MAIL "Someone signed your guestbook!\n\n";
			print MAIL "Here is what they entered in the guestbook: \n\n";
			print MAIL "--------------------------------------------\n";
			print MAIL "Name :ชื่อ $FORM{'name'}\n";
			print MAIL "City :อำเภอ $FORM{'city'}\n";
			print MAIL "State :จังหวัด $FORM{'state'}\n";
			print MAIL "Country :ประเทศ $FORM{'country'}\n";
			print MAIL "URL :ชื่อเว็ปไซต์ของคุณ $FORM{'url'}\n";
			print MAIL "E-Mail :อีเมล์แอดเดส $FORM{'email'}\n";
			print MAIL "Rating : $FORM{'rating'} out of 10\n";
			print MAIL "Comments :ให้คะแนนไซต์ $FORM{'comments'}\n\n";
			print MAIL "To view your guestbook, go here: เช็กข้อความ...\n";
			print MAIL "$scripturl\n";
			print MAIL "--------------------------------------------\n";
			print MAIL "Powered by : yoyoo.com\n";
			print MAIL "Provide by yoyoo.com\n";
			print MAIL "Get it at : http://www.yoyoo.com\n";
			print MAIL "--------------------------------------------\n";
	close (MAIL);

	}
	if ($FORM{'email'} =~ /\@/) {
		open (MAIL,"|$mailprogram -t");
             		print MAIL "To: $FORM{'email'}\n";
                		print MAIL "From: $myemail\n";
                		print MAIL "Subject: Thanks! ขอบคุณมากครับ\n";
				print MAIL "Thank-you for signing my guestbook!\n\n";
				print MAIL "ขอบคุณมากครับ สำหรับคำติชมจะนำไปปรับปรุง ตามความเหมาะสมครับ อย่าลืมมาเยี่ยมอีกน๊ะครับ!\n\n";
				print MAIL "Please visit $mysite again located at\n";
				print MAIL "$homepage\n";
				print MAIL "to see if anything new has been added\n";
				print MAIL "since your last visit!\n\n";
				print MAIL "Here is what you entered in the guestbook: \n\n";
				print MAIL "--------------------------------------------\n";
				print MAIL "Name : $FORM{'name'}\n";
				print MAIL "City :อำเภอ $FORM{'city'}\n";
				print MAIL "State :จังหวัด $FORM{'state'}\n";
				print MAIL "Country :ประเทศ $FORM{'country'}\n";
				print MAIL "URL :ชื่อเว็ปไซต์ของคุณ $FORM{'url'}\n";
				print MAIL "E-Mail :อีเมล์แอดเดส $FORM{'email'}\n";
				print MAIL "Rating :ให้คะแนนไซต์ $FORM{'rating'} out of 10\n";
				print MAIL "Comments ::คำติชม $FORM{'comments'}\n";
				print MAIL "--------------------------------------------\n";
				print MAIL "Thanks,\n\n";
				print MAIL "$mysite staff\n\n";
				print MAIL "--------------------------------------------\n";
				print MAIL "Powered by : yoyoo.com\n";
				print MAIL "Copyright 1999 by Thomas J. Delorme\n";
				print MAIL "Get it at : http://www.getperl.com\n";
				print MAIL "--------------------------------------------\n";
		close (MAIL);
	}
	
	print "Content-type: text/html\n\n";
	&header;
	print "<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=1>";
	print "<TR><TD BGCOLOR=$infocolor>\n";
	print "<FONT $font SIZE=3><B>Thanks for your entry!</B><P>\n";
	print "<FONT $font SIZE=3><B>ขอบคุณมากครับ!</B><P>\n";
	print "เช็กข้อความที่เซ็นไว้ได้ที่นี้ครับ <A HREF=$scripturl><B>View Your Entry</B></A>.\n";
	print "</TD></TR></TABLE><P>\n";
	&footer;

	exit;
}

sub header
{
	foreach $line (@header) {
		print "$line\n";
	}
}

sub footer
{
	foreach $line (@footer) {
		print "$line\n";
	}
}

sub htmlfilter
{

	$FORM{'name'} =~ s/<([^>]|\n)*>//g;
	$FORM{'city'} =~ s/<([^>]|\n)*>//g;
	$FORM{'state'} =~ s/<([^>]|\n)*>//g;
	$FORM{'url'} =~ s/<([^>]|\n)*>//g;
	$FORM{'email'} =~ s/<([^>]|\n)*>//g;
	$FORM{'comments'} =~ s/<([^>]|\n)*>//g;

}

sub smutfilter
{

	open (FILE, "$smut");

		if ($uselock eq '1') {
			flock FILE, 2;
			seek FILE, 0, 0;
		}

		@smutfile = <FILE>;

		if ($uselock eq '1') {
			flock FILE, 8;
		}

	close (FILE);

	$censored = $smutfile[0];

	@smutwords = split(/::/,$censored);

	foreach $word (@smutwords) {

		$FORM{'name'} =~ s/$word/****/gi;
		$FORM{'city'} =~ s/$word/****/gi;
		$FORM{'state'} =~ s/$word/****/gi;
		$FORM{'url'} =~ s/$word/****/gi;
		$FORM{'email'} =~ s/$word/****/gi;
		$FORM{'comments'} =~ s/$word/****/gi;	

	}

}

sub admin {

	if ($FORM{'password'}) {

		if ($FORM{'password'} eq $adminpass) {

			if ($FORM{'erase'}) {

				open (FILE, "$guestpath");

					if ($uselock eq '1') {
						flock FILE, 2;
						seek FILE, 0, 0;
					}

					@guestfile = <FILE>;

					if ($uselock eq '1') {
						flock FILE, 8;
					}

				close (FILE);

				open (FILE, ">$guestpath");

					if ($uselock eq '1') {
						flock FILE, 2;
						seek FILE, 0, 0;
					}

					foreach $line (@guestfile) {

						chomp ($line);
						@thisentry = split (/::/,$line);

						if ($thisentry[10] ne $FORM{'erase'}) {
							print FILE "$line\n";
						}
				
					}

					if ($uselock eq '1') {
						flock FILE, 8;
					}

				close (FILE);

				print "Content-type: text/html\n\n";
				&header;
				print "<P><CENTER>\n";
				print "<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=1><TR><TD BGCOLOR=$infocolor>\n";
				print "<P><CENTER><FONT $font SIZE=3><B>Administration</B></FONT><P>\n";
				print "<FONT $font SIZE=3><B>Entry Number $FORM{'erase'} erased!</FONT><P> \n";
				print "<FONT $font SIZE=2><B>Next Entry Number to erase :</FONT> \n";
				print "<FORM ACTION=$scripturl METHOD=POST><INPUT TYPE=TEXT NAME=erase SIZE=10><INPUT TYPE=hidden NAME=password VALUE=$FORM{'password'}><INPUT TYPE=hidden NAME=action VALUE=admin><INPUT TYPE=submit value=Erase!></FORM><P>\n";
				print "<FONT $font SIZE=3>Click here to <A HREF=$homepage><B>Return</B></A></FONT><P>\n";
				print "</TD></TR></TABLE>\n";
				&footer;
				exit;

			} else {
				print "Content-type: text/html\n\n";
				&header;
				print "<P><CENTER>\n";
				print "<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=1><TR><TD BGCOLOR=$infocolor>\n";
				print "<P><CENTER><FONT $font SIZE=3><B>Administration</B></FONT><P>\n";
				print "<FONT $font SIZE=2><B>Entry Number to erase :</FONT> \n";
				print "<FORM ACTION=$scripturl METHOD=POST><INPUT TYPE=TEXT NAME=erase SIZE=10><INPUT TYPE=hidden NAME=password VALUE=$FORM{'password'}><INPUT TYPE=hidden NAME=action VALUE=admin><INPUT TYPE=submit value=Erase!></FORM><P>\n";
				print "<FONT $font SIZE=3>Click here to <A HREF=$homepage><B>Return</B></A></FONT><P>\n";
				print "</TD></TR></TABLE>\n";
				&footer;
				exit;
			}
		}

		if ($FORM{'password'} ne $adminpass) {

			print "Content-type: text/html\n\n";
			print "<HTML><HEAD><TITLE>Administration - PASSWORD BREACH</TITLE></HEAD><BODY $body>\n";
			print "<!--VirtualAvenueBanner-->\n";
			print "<P><CENTER><FONT FACE=arial,helvetica SIZE=3 COLOR=FAC700><B>PASSWORD BREACH - WEBMASTER HAS BEEN NOTIFIED</B><P>\n";
			print "You have been identified as : $ENV{'REMOTE_ADDR'}</FONT>\n";
			print "</BODY></HTML>\n";
			
			if ($hacknotify eq 'yes') {

				open (MAIL,"|$mailprogram -t");
        	     			print MAIL "To: $myemail\n";
                			print MAIL "From: $myemail\n";
                			print MAIL "Subject: Attempted Hack!\n";
					print MAIL "Someone has attempted to hack into your\n";
					print MAIL "Admin area.\n\n";
					print MAIL "Their IP was : $ENV{'REMOTE_ADDR'}\n";
					print MAIL "Their guess was : $FORM{'password'}\n\n";
					print MAIL "If they were close you should change your password now!\n\n";
					print MAIL "This message is a security feature of your Script!\n\n";
					print MAIL "--------------------------------------------\n";
					print MAIL "Powered by : yoyoo.com\n";
					print MAIL "Provide by yoyoo.com\n";
					print MAIL "Get it at : http://www.yoyoo.com\n";
					print MAIL "--------------------------------------------\n";
				close (MAIL);
			}

		}
	}

	if (!$FORM{'password'}) {

		print "Content-type: text/html\n\n";
		&header;
		print "<P><CENTER><FONT FACE=arial,helvetica SIZE=3><B>Administration</B></FONT><P><FORM ACTION=$scripturl><TABLE BORDER=1 BGCOLOR=FF0000><TR>\n";
		print "<TD><FONT FACE=arial,helvetica SIZE=3 COLOR=FAC700><B>Admin Password :</B></FONT></TD>\n";
		print "<TD><FONT FACE=arial,helvetica SIZE=2><INPUT TYPE=text NAME=password SIZE=25><INPUT TYPE=hidden NAME=action VALUE=admin></FONT></TD>\n";
		print "</TR></TABLE><INPUT TYPE=submit VALUE=Submit></FORM>\n";
		print "Click here to <A HREF=\"$homepage\"><B>Return</B></A>.<P></CENTER>\n";
		&footer;

	}

	exit;
}