# Perl Support File # Variables used by all scripts in the WebStore application # Script specific setup files are located in the /Databases sub-directory # File Permissions: 644 -rw-r--r-- ############################################################################ # ws_global.setup - VERSION: 4.15.00 UNIX # ############################################################################ # Copyright (c) 1996 - 2002, RDC Software # Full copyright notice can be found in the following files for the # listed license type: # Single User License: /Docs/Copyright_SingleUser.html # Server License: /Docs/Copyright_Server.html # This copyright notification can not be altered or removed from this file. #==========================================================================# # Created: 05/25/97 Last Modified: 01/01/2002 # WebStore@ratite.com http://www.ratite.com # RDC Software, 16155 FM 2022 N, Grapeland, TX 75844, USA #==========================================================================# # Script specific variables are located in the following files for the # listed script: # ws400CS.cgi: /Databases/outlet.setup # ws_banner.cgi: /Databases/ws_banner.setup # ws_editor.cgi: /Databases/outlet_editor.setup # ws_mail.cgi: /Databases/ws_mail.setup # Verify LINE 1 in each script above points to your server's Perl5. # If your domain has a specific directory configured for perl scripts, such # as cgi-bin, place ws_global.setup (this file) and all .cgi files in the # cgi-bin directory. Otherwise, this file and the .cgi files may be left in # the /Web_store directory or placed in a directory of your choosing. # The /Web_store directory and all sub-directories must be placed in a # directory which can parse HTML files and output graphic files to the # http daemon. # The directory which is accessed with the URL http://www.YourDomain.xxx # or any directory under this directory is the correct location for the # /Web_store directory structure. # Perl scripts can not be placed in any directory assigned to MS Frontpage. ############################################################################ # DEFINE VARIABLES # The following Perl modules and OpenSSL are used by WebStore for real-time # payment processing: # # Package/File Download URL for latest version # ------------ ------------------------------- # # Digest::MD5 http://www.perl.com/cgi-bin/cpan_mod?module=Digest::MD5 # OpenSSL http://www.openssl.org/source/ # Net::SSLeay http://www.perl.com/cgi-bin/cpan_mod?module=Net::SSLeay # OpenSSL must be installed before Net::SSLeay. # Net::SSLeay and OpenSSL is the SSL implementation used to transmit requests # to the payment processor's gateway hub using the https protocol. # Digest::MD5 is used for checksum verification with Authorize.Net processing. # If applicable, inform Perl where user installed Perl modules are located. use lib '/home/ratite/perl/lib/site_perl/5.6.0'; use lib '/home/ratite/perl/lib/site_perl/5.6.0/i386-linux'; # $nslookup is the UNIX path to your system's nslookup program. # If mis-configured, all scripts attempt to locate nslookup. If nslookup is # not located, all scripts use gethostbyname. No error message is generated. $nslookup = '/usr/bin/nslookup'; # $sendmail is the UNIX path to your system's sendmail program. # If mis-configured, all scripts generate a "System Files not Found" message. # Check for $pgp is included in the error message. $sendmail = '/usr/sbin/sendmail'; # $pgp is the UNIX path to your system's PGP program. # If the path defined in $pgp does not point to your server's PGP program, # WebStore will generate a "System File not Found" message. # WebStore supports the following PGP programs: # # $pgp = '/usr/local/bin/pgp'; # pgp = 2.6.2 # $pgp = '/usr/local/bin/pgpe'; # pgpe = 5.0 # $pgp = '/usr/bin/gpg'; # GnuPG # If your server does not provide PGP, set $pgp = ''. # Setting $pgp = '' disables PGP encryption of administrative order e-mail # messages in WebStore. $pgp = '/usr/bin/gpg'; $pgp = ''; # $basedir is the UNIX path to the /Web_store directory. # The /Web_store directory and all sub-directories must be placed in a # directory which can parse HTML files and output graphic files to the # http daemon. $basedir = '/home/ratite/public_html/400CS'; # If $use_ssl = 0, SSL is disabled. # If $use_ssl = 1, clients are taken directly to the order form with # SSL enabled. If using frames, WebStore remains in frames. # WebStore will switch the value of $use_ssl from 1 to 2 for those # browsers which may not be capable of SSL transmissions. # If $use_ssl = 2, clients are given a form to select the use of SSL. # If using frames, WebStore remains in frames. # If $use_ssl = 3, clients are given a form to select the use of SSL. # Buttons in this form TARGET="_top" and exit frames. # When using SSL, this script substitutes $ssl_url (below) into # $main_script_url (below) when clients go to the order form. # Refer to /Docs/ssl.html for details on configuring graphic URLs # in WebStore's order form setup file. $use_ssl = '3'; # 1,2 or 3 = Yes, 0 = No # $main_script_url is the absolute NON SECURE URL for all scripts. # Each script adds: /script_name.cgi to $main_script_url. $main_script_url = 'http://www.ratite.com/400CS'; # $ssl_url is the absolute SECURE URL for ws400CS.cgi. # If $use_ssl = 1, 2, or 3 and the client's web browser is capable of SSL # transmissions, this script will use $ssl_url to construct the
# used on the order form. # If you are not using SSL, set $ssl_url equal to $main_script_url. # Each script adds: /script_name.cgi to $ssl_url. $ssl_url = 'https://century.websitewelcome.com/~ratite/400CS'; # $graphics_url may use relative or absolute addressing. Relative # addressing is "relative to" the location of the WebStore scripts. # If the client's web browser is not capable of SSL transmissions, # this script will use $graphics_url to construct the URL necessary # to load the graphic files used on the Confirmation of Order page # which underline credit card fields. # If you use $graphics_url to reference images in the reseller's secondary # form file, defined in $reseller_file in outlet.setup, $graphics_url must # be absolute. tags present in cut and paste HTML code sent to # resellers in e-mail messages referencing images on your server must use # absolute addressing. $graphics_url = 'http://www.ratite.com/400CS/Graphics'; # $ssl_graphics_url is the absolute SECURE URL for the Graphics directory. # If $use_ssl = 1, 2, or 3 and the client's web browser is capable of SSL # transmissions, this script will use $ssl_graphics_url to construct the # URL necessary to load the graphic files used on the Confirmation of # Order page which underline credit card fields. $ssl_graphics_url = 'https://century.websitewelcome.com/~ratite/400CS/Graphics'; # $timezone consists of two colon delimited values. # # -5:CST # GMT offset:Timezone description # The value to the right of the colon (CST) is appended to the order's Date # on the confirmation of order HTML page and e-mail messages sent to the # client and store administrator: # # Wednesday, 08 April 1998 at 05:22:43 AM, CST # The value to the left of the colon is your GMT (Greenwich Mean Time) # time zone offset value. # # Your time zone offset value will equal the number of hours your time zone # differs, plus or minus, from GMT. Greenwich, England is defined as 0 and # is the center of GMT. # # With the exception of the those residing at GMT (time zone value of 0), # the + (plus) or - (minus) must preceed the number of hours. # US Eastern Standard -5 hours (Local summer -4 hours) # US Central -6 hours (Local summer -5 hours) # US Mountain -7 hours (Local summer -6 hours) # US Pacific -8 hours (Local summer -7 hours) # Greenwich, England 0 hours (Local summer +1 hours) # # Examples Settings for time zones above: # # $timezone = '-5:Eastern Standard Time'; # $timezone = '-6:CST'; # $timezone = '-7:Mountain Time'; # $timezone = '-8:PST'; # $timezone = '0:Greenwich Mean Time'; # Time zone syntax: +xx.xx, +x.xx, +x.x, +x, 0 # -xx.xx, -x.xx, -x.x, -x # x equals a numeric value (0-9) # # Time zone value range: -13.75 to +13.75 # # All scripts default to the server's local time if mis-configured. # Refer to /Docs/timezones.html for a listing of GMT time zone values. # # If your server resides in a time zone which does not recognize summer or # daylight savings time, you must adjust the values found in timezones.html # by one hour according to the following examples: # # Positive values: subtract one hour 5 becomes 4 # Negative values: subtract one hour -5 becomes -6 # Setting $timezone = ':CST' disables GMT time zone calculation. # All scripts default to the server's local time. # "CST" is appended to the Date in e-mail messages and the confirmation of # order HTML page: # # Wednesday, 08 April 1998 at 05:22:43 AM, CST # # Setting $timezone = '' disables GMT time zone calculation. # All scripts default to the server's local time. # # Wednesday, 08 April 1998 at 05:22:43 AM $timezone = ':CST'; # USA Central: -6 hours (Local summer -5 hours) # $delete_age limits the age of shopping cart files and banner files stored # in the /User_carts sub-directory and the age of user files stored in the # /Users sub-directory. # WebStore deletes cart files once for each time cycle defined in $delete_age. # If $delete_age equals 6, cart files older than 6 hours are deleted at 6 hour # intervals. # $delete_age is a whole or fixed decimal value, greater than '1'. # $delete_age defaults to '6' when set to a non-zero value, less than '1'. # For WebStores with high traffic, setting $delete_age = '' disables age # deletion of shopping cart files in ws400CS.cgi and banner files in # ws_banner.cgi. ws_editor.cgi and ws_mail.cgi will set $delete_age to # 6 hours and delete these files during login submission. # For scheduled deletion of files using UNIX cron, configure the variables # located in the DEFINE VARIABLES section of /Web_store/ws_delete_files.cgi. # # /Web_store/ws_delete_files.cron contains a crontab entry for scheduled # deletion of files every 6 hours. # If you currently use crontab, add an entry in your crontab file pointing # to ws_delete_files.cgi. # If you are not using crontab, use ws_delete_files.cron as your crontab file # and modify the UNIX path in this file to point to ws_delete_files.cgi. # # Instructions for setting up the crontab file is located at the top of # ws_delete_files.cgi. # # REFER TO YOUR SERVER'S MAN PAGE FOR crontab. # Do not ASSUME the instructions in ws_delete_files.cgi for crontab accurately # describes your server's crontab utility or that you can execute crontab on # your server. # # If you can not execute a crontab command from telnet, contact your server's # administrator and ask if your domain (username) may be configured to execute # crontab commands. # # ws_delete_files.cgi may also be configured for web browser access. # Example Settings: # $delete_age = '3' 3 hours # $delete_age = '5.5' 5 1/2 hours # $delete_age = '6' 6 hours # $delete_age = '12' 12 hours $delete_age = '6'; # $no_cache prints NO CACHE pragmas and related META tags. # If $no_cache = a, print NO CACHE elements to all pages and forms. # If $no_cache = f, print NO CACHE elements to order forms, forms # associated with order forms, secondary forms, and access forms. # If $no_cache = h, print NO CACHE elements to static HTML pages, # database product pages, and search result pages. # WebStore sets $no_cache = '' for $no_cache values other than a, f, or h # when a, f, or h is not present in $no_cache. # Setting $no_cache = '' disables printing of NO CACHE elements. $no_cache = ''; # %global_files is a hash of arrays, consisting of a maximum of three arrays, # one for each of the following application scripts included with WebStore: # # Array Key Application Script # # webstore WebStore ws400CS.cgi # wseditor WS Editor ws_editor.cgi # wsmail WS Mail ws_mail.cgi # # For ease of modification, global files may be created when using multiple # application setup files consisting of variables whose values are identical. # Global files are not included in the distributions of WebStore. # If used, global application setup files must be created by the end user. # Procedures for creating and implementing a global variable file: # # Create a file named similar to global.XXX.setup, where XXX defines the # application's name or the application specific variables in the file. # Cut and paste the variables into the new global file. # Remove variables from the original setup file. # Store the new global filename in the application's %global_files array. # Upload the modified files to your server. Store global variable files # under WebStore's /Databases sub-directory. # Each script adds '.setup' to the filenames listed in it's array in # %global_files if a filename does not end in '.setup'. # Global files are required by Perl in the order listed in the application's # %global_files array. Application setup files are required after all files # in the application's %global_files array have been required. Unless a # variable is being redefined, variables defined in a global file can be # removed from the application specific setup file. # When using multiple product databases in WebStore and WS Editor, global files # may be created consisting of the entire variable set for each application. # Application setup files may be created for WebStore and WS Editor which # re-define the product database variable, $data_file. # # Other variables may also be redefined, such as BODY color attributes, # $frontpage_file, $search_engine, etc. # # When subroutines defined in a global setup file for WebStore are redefined # in a store setup file, the subroutine must be undefined prior to being # redefined. # # Example BEGIN subroutine with undef function for sub frontpage_trailer_html: # # BEGIN { # undef &frontpage_trailer_html if defined(&frontpage_trailer_html); # } # # Place the BEGIN subroutine with applicable undef functions at the top of the # store setup file. # A common setup file may be created consisting of the security variable set # used by WS Editor and WS Mail, eliminating duplication or possible security # variations between application setup files. Place the filename for this # global file in the 'wseditor' and 'wsmail' arrays. # Filenames ending in _editor.setup are ignored in $global_files{'wseditor'}. # This character sequence is reseved for WS Editor setup filenames. # Placing a # (pound sign) in column one of a script's array disables the use # of global setup file(s) for that script. # Setting %global_files = () disables the use of global setup files in all # WebStore application scripts. %global_files = ( # KEY Global setup file(s) # 'webstore' => ['global.store.setup'], # 'wseditor' => ['global.security.setup'], # 'wsmail' => ['global.security.setup'], ); # DO NOT REMOVE - terminates %global_files #==========================================================================# # For script specific values, any variable below may be duplicated in any # # script setup file located in the /Databases sub-directory. # #==========================================================================# # When the script setup file is required, the variable's value will be # # replaced with the value found in the script specific setup file. # #==========================================================================# # If $dns_lookup = 0, DNS lookup is disabled in all scripts. # E-mail addresses are checked for minimal syntax only. # If $dns_lookup = 1, perform DNS lookup for e-mail addresses entered on # forms in all scripts. The e-mail address must pass nslookup or form # submission will not be accepted. # If $dns_lookup = 2, perform DNS lookup for e-mail addresses entered on # all forms in all scripts. Allow nslookup failures to proceed, posting # the appropriate error message. # # ws400CS.cgi will allow the order to be sent to the store administrator, # posting a message to the client to print the confirmation of order page # as his receipt. An attempt to deliver the confirmation of order e-mail # to the client is made. # # For ws_editor.cgi and ws_mail.cgi, an e-mail address which fails nslookup # during user registration to the administrative interface generates an error # message only and will not prevent a new user from registering. # The confirmation of registration e-mail may not be delivered to the new # user's e-mail address. # # E-mail addresses submitted on WS Mail's registration form are checked for # minimal syntax only. $dns_lookup = '2'; # 0 = No, Disable nslookup # 1 = Yes, Strict nslookup all forms, all scripts # 2 = Yes, Passive nslookup # $company_email used in the FROM section of the order confirmation e-mail # sent to the client for WebStore and the FROM section of the e-mail to new # user registrations for WS Editor. $company_email = "Electronic Outlet Demo "; # $admin_email used in the TO section of e-mail messages delivered to the # administrator for WebStore, WS Editor, and WS Mail. $admin_email = "Administrator "; # $pgp_user_id is the user id of the public key used for encrypting # order e-mail messages sent to the store's administrator. # When $pgp = '' (above), the value assigned to $pgp_user_id is disregarded. $pgp_user_id = "webstore demo "; # When $save_orders equals y, m, d, or h (case insensitive), store orders # in four digit year sub-directories under the $sale_directory (defined below). # # WebStore creates the $sale_directory and a four digit year sub-directory under # $sale_directory when the first client order is submitted. # Orders may be stored in a maximum of four time-specific files, using any # combination of the following time span file switches: # # Time Span Filename Examples (using PGP file extension) # # y - year 2000.asc # m - month 2000-01.asc or 2000-January.asc # d - day 2000-01-21.asc or 2000-January-21.asc # h - hour 2000-01-21.AM-10.asc or 2000-January-21.AM-10.asc # Other Switches: # # a - Alpha months in filenames (numeric months if 'a' is omitted) # # s - Delete short term files (hour and day) at 48 hour intervals # sXX - Delete short term files (hour and day) at XX hour intervals, # where X = 0-9 and XX must be greater than 24 hours. # Deletion interval defaults to 48 hours when XX is less than # or equal to 24 hours or XX is omitted. # # 's' has no effect when 'h' and 'd' switches do not exist. # Short term file checks occur during the submission of orders. # Examples $save_orders values: # # 'm' - Month files with numeric months # 'may' - Year and month files with alpha months # 'days' - Year and day files with alpha months # Delete day files older than 48 hours at 48 hour intervals # 'has96' - Hour files with alpha months # Delete hour files older than 96 hours at 96 hour intervals # Each order consists of one non-encrypted identification line, followed by # the order and three blank lines (newlines). # # Example non-encrypted identification line: # # -----ORDER: Reference # Order Total Date Client E-mail # Filename extensions are set to .asc when using PGP encryption and no errors # existed when message encryption was performed. Stored orders are encrypted. # # Filename extensions are set to .txt when not using PGP encryption or when # errors existed when PGP encryption was performed. Stored orders are not # encrypted. Credit card fields are not stored in .txt files. # $save_orders should be restricted to a maximum of two time span file switches. # One file type may be used for storing all orders received (year or month) # and another file type may be used for storing orders which have not been # processed (day or hour depending on your web site's traffic). # Stored orders are approximately 1.5K to 2.0K in size. This estimate does not # include textarea form inputs. # WebStore performs no automated deletion of month and year order files. # You must manually remove these files using FTP. # When saving orders, the client's shopping cart is deleted after the client's # order submission is accepted. A processed cart file is created in the cart # sub-directory which is used for generating client error messages for attempted # multiple order submissions. # Setting $save_orders = '' disables storing submitted orders on the server. $save_orders = 'days96'; # Values for background, bgcolor, text, link, visited link, and active link # are set using $background, $bgcolor, $text_color, $link_color, $vlink_color, # $alink_color respectively. # $background is the filename of the background image stored in the # /Web_store/Graphics sub-directory. # # Example: $background = 'filename.jpg'; # The script determines whether to precede $backgound with $graphics_url # or $ssl_graphics_url depending on the setting of $ssl_url and the form # action being processed: # # $graphics_url/$background OR $ssl_graphics_url/$background # Setting any of these variables = '' disables printing their respective # attribute within the opening tag of WebStore, WS Editor, and WS Mail # generated HTML pages. $background = ''; $bgcolor = '#FFFFFF'; # White $text_color = '#000000'; # Black $link_color = '#0000FF'; # Blue $vlink_color = '#0000A0'; # Dark Blue $alink_color = '#FF0000'; # Red # The following fonts should be available on most PC's. Generally, the # Arials and Serifs will be available to the web browser. You may list # more than one font (separated by a comma) in $data_face and $header_face # below. # Place your "FONT OF CHOICE" as the first font listed for each variable. # Algerian Arial Book Antiqua # BrushStroke Comic Sans MS Courier # Courier New First Grader Futura # Gallery Helvetica Keystrokes MT # Marquee Mead Bold Modern # MS Sans Serif MS Serif MS-DOS CP 932 # Old English Gothic Penyae Roman # Sans Serif Script Small Fonts # Stencil Symbol Times Roman # Times New Roman University Verdana # WingDings 2 WingDings 3 # $data_font and $data_face are the font size and face of text in WebStore, # WS Editor, and WS Mail generated HTML pages. # $data_font is a whole number which defaults to '2' if mis-configured. # $data_font can not be disabled. # Setting $data_face = '' disables $data_face. $data_font = '2'; # 2 $data_face = 'Arial,Helvetica'; # $header_font and $header_face are the font size and face of text in table # header rows in WebStore, WS Editor, and WS Mail generated HTML pages. # $header_font is a whole number which defaults to '3' if mis-configured. # $header_font can not be disabled. # The value of $data_face (above) is interpolated into $header_face. # To list specific fonts in $header_face which differ from the fonts listed in # $data_face use the following format: $header_face = 'Verdana,Helvetica'; # Setting $header_face = '' disables $header_face. $header_font = '2'; # 2 $header_face = $data_face; # If $demo = 1, the WebStore, WS Editor, and WS Mail scripts are placed # in demonstration mode. Administrative e-mail messages are sent to the # client's e-mail address submitted on any form in these applications # for the client's inspection. # "Send Mail" functions are disabled in WS Mail. # When a demonstration order form setup file is defined in $demo_form_file # in outlet.setup, WebStore appends an array for the demonstration order # form to %form_files in outlet.setup. # Setting $demo = '' disables manual demonstration mode for WebStore and # disables demonstration mode entirely for WS Editor and WS Mail. # WebStore may be placed in demonstration mode by including a name=value # pair for demo= in the query string for the first access to WebStore: # ws400CS.cgi?demo=Y # # Removing $demo from this file or placing a # (pound sign) in column one # disables demonstration mode entirely in WebStore. $demo = '1'; # End DEFINE VARIABLES ############################################################################ # Absolute addressing of WebStore sub-directories # For security purposes, consider the following: # # Change the name of the $pgp_directory and $sale_directory in this file # and on your server. # # Place the following directories under HTACCESS, preventing web browser # access of files under these directories: # # $cart_directory - if using restricted access # $data_directory # $sale_directory - if storing orders # $stat_directory # $user_directory $basedir1 = '/home/ratite/415'; $data_directory = $basedir.'/'.'Databases'; $grph_directory = $basedir.'/'.'Graphics'; $html_directory = $basedir.'/'.'Html'; $libr_directory = $basedir1.'/'.'Library'; $logs_directory = $basedir.'/'.'Logs'; $stat_directory = $basedir.'/'.'Statistics'; $cart_directory = $basedir.'/'.'User_carts'; $user_directory = $basedir1.'/'.'Users'; $banr_directory = $grph_directory.'/'.'Banners'; $clnt_directory = $basedir1.'/'.'Clients'; $mail_directory = $data_directory.'/'.'Mail'; # Restricted Access File Storage # Shopping carts and client form files for restricted access must be # isolated from non-restricted files. $rcrt_directory = $cart_directory.'/'.'Restricted'; # Shopping carts $rstr_directory = $clnt_directory.'/'.'Restricted'; # Client files # $pgp_directory is the UNIX path to WebStore's PGP directory. # $pgp_directory can point to your domain's .pgp directory by setting # $pgp_directory = 'Path/To/.pgp'; $pgp_directory = $basedir.'/'.'Pgp'; # $sale_directory is the UNIX path to the directory where WebStore stores # submitted orders. # WebStore creates this directory when the first client order is submitted. # $sale_directory must be placed under a directory whose permissions are '777' # or you must create the $sale_directory and set it's permissions to '777'. $sale_directory = $data_directory.'/'.'Sales'; 1; # DO NOT REMOVE # End of file