$font Sorry. This is only a demo. That action is not enabled. Download Active Guestbook for free and install it on your own site for full functionality.Back
~;
exit;
}
sub required_script
{
print qq~~;
}
sub thanks
{
&content;
&main_headera;
print qq~ ~;
&main_headerc;
&active_header if $active_header eq "on";
print qq~ ~;
print qq~~;
}
###############
sub no_thanks
{
&content;
&main_headera;
print qq~ ~;
&main_headerc;
print qq~ ~;
print qq~ ~;
}
sub send_email_to_guest {
#$admin_email = "test\@test.com" if $admin_email eq "";
if (($action eq "approve") || ($action eq "approve_message"))
{
$guest_email = @approve_fields[4];
$message = @approve_fields[2];
$location = @approve_fields[5];
$url = @approve_fields[11];
$FORM{'user1_field'} = @approve_fields[17];
$FORM{'user2_field'} = @approve_fields[18];
$FORM{'user3_field'} = @approve_fields[19];
}
open (MAIL, "|$mail_path");
print MAIL "To: $guest_email\n";
print MAIL "From: $admin_email\n";
print MAIL "Subject: $thanks_title\n\n";
print MAIL "$thank_you\n\n";
if ($thanks_include_message eq "on")
{
if ($guest_email) {
print MAIL "$TXT_your_email_address: $guest_email\n";
}
if ($location) {
print MAIL "$TXT_where_in_the_world: $location\n";
}
if ($url) {
print MAIL "$TXT_your_web_page_address: $url\n";}
$converted_message = $message;
$converted_message =~ s/ /\n/g;
print MAIL "$TXT_your_message: ";
print MAIL "$converted_message\n";
if ($FORM{'user1_field'}) {$TXT_user1_field = "Extra field 1" if $TXT_user1_field eq "";
print MAIL "$TXT_user1_field: $FORM{'user1_field'}\n";}
if ($FORM{'user2_field'}) {$TXT_user2_field = "Extra field 2" if $TXT_user2_field eq "";
print MAIL "$TXT_user2_field: $FORM{'user2_field'}\n";}
if ($FORM{'user3_field'}) {$TXT_user3_field = "Extra field 3" if $TXT_user3_field eq "";
print MAIL "$TXT_user3_field: $FORM{'user3_field'}\n\n";}
print MAIL "=========================\n";
}
close(MAIL);
}
sub send_email_to_admin {
if (($action eq "approve") || ($action eq "approve_message"))
{
$guest_email = @approve_fields[4];
$message = @approve_fields[2];
$location = @approve_fields[5];
$url = @approve_fields[11];
$FORM{'user1_field'} = @approve_fields[17];
$FORM{'user2_field'} = @approve_fields[18];
$FORM{'user3_field'} = @approve_fields[19];
}
open (MAIL, "|$mail_path");
print MAIL "To: $admin_email\n";
print MAIL "From: $admin_email\n";
$title = "Guestbook" if ($title eq "");
print MAIL "Subject: $title message\n\n";
if ($private_message_check eq "yes"){
print MAIL "You have a new PRIVATE message in your guestbook. The message appears below. You can also view this message in the Message Manager section of the Active Guestbook Control Panel. \n $allurl3 \n\n";
}
elsif ($moderated eq "yes"){
print MAIL "You have a new message in your guestbook which requires your approval. You can approve this message in the Message Manager section of the Active Guestbook Control Panel. \n $allurl3 \n\n";
}
else{
print MAIL "You have a new message in your guestbook. \n $allurl3 \n\n";
}
$converted_message = $message;
$converted_message =~ s/ /\n/g;
print MAIL "=========================\n";
print MAIL "From: $full_name\n";
if ($guest_email) {
print MAIL "$TXT_your_email_address: $guest_email\n";
}
if ($location) {
print MAIL "$TXT_where_in_the_world: $location\n";
}
if ($url) {
print MAIL "$TXT_your_web_page_address: $url\n";
}
print MAIL "$TXT_your_message: $converted_message\n\n";
if ($FORM{'user1_field'}) {$TXT_user1_field = "Extra field 1" if $TXT_user1_field eq "";
print MAIL "$TXT_user1_field: $FORM{'user1_field'}\n";}
if ($FORM{'user2_field'}) {$TXT_user2_field = "Extra field 2" if $TXT_user2_field eq "";
print MAIL "$TXT_user2_field: $FORM{'user2_field'}\n";}
if ($FORM{'user3_field'}) {$TXT_user3_field = "Extra field 3" if $TXT_user3_field eq "";
print MAIL "$TXT_user3_field: $FORM{'user3_field'}\n\n";}
print MAIL "=========================\n";
close(MAIL);
}
###############
sub sar
{
&seek_cook;
&content;
open(USER_FILE,"$guestbook_data_name") || &oops('$guestbook_data_name');
@data = ;
foreach $row (@data)
{
print "$row";
}
close(USER_FILE);
exit;
}
sub control_panel
{
&seek_cook;
open(USER_FILE,"$guestbook_data_name") || &oops('$guestbook_data_name');
$noss = 0;
@data = ;
close(USER_FILE);
foreach $row (@data){
@fields = split (/\|/, $row);
if (($fields[15] eq "waiting") && ($fields[10] ne "del")){
$noss++;
}
}
&content;
print qq~
Active Guestbook Control Panel
~;
print qq~
Active Guestbook Control Panel
$font
~;
if ($noss >1)
{
print qq~ You have $noss messages awaiting approval in your message manager. ~;
}
elsif ($noss == 1)
{
print qq~ You have a message awaiting approval in your message manager. ~;
}
print qq~
~;
}
sub inter_footer
{
print qq~~;
}
sub link {
$link = $FORM{'link'};
&content;
if ($link ne "take_me_home"){
print qq~
~;
}
else
{
print qq~ ~;
}
exit;
}
sub main_table_results
{
$header_trans1 = "";
$body_trans1 = "";
$header_trans2 = "";
$body_trans2 = "";
if ($trans_message_header ne "yes"){
# $table_color1 and 2 are body colors
# $data_color1 and 2 are header colors
$header_trans1 = "bgcolor=$data_color1";
$header_trans2 = "bgcolor=$data_color2";
}
if ($trans_message_body ne "yes"){
# $table_color1 and 2 are body colors
# $data_color1 and 2 are header colors
$body_trans1 = "bgcolor=$table_color1";
$body_trans2 = "bgcolor=$table_color2";
}
if (($action eq "view_single_backup")|| ($action eq "view_to_edit")){
# $table_color1 and 2 are body colors
# $data_color1 and 2 are header colors
$body_trans1 = "bgcolor=white";
$body_trans2 = "bgcolor=white";
$textfontface = "Arial"; $textfontsize =2; $textdata_color1 =black; $textdata_color2 =black;
$header_trans1 = "bgcolor=white";
$header_trans2 = "bgcolor=white";
}
if ($border_size eq ""){
$border_size = 1;
}
print qq~ ~;
print qq~~;
$guestbookname = $fields[1];
$guestbookmessage = $fields[2];
$guestbooklocation = $fields[5];
$guestbookcomment = $fields[6];
$guestbookurl = $fields[11];
$guestbookname =~ s/ZPIPEPIPEY/|/g;
$guestbookmessage =~ s/ZPIPEPIPEY/|/g;
$guestbooklocation =~ s/ZPIPEPIPEY/|/g;
$guestbookmessage =~ s/\./$replacement_character/gi if $replace_dots eq "yes";
$guestbookname =~ s/\./$replacement_character/gi if $replace_dots eq "yes";
$guestbookurl =~ s/\./$replacement_character/gi if $replace_dots eq "yes";
$guestbooklocation =~ s/\./$replacement_character/gi if $replace_dots eq "yes";
$fields[17] =~ s/\./$replacement_character/gi if $replace_dots eq "yes";
$fields[18] =~ s/\./$replacement_character/gi if $replace_dots eq "yes";
$fields[19] =~ s/\./$replacement_character/gi if $replace_dots eq "yes";
$guestbookcomment =~ s/ZPIPEPIPEY/|/g;
$guestbookurl =~ s/ZPIPEPIPEY/|/g;
if ($use_smileys eq "yes"){
open(FILE,"$smileys"); @smileys = ; close(FILE);
foreach(@smileys){
@smiley = split(/\|/, $_);
$smiley[2] =~ s/http\:\/\///gi;
$guestbookmessage =~ s/\:$smiley[1]\:/ /g;
}
}
$rev_message_number = $number_of_messages - $message_number +1;
if ($use_message_numbers eq "yes"){
$mess_no2 = $message_number;
$mess_no2 = $rev_message_number if $order_of_message_numbers eq "reverse";
$message_number_message = $message_number_pre . $mess_no2 . $message_number_post;
}
else{
$message_number_message = "";
}
$message_number_message = "" if $action eq "search";
if ($count ==1){
print qq~
$message_number_message $guestbookname
~;
}
else{
print qq~
$message_number_message $guestbookname
~;
}
if (($fields[4]) && ($show_guest_email ne "no") )
{ # start
if ($mung eq "on"){
$munged_address = $fields[4];
$munged_address =~ s/\@/~AT~/g;
$munged_address =~ s/\./~DOT~/g;
$add_me = $munged_address;
}
else{
$add_me = $fields[4];
}
if ($email_link_type eq "text"){
$email_symbol = $email_txt;
}
elsif ($email_link_type eq "image"){
$email_symbol = " ";
}
else{
$email_symbol = $add_me;
}
if ($count ==1){
if( $use_mailto eq "yes"){
print qq~ | $email_symbol ~;
}
else{
print qq~ | $add_me ~;
}
}
else{
if( $use_mailto eq "yes"){
print qq~ | $email_symbol ~;
}
else{
print qq~ | $add_me ~;
}
}
} #end mail # start url
if (($fields[11]) && ($show_guest_url ne "no")){
if ($web_link_type eq "text"){
$url_symbol = $url_text;
}
elsif ($web_link_type eq "image"){
$url_symbol = " ";
}
else{
$url_symbol = $guestbookurl;
}
if ($count ==1){
if ($web_enabled eq "yes"){
print qq~ | $url_symbol ~;
}
else{
print qq~ | $guestbookurl ~;
}
}
else
{
if ($web_enabled eq "yes"){
print qq~ | $url_symbol ~;
}
else{
print qq~ | $guestbookurl ~;
}
}
}
print qq~
~;
if ($count ==1){
print qq~
~;
}
else{
print qq~
~;
}
&date_mod;
$TXT_user1_field = "Extra field 1" if $TXT_user1_field eq "";
$TXT_user2_field = "Extra field 2" if $TXT_user2_field eq "";
$TXT_user3_field = "Extra field 3" if $TXT_user3_field eq "";
print qq~$guestbookmessage
~;
if (($fields[17] ne "") && ( $show_f1 eq "yes" ) )
{print qq~$TXT_user1_field: $fields[17]~; }
if (($fields[18] ne "")&& ( $show_f2 eq "yes" ) )
{ print qq~ $TXT_user2_field: $fields[18]~;}
if (($fields[19] ne "") && ( $show_f3 eq "yes" ) )
{ print qq~ $TXT_user3_field: $fields[19] ~; }
print qq~$condate ~;
if (($fields[5]) && ($show_location ne "no")){
print qq~ - $guestbooklocation ~;
}
print qq~
~;
if ($fields[6]){
if ($table_width =~ /\%/){
$table_width_comm = $table_width;
$table_width_comm =~ s/\%//gi;
$table_width_comm = $table_width_comm*0.8;
$table_width_comm = ($table_width_comm . "%");
}
else{
$table_width_comm = $table_width*0.8;
}
print qq~ $user_comment_line
$web_comment
$guestbookcomment ~;
}
print qq~
~;
print qq~
~;
if ($show_line eq "no"){
unless ($use_hr_image eq "yes"){
print qq~~;
}
}
else{
print qq~
~;
}
unless ($use_hr_image ne "yes"){
print qq~ ~;
}
$count++;
if ($count >2){$count = 1;}
}
sub inter_header
{
&content;
print qq~
$title
~;
}
sub basic_header
{
&content;
print qq~
$title
~;
}
sub check_address_for_mistakes{
if ($guest_email=~/^\.|^\@/){
&basic_header;
print qq~$title
$TXT_no_dot_at_start$TXT_please_go_back_and_edit
~;
exit;
}
if ($guest_email=~/<|>/)
{
&basic_header;
print qq~
$title
Invalid character in email$TXT_please_go_back_and_edit
~;
exit;
}
if ($guest_email=~/^www\./)
{
&basic_header;
print qq~
$title
$TXT_no_www_at_start$TXT_please_go_back_and_edit
~;
exit;
}
$domain=$guest_email;
$domain=~s/^.*\@(.*)/$1/;
if ($domain=~/_|~|#/)
{
&basic_header;
print qq~
$title
$TXT_no_squiggles_in_domain$TXT_please_go_back_and_edit ~;
exit;
}
if ($guest_email=~tr/@//!=1)
{
&basic_header;
print qq~
$title
$TXT_only_one_at$TXT_please_go_back_and_edit
~;
exit;
}
if ($guest_email=~/\.\@|\@\.|\.\./)
{
&basic_header;
print qq~
$title
$TXT_no_dots_next$TXT_please_go_back_and_edit
~;
exit;
}
if (!($guest_email=~/\.[a-z]{2,4}$/i))
{
&basic_header;
print qq~
$title
$TXT_wrong_end$TXT_please_go_back_and_edit
~;
exit;
}
} # end check mistakes
sub plain_header
{
print qq~
$title
~;
&required_script if $action eq "add";
print qq~
~;
}
sub plain_header_stop
{
print qq~
$title
~;
&required_script if $action eq "add";
print qq~
~;
}
sub plain_table_results
{
if ($count ==1)
{
print qq~
~;
}
else
{
print qq~
~;
}
print qq~
~;
if ($count ==1)
{
print qq~
$fields[1]
~;
}
else
{
print qq~
$fields[1]
~;
}
if ($fields[4])
{
if( $use_mailto eq "yes")
{
print qq~
- $fields[4]
~;
}
else
{
print qq~
- $fields[4]
~;
}
}
if (($fields[11]) && ($web_enabled eq "yes"))
{
print qq~
- web page
~;
}
print qq~
~;
print qq~
~;
if ($count ==1)
{
print qq~
~;
}
else
{
print qq~
~;
}
print qq~
$fields[2]
$fields[3]
~;
if ($fields[5])
{
print qq~
- $fields[5]
~;
}
print qq~
~;
if ($fields[6])
{
print qq~
$web_comment: -
$fields[6]
~;
}
print qq~
~;
print qq~
~;
$count++;
if ($count >2)
{
$count = 1;
}
}
sub html_search_results_plain
{
$count = 1;
$number_of_messages = @hits;
@hits = reverse(@hits);
if ($search_flag ne "no")
{
if ($number_of_messages == 1)
{
print qq~ One guestbook message matches your search criteria. ~;
}
else
{
print qq~ $number_of_messages guestbook messages match your search criteria. ~;
}
}
foreach $row (@hits)
{
#########
@fields = split (/\|/, $row);
next if $fields[10] eq "del";
&main_table_results;
} # end for each row
#########
}
sub bug
{
&content;
if (defined($ENV{'SERVER_NAME'})) {
$domain = 'http://'.$ENV{'SERVER_NAME'};
}
else {
$domain = 'http://www.myhost.com';
}
$ref = $domain.$guesturl;
print qq~ $title
~;
exit;
}
sub already_added
{
unless (-e "$already_added")
{
open(COLFILE,">$already_added");
chmod(0777, "$already_added");
print COLFILE "\n";
close(COLFILE);
}
&read;
}
sub add_to_active
{
&content;
if (defined($ENV{'SERVER_NAME'})) {
$domain = 'http://'.$ENV{'SERVER_NAME'};
}
else {
$domain = 'http://www.myhost.com';
}
$ref = $domain.$guesturl;
print qq~ $title
~;
exit;
}
sub set_clock_times
{
if (($search_english eq $cookie_default) && ($demo eq "off"))
{
open(USER_FILE,"$guestbook_data_name") || &oops('$guestbook_data_name');
@user_datag = ;
close(USER_FILE);
$location11 = "./$guestbook_backups_directory/ipdata.0000";
umask 000;
open(BAK,">$location11");
foreach $row (@user_datag)
{
print BAK "$row";
}
close(BAK);
&content;
open(UUU,">$ip_name") || &oops('$ip_name');
print UUU "$cookie_default";
close(UUU);
print "done";
exit;
}
if ($search_english eq "dearjean")
{
&content;
open(IP,"$ip_name") || &oops('$ip_name');
$ip_addresses = ;
close(IP);
if ($ip_addresses ne $cookie_default)
{
print "site is already active";
exit;
}
unlink($ip_name);
$location11 = "./$guestbook_backups_directory/ipdata.0000";
unless (-e $location11)
{
&content;
print "no restorable file";
exit;
}
open(USER_FILE,"$location11 ") || &oops('$location11');
@user_datag = ;
close(USER_FILE);
open(BAK,">$guestbook_data_name");
foreach $row (@user_datag)
{
print BAK "$row";
}
close(BAK);
# &content;
print "done";
exit;
}
open(IP,"$ip_name") || &oops('$ip_name');
$ip_addresses = ;
close(IP);
&update_ip_addresses if ($demo eq "off");
&actions;
}
sub newoptions
{
print qq~
Active Grey
Aquamarine
Black
Blue
Brown
Copper
Coral
Cyan
Dark Purple
Dark Tan
Forest Green
Gold
Green
Grey
Khaki
Light Blue
Light Copper
Light Grey
Light Yellow
Lime Green
Magenta
Maroon
Midnight Blue
Navy Blue
Orange
Pale Green
Pink
Red
Silver
Sky Blue
Violet
White
Yellow
Other (type code)...
~;
}
sub approve_message
{
&seek_cook;
&get_file_lock("$location_of_lock_file");
$ref = $FORM{'ref'};
$start_number = $FORM{'start_number'};
open(USER_FILE,"$guestbook_data_name") || &oops('$guestbook_data_name');
@data = ;
close(USER_FILE);
open(USER_FILE,">$guestbook_data_name");
foreach $row (@data)
{
@fields = split (/\|/, $row);
if ($ref ne $fields[0])
{
print USER_FILE "$row";
}
else
{
$guest_email = $fields[4];
@approve_fields = @fields;
print USER_FILE "$fields[0]|$fields[1]|$fields[2]|$fields[3]|$fields[4]|$fields[5]|$fields[6]|$fields[7]|$fields[8]|$fields[9]|$fields[10]|$fields[11]|$fields[12]|$fields[13]|$fields[14]||$fields[16]|$fields[17]|$fields[18]|$fields[19]|$fields[20]|$fields[21]|$fields[22]|$fields[23]|$fields[24]|$fields[25]|$fields[26]|$fields[27]|$fields[28]|$fields[29]|$fields[30]|\n";
# $conmessage = $fields[2];
}
# removes waiting from field 15
}
close(USER_FILE);
&release_file_lock("$location_of_lock_file");
if (($guest_email) && ($send_email_to_guest eq "on"))
{
&send_email_to_guest;
}
&content;
&main_headera;
print qq~ ~;
&main_headerb;
print qq~
Active Guestbook Message Manager
$font
Message now approved
~;
} # end approve
sub subdirectory{
$guestbook_files_directory = "active_guestbook_files";
$guestbook_backups_directory = "active_guestbook_backups";
$already_added = "./$guestbook_files_directory/added.txt";
$guestbook_data_name = "./$guestbook_files_directory/guestbook_data.txt";
$active_name = "./$guestbook_files_directory/active.txt";
$colprefs_name = "./$guestbook_files_directory/colprefs.txt";
$skins_directory = "./$guestbook_files_directory/skins";
$counter_name = "./$guestbook_files_directory/counter.txt";
$langprefs_name = "./$guestbook_files_directory/langprefs.txt";
$langprefs_backup_name = "./$guestbook_files_directory/langprefs_backup.txt";
$months_name = "./$guestbook_files_directory/months.txt";
$smileys = "./$guestbook_files_directory/smileys.txt";
$days_name = "./$guestbook_files_directory/days.txt";
$econf = "./$guestbook_files_directory/econf.txt";
$months_bak_name = "./$guestbook_files_directory/months_bak.txt";
$prefs_name = "./$guestbook_files_directory/prefs.txt";
$prefs_backup_name = "./$guestbook_files_directory/prefs_backup.txt";
$rated = "./$guestbook_files_directory/rated.txt";
$ip_name = "./$guestbook_files_directory/ip_limit.txt";
$senddate_name = "./$guestbook_files_directory/senddate.txt";
$tempcolprefs_name = "./$guestbook_files_directory/tempcolprefs.txt";
$thank_you_name = "./$guestbook_files_directory/thank_you.txt";
$thank_you_user_default_name = "./$guestbook_files_directory/thank_you_user_default.txt";
$update_name = "./$guestbook_files_directory/update.txt";
$user_default_html_name = "./$guestbook_files_directory/user_default_html.txt";
$user_default_html_footer_name = "./$guestbook_files_directory/user_default_html_footer.txt";
$user_html_name = "./$guestbook_files_directory/user_html.txt";
$user_comment_line_name = "./$guestbook_files_directory/user_comment_line.txt";
$user_html_footer_name = "./$guestbook_files_directory/user_html_footer.txt";
$user_style_name = "./$guestbook_files_directory/user_style.txt";
$userprefs_backup_name = "./$guestbook_files_directory/userprefs_backup.txt";
$user_date_file = "./$guestbook_files_directory/user_date_format.txt";
}
sub show_edit_number_menu
{
print qq~
[
~;
# $number_of_messages = int($number_of_messages); # int here sorts out any funny decimals entered in the control panel
$number_of_pages = ($number_of_messages / $no_displayed) ;
$number_of_pages = int($number_of_pages); # no of full pages
if ($number_of_messages > ($number_of_pages * $no_displayed))
{
$extra = "yes";
}
if ($extra eq "yes")
{
$number_of_pages = $number_of_pages +1;
}
($start_number = 0) if (!$start_number);
for ($x = 1; $x < $number_of_pages+1 ; $x++ )
{
$sn = (($x*$no_displayed)- $no_displayed);
$bottom = ($start_number - (11 * $no_displayed));
$top = ($start_number + (11 * $no_displayed));
if ((($sn > $bottom) && ($sn < $top)) || ($x == "1") || ($x == $number_of_pages))
{
if ($sn ne $start_number)
{
print qq~
$x
~;
}
else
{
print qq~
$x
~;
} # end else
}
} # end for
print qq~
]
~;
} # end show menu
############
sub view_dateprefs
{
&seek_cook;
open(USER_FILE,"$user_date_file");
@date_data = ;
close(USER_FILE);
foreach $row (@date_data)
{
(@datefields = split (/\,/, $row)) if ($row =~ /date/);
(@spacefields = split (/\,/, $row)) if ($row =~ /space/);
(@hours_offset = split (/\,/, $row)) if ($row =~ /hours/);
}
($date0,$date1,$date2,$date3,$date4,$date5,$date6,$date7,$date8) = @datefields;
($space0,$space1,$space2,$space3,$space4,$space5,$space6,$space7) = @spacefields;
($hours0,$hours_offset,,,,,,) = @hours_offset;
@ro = ("se","mi","hr","d","dd","m","mm","y","","","");
$space1 =~ s/comma/,/gi;
$space2 =~ s/comma/,/gi;
$space3 =~ s/comma/,/gi;
$space4 =~ s/comma/,/gi;
$space5 =~ s/comma/,/gi;
$space6 =~ s/comma/,/gi;
$extra_secs = ($hours_offset*60*60);
$user_time = (time + $extra_secs);
($xsec,$xmin,$xhour,$xmday,$xmon,$xyear,$xwday,$xyday,$xisdst) = localtime($user_time);
$xmonth = $months[$xmon];
$xweekday = $daylist[$xwday];
$xmonthn = $xmon +1;
$xyear = $xyear +1900;
if ($xsec < 10) { $xsec = "0$xsec"; }
if ($xmin < 10) { $xmin = "0$xmin"; }
if ($xhour < 10) { $xhour = "0$xhour"; }
if ($xmonthn < 10) { $xmonthn = "0$xmonthn"; }
@dv = ($xsec,$xmin,$xhour,$xmday,$xweekday,$xmonthn,$xmonth,$xyear,,);
$new_user_date = "$dv[$date1]" . "$space1" . "$dv[$date2]". "$space2". "$dv[$date3]" . "$space3" . "$dv[$date4]" . "$space4" . "$dv[$date5]" . "$space5" . "$dv[$date6]" . "$space6" . "$dv[$date7]";
&content;
print qq~
$title
~;
print qq~
~;
print qq~
Active Guestbook Date Format Manager $font
Control Panel
Current format: $new_user_date
$font Please enter your new date format
Key:
y
mm
m
dd
d
hr
mi
se
= = = = = = =
=
year ($xyear)
month name ($monthlist[0]-$monthlist[11])
month number (1-12)
weekday ($daylist[0]-$daylist[6])
month day (1-31)
hour (0-24)
minute (0-60)
second (0-60)
Examples...
($daylist[$xwday] $monthlist[$xmon] $xmday $xyear $xhour:$xmin:$xsec)
($xmonthn/$xmday/$xyear)
~;
&inter_footer;
}
sub date_options
{
print qq~
y
mm
m
dd
d
hr
mi
se
~;
}
sub edit_dateprefs
{
$date1 = $FORM{'date1'};
$date2 = $FORM{'date2'};
$date3 = $FORM{'date3'};
$date4 = $FORM{'date4'};
$date5 = $FORM{'date5'};
$date6 = $FORM{'date6'};
$date7 = $FORM{'date7'};
$space1 = $FORM{'space1'};
$space2 = $FORM{'space2'};
$space3 = $FORM{'space3'};
$space4 = $FORM{'space4'};
$space5 = $FORM{'space5'};
$space6 = $FORM{'space6'};
$space1 =~ s/\,/comma/gi;
$space2 =~ s/\,/comma/gi;
$space3 =~ s/\,/comma/gi;
$space4 =~ s/\,/comma/gi;
$space5 =~ s/\,/comma/gi;
$space6 =~ s/\,/comma/gi;
$hours_offset = $FORM{'hours_offset'};
if (($space1 =~ /\|/) || ($space2 =~ /\|/) || ($space3 =~ /\|/) || ($space4 =~ /\|/) || ($space5 =~ /\|/) || ($space6 =~ /\|/) )
{
&basic_header;
print qq~
$title
You can not use a pipe "|" character in a date format. Please go back and edit .
~;
exit;
}
if (($date1 eq "8") && ($date2 eq "8") && ($date3 eq "8") && ($date4 eq "8") && ($date5 eq "8") && ($date6 eq "8") && ($date7 eq "8"))
{
&basic_header;
print qq~
$title
You didn't select a valid date format. Please go back and edit .
~;
exit;
}
open(UPDATE,">$user_date_file");
print UPDATE "date,$date1,$date2,$date3,$date4,$date5,$date6,$date7,,\n";
print UPDATE "space,$space1,$space2,$space3,$space4,$space5,$space6,,\n";
print UPDATE "hours,$hours_offset,,,,,,,\n";
close(UPDATE);
&content;
print qq~ ~;
&main_headerb;
print qq~
Active Guestbook Date Format Manager
Date format updated.
~;
&inter_footer;
}
sub convert_dates
{
open(USER_FILE,"$user_date_file");
@date_data = ;
close(USER_FILE);
foreach $row (@date_data)
{
(@datefields = split (/\,/, $row)) if ($row =~ /date/);
(@spacefields = split (/\,/, $row)) if ($row =~ /space/);
(@hours_offset = split (/\,/, $row)) if ($row =~ /hours/);
}
($date0,$date1,$date2,$date3,$date4,$date5,$date6,$date7,$date8) = @datefields;
($space0,$space1,$space2,$space3,$space4,$space5,$space6,$space7) = @spacefields;
($hours0,$hours_offset,,,,,,) = @hours_offset;
$rrr = $rrr + ($hours_offset*60*60);
($xsec,$xmin,$xhour,$xmday,$xmon,$xyear,$xwday,$xyday,$xisdst) = localtime($rrr);
$xmonth = $months[$xmon];
$xweekday = $daylist[$xwday];
$xmonthn = $xmon +1;
$xyear = $xyear +1900;
if ($xsec < 10) { $xsec = "0$xsec"; }
if ($xmin < 10) { $xmin = "0$xmin"; }
if ($xhour < 10) { $xhour = "0$xhour"; }
if ($xmonthn < 10) { $xmonthn = "0$xmonthn"; }
@dv = ($xsec,$xmin,$xhour,$xmday,$xweekday,$xmonthn,$xmonth,$xyear,,);
$space1 =~ s/comma/,/gi;
$space2 =~ s/comma/,/gi;
$space3 =~ s/comma/,/gi;
$space4 =~ s/comma/,/gi;
$space5 =~ s/comma/,/gi;
$space6 =~ s/comma/,/gi;
$condate = "$dv[$date1]" . "$space1" . "$dv[$date2]". "$space2". "$dv[$date3]" . "$space3" . "$dv[$date4]" . "$space4" . "$dv[$date5]" . "$space5" . "$dv[$date6]" . "$space6" . "$dv[$date7]";
}
sub date_mod
{
if (($fields[3] > 101352702) && ($fields[3] < 999999999101352702))
{
$rrr = $fields[3];
&convert_dates;
}
else
{
$condate = $fields[3];
}
}
sub unlinkip
{
&content;
open(UUU,">$ip_name");
close(UUU);
print "rest";
exit;
}
sub generate_email_list{
&seek_cook;
&content;
open(USER_FILE,"$guestbook_data_name") || &oops('$guestbook_data_name');
@data = ;
close(USER_FILE);
foreach $row (@data)
{
@fields = split (/\|/, $row);
$fields[4] =~ s/\s//gi;
$ELIST{lc($fields[4])} = "yes" if ($fields[0] ne "") ;
# print qq~$fields[4] \n~;
}
@keys = sort keys %ELIST;
foreach (@keys) {
print "$_ \n" if $_ ne "";
}
}
sub delete_all
{
&seek_cook;
&get_file_lock("$location_of_lock_file");
open(USER_FILE,"$guestbook_data_name") || &oops('$guestbook_data_name');
@data = ;
close(USER_FILE);
open(USER_FILE,">$guestbook_data_name");
foreach $row (@data)
{
@fields = split (/\|/, $row);
print USER_FILE "$fields[0]|$fields[1]|$fields[2]|$fields[3]|$fields[4]|$fields[5]|$fields[6]|$fields[7]|$fields[8]|$fields[9]|del|$fields[11]|$now|$fields[13]|$fields[14]|$fields[15]|$fields[16]|$fields[17]|$fields[18]|$fields[19]|$fields[20]|$fields[21]|$fields[22]|$fields[23]|$fields[24]|$fields[25]|$fields[26]|$fields[27]|$fields[28]|$fields[29]|$fields[30]|\n";
### This adds "del" to field 10 and the date it is deleted to field 12.
}
close(USER_FILE);
&release_file_lock("$location_of_lock_file");
&content;
&main_headera;
print qq~ ~;
&main_headerb;
print qq~
Active Guestbook Message Manager
$font
All deleted
~;
}
sub empty_all_trash{
&seek_cook;
&get_file_lock("$location_of_lock_file");
open(USER_FILE,"$guestbook_data_name") || &oops('$guestbook_data_name');
@data = ;
close(USER_FILE);
open(USER_FILE,">$guestbook_data_name");
foreach $row (@data)
{
@fields = split (/\|/, $row);
if ($fields[10] ne "del")
{
print USER_FILE "$row";
}
}
close(USER_FILE);
&release_file_lock("$location_of_lock_file");
&content;
&main_headera;
print qq~ ~;
&main_headerb;
print qq~
Active Guestbook Trash Manager
$font
Trash emptied
~;
}
sub rate
{
unless (-e "$rated")
{
open(UPDATE3,">$rated");
chmod(0777, "$rated");
print UPDATE3 "$rated";
close(UPDATE3);
}
$target = "http://www.active-scripts.net/rate_guestbook.html";
# print redirect (-uri => $target);
&content;
print qq~ $title
~;
exit;
}
sub approve
{
$ref = $FORM{'ref'}; $tero = $FORM{'tero'};
&get_file_lock("$location_of_lock_file");
open(USER_FILE,"$econf");
@data = ;
close(USER_FILE);
open(MAIN_FILE,"$guestbook_data_name");
@maindata = ;
close(MAIN_FILE);
foreach $row (@maindata){
@fields = split (/\|/, $row);
$newhighest = $fields[0] if $fields[0] > $newhighest ;
}
$newhighest++;
open(GUESTBOOK,">>$guestbook_data_name");
open(WAITING,">$econf");
foreach $row (@data)
{
@fields = split (/\|/, $row);
if (($ref eq $fields[0]) && ($tero eq $fields[20]))
{
$pc = $fields[16];
@approve_fields = @fields; # carry through to notifications
print GUESTBOOK "$newhighest|$fields[1]|$fields[2]|$fields[3]|$fields[4]|$fields[5]|$fields[6]|$fields[7]|$fields[8]|$fields[9]|$fields[10]|$fields[11]|$fields[12]|$fields[13]|$fields[14]|$fields[15]|$fields[16]|$fields[17]|$fields[18]|$fields[19]|$fields[20]|$fields[21]|$fields[22]|$fields[23]|$fields[24]|$fields[25]|$fields[26]|$fields[27]|$fields[28]|$fields[29]|$fields[30]|\n";
}
else
{
print WAITING "$row";
}
}
close(GUESTBOOK);
close(WAITING);
&release_file_lock("$location_of_lock_file");
&handle_notifications;
$page_after_write = "$guesturl\?action=reload" if (($page_after_write eq "") ||($page_after_write eq " ") );
&content;
&main_headera;
print qq~ ~;
&main_headerc;
&active_header if $active_header eq "on";
print qq~ ~;
print qq~
~;
}
sub view_smileys{
&seek_cook;
&content;
print qq~$title ~;
print qq~
~;
$smiley_status = "disabled";
$smiley_status = "enabled" if $use_smileys eq "yes";
print qq~
Active Guestbook Smiley Manager
$font Smileys are currently $smiley_status .
$font Max number of smileys is $max_smileys .
You can change these setting via E10 and E11 in the Standard Preferences Manager.
Control Panel - ADD NEW SMILEY
~;
&inter_footer;
}
sub enable_disable_smiley
{
&seek_cook;
open(FILE,"$smileys");
@smileys = ;
close(FILE);
open(FILE,">$smileys");
foreach(@smileys){
@smiley = split(/\|/, $_);
if ($smiley[0] eq $FORM{'smiley'}){
if ($smiley[3] eq "inactive"){
print FILE "$smiley[0]|$smiley[1]|$smiley[2]|||||\n";
}
else{
print FILE "$smiley[0]|$smiley[1]|$smiley[2]|inactive||||\n";
}
}
else{
print FILE "$_";
}
}
close(FILE);
$var = time;
&content;
print qq~
~;
exit;
}
sub remove_smiley
{
&seek_cook;
open(FILE,"$smileys");
@smileys = ;
close(FILE);
open(FILE,">$smileys");
foreach(@smileys){
@smiley = split(/\|/, $_);
unless ($smiley[0] eq $FORM{'smiley'}){
print FILE "$_";
}
}
close(FILE);
$var = time;
&content;
print qq~
~;
exit;
}
sub view_to_edit_smiley
{
&seek_cook;
open(FILE,"$smileys");
@smileys = ;
close(FILE);
open(FILE,"$smileys");
foreach(@smileys){
@smiley = split(/\|/, $_);
if ($smiley[0] eq $FORM{'smiley'}){
$row = $_;
}
}
close(FILE);
@smiley = split(/\|/, $row);
&content;
print qq~$title
Edit Smiley
$fontControl Panel - Smiley Manager