################################################################### sub add_email_message { $subject = "New Classified Ad"; $message = "The following classified ad (ad number $new_counter) was added to the $classifieds_name by $form_data{'name'}. $new_row Their home page, if any, is located at $form_data{'url'} Their IP address is $ENV{'REMOTE_ADDR'} "; if ($fee eq "on") { $message .= "The total cost for this ad is $currency$total_cost, which is based on its placement in $number_of_ads categories at the rate of $currency$first_ad_cost for the first category and $currency$multiple_ad_cost for each additional category. The customer has been sent an e-mail invoice to $form_data{'email'}, but you should follow up to make sure that they pay within a few days."; } } sub user_response_email_message { if ($fee eq "on") { $fee_message = "The total cost for your ad is $currency$total_cost, which is based on its placement in $number_of_ads categories at the rate of $currency$first_ad_cost for the first category and $currency$multiple_ad_cost for each additional category. Please remit payment immediately to the following address: $postal_address Your ad will be deleted if payment is not received within $mail_payment_days days."; } else { $fee_message = "If so, please spread the word about these FREE online classifieds."; } if ($require_admin_approval eq "on") { $status_message = "Since we must approve all new ads before they are posted, your ad will not be viewable (except for modification or deletion purposes) until we have approved it for posting."; } else { $status_message = "Your ad has been posted."; } $subject = "$classifieds_name"; $message = "Dear $form_data{'name'}, Thank you for submitting your classified ad in the $classifieds_name. $status_message You can come back at any time and modify or delete your posting as necessary. We hope you enjoy the new $classifieds_name and will come back often. $fee_message Also, please make a note of the ad number and your password now for future reference. You will need them if you ever want to modify or delete your classified ad. The ad number and password for this ad are as follows: ad number: $new_counter password: $form_data{'password'} If you did not post a classified ad on the $classifieds_name and believe that you have received this by mistake, please accept our apologies and notify us immediately. As a security measure, you are receiving this message because someone used your e-mail address when posting a classified ad on the $classifieds_name. Sincerely, $admin_name, $admin_title $sitename $siteurl $slogan"; } sub modify_email_message { $subject = "Classified Ad Modified"; $message = "The following classified ad was modified in the $classifieds_name by user $form_data{'name'}. It now appears as follows: $new_row The old row was the following: $old_row Their home page, if any, is located at one of the following: Updated URL: $form_data{'url'} Old URL: $url_modify Their IP address is $ENV{'REMOTE_ADDR'} "; if (($charge_for_renewals eq "on") && ($ad_renewed eq "on")) { $message .= "The user renewed this ad, so the renewal charge is $renewal_charge. The user has been sent an e-mail invoice at $email_modify, but you should follow up to make sure that they send payment within $mail_payment_days days."; } } sub renew_response_email_message { $subject = "Invoice for Ad Renewal"; $message = "Thank you for renewing the classified ad that you posted at the $classifieds_name. Please submit your payment of $currency$renewal_charge within $mail_payment_days days to the following address: $postal_address Your ad will be deleted if payment is not received within $mail_payment_days days. Sincerely, $admin_name, $admin_title $sitename $siteurl $slogan"; } sub delete_email_message { $subject = "Classified Ad Deleted"; $message = "The following classified ad was deleted from the $classifieds_name: $deleted_row Their home page, if any, is located at $url_delete Their IP address is $ENV{'REMOTE_ADDR'} The following classified ads (if any) were purged from the $classifieds_name because they had expired. $purged_rows"; } sub warn_email_message { $subject = "Classified Ad Notice"; $message = "The following classified ad that you posted at the $classifieds_name will expire within $daysleft days unless you renew this ad. You can easily renew the ad by going back and choosing the Modify/Renew button. As long as you check the \"Renew\" checkbox on the form, you do not have to actually change any of the information when you submit your modification in order for the ad to be renewed for another $expiration_days days. Your ad appears below: $user_row Sincerely, $admin_name, $admin_title $sitename $siteurl $slogan"; } sub purge_email_message { $subject = "Classified Ads Purged"; $message = "Old classified ads were purged because they had expired."; } sub autonotify_admin_notice_message { $subject = "Keyword Notify Signup"; $message = "Another user has signed up for the Keyword Notify feature of the $classifieds_name. Their information is listed below: $new_row"; } sub autonotify_confirmation_message { $subject = "$classifieds_name Keyword Notify Confirmation"; $message = "This message is merely a confirmation that your personal search agent for the $classifieds_name has been set up. You are now enrolled in our Keyword Notify feature and will periodically be e-mailed new classified ads that match the criteria that you selected. Your subscription to our Keyword Notify feature will automatically expire in $form_data{'autonotify_duration'} days. You can come back at any time to modify your search criteria or remove your personal search agent. To do so, you will need your profile number and your password, which are as follows: Profile Number: $new_counter Password: $form_data{'password'} Sincerely, $admin_name, $admin_title $sitename $siteurl $slogan"; } sub autonotify_message { $ad_message .= "Categories: $fields[9] Caption: $fields[10] Date Posted: $fields[12] Details: $script_url?search_and_display_db_button=on&db_id=$fields[20]&exact_match=on&query=retrieval "; } sub autonotify_email_message { if ($total_row_count > 0) { $subject = "$classifieds_name"; $message = "Your personal search agent at the $classifieds_name has found $total_row_count ads that match the search criteria that you specified when you set up your personal search agent and that have been posted within the past $autonotify_days_interval days. You can see all of the details for any ad that you are interested in by following the link next to \"Details\". Here are your ads: $ad_message"; } else { $subject = "$classifieds_name"; $message = "Your personal search agent at the $classifieds_name did not find any new ads posted within the last $autonotify_days_interval days that match the search criteria that you specified when you set up your personal search agent."; } } $unix_mail_error_message = "Error Occurred: Could Not Open Unix Mail Program"; ################################################################# # Generic Form Header Subroutine # ################################################################# sub generic_form_header { print qq~
~; } ################################################################# # Upload Form Header Subroutine # ################################################################# sub upload_form_header { print qq~ ~; } ################################################################# # Display Frontpage Subroutine # ################################################################# sub display_frontpage { my %numbers = (); my $output = ""; open (DATABASE, "$data_file_path") || &file_open_error ("$data_file_path", "Purge Database", __FILE__, __LINE__); while () { $line = $_; chop $line; @fields = split (/\|/, $line); if ($fields[14] eq "ok") { @ad_categories = split (/&&/, $fields[9]); foreach $adcategory (@ad_categories) { $numbers{$adcategory}++; } } } close (DATABASE); print qq~

~; $end_of_row = "off"; $i = 0; foreach $category (@categories) { $category_link = $category; $category_link =~ s/\+/plussign/g; $category_link =~ s/ /\+/g; $category_link =~ s/&/ampersand/g; $category_link =~ s/=/equalsign/g; if ($numbers{$category} eq "") { $numbers{$category} = 0; } print qq~ ~; if ($end_of_row eq "off") { $end_of_row = "on"; } else { print qq~~; $end_of_row = "off"; } $i++; } if ($end_of_row eq "off") { print qq~~; } else { print qq~~; } print qq~
Classified Ad Categories~; print qq~
$category ($numbers{$category})
$category_desc[$i]
All Categories
All Categories

~; } ################################################################# # Add Item Form Subroutine # ################################################################# sub add_modify_data_entry_form { print qq~
Contact Information
Your Name: *
Street Address:
City: *
State/Province: *
Zip/Postal Code:
Telephone Number:
Country:
E-mail Address: *
Web Site URL:
Display Street Address and Phone Number in Ad?:

Ad Information
~; if ($form_data{'add_item_button'} ne "") { print qq~ ~; } else { $fields[9] =~ s/\&\&/
/g; print qq~~; } if ($use_caption_headers eq "on") { print qq~ ~; } print qq~
Place a checkmark in the box next to each category that you want to post your ad in. ~; if ($limit_ads eq "on") { print qq~You may place your ad in a maximum of $max_ads categories. *~; } print qq~
~; foreach $category (@categories) { print qq~ $category
~; } print qq~
You cannot change the categories when modifying your ad. If you wish to change the categories, you must place a new ad. This ad is listed in the following categories:

