#!/usr/bin/perl $| = 1; ############################################################################## # # Program: Active Classifieds Free Edition # Version: 1.2 # Website: http://www.activewebsuite.com # ############################################################################## ############################################################################## # # COPYRIGHT NOTICE : # # Copyright (c) 2001 Active Web Suite Technologies. All Rights Reserved. # # This program is free software; you can change or modify it as you see fit. # However, modified versions cannot be sold or distributed. You cannot alter # or remove the copyright notices throughout the scripts. These # notices must be clearly visible to the end users. # # WARRANTY DISCLAIMER: # # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT WITHOUT # ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR # FITNESS FOR A PARTICULAR PURPOSE. # ############################################################################### print "Content-type:text/html\n\n"; $SIG{"__DIE__"} = sub { my $error = shift; chomp $error; # this will handle the case when script is being run from shell, so # we don't want to see all the HTML but only the error message print $error, return unless defined $ENV{GATEWAY_INTERFACE}; #$error =~ s/[<&>]/"& #".ord($&).";"/ge; # entity escape $error =~ s/\n/
\n/gs; # return \n as html # other parameters my $cgi_url = $ENV{SCRIPT_NAME} || ''; my $referer = $ENV{HTTP_REFERER} || ''; my $remote_user = $ENV{REMOTE_USER} || ''; # OK, report the error to the browser in HTML format print qq{ $site_name - Error Occured!
An Error Has Occured

The following error has occured in your script.

$error

