~;
&active_header if $active_header eq "on";
&user_image if $user_image eq "yes";
&title if $use_title eq "on";
&user_html if $use_user_html eq "yes";
&menu;
&no_of_messages_display if $show_no_of_messages eq "yes";
$count = 1;
$grouped = 0;
$no_displayed = int($no_displayed); # fix any funny numbers entered by user
# fix any numbers entered less than one
if ($no_displayed <1){
$no_displayed = 1;
}
$start_number = $FORM{'start_number'};
$new_start_number = ($start_number + $no_displayed);
$old_start_number = ($start_number - $no_displayed);
$startplus = $start_number +1;
unless ($old_start_number < 0){print qq~ $left_bracket$TXT_previous$right_bracket ~;
}
&show_number_menu unless ($number_of_messages <($no_displayed+1));
unless ($new_start_number > ($number_of_messages -1 )){
print qq~ $left_bracket$TXT_next$right_bracket ~;
}
if (($new_start_number > ($number_of_messages -1 )) && ($number_of_messages >($no_displayed))){
print qq~ ~;
}
print qq~ ~;
$rev_startplus = $number_of_messages - $startplus +1;
$rev_new_start_number = $number_of_messages - $new_start_number +1;
$rev_number_of_messages = $number_of_messages - $number_of_messages +1;
if ($order_of_message_numbers eq "reverse"){
$overall_startplus =$rev_startplus; $overall_new_start_number =$rev_new_start_number; $overall_number_of_messages =$rev_number_of_messages;
}
else{
$overall_startplus =$startplus; $overall_new_start_number =$new_start_number; $overall_number_of_messages =$number_of_messages;
}
if ($new_start_number < $number_of_messages){
print qq~ $TXT_viewing_messages$overall_startplus$TXT_to$overall_new_start_number$TXT_after_last_number ~;
}
else{
if ($startplus == $number_of_messages){
print qq~ $TXT_viewing_message$overall_startplus$TXT_after_last_number1 ~;
}
else{
print qq~ $TXT_viewing_messages$overall_startplus$TXT_to$overall_number_of_messages$TXT_after_last_number ~;
}
}
&add2 if $add_page_appears ==1;
$message_number = $start_number+1;
foreach $row (@data_ordered){
@fields = split (/\|/, $row);
$grouped++;
if (($grouped > ($start_number)) && ($grouped < ($start_number + $no_displayed + 1))){
&main_table_results; $message_number++;
} # end if number is right
} # end for each row
if ($use_hr_image eq "yes"){
print " ";
}
unless ($old_start_number < 0){
print qq~ $left_bracket$TXT_previous$right_bracket ~;
}
&show_number_menu unless ($number_of_messages <($no_displayed+1));
unless ($new_start_number > ($number_of_messages -1 )){
print qq~ $left_bracket$TXT_next$right_bracket ~;
}
&add2 if $add_page_appears ==2;
&search_form if $includesearch ne "no";
&user_html_footer if $use_user_html_footer eq "yes";
print qq~ ~;
print qq~
~;
&inter_footer;
} # end sub read
############ write
sub write{
if (($ENV{'REQUEST_METHOD'} ne "POST")&&($limittopost eq "on")){
&content;
print "Illegal posting method. You should change settings in A15 of the Standard Preferences Manager";
exit;
}
$guest_email = $FORM{'guest_email'};
foreach (@anti_emails) {
next unless $_;
$emailoops = "yes" if ($guest_email =~ m!$_!);
}
if ($FORM{'aspm1'} ne $varstamp){
&basic_header;
print qq~
Not allowed
~;
exit;
}
if ($emailoops eq "yes"){
&basic_header;
print qq~
Email not allowed
~;
exit;
}
if ($use_referrer_limit eq "yes"){
unless($ENV{HTTP_REFERER}=~ m/$ref_domain/gi){
&content; print "Posting not allowed from your domain - $ENV{HTTP_REFERER}"; exit;
}
}
$TXT_code_not_correct = "Code not correct" if $TXT_code_not_correct eq "";
$page_after_write = "$guesturl\?action=reload" if (($page_after_write eq "") ||($page_after_write eq " ") );
###### anti-spam bit
open(BAK,"$imgpw");
@imgpw = ;
close BAK;
foreach $juy (@imgpw){
@imgfs = split (/\|/, $juy);
$IMGFWS{$imgfs[0]} = $imgfs[1];
}
if ($IMGFWS{$FORM{'hiddenpwi'}} ne $FORM{'usercod'}){
&content;
print qq~ $title
Active Guestbook
$font $TXT_code_not_correct
~;
&inter_footer;
exit;
}
sub oldone{
$FORM{'cod'} =~ s/\-//gi;
if ($showlettercheck eq "yes"){
if (($use_preview eq "yes") && ($FORM{'cod'} ne $FORM{'usercod'})){
&content;
print qq~ $title
Too many smileys. Maximum is $max_smileys. ~;
exit;
}
if (($tempname eq "") || ($tempmessage eq "")){
&content;
print qq~
Please fill in all required fields. ~;
exit;
}
if (($use_url_field eq "req") && ($blockurls ne "yes")){
$turl = $FORM{'url'}; $turl =~ s/\s+//gi;
if ($turl eq ""){
&content;
print "
Active Guestbook - Standard Preferences ManagerActive Guestbook - Standard Preferences Manager $font
Return to Guestbook | Return to Control Panel Restore FACTORY defaults | Restore USER defaults Save these settings as USER defaults (If you have made any changes, you first need to UPDATE using the button at the bottom.) $font ~;
if ($active_header eq "on"){
print qq~ To remove the Active Scripts image from the top of your guestbook, move down to the
Images/titles section below and select No for "Show Active-Scripts header".~;
}
print qq~~;
} # end view_prefs
###############
sub view_to_edit
{
&seek_cook;
$FORM{'vtenpp'} = 20 if (($FORM{'vtenpp'} eq "") || ($FORM{'vtenpp'} == 0) );
$no_displayed = $FORM{'vtenpp'};
$no_displayed = 3000000000 if $FORM{'everything'} eq "yes";
open(USER_FILE,"$guestbook_data_name") || &oops('$guestbook_data_name');
@data = ;
close(USER_FILE);
@data_ordered = reverse(@data);
&basic_header;
print qq~
$font Control Panel - Search ~;
if ($FORM{'everything'} ne "yes"){
print qq~ - show messages per page
Delete ALL Messages -
Delete All Messages WAITING APPROVAL -
Delete All PRIVATE Messages ~;
}
@datalist = ();
$count = 1;
if ($FORM{'everything'} eq "yes"){
foreach $row (@data_ordered)
{
@fields = split (/\|/, $row);
next if (($fields[10] eq "del") && ($FORM{'inctrash'} ne "yes") );
next if (($fields[15] eq "waiting") && ($FORM{'incwaiting'} ne "yes") );
next if (($fields[16] eq "yes") && ($FORM{'incprivate'} ne "yes") );
next if ((($fields[16] ne "yes") && ($fields[15] ne "waiting") && ($fields[10] ne "del")) && ($FORM{'incnormal'} ne "yes")) ;
if (($search_fields eq "1" ) || ($search_fields eq "2" )){
$searchby = (" " . $fields[$search_fields] . " ");
}
else{
$searchby = (" " . $fields[1] . " " . $fields[2] . " " . $fields[5] . " " . $fields[6] . " " . $fields[17] . " " . $fields[18] . " " . $fields[19] . " ");
}
@word_list = split(/\s+/,$search_words);
$no_of_words_in_search = @word_list;
for ($x = @word_list; $x > 0; $x--)
{
$match_word = $word_list[$x - 1];
if ($searchby =~ /$match_word/i)
{
splice(@word_list,$x - 1, 1);
} # End of If
} # End of For Loop
if (@word_list < 1)
{
push (@hits, $row);
}
} # end foreach $row
close(USER_FILE);
@datalist = @hits;
}
else
{
foreach $row (@data_ordered){
@fields = split (/\|/, $row);
unless ($fields[10] eq "del"){
push (@datalist, $row);
}
}
}
###########
print " ";
$count = 1;
$grouped = 0;
$start_number = $FORM{'start_number'};
$new_start_number = ($start_number + $no_displayed);
$old_start_number = ($start_number - $no_displayed);
$startplus = $start_number +1;
$number_of_messages = @datalist;
if ($start_number >0){
print qq~ [Start]
~;
}
unless ($old_start_number < 0){
print qq~ [Previous] ~;
}
&show_edit_number_menu unless ($number_of_messages <($no_displayed+1));
unless ($new_start_number > ($number_of_messages -1 )){
print qq~ [Next] ~;
}
if (($new_start_number > ($number_of_messages -1 )) && ($number_of_messages >($no_displayed))){
print qq~ ~;
}
print qq~ ~;
if ($new_start_number < $number_of_messages){
print qq~ Messages $startplus to $new_start_number ~;
}
else{
if ($startplus == $number_of_messages){
print qq~ Message $startplus ~;
}
else{
print qq~ Messages $startplus to $number_of_messages ~;
}
}
$individno = $start_number;
foreach $row (@datalist){
@fields = split (/\|/, $row);
$grouped++;
if (($grouped > ($start_number)) && ($grouped < ($start_number + $no_displayed + 1))){
if ($fields[16] eq "yes"){
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~
$TXT_your_message:
$fields[2]
~;
if ($fields[5])
{
print qq~
$TXT_where_in_the_world:
$fields[5]
~;
}
if ($fields[17])
{
print qq~
$TXT_user1_field:
$fields[17]
~;
}
if ($fields[18])
{
print qq~
$TXT_user2_field:
$fields[18]
~;
}
if ($fields[19])
{
print qq~
$TXT_user3_field:
$fields[19]
~;
}
print qq~
Date:
$condate
~;
if ($fields[6])
{
print qq~
$web_comment:
$fields[6]
~;
}
if ($fields[7])
{
print qq~
IP:
$fields[7]
~;
}
if ($fields[10] ne "del"){
$addedbit = "&search_words=$FORM{'search_words'}&incnormal=yes&everything=yes" if $FORM{'everything'} eq "yes";
print qq~
[ Delete this message]
~;
unless (($fields[6]) || ($fields[16] eq "yes"))
{
print qq~
[ Add a comment ]
~;
}
if (($fields[15] eq "waiting") && ($fields[16] ne "yes"))
{
print qq~
[ APPROVE THIS MESSAGE ]
~;
}
if ($fields[16] ne "yes")
{
print qq~
[ Edit this message ] ~;
}
print qq~
Factory default language preferences restored.
~;
&inter_footer;
}
sub check_new_files
{
unless (-e "$counter_name")
{
&content;
print "The file $counter_name does not exist" ;
exit;
}
unless (-e "$guestbook_data_name")
{
&content;
print "The file $guestbook_data_name does not exist" ;
exit;
}
unless (-e "$prefs_name")
{
&content;
print "The file $prefs_name does not exist" ;
exit;
}
unless (-r "$counter_name")
{
&content;
print "The file $counter_name can not be read." ;
exit;
}
unless (-r "$guestbook_data_name")
{
&content;
print "The file guestbook_data can not be read." ;
exit;
}
unless (-r "$prefs_name")
{
&content;
print "The file $prefs_name can not be read." ;
exit;
}
unless (-w "$counter_name")
{
&content;
print "The file $counter_name can not be written to." ;
exit;
}
unless (-w "$guestbook_data_name")
{
&content;
print "The file $guestbook_data_name can not be written to." ;
exit;
}
unless (-w "$prefs_name")
{
&content;
print "The file $prefs_name can not be written to." ;
exit;
}
}
sub view_langprefs
{
&seek_cook;
&content;
# upgrade 2.1
($TXT_has_been_added_moderated = "Thanks. Your message has been sent to our webmaster and will be added shortly.") if ($TXT_has_been_added_moderated eq "");
# upgrade 4.1
($TXT_has_been_added_private = "Thanks. Your private message has been sent to our webmaster.") if ($TXT_has_been_added_private eq "");
print qq~
Active Guestbook - Language Preferences Manager
~;
}
sub view_colprefs
{
&seek_cook;
$ignore = $FORM{'ignore'};
open(COLFILE,"$colprefs_name");
@cols = ;
close(COLFILE);
unless ($ignore eq "yes") # only backup when you first enter view_colprefs
{
open(TEMPCOLFILE,">$tempcolprefs_name");
foreach $line (@cols)
{
print TEMPCOLFILE "$line";
}
close(TEMPCOLFILE);
}
&content;
print qq~