$fields[9]
Caption Header:
Caption: *
Text of your ad:
(maximum of $maxwords words)
*
Other Information
~; if ($form_data{'add_item_button'} ne "") { print qq~ ~; } if (($form_data{'add_item_button'} ne "") && ($collect_email_addresses eq "on")) { print qq~ ~; } print qq~
Password: *
Ad Duration: *
Join Mailing List:
~; if ($form_data{'display_modification_form_button'} ne "") { if ($limit_renewals eq "on") { if ($fields[13] < $max_renewals) { print qq~
Renewal Options
Renew this ad for another $fields[16] days. Please keep in mind that so far, it has been renewed $fields[13] times, and that you are allowed a maximum of $max_renewals renewals. ~; if ($charge_for_renewals eq "on") { print qq~The cost for renewing your ad is $currency$renewal_charge, which must be submitted to us within $mail_payment_days days. Once your ad has been renewed, you will receive an e-mail invoice informing you of the address where you should send your payment.~; } else { print qq~There is no charge for renewing your ad.~; } print qq~
~; } else { print qq~
Renewal Options
This ad has already been renewed $max_renewals times, which is the limit on this system.
~; } } else { print qq~
Renewal Options
Renew this ad for another $fields[16] days. ~; if ($charge_for_renewals eq "on") { print qq~The cost for renewing your ad is $currency$renewal_charge, which must be submitted to us within $mail_payment_days days. Once your ad has been renewed, you will receive an e-mail invoice informing you of the address where you should send your payment.~; } else { print qq~There is no charge for renewing your ad.~; } print qq~
~; } } # print qq~~; } ################################################################# # Preview Ad Form Subroutine # ################################################################# sub preview_ad_form { if ($fee eq "on") { $fee_statement = "The total cost for your ad will be $currency$total_cost, which is based on its placement in $number_of_ads categories at the rate of $currency$first_ad_cost for the first category and $currency$multiple_ad_cost for each additional category."; } &pagesetup; print qq~

Preview of Your Ad

~; &generic_form_header; print qq~ Your new ad will appear as displayed below. Your ad contains approximately $number_of_words words and will appear in $number_of_ads categories. $fee_statement If you are satisfied with the appearance of your ad, please click on the "Post My Ad" button to place your ad. If you would like to make changes to your ad, please click on the "Go Back" button below or use your browser's "Back" function to go back to the Add form and make your desired changes.

~; $ad_categories =~ s/\&\&/
/g; if ($european_date_format eq "on") { ($today_month,$today_day,$today_year) = split (/\//, &get_date); $current_date = "$today_day/$today_month/$today_year"; } print qq~

~; @form_fields = ("name", "street", "city", "state", "zip", "country", "phone", "email", "url", "caption", "text", "password", "ad_duration", "caption_header"); foreach $field (@form_fields) { $form_data{$field} =~ s/~p~/\|/g; $form_data{$field} =~ s/~nl~/
/g; } print qq~
$form_data{'caption_header'} $form_data{'caption'}
Categories: $ad_categories Date Posted: $current_date
Contact: $form_data{'name'}
~; if ($form_data{'display_address'} eq "Yes") { print qq~$form_data{'street'}
~; } else { print qq~~; } print qq~ $form_data{'city'}, $form_data{'state'} $form_data{'zip'}
$form_data{'country'}
Telephone: ~; if ($form_data{'display_address'} eq "Yes") { print qq~$form_data{'phone'}~; } else { print qq~~; } print qq~
E-Mail: ~; if (($use_personal_inbox eq "on") && ($form_data{'show_temp_ads'} eq "")) { print qq~ Reply to Ad (this will be active once your ad is posted)~; } else { print qq~ $form_data{'email'}~; } print qq~
Web Site: $form_data{'url'}


Description
$form_data{'text'}

~; foreach $field (@form_fields) { $form_data{$field} =~ s/
/\n/g; $form_data{$field} =~ s/\"/\"\;/g; $form_data{$field} =~ s/\/\>\;/g; } print qq~ ~; foreach $item (@ad_categories) { print qq~~; } print qq~

~; &pageclose; } ################################################################# # Modify Search Form Subroutine # ################################################################# sub modify_search_form { &pagesetup("Search for an Ad to Modify"); print qq~

Search the Classifieds for Ad to Modify

~; &generic_form_header; print qq~
 Modify your ad.

Please enter your ad number and password.
Ad Number:
Password:

 

~; &pageclose; } ################################################################# # Delete Search Form Subroutine # ################################################################# sub delete_search_form { &pagesetup("Search for an Ad to Delete"); print qq~

Search the Classifieds for Ad to Delete

~; &generic_form_header; print qq~
 Delete your ad.

Please enter your ad number and password.
Ad Number:
Password:

 
~; &pageclose; } ################################################################# # View Database Form Subroutine (Simple Search) # ################################################################# sub view_database_form { &pagesetup("Search the Classified Ads"); &generic_form_header; print qq~
~; if ($show_quick_search_categories eq "on") { print qq~ ~; } if ($use_caption_headers eq "on") { print qq~ ~; } print qq~
Advanced Search
Find Keywords:
Category
Type
Posted in the last: Days
Ads Must Match
Case
Display Ads As:
Must Have Photos

~; &pageclose; } ################################################################# # Preview Ads Form Subroutine # ################################################################# sub preview_ads_form { &pagesetup("Preview New Ads"); print qq~

Preview New Ads

~; &generic_form_header; print qq~
 Preview New Ads

Please enter your administrative password.
Password:

 

~; &pageclose; } ################################################################# # hits_header Subroutine # ################################################################# sub hits_header { $page_hits_first = $hits_seen+"1"; $page_hits_last = $hits_seen+$max_rows_returned; $rows_left_to_view = $total_row_count-$hits_seen; if (($total_row_count >= $hits_seen) && (($total_row_count-$hits_seen) > $max_rows_returned)) { print qq~

We found $total_row_count matching ads. Now displaying ads $page_hits_first to $page_hits_last.