Additional Information
  • CGI PATH - $0
  • CGI URL - $cgi_url
  • HTTP_REFERER - $referer
  • REMOTE_USER - $remote_user
}; exit 0; }; require("library/routines.pl"); require("library/main_html.pl"); require("library/error.pl"); &parse_data; if ($as{'website'} eq "") { $require_path = "websites/default"; $as{'website'} = "default"; } else { $require_path = "websites/$as{'website'}"; } require("$require_path/variables/system.pl"); require("$require_path/variables/version.pl"); require("$require_path/variables/header.pl"); require("$require_path/variables/footer.pl"); require("$require_path/variables/design.pl"); require("$require_path/variables/function.pl"); &check_session; srand(); $Page = int(rand(99)); # let's delete a processing.txt file if it may have gotten stuck during the # automated processes routine. if (-e "$require_path/variables/processing.txt") { if (-M "$require_path/variables/processing.txt" > .5) { unlink("$require_path/variables/processing.txt"); } } # if the processing.txt file exists, then don't try to check for automated # processes to be run. Also, we now only run the automated processes if # the user is acccessing the frontpage. This way we do not have to # refuse entry to the system as we know we can just display the frontpage # before we begin the automated processes. Also this help to eliminate # the possibly of data corruption due to automated processes interfering with # a new, edited or renewed ad routine taking place. unless (-e "$require_path/variables/processing.txt") { if ((-M "$require_path/variables/automated.txt" > 1) && ($as{'request'} eq "")) { $run_processes = "yes"; require("library/main_frontpage.pl"); &display_front_page; require("library/admin_processes.pl"); require("library/email.pl"); &automated_processes; } } ################################################################# ### LETS FIRST SEE WHAT THE USER WANTS TO DO ################################################################# # ============================================================== # Ad Display Routines # ============================================================== if ($as{'request'} eq "") { require("library/main_frontpage.pl"); &display_front_page; } elsif ($as{'request'} eq "display_sub") { require("library/main_displayads.pl"); &display_sub; } elsif ($as{'request'} eq "display_sub_list") { require("library/main_displayads.pl"); &display_sub_list; } elsif ($as{'request'} eq "today") { require("library/main_displayads.pl"); &display_todays_ads; } elsif ($as{'request'} eq "detail") { require("library/main_displayads.pl"); &display_ad_detail; } elsif ($as{'request'} eq "popupdetail") { require("library/main_displayads.pl"); &doPopupDetail; } elsif ($as{'request'} eq "next_ad") { require("library/main_displayads.pl"); &display_next_ad; } elsif ($as{'request'} eq "previousad") { require("library/main_displayads.pl"); &doShowPreviousAd; } elsif ($as{'request'} eq "display_user_ads") { require("library/main_displayads.pl"); &display_user_ads; } # ================================================================ # New Ad Submission Routines # ================================================================ elsif ($as{'request'} eq "new") { require("library/main_newad.pl"); &display_new_category_selection; } elsif ($as{'request'} eq "determine_subcategory_information") { require("library/main_newad.pl"); &determine_subcategory_information; } elsif ($as{'request'} eq "display_new_ad_details") { require("library/main_newad.pl"); &display_new_ad_details; } elsif ($as{'request'} eq "submit_new_ad_details") { require("library/main_newad.pl"); require("library/email.pl"); &submit_new_ad_details; } # =============================================================== # Edit/Delete/Renew/Photo Ad Routines # =============================================================== elsif ($as{'request'} eq "myclassifieds") { require("library/main_admaintenance.pl"); &display_my_classifieds_page; } elsif ($as{'request'} eq "view_quicklinks") { require("library/main_quicklinks.pl"); &view_quicklinks; } elsif ($as{'request'} eq "ad_maintenance") { require("library/main_admaintenance.pl"); &display_my_ads_listing; } elsif ($as{'request'} eq "edit") { require("library/main_admaintenance.pl"); &edit_existing_ad; } elsif ($as{'request'} eq "submit_edit_ad") { require("library/main_admaintenance.pl"); &submit_edit_ad; } elsif ($as{'request'} eq "delete") { require("library/main_admaintenance.pl"); &display_ad_delete_confirmation; } elsif ($as{'request'} eq "delete_confirmed") { require("library/main_admaintenance.pl"); &delete_user_ad; } elsif ($as{'request'} eq "renew") { require("library/main_admaintenance.pl"); &display_renew_ad_form; } elsif ($as{'request'} eq "submit_renew_ad") { require("library/main_admaintenance.pl"); require("library/email.pl"); &submit_renew_ad; } # ============================================================== # Search Routines # ============================================================== elsif ($as{'request'} eq "search") { require("library/main_search.pl"); require("library/main_displayads.pl"); &standard_search; } elsif ($as{'request'} eq "advanced_search_form") { require("library/main_search.pl"); &advanced_search_form; } elsif ($as{'request'} eq "advanced_search") { require("library/main_search.pl"); require("library/main_displayads.pl"); &advanced_search; } # ============================================================== # User Profile Routines # ============================================================== elsif ($as{'request'} eq "register") { require("library/main_registration.pl"); &display_user_registration; } elsif ($as{'request'} eq "submit_new_user_registration") { require("library/main_registration.pl"); &submit_new_user_registration; } elsif ($as{'request'} eq "modify_profile") { require("library/main_registration.pl"); &modify_user_profile; } elsif ($as{'request'} eq "submit_modify_user_profile") { require("library/main_registration.pl"); &submit_modify_user_profile; } # ========================================================= # User Password Routines # ========================================================= elsif ($as{'request'} eq "display_forgotten_password_request") { require("library/main_misc.pl"); &display_forgotten_password_request_form; } elsif ($as{'request'} eq "send_password") { require("library/main_misc.pl"); require("library/email.pl"); &send_password; } # ========================================================= # Quick Links Routines # ========================================================= elsif ($as{'request'} eq "add_quicklink") { require("library/main_quicklinks.pl"); &add_quicklink; } elsif ($as{'request'} eq "delete_quicklinks") { require("library/main_quicklinks.pl"); &delete_quicklinks; } # ======================================================= # Other Misc Routines # ======================================================= elsif ($as{'request'} eq "send_to_friend") { require("library/main_misc.pl"); &send_to_friend; } elsif ($as{'request'} eq "submit_send_to_friend") { require("library/main_misc.pl"); require("library/email.pl"); &submit_send_to_friend; } elsif ($as{'request'} eq "reply") { require("library/main_misc.pl"); &display_reply_mail_form; } elsif ($as{'request'} eq "submit_reply") { require("library/main_misc.pl"); require("library/email.pl"); &submit_reply; }