~; } elsif (($total_row_count-$hits_seen) == 1) { $rows_left_to_view = $total_row_count-$hits_seen; print qq~
We found $total_row_count matching ad. Now displaying the final ad.

~; } else { print qq~
We found $total_row_count matching ads. Now displaying the remaining $rows_left_to_view ads.

~; } } ################################################################# # search_results_body Subroutine # ################################################################# sub search_results_body { unless ($form_data{'results_format'} eq "off") { &hits_header; } if ($form_data{'results_format'} eq "off") { foreach $row (@database_rows) { @fields = split (/\|/, $row); for ($i = 0;$i <= 20;$i++) { $fields[$i] =~ s/~p~/\|/g; $fields[$i] =~ s/~nl~/\n/g; if ($fields[$i] eq "") { $fields[$i] = "."; } } print qq~~; } } elsif ($form_data{'results_format'} eq "preview_mode") { print qq~ ~; foreach $row (@database_rows) { @fields = split (/\|/, $row); $fields[9] =~ s/\&\&/
/g; if ($european_date_format eq "on") { ($today_month,$today_day,$today_year) = split (/\//, $fields[12]); $fields[12] = "$today_day/$today_month/$today_year"; } for ($i = 0;$i <= 20;$i++) { $fields[$i] =~ s/~p~/\|/g; $fields[$i] =~ s/~nl~/
/g; if ($fields[$i] eq "") { $fields[$i] = "—"; } } $fields[17] =~ s/—//g; print qq~ ~; &generic_form_header; print qq~ ~; } print qq~
Preview Ads Manager
Approve Modify Delete Caption Categories Date Posted View
(Click to view)
$fields[17] $fields[10] $fields[9] $fields[12] Details

~; } elsif ($form_data{'results_format'} eq "headlines") { $hit_counter = $page_hits_first; print qq~ ~; # Go through each result foreach $row (@database_rows) { @fields = split (/\|/, $row); $fields[9] =~ s/\&\&/
/g; if ($european_date_format eq "on") { ($today_month,$today_day,$today_year) = split (/\//, $fields[12]); $fields[12] = "$today_day/$today_month/$today_year"; } for ($i = 0;$i <= 20;$i++) { $fields[$i] =~ s/~p~/\|/g; $fields[$i] =~ s/~nl~/
/g; if ($fields[$i] eq "") { $fields[$i] = "—"; } } $fields[17] =~ s/—//g; print qq~ ~; if ($allow_photo_uploads eq "on") { $number = $fields[20]; if (-e "$upload_path/$number.gif") { print qq~~; } elsif (-e "$upload_path/$number.jpg") { print qq~~; } else { print qq~~; } } else { print qq~~; } print qq~ ~; $hit_counter++; } # end of foreach $row print qq~
# Subject Posted On Photo Details
$hit_counter $fields[17] $fields[10] $fields[12]small camera iconsmall camera iconDetails

~; } else { foreach $row (@database_rows) { @fields = split (/\|/, $row); $fields[9] =~ s/\&\&/
/g; if ($european_date_format eq "on") { ($today_month,$today_day,$today_year) = split (/\//, $fields[12]); $fields[12] = "$today_day/$today_month/$today_year"; } print qq~ ~; if ($form_data{'display_modification_form_button'} ne "") { print qq~ ~; } if ($form_data{'search_and_display_for_deletion_button'} ne "") { print qq~ ~; } for ($i = 0;$i <= 20;$i++) { $fields[$i] =~ s/~p~/\|/g; $fields[$i] =~ s/~nl~/
/g; } print qq~
$fields[17] $fields[10]
Categories: $fields[9] ~; if ($allow_photo_uploads eq "on") { $number = $fields[20]; if (-e "$upload_path/$number.gif") { if (($ad_photo_size eq "full") || ($form_data{'photo_size'} eq "full")) { &imagesize("$upload_path/$number.gif"); print qq~Photo for Ad $number~; } elsif ($ad_photo_size eq "thumbnail") { print qq~Click on thumbnail below to see full size photo with this ad

Thumbnail photo for Ad $number~; } elsif ($ad_photo_size eq "icon") { print qq~Click on icon below to see full size photo with this ad

photo icon~; } else { print qq~~; } } elsif (-e "$upload_path/$number.jpg") { if (($ad_photo_size eq "full") || ($form_data{'photo_size'} eq "full")) { &imagesize("$upload_path/$number.jpg"); print qq~Photo for Ad $number~; } elsif ($ad_photo_size eq "thumbnail") { print qq~Click on thumbnail below to see full size photo with this ad

Thumbnail photo for Ad $number~; } elsif ($ad_photo_size eq "icon") { print qq~Click on icon below to see full size photo with this ad

photo icon~; } else { print qq~~; } } else { if (($ad_photo_size eq "full") || ($ad_photo_size eq "thumbnail") || ($ad_photo_size eq "icon")) { print qq~
No
Photo
~; } else { print qq~~; } } } print qq~

Ad Number: $fields[20]
Date Posted: $fields[12]
Contact: $fields[0]
~; if ($fields[18] eq "Yes") { print qq~$fields[1]
~; } else { print qq~~; } print qq~ $fields[2], $fields[3] $fields[4]
$fields[5]
Telephone: ~; if ($fields[18] eq "Yes") { print qq~$fields[6]~; } else { print qq~~; } print qq~
E-Mail: ~; if (($use_personal_inbox eq "on") && ($form_data{'show_temp_ads'} eq "")) { print qq~ Reply to Ad~; } else { print qq~ $fields[7]~; } print qq~
Web Site: ~; if ($allow_clickable_urls eq "on") { print qq~ $fields[8]~; } else { print qq~$fields[8]~; } print qq~


Description
$fields[11]

~; } } } #end of sub search_results_body ################################################################# # search_results_footer Subroutine # ################################################################# sub search_results_footer { if ($form_data{'search_and_display_for_deletion_button'} ne "") { print qq~

~; if (($total_row_count >= $new_hits_seen) && (($total_row_count-$new_hits_seen) >= $max_rows_returned)) { print qq~ ~; } elsif (($total_row_count-$new_hits_seen) == 1) { $rows_left_to_view = $total_row_count-$new_hits_seen; print qq~ ~; } elsif ((($total_row_count-$new_hits_seen) < $max_rows_returned) && (($total_row_count-$new_hits_seen) > 1)) { $rows_left_to_view = $total_row_count-$new_hits_seen; print qq~ ~; } elsif (($total_row_count-$new_hits_seen) < 1) { $rows_left_to_view = $total_row_count-$new_hits_seen; print qq~ ~; } &navbar; print qq~

Delete This Ad

The ad above is about to be deleted. Are you sure that you want to delete this ad? If so, then please click on the button below.

~; } elsif ($form_data{'display_modification_form_button'} ne "") { print qq~

Make Modifications

The ad that you selected to modify appears above. Please make your modifications using the form below. For your convenience, all of your current information is already included on this form.

~; print qq~

~; $fields[9] =~ s/
/\&\&/g; for ($i = 0;$i <= 20;$i++) { $fields[$i] =~ s/
/\n/g; $fields[$i] =~ s/\"/\"\;/g; $fields[$i] =~ s/\/\>\;/g; } &add_modify_data_entry_form; print qq~
Submit Modifications

~; if ($form_data{'admin_password'} ne "") { print qq~~; } } elsif ($form_data{'display_reply_form_button'} ne "") { print qq~
Reply to Ad

You can use the form below to reply to $fields[0], who posted this ad. If you are responding to a personal ad and would like to remain somewhat anonymous yourself, you may want to place your own personal ad here and then reference it in your reply to this person.

Your E-mail address: *
Message: *
~; } elsif ($form_data{'send_reply_button'} ne "") { $form_data{'reply_body'} =~ s/~p~/\|/g; $form_data{'reply_body'} =~ s/~nl~/\n/g; $form_data{'reply_body'} =~ s/~r~/\r\r/g; $reply_email = $form_data{'reply_email'}; if ($require_admin_from_address) { $from = $master_admin_email_address; } else { $from = $reply_email; } $to = $fields[7]; $subject = "Reply To Your Ad at the $classifieds_name"; if ($require_admin_from_address) { $message = "You received the following reply to your ad (Ad Number $form_data{'db_id'}) at the $classifieds_name. If you wish to reply to this person, please reply to them at $reply_email. Do NOT reply directly to this message. _____________________________ $form_data{'reply_body'}"; } else { $message = "$form_data{'reply_body'}"; } &send_mail($from, $to, $subject, $message); print qq~

Reply Sent

Your reply has been sent to $fields[0].~; } elsif ($form_data{'display_new_ads_button'}) { &generic_form_header; print qq~

~; if (($total_row_count >= $new_hits_seen) && (($total_row_count-$new_hits_seen) >= $max_rows_returned)) { print qq~ ~; } elsif (($total_row_count-$new_hits_seen) == 1) { $rows_left_to_view = $total_row_count-$new_hits_seen; print qq~ ~; } elsif ((($total_row_count-$new_hits_seen) < $max_rows_returned) && (($total_row_count-$new_hits_seen) > 1)) { $rows_left_to_view = $total_row_count-$new_hits_seen; print qq~ ~; } elsif (($total_row_count-$new_hits_seen) < 1) { $rows_left_to_view = $total_row_count-$new_hits_seen; print qq~ ~; } &navbar; } else { print qq~

~; if (($total_row_count >= $new_hits_seen) && (($total_row_count-$new_hits_seen) >= $max_rows_returned)) { print qq~ ~; } elsif (($total_row_count-$new_hits_seen) == 1) { $rows_left_to_view = $total_row_count-$new_hits_seen; print qq~ ~; } elsif ((($total_row_count-$new_hits_seen) < $max_rows_returned) && (($total_row_count-$new_hits_seen) > 1)) { $rows_left_to_view = $total_row_count-$new_hits_seen; print qq~ ~; } elsif (($total_row_count-$new_hits_seen) < 1) { $rows_left_to_view = $total_row_count-$new_hits_seen; print qq~ ~; } &navbar; } print qq~~; &pageclose; } sub navbar { if ($form_data{'category'} ne "") { print qq~ ~; } if ($form_data{'keywords'} ne "") { print qq~ ~; } if ($form_data{'exact_match'} ne "") { print qq~ ~; } if ($form_data{'case_sensitive'} ne "") { print qq~ ~; } if ($form_data{'results_format'} ne "") { print qq~ ~; } if ($form_data{'query'} ne "") { print qq~ ~; } if ($form_data{'photo'} ne "") { print qq~ ~; } if ($form_data{'caption_header'} ne "") { print qq~ ~; } if ($form_data{'boolean'} ne "") { print qq~ ~; } if ($form_data{'days_ago'} ne "") { print qq~ ~; } if ($form_data{'date_begin'} ne "") { print qq~ ~; } if ($form_data{'date_end'} ne "") { print qq~ ~; } print qq~ ~; print qq~

New Search

~; } # End of sub navbar ################################################################# # no_hits_message Subroutine # ################################################################# sub no_hits_message { print qq~

No Matches Found

We're sorry, but it appears that there were no records in the database that matched your search criteria. Please go back and try again. You may want to broaden your search by leaving more of the search fields blank.

~; if ($form_data{'search_and_display_db_button'} ne "") { print qq~ ~; } if ($form_data{'search_and_display_for_modification_button'} ne "") { print qq~ ~; } if ($form_data{'search_and_display_for_deletion_button'} ne "") { print qq~ ~; } print qq~
~; &pageclose; } sub preview_ads { if ($form_data{'admin_password'} ne "$admin_password") { &admin_password_error; } &pagesetup("Preview New Ads"); &search_and_display_db; } sub search_and_display_db_for_view { &pagesetup("View"); &generic_form_header; &search_and_display_db; } sub search_and_display_for_deletion { if (($form_data{'password'} eq "") || ($form_data{'db_id'} eq "")) { &password_error; } &pagesetup("Delete"); &generic_form_header; &search_and_display_db; } sub display_modification_form { if (($form_data{'password'} eq "") || ($form_data{'db_id'} eq "")) { &password_error; } &pagesetup("Modify"); &generic_form_header; &search_and_display_db; } sub display_reply_form { &pagesetup("Reply To Ad"); &generic_form_header; &search_and_display_db; } sub send_reply { if ($form_data{'reply_body'} eq "") { &blank_field_error; } unless ($form_data{'reply_email'} =~ /.+\@.+\..+/) { &email_error; } &pagesetup("Reply To Ad"); &generic_form_header; &search_and_display_db; } sub add_form_header { print qq~

Post a Classified Ad

Please fill in the fields below to post your ad. Required fields are denoted by *. You will be given the opportunity to preview your ad before it is posted. By posting an ad here, you agree that it is in compliance with our guidelines.

~; if ($fee eq "on") { print qq~The cost for posting ads here is $currency$first_ad_cost for the first category and $currency$multiple_ad_cost for each additional category. By posting your ad here, you agree to promptly submit the appropriate payment for your ad.

~; } if ($use_personal_inbox) { print qq~Your e-mail address will not be displayed in your ad. Instead, viewers will click on a "Reply to Ad" link to send e-mail to you, and they will not see your e-mail address.~; } else { print qq~Your e-mail address will be displayed in your ad.~; } if ($allow_photo_uploads eq "on") { print qq~

You will be able to upload a photo to your ad once it has been posted.

~; } print qq~

~; } sub add_form_footer { print qq~

~; } sub successful_addition_message { &pagesetup("Success: Your Ad has been posted to the Classifieds"); print qq~

Your Ad Has Been Successfully Posted

Thank you for posting your ad here at the $classifieds_name. Please make a note of your password and your ad number, as you will need them if you ever want to modify or delete this ad. Your ad number is $new_counter. Your ad will expire in $form_data{'ad_duration'} days unless you renew it prior to that time.~; if ($limit_renewals eq "on") { print qq~ You can renew your ad for an additional $form_data{'ad_duration'} days a maximum of $max_renewals times.~; } print qq~

~; if ($fee eq "on") { print qq~The total cost for your ad is $currency$total_cost, which is based on its placement in $number_of_ads categories at the rate of $currency$first_ad_cost for the first category and $currency$multiple_ad_cost for each additional category. An invoice has been sent to your e-mail address. Please remit payment immediately. Thank you.

~; } print qq~You can view your ad here.

~; if ($require_admin_approval eq "on") { print qq~Since we must approve all new ads before they are posted, your ad will not be viewable (except for modification or deletion purposes) until we have approved it for posting.

~; } if ($allow_photo_uploads eq "on") { print qq~ If you would like to add a photo to your ad, you can do so by using the form below.

Upload a Photo to Your Ad

You may upload a photo to your ad by filling in the fields below. The image type must be in the .GIF or .JPG format, have a file size no larger than approximately $maximum_attachment_size bytes, and have a width no greater than $max_image_width pixels and a height no greater than $max_image_height pixels. Depending on the size of your photo and the speed of your Internet connection, it may take a minute or two to upload your image. Please note that this process will overwrite any previous photos that you have added to this ad.~; print qq~

~; &upload_form_header; if (!$browser_uploading) { print qq~ NOTICE: Your web browser may not support File Uploads. You may attempt to upload a multimedia file, but you may not be able to use this feature without first upgrading to a newer browser version.~; } print qq~
Please choose the file that you want to upload by clicking on the "Browse" button below and selecting the file from your local hard drive.


~; } print qq~

~; &pageclose; } sub successful_deletion_message { &pagesetup("Success: Your ad has been successfully deleted"); print qq~

The Ad that you selected has been Deleted from the Classifieds!

~; &pageclose; } sub successful_modification_message { &pagesetup("Success: Your Ad has been modified in the Classifieds"); print qq~

Your Ad Has Been Successfully Modified

Thank you for updating your ad here at the $classifieds_name. You can view your ad here.

~; if (($require_admin_approval eq "on") && ($new_status eq "temp")) { print qq~Your ad has not been approved by the administrator yet, so it will not be viewable (except for modification or deletion purposes) until we have approved it for posting. This is a generic system message and does not necessarily indicate that there is any type of problem with your ad.

~; } if ($allow_photo_uploads eq "on") { print qq~ If you haven't added a photo to your ad yet, or if you would like to replace your current photo with a new one, you can use the form below to add a photo to your classified ad.

Upload a Photo to Your Ad

You may upload a photo to your ad by filling in the fields below. The image type must be in the .GIF or .JPG format, have a file size no larger than approximately $maximum_attachment_size bytes, and have a width no greater than $max_image_width pixels and a height no greater than $max_image_height pixels. Depending on the size of your photo and the speed of your Internet connection, it may take a minute or two to upload your image. Please note that this process will overwrite any previous photos that you have added to this ad.~; print qq~

~; &upload_form_header; if (!$browser_uploading) { print qq~ NOTICE: Your web browser may not support File Uploads. You may attempt to upload a multimedia file, but you may not be able to use this feature without first upgrading to a newer browser version.~; } print qq~
Please choose the file that you want to upload by clicking on the "Browse" button below and selecting the file from your local hard drive.


~; } print qq~

~; &pageclose; } sub unsuccessful_modification_message { &pagesetup("Error: Your Ad has not been modified"); print qq~

Error: Access Denied

We're sorry, but you are only allowed to modify or delete ads posted by you.~; &pageclose; } sub successful_approval_message { &pagesetup("Success: The ad that you selected has been approved"); print qq~

The ad that you selected has been approved

~; &generic_form_header; print qq~ ~; &pageclose; } sub no_item_submitted_for_modification { &pagesetup("Error: Your Ad has not been modified"); print qq~

Error: No ad chosen

We're sorry, but we were unable to modify your ad because you did not select an ad to modify. Please hit the back button and make sure that you use the radio button or checkbox to choose an ad to modify or delete. Thank you.

~; &pageclose; } sub successful_autonotify_addition_message { &pagesetup("Success: Your personal search agent has been set up"); print qq~

Your Personal Search Agent has been set up!

You will now receive an e-mail message that contains all of the latest ads that match the search criteria that you specified. Please feel free to come back here and modify or cancel your personal search agent at any time. To do so, you will need your profile number and your password for this profile, which are as follows:

Profile Number: $new_counter
Password: $form_data{'password'}

~; &pageclose; } sub successful_autonotify_modification_message { &pagesetup("Success: Your personal search agent has been updated"); print qq~

Your Personal Search Agent has been Updated!

Your personal search agent has been updated as you specified. As before, you will continue to receive an e-mail message that contains all of the latest ads that match the search criteria that you specified. Please feel free to come back here and modify or cancel your personal search agent at any time.

~; &pageclose; } sub successful_autonotify_deletion_message { &pagesetup("Success: Your personal search agent has been deleted"); print qq~

Your Personal Search Agent has been Deleted!

Your personal search agent has been deleted as you specified. You will no longer be notified of new ads here at the $classifieds_name. Please feel free to come back here and create a new personal search agent at any time.

~; &pageclose; } sub print_autonotify_options_page { &pagesetup("$classifieds_name Keyword Notify Options"); &generic_form_header; print qq~

Keyword Notify Options

Please choose one of the buttons below to either setup your Keyword Notify search agent, modify your search criteria, or delete your Keyword Notify search agent. Please note that you will be asked to logon. If you have previously registered when posting an ad, you can use the same username and password here. Otherwise, you will need to register so that only you have control over your search agent.

~; &pageclose; exit; } sub autonotify_add_form { print qq~

Keyword Notify Setup Form

~; if ($form_data{'autonotify_modify_form_button'} ne "") { print qq~ The search agent form appears below with your previous search criteria filled in.

~; } else { print qq~ Please use the following form to define how your personal search agent will retrieve the new ads according to the keywords or other criteria that you select. If you want the search agent to send you all ads, you can simply leave all fields blank, with the exception that you must enter your e-mail address and select a password.

~; } &generic_form_header; print qq~
~; if ($show_quick_search_categories eq "on") { print qq~ ~; } if ($use_caption_headers eq "on") { print qq~ ~; } print qq~ ~; if ($form_data{'autonotify_modify_form_button'} ne "") { print qq~ ~; } else { print qq~ ~; } print qq~ ~; if ($form_data{'autonotify_add_form_button'} ne "") { print qq~ ~; } print qq~
Find Keywords:
Category
Type
Ads Must Match
Case
Must Have Photos
Your E-Mail Address: *
Choose Password: *
Auto-Expire Agent in: Days

~; } ################################################################# # Keyword Notify Search Form Subroutine # ################################################################# sub autonotify_search_form { &pagesetup("Search for a Keyword Notify Profile"); print qq~

Search for a Keyword Notify Profile

~; &generic_form_header; print qq~
Profile Information

Please provide the profile number and the password that you submitted with this Keyword Notify profile.

Profile Number
Password

~; if ($form_data{'autonotify_modify_search_button'} ne "") { print qq~ ~; } if ($form_data{'autonotify_delete_search_button'} ne "") { print qq~ ~; } &pageclose; } sub autonotify_delete_form { print qq~

Keyword Notify Deletion Warning!

You are about to delete your personal search agent at the $classifieds_name. Are you sure that you want to do this? If not, please go back and choose another option. If you're sure that you want to cancel your personal search agent, then click on the "Delete Search Agent" button below.

Your current search agent criteria are as follows:

Keywords: $fields[0]
To be searched for: $fields[1]
Case sensitive?: $fields[2]
Category: $fields[3]
Type: $fields[4]
Only Ads with Photos?: $fields[5]
E-mail Address: $fields[6]
Profile Number: $fields[10]

~; &generic_form_header; print qq~

~; } sub print_help_page { &pagesetup("$classifieds_name FAQ"); print qq~

Frequently Asked Questions and Answers

Here are brief explanations for some of the questions that you may have about the $classifieds_name.

How does this system work?

On the front page for the $classifieds_name, you will see several buttons that allow you to view, post, modify, or delete ads. Please click on one of these buttons, depending on the action that you want to take. If you post an ad, you will be asked to select a password for that ad. You will also be given an ad number. In the future, anytime that you want to modify or delete that ad, you will need to know the ad number and password. Therefore, please make a note of them.

Back to Top


How do I post an ad?

From the main page, click on the "Place Ad" button. and logon as described above. You will then be taken to the "Post a Classified Ad" page. Here, you will see a form with many fields. You will also be asked to select a password for that ad. When you have filled out the form, click on the "Post my ad" button. You should then see an acknowledgement page if your ad was successfully posted. You will also be given an ad number. Please make a note of your password and the ad number, because you will need these if you ever want to modify or delete your ad.

Back to Top


Do I have to use my real name when posting a message?

No. Even if you use your real name when you register (and we encourage that), you do not have to use your real name when you post an ad. The script will simply publish whatever you put in the first and last name fields. If you feel more comfortable, you can use a nickname or pseudoname.

Back to Top


Can I put HTML tags anywhere in my posts?

No. You can not use HTML tags in the body of the message. If you put HTML tags in your message, the script will just throw out everything in between the <>'s. You do have the option, however, of putting a link to a picture of something if you have posted it somewhere else on the Web.

Back to Top


What should I put in the "Text of Ad" box?

Please describe the item that you are trying to sell in as much detail as you can. If you're posting a classified ad advertising a car, tell people about the year, make, model, number of miles, options, etc. If you're posting a classified ad advertising a piece of real estate for sale or for rent, tell them about the number of bedrooms, bathrooms, and other rooms; about the amenities; etc. If you're announcing a garage sale, be sure to tell readers the exact time and location of the garage sale and describe some of the items that will be available. For personal ads, tell people what you look like, what you do for a living, what your hobbies and interests are, where you're from, etc. Also, don't be afraid to say what you're looking for both in terms of physical or personality traits and in terms of the relationship. If you want someone who is a specific age or looks a certain way or has certain political or recreational interests, say so! Being honest about both what you're really like and what you really want will help to avoid misunderstandings in the future. If you're posting a help wanted ad, tell people about the type of work, what skills, education, or experience is required, what the rate of pay is, the geographic location of the job, and any other information relevant to this particular position. If you're posting an employment wanted ad, tell potential employers about the type of work you desire, your skills, education, and experience, what salary level you are seeking, what geographic areas you would prefer to work in, and any other relevant information about yourself.

Back to Top


Why didn't my classified ad show up?

Your classified ad most likely did not show up because either you were in the wrong category (such as "Housing" instead of "Personals") or you specified search criteria that don't appear in your ad. If so, please verify that you selected the correct category and then broaden your search by leaving more of the search fields blank.

Back to Top


How do I modify my ad?

At the bottom of every page you will find the "Modify Ad" button. If you click on this button, you will see a search form. The form will ask for the ad number and the password that you entered with this ad. Once you have entered these, click on the "Search for Item to Modify" button. If you entered the correct information, your ad will be displayed with a modification form beneath it. The current information from your ad will already be filled in, so you only need to modify the fields that you want to change. Once you have filled in the form, click on the "Submit Modification(s)" button. You should then see an acknowledgement page if your ad was successfully modified.

Back to Top


How do I remove my ad?

At the bottom of every page you will find the "Delete Ad" button. If you click on this button, you will see a search form. The form will ask for the ad number and the password that you entered with this ad. Once you have entered these, click on the "Search for Item to Delete" button. Narrow your search by filling in the fields with information specific to your ad (such as your last name, etc.) and click on the "Search for Item to Delete" button. If you entered the correct information, your ad will be displayed with a warning beneath it indicating that you are about to delete it. If you are sure that you want to delete this ad, click on the "Delete This Ad" button. You should then see an acknowledgement page if your ad was successfully deleted.

Back to Top


Why didn't my search turn up any hits?

Your search criteria may have been too narrow. Go back to the search form and leave more of the search fields blank, or click on the "New Search" button and do a general search. For the broadest possible search, simply click on the "See All Ads" button.

Back to Top


How do I navigate the search results page?

The results of your search will be displayed on the search results page. To see more of your search results, you can click on the "See The Next X Hits" button beneath the ads displayed on this page.

Back to Top


What do all of those abbreviations in the personal ads stand for?

Below are some of the most commonly used abbreviations for personal ads and what they mean:

  • M--Male
  • F--Female
  • W--White
  • B--Black
  • H--Hispanic
  • A--Asian
  • J--Jewish
  • S--Single
  • D--Divorced
  • M--Married (not that we're encouraging this)
  • Wi--Widowed
  • G--Gay
  • Bi--Bisexual
  • C--Christian
  • P--Professional
  • NS--Non-smoking
  • ISO--In Search Of
  • y.o.--Years Old

Back to Top


How do I contact someone who has posted a classified ad?

All of the classified ads will list either the e-mail address of the person who posted the ad or their phone number. The e-mail listings are also links, so you can click on the person's e-mail address to send the person a reply message.

Back to Top


How can I obtain a copy of this program?

This program is developed and licensed by Hagen Software Inc. Several versions are available, ranging in price from \$79 to \$999, depending on the features that you need. You can purchase a license to use one of these versions. This license allows you to install and use the program on one web site. It does not allow you to resell, give away, or otherwise distribute the source code, nor does it allow you to extend this program to other web sites. More information is available here.

Back to Top


~; &pageclose; exit; } sub print_guidelines_page { &pagesetup("$classifieds_name Guidelines"); print qq~

Guidelines

By posting your classified ad here, you agree that it is in compliance with our guidelines. We do not wish to censor or police the ads being posted here, nor do we have the time to monitor every posting, but in order to prevent abuses by a few people and to keep this forum comfortable and appropriate for our general audience, which includes people of all ages, races, religions, and nationalities, we reserve the right to remove any ads in violation of our guidelines that are brought to our attention. Therefore, all ads that are in violation of our guidelines are subject to being removed immediately and without prior notice. By posting an ad here, you agree to the following statement:
    I agree that I will be solely responsible for the content of all classified ads that I post under this program and that I will indemnify the $sitename and hold it harmless for any losses or damages to myself or to others that may result directly or indirectly from any ads that I post here.
By posting an ad here, you further agree to the following guidelines:
  1. No foul or otherwise inappropriate language will be tolerated. Ads in violation of this rule are subject to being removed immediately and without warning.
  2. No racist, hateful, or otherwise offensive comments will be tolerated.
  3. No ad promoting activities that would be illegal under the laws of this State or Province, this Country, or of the state or country of domicile of the person posting the ad shall be allowed.
  4. Any ad that appears to be merely a test posting, a joke, or otherwise insincere or non-serious is subject to removal.
  5. The $sitename reserves the ultimate discretion as to which ads, if any, are in violation of these guidelines. Thank you. We hope that these guidelines will make the $classifieds_name more enjoyable for everyone.

    ~; &pageclose; exit; } sub print_tips_page { &pagesetup("$classifieds_name Search Tips"); print qq~

    Search Tips

    The $classifieds_name are controlled by a powerful search engine. You can use the fields on the search form to narrow your search according to the keywords or other criteria that you select. If you want the broadest possible search, leave all fields blank (although this may result in an inordinately large number of results).

    "As A Phrase": You can also use the "as a phrase" option under "Find" in the Keyword Search box to narrow your search (for example, if you select the "as a phrase" option and search for "dog" then only listings with "dog" in them will show up. Listings with "dogs" or "hot dog" in them would not).

    Case Sensitive: If you you select the case sensitive option, capitalization will matter (for example, if you search for "Star", then listings with the word "star" will not show up).

    E-Mail address: Did you know that you can search for people using a specific Internet Access Provider? For example, if you wanted to find all people using Erols, you could enter the keywords "erols.com" in the Keywords search form.

    Phone Number: Even if you don't know the whole number, you can enter parts of the number in the Keywords search box (make sure that Exact Match is not turned on). Or, you could search for people in the 703 area code by entering "703".

    URL of Homepage: Again, you could search for people whose home pages reside at a specific server. For example, to find people whose homepages reside at America Online, type "aol.com" in the Keyword Search form. In fact, if you just wanted to see people with home pages, you could simply type "http://" in this field, and the script will ony display entries for people who have homepages.

    ~; &pageclose; exit; } ####################################################################### # duplicate_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to add # or modify a classified ad didn't enter a valid e-mail address in the # form someuser@somedomain.com sub duplicate_error { &pagesetup("Error: Duplicate Found"); print qq~

    Error: Duplicate Found

    We're sorry, but this ad is a duplicate of an ad that has already been posted. If you just attempted to post an ad before posting this one, then this message is an indication that your original post was successful.

    ~; &pageclose; exit; } ####################################################################### # word_limit_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to add # or modify a classified ad entered too many words in their ad. sub word_limit_error { &pagesetup("Error: Maximum Word Limit Exceeded"); print qq~

    Error: Maximum Word Limit Exceeded

    We're sorry, but the text of your ad contains $number_of_words words, which exceeds our word limit. The maximum number of words allowed in each ad is $maxwords words. Please go back and trim the text of your ad so that it contains no more than $maxwords words.

    ~; &pageclose; exit; } ####################################################################### # ad_limit_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to add # or modify a classified ad didn't enter a valid e-mail address in the # form someuser@somedomain.com sub ad_limit_error { &pagesetup("Error: Maximum Ads Exceeded"); print qq~

    Error: Maximum Ads Exceeded

    We're sorry, but you are attempting to post your ad in $number_of_ads categories, which is greater than the maximum allowable number of ads, which is $max_ads ads. Please go back and make sure that you have selected no more than $max_ads categories.

    ~; &pageclose; exit; } sub kill_error { &pagesetup("Forbidden"); print qq~

    Forbidden

    \n You don't have permission to access this program.
    ~; &pageclose; exit; } sub badwords_error { &pagesetup("Error: Censor Triggered"); print qq~

    Error: Censor Triggered

    \n Your text contains one or more words that are not allowed in ads posted under this system. The unacceptable words are highlighted in bold below:

    ~; $n = @check_fields; for ($i = 0;$i <= $n-1;$i++) { $form_data{$check_fields[$i]} =~ s/~nl~/
    /gi; $form_data{$check_fields[$i]} =~ s/~p~/\|/gi; print qq~$check_fields[$i] = $form_data{$check_fields[$i]}
    ~; } print qq~

    Please use your browser's BACK button to edit your text and make it suitable for everyone. If your company name, e-mail address, or telephone number were listed in bold above, then you are not allowed to post ads on this site.

    ~; &pageclose; exit; } ####################################################################### # email_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to add # or modify a classified ad didn't enter a valid e-mail address in the # form someuser@somedomain.com sub email_error { &pagesetup("Invalid E-Mail Address"); print qq~

    Invalid E-Mail Address

    \n We're sorry, but you did not enter a valid e-mail address. Please go BACK and make sure that you have entered a valid e-mail address.

    \n If you do not have an e-mail address, you can leave this field blank, but please be sure to provide other contact information, such as your phone number.

    ~; &pageclose; exit; } sub blank_field_error { &pagesetup("Missing Field"); print qq~

    Missing Field

    \n We're sorry, but you did not enter any information in a required field. Please go BACK and make sure that you have written a message and that you have included your e-mail address, phone number, or some other means for your recipient to contact you. Thank you.
    ~; &pageclose; exit; } ####################################################################### # autonotify_email_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to add # or modify a classified ad didn't enter a valid e-mail address in the # form someuser@somedomain.com sub autonotify_email_error { &pagesetup("Invalid E-Mail Address"); print qq~

    Invalid E-Mail Address

    \n We're sorry, but you did not enter a valid e-mail address. Please go BACK and make sure that you have entered your correct e-mail address.

    ~; &pageclose; exit; } ####################################################################### # autonotify_duplicate_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to add # or modify a classified ad didn't enter a valid e-mail address in the # form someuser@somedomain.com sub autonotify_duplicate_error { &pagesetup("Keyword Notify Error"); print qq~

    Keyword Notify Error

    \n We're sorry, but you have already created a personal search agent under this username. If you would like to modify your e-mail address or search criteria for this agent, you can do so by clicking on the "Modify Search Agent" button below. If you are trying to set up additional search agents, you will need to use a separate username for each personal search agent. We require this in order to reduce the load on our servers, and because most people do not want or need more than one agent per section. If you want an additional search agent for this section, please click on the "Setup Additional Search Agents" button below and use a new username.

    ~; &generic_form_header; print qq~

    ~; &pageclose; exit; } ####################################################################### # autonotify_no_match_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to modify # or delete their Keyword Notify profile does not already have a profile in # the database sub autonotify_no_match_error { &pagesetup("Keyword Notify Error"); print qq~

    Keyword Notify Error

    \n We're sorry, but we couldn't find your personal search agent profile to modify or delete. Please go back and check to make sure that you have entered the correct profile number and password. If you do not currently have a Keyword Notify profile, and if you would like to create one, you can do so by clicking on the "Setup Personal Search Agent" button below.

    ~; &generic_form_header; print qq~

    ~; &pageclose; exit; } ####################################################################### # url_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to add # or modify a classified ad didn't enter a valid URL in the form # "http://somedomain.suffix" sub url_error { &pagesetup("Invalid URL"); print qq~

    Invalid URL

    \n We're sorry, but you did not enter a valid URL for either your home page or the map feature. Please go BACK and make sure that you have entered the correct URL for your home page or the map feature. To be a valid URL, it must begin with "http://" and be in the form "http://somedomain.suffix". Valid suffixes include "com", "net", "gov", "org", "mil", and others such as "de" or "jp".

    \n If you do not have a home page (or if you were trying to point to a gopher site or some other site besides a web site), please leave this field blank.

    ~; &pageclose; exit; } sub required_error { &pagesetup("Missing Field"); print qq~

    Missing Field

    \n We're sorry, but you did not select a value for a required field. Would you please go BACK and make sure that you have selected a value for all of the required fields. Thank you.

    ~; &pageclose; exit; } sub password_error { &pagesetup("Error: Missing Ad Number or Password"); print qq~

    Error: Missing Ad Number or Password

    \n We're sorry, but you did not enter either your ad number or your password. Please go BACK and make sure that you have entered both your ad number and your password. Thank you.
    ~; &pageclose; exit; } sub admin_password_error { &pagesetup("Error: Invalid Password"); print qq~

    Error: Invalid Password

    \n We're sorry, but you did not enter a valid password. Please go BACK and make sure that you have entered the correct password. Thank you.
    ~; &pageclose; exit; } sub successful_upload_message { &pagesetup("Success: Your Photo has been uploaded and added to your ad"); print qq~

    Upload Successful

    Your photo has been uploaded and added to your ad. For your information, your photo has a file size of approximately $upload_file_size bytes, a width of $image_width pixels, and a height of $image_height pixels. You can view your new ad here. Please note that you may need to reload it in order to see your new photo with the ad.

    ~; &pageclose; exit; } ####################################################################### # upload_unauthorized_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to upload # a photo to their ad didn't upload a photo in the correct format (such as # .gif or .jpg) sub upload_unauthorized_error { &pagesetup("Upload Error"); print qq~

    Upload Error

    \n We're sorry, but we are not currently allowing users to upload photos with their ads. Thank you.

    ~; &pageclose; exit; } ####################################################################### # upload_no_match_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to upload # a photo to their ad didn't enter the correct id number and password # for their ad sub upload_no_match_error { &pagesetup("Upload Error"); print qq~

    Upload Error

    \n We're sorry, but you did not enter the matching ID number and password for your ad. Please go back and check to make sure that you have entered the correct ID number and password.

    ~; &pageclose; exit; } ####################################################################### # upload_large_file_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to upload # a photo to their ad attempted to upload a file that exceeds the maximum # number of bytes specified in the $maximum_attachment_size variable in # the user.cfg file sub upload_large_file_error { &pagesetup("Upload Error"); print qq~

    Upload Error

    \n We're sorry, but we were unable to upload your photo because its file size is too large. The largest file size that we allow for uploads is $maximum_attachment_size bytes. The file that you attempted to upload has a file size of $upload_file_size bytes. Please go back and either shrink the file size of your photo by using a graphics program or choose another photo that has a file size of less than $maximum_attachment_size bytes. Thank you.

    ~; &pageclose; exit; } ####################################################################### # upload_format_error Subroutine ####################################################################### # This subroutine prints an error message if the person trying to upload # a photo to their ad didn't upload a photo in the correct format (such as # .gif or .jpg) sub upload_format_error { &pagesetup("Upload Error"); print qq~

    Upload Error

    \n We're sorry, but we were unable to upload your photo because it is not in the correct format. You must use photos in the .GIF or .JPG format. Please go back and check to make sure that the photo that you are attempting to upload ends in either ".gif" or ".jpg". Thank you.

    ~; &pageclose; exit; } ####################################################################### # upload_invalid_gif_error Subroutine ####################################################################### # This subroutine prints an error message if the .gif photo that the person # is trying to upload doesn't appear to be a valid .gif file when it is # tested by the program. sub upload_invalid_gif_error { &pagesetup("Upload Error"); print qq~

    Upload Error

    \n We're sorry, but the photo that you were trying to upload ($upload_file_filename) does not appear to be a valid .gif file. Please go back and check to make sure that it is a valid .gif file or rename it to have a .jpg extension if it is a .jpg file. You can test this by viewing it in a graphics program. Thank you.

    ~; &pageclose; exit; } ####################################################################### # upload_invalid_jpg_error Subroutine ####################################################################### # This subroutine prints an error message if the .jpg photo that the person # is trying to upload doesn't appear to be a valid .jpg file when it is # tested by the program. sub upload_invalid_jpg_error { &pagesetup("Upload Error"); print qq~

    Upload Error

    \n We're sorry, but the photo that you were trying to upload ($upload_file_filename) does not appear to be a valid .jpg file. Please go back and check to make sure that it is a valid .jpg file or rename it to have a .gif extension if it is a .gif file. You can test this by viewing it in a graphics program. Thank you.

    ~; &pageclose; exit; } ####################################################################### # upload_invalid_size_error Subroutine ####################################################################### # This subroutine prints an error message if the photo that the person # is trying to upload exceeds either the maximum width or height in pixels # as set by the $max_image_width and $max_image_height variables in the # user.cfg file. sub upload_invalid_size_error { &pagesetup("Upload Error"); print qq~

    Upload Error

    \n We're sorry, but the photo that you were trying to upload ($upload_file_filename) is too large. Your photo has a width of $image_width pixels and a height of $image_height pixels. We do not allow photos that have dimensions larger than a width of $max_image_width pixels and a height of $max_image_height pixels. Please go back and either resize your photo in a graphics program to fit within our maximum dimensions or choose another photo. Thank you.

    ~; &pageclose; exit; } ################################################################# # Upload Form Subroutine # ################################################################# sub upload_form { if ($allow_photo_uploads ne "on") { &upload_unauthorized_error; } &pagesetup("Upload a Photo to your Ad"); &upload_form_header; print qq~
    Upload a Photo to Your Ad

    You may upload a photo to your ad by filling in the fields below. The image type must be in the .GIF or .JPG format, have a file size no larger than approximately $maximum_attachment_size bytes, and have a width no greater than $max_image_width pixels and a height no greater than $max_image_height pixels. Depending on the size of your photo and the speed of your Internet connection, it may take a minute or two to upload your image. Please note that this process will overwrite any previous photos that you have added to this ad.~; print qq~

    ~; if (!$browser_uploading) { print qq~ NOTICE: Your web browser may not support File Uploads. You may attempt to upload a multimedia file, but you may not be able to use this feature without first upgrading to a newer browser version.~; } print qq~
    Ad Number: *
    Password: *
    Please choose the file that you want to upload by clicking on the "Browse" button below and selecting the file from your local hard drive.


    ~; &pageclose; exit; } sub warn_error_message { &pagesetup("Error: Warn Program Already Run Recently"); print qq~

    Error: Warn Program Already Run Recently

    Notices have already been mailed out within the past $warn_runtime_interval days to users whose classified ads are about to expire. Please try running this script again in $warn_runtime_interval or more days.

    ~; &pageclose; exit; } sub warn_success_message { &pagesetup("Expiration Notices Successfully Sent"); print qq~

    Expiration Notices Successfully Sent

    The script has successfully sent out the expiration notices.

    ~; &pageclose; exit; } sub purge_error_message { &pagesetup("Error: Purge Already Run Recently"); print qq~

    Error: Purge Already Run Recently

    The classified ads have already been purged within the past $purge_runtime_interval days. Please try running this script again in $purge_runtime_interval or more days.

    ~; &pageclose; exit; } sub purge_success_message { &pagesetup("Classified Ads Successfully Purged"); print qq~

    Classified Ads Successfully Purged

    The script has successfully purged the classified ads.

    ~; &pageclose; exit; } sub autonotify_error_message { &pagesetup("Error: Keyword Notify Program Already Run Recently"); print qq~

    Error: Keyword Notify Program Already Run Recently

    The Keyword Notify program has already been run within the past $autonotify_days_interval days. Please try running this script again in $autonotify_days_interval or more days.

    ~; &pageclose; exit; } sub instant_autonotify_error_message { &pagesetup("Error: Instant Keyword Notify Being Used"); print qq~

    Error: Instant Keyword Notify Being Used

    You are have turned on the Instant Keyword Notify feature. As a result, running the Keyword Notify program could cause many users to receive duplicate notices of new ads that they have already been informed of. If you would rather run the Keyword Notify program periodically at timed, regular intervals and not have it run automatically for each new ad that is posted, you need to set the \$use_instant_autonotify variable equal to "off".

    ~; &pageclose; exit; } sub autonotify_success_message { &pagesetup("Keyword Notify Notices Successfully Sent"); print qq~

    Keyword Notify Notices Successfully Sent

    The script has successfully sent out the Keyword Notify e-mail messages containing ads posted within the past $autonotify_days_interval days.

    ~; &pageclose; exit; } sub autonotify_purge_error_message { &pagesetup("Error: Keyword Notify Purge Already Run Recently"); print qq~

    Error: Keyword Notify Purge Already Run Recently

    The old Keyword Notify profiles have already been purged within the past $autonotify_purge_runtime_interval days. Please try running this script again in $autonotify_purge_runtime_interval or more days.

    ~; &pageclose; exit; } sub autonotify_purge_success_message { &pagesetup("Keyword Notify Profiles Successfully Purged"); print qq~

    Keyword Notify Profiles Successfully Purged

    The script has successfully purged the old Keyword Notify profiles.

    ~; &pageclose; exit; } sub admin_form { &pagesetup; print qq~
    e-Classifieds Control Panel
    e-Classifieds: $edition
    System Info

    Status: Online
    Edition: $edition
    Version: $version {Version Info}
    Build Date: $build_date
    Manufacturer: Hagen Software Inc.
    Web Site: http://www.e-classifieds.net

    System Maintenance

    You will need your administrative password to access any of the functions below. What would you like to do?

    Attention Internet Explorer users: Unfortunately, versions of IE prior to version 4.x do NOT support the JavaScript popup menus used by the "About" links below. The administrative functions will still work, however, although you will need to consult the program documentation if you need help in using them. If you are using IE version 3.x you may want to upgrade to either IE 4.x or Netscape 4.x.
    ~; &generic_form_header; print qq~
    Modify User Ads {About}
    Delete User Ads {About}
    Add or Change Photo in User Ads {About}
    Run Keyword Notify Program {About}
    Send Out Expiration Notices {About}
    Purge Old Ads {About}
    Delete All Ads {About}
    Purge Old Keyword Notify Profiles {About}
    Preview New Ads {About}
    View Your Mailing List {About}
    Clear Your Mailing List {About}
    Send Mass E-Mail {About}

    ~; &pageclose; } sub view_maillist_form { &pagesetup; print qq~

    View Your Mailing List

    ~; &generic_form_header; print qq~
     View Your Mailing List

    Please enter your administrative password.
    Password:

     

    ~; &pageclose; } sub clear_maillist_form { print qq~

    Mailing List Warning!

    You are about to clear your entire mailing list. Are you sure that you want to do this? Please make sure that you have saved this list if you want to before clearing it. You can view it (and optionally save it) by going back to the Control Panel and clicking on the "View Mailing List" button. If you're sure that you want to clear your mailing list, type in your administrative password and then click on the "Clear Mailing List" button below.

    ~; &generic_form_header; print qq~
     Clear Mailing List

    Please enter your administrative password.
    Password:

     

    ~; } sub maillist_cleared_message { &pagesetup; print qq~

    Your Mailing List Has Been Cleared

    ~; &pageclose; } sub send_maillist_form { print qq~

    Send Mass E-Mail to Mailing List Subscribers

    You can use the form below to send a mass e-mail to all subscribers who have signed up for your newsletter by checking the signup box on the form when they posted their ads. To do so, type in your administrative password, fill in the Subject and Message boxes below, and then click on the "Send Mass E-Mail" button below.

    ~; &generic_form_header; print qq~
     Send Mass E-Mail


    Password:

    Subject of your Message:

    Your Message:

     

    ~; } sub maillist_sent_message { &pagesetup; print qq~

    Your Mass E-Mail Has Been Sent

    ~; &pageclose; } sub autonotify_form { &pagesetup; print qq~

    Run the Keyword Notify Program

    ~; &generic_form_header; print qq~
     Run the Keyword Notify Program

    Please enter your administrative password.
    Password:

     

    ~; &pageclose; } sub warn_form { &pagesetup; print qq~

    Send Out Expiration Notices

    ~; &generic_form_header; print qq~
     Send Out Expiration Notices

    Please enter your administrative password.
    Password:

     

    ~; &pageclose; } sub purge_form { &pagesetup; print qq~

    Purge Old Ads

    ~; &generic_form_header; print qq~
     Purge Old Ads

    Please enter your administrative password.
    Password:

     

    ~; &pageclose; } sub delete_all_form { &pagesetup; print qq~

    Delete All Ads Warning!

    You are about to delete your entire ads database. Are you sure that you want to do this? If you're sure that you want to delete all ads from your system, type in your administrative password and then click on the "Delete All Ads" button below.

    ~; &generic_form_header; print qq~
     Delete All Ads

    Please enter your administrative password.
    Password:

     

    ~; &pageclose; } sub delete_all_success_message { &pagesetup; print qq~

    All Ads Have Been Deleted

    ~; &pageclose; } sub autonotify_purge_form { &pagesetup; print qq~

    Purge Old Keyword Notify Profiles

    ~; &generic_form_header; print qq~
     Purge Old Keyword Notify Profiles

    Please enter your administrative password.
    Password:

     

    ~; &pageclose; } sub print_popup_help { print qq~ Popup Help

    Make your own free website on Tripod.com

    General Help

    All of the system options are available from the toolbar that appears along the left hand side of each page. The "Search Options" section contains various methods for viewing and/or searching the ads. You can enter some keywords in the input field and then click on the "Search" button. To quickly see all ads, just click on the "Browse Ads" link. For more advanced keyword searching that also allows you to conduct advanced Boolean searches (AND, OR, or AS A PHRASE), case-sensitive searching, and date-range searching, click on the "Advanced Search" link.

    The Ad Options section allows you to post, modify, or delete ads by clicking on the appropriate link. If you want to upload a photo to your ad or to replace your current photo with a new one, click on the Add Photos link.

    The Other Options section allows you to access powerful features such as our Keyword Notify system. By clicking on the "Keyword Notify" link, you can set up your own personal search agent that will automatically notify you of any new ads that are posted that match the keywords that you define when you set up your agent. The FAQ link takes you to a comprehensive Frequently Asked Questions section that should answer most questions that you might have about the system. The Admin link should be used only by the administrator, as it requires the administrative password for access. Finally, the Classifieds Home link will take you back to the front page of the $classifieds_name.

    Advanced Search Options

    The Advanced Search form allows you to conduct an advanced keyword search. You can use Boolean logic to conduct a search for ads that contain ANY of your keywords, ALL of your keywords, or your keywords as AN EXACT PHRASE. You can also specify whether you want the search to be case sensitive or not, and how many days ago you want to retrieve ads from. You can specify a particular category or search on all categories, and you can even specify only ads that match a specific caption header. Finally, you also have the option of displaying the ads full size or in the short "headlines" format.

    Posting A New Ad

    To post your ad, please fill out the form on this page. Required fields are indicated by a *. Once you have filled out the form, click on the "Preview My Ad" button. You will be given the opportunity to preview your ad before it is actually posted. Once your ad has been posted, you will be given the opportunity to upload a photo to be included with your ad.

    Modifying Your Ad

    To modify your ad, please enter the Ad Number and the Password that you assigned to this ad in the form and click on the "Search for Ad to Modify" button. If you entered the information correctly, your ad will be displayed with the current information already filled in. You can simply modify whatever fields you wish to change and then click on the "Modify" button.

    Deleting Your Ad

    To delete your ad, please enter the Ad Number and the Password that you assigned to this ad in the form and click on the "Search for Ad to Delete" button. If you entered the information correctly, your ad will be displayed with a warning notice that you are about to delete it. If you are sure that you want to delete the ad, click on the "Delete" button.

    Add or Change Photo in Your Ad

    This option allows you to upload a new photo to your ad or to overwrite the existing photo for that ad. In the Upload A Photo form, enter the Ad Number of the ad that you want to add the photo to, and then enter your password in the Password field. Then you will need to click on the Browse button and select a file from your local computer to upload for inclusion in the ad. Once you have done so, click on the "Upload Photo to your ad" button to upload the photo to your ad. Since the program will be uploading a file, it may take a couple of minutes, depending on the size of the photo and the speed of your Internet connection.

    Set Up A Keyword Notify Profile

    This option allows you to set up a Keyword Notify profile, which is your personal search agent that will automatically send you new ads that match the keywords that you define here. You will also be able to set the number of days that your personal search agent should operate before it automatically expires. Of course, you can always come back and modify or delete your search agent at any time. To set up your personal search agent, click on the "Setup Search Agent" button.

    Frequently Asked Questions

    This page displays the Frequently Asked Questions for the $classifieds_name. Almost any question that you might have about the system is probably answered somewhere on this page.

    Administrative Control Panel

    This page displays the administrative Control Panel, which allows the administrator to control all aspects of the system. You will need your administrative password to access any of these functions. Next to each function is an "About" link that displays a pop-up window that explains what that function does and how to use it.















    ~; } sub print_control_panel_help { print qq~ Control Panel Help

    Modify User Ads

    This option allows you to modify any ad posted by any user. In the Modify Your Ad form, enter the Ad Number of the ad that you want to modify, and then enter your administrative password in the Password field. The ad and a modification form will then be displayed for you.

    Delete User Ads

    This option allows you to delete any ad posted by any user. In the Delete Your Ad form, enter the Ad Number of the ad that you want to delete, and then enter your administrative password in the Password field. The ad will be displayed along with a warning notice asking you if you are sure that you want to delete this ad. If so, click on the Delete button to delete the ad.

    Add or Change Photos in User Ads

    This option allows you to upload a new photo to any user's ad or to overwrite the existing photo for that ad. In the Upload A Photo form, enter the Ad Number of the ad that you want to add the photo to, and then enter your administrative password in the Password field. Then you will need to click on the Browse button and select a file from your local computer to upload for inclusion in this user's ad.

    Run Keyword Notify Program

    This option allows you to run the Keyword Notify program, which will cause the program to perform a search for each user who has signed up for the Keyword Notify feature and e-mail that person with a message containing a short description of all ads matching his or her search criteria that have been posted in the past $autonotify_days_interval days. The message will contain links to the full ads in your database.

    Send Out Expiration Notices

    This option allows you to run the Warn program, which will cause the program to send out expiration notices to all users who have posted ads that are about to expire.

    Purge Old Ads

    This option allows you to run the Purge program, which will purge all ads that have expired.

    Delete All Ads

    This option allows you to delete all ads from your classifieds. Please make sure that you want to do this before running this program, because you may not be able to recover the deleted ads.

    Purge Old Keyword Notify Profiles

    This option allows you to purge all Keyword Notify profiles that have expired.

    Preview New Ads

    This option allows you to preview all new ads that have been posted since you last ran the preview program. For each ad, you will have the option of approving the ad, modifying the ad, deleting the ad, or deferring action until a later time. If you defer action, the ad will remain in a temporary state (and thus will not be displayed to general viewers) and will be displayed again the next time that you run this Preview program.

    View Your Mailing List

    This option allows you to view the mailing list of users who have signed up for your newsletter by checking the signup box on the form when they posted their ads. Each user is listed on a separate line, with their e-mail address preceding their name. You can use the "Save" feature of your browser to save this file and then rename it as a text file and import it into your regular mailing list file or even a spreadsheet program.

    Clear Your Mailing List

    This option allows you to clear the mailing list of users who have signed up for your newsletter by checking the signup box on the form when they posted their ads. You may want to clear this list periodically after you have viewed it using the form above and have saved the file and imported the list into your regular mailing list file.

    Send Mass E-Mail to Mailing List

    This option allows you to send a mass e-mail to your subscribers who have signed up for your newsletter by checking the signup box on the form when they posted their ads.















    ~; } 1; # Returns a true value because it is a library file