# Perl Support File
# Secondary Form Variables
# Variables used by all scripts: /Web_store/ws_global.setup
# File Permissions: 644 -rw-r--r--
############################################################################
# Form.Catalog.setup #
#==========================================================================#
# Copyright (c) 1996 - 2002, RDC Software #
# WebStore@ratite.com http://www.ratite.com/Perl/WebStore.shtml #
# Version: 4.15.00 Date: 01/01/2002 #
# #
# 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.#
#==========================================================================#
# #
# Call secondary forms using one of the following query strings: #
# #
# ?form=Form.Catalog&cart_id= #
# ?form=Form.Catalog&frontpage=Y&cart_id= #
# ?form=Form.Catalog&page=frontpage.html&cart_id= #
# ?form=Form.Catalog&category=Page.html&cart_id= #
# ?form=Form.Catalog&category=DbaseCategory&cart_id= #
# ?form=Form.Catalog&category=DbaseCategory&page=Page.html&cart_id= #
# #
# The use of category=, frontpage=Y, and page= allows you to define the #
# the HTML page or the database category to be loaded after forms #
# submission. The use of cart_id= is required to maintain the client's #
# shopping cart file reference number. #
# #
# All form file names must end in '.setup' #
# The script adds '.setup' to the file name received in the query string #
# if the received file name does not end in '.setup'. #
# #
#==========================================================================#
# Backslash all @ signs --> \@ <-- Perl 5 compatibility. #
# Variables containing @ signs must be enclosed in " (double quotes). #
# #
# All other variables are enclosed in ' (single quotes). #
# #
# If the value you store in a variable enclosed in single quotes requires #
# the use of a single quote, backslash the imbedded single quote. #
############################################################################
# $mail_file is the | (pipe) delimited flatfile mailing list database
# consisting of e-mail addresses and names. When a Reseller form is submitted,
# the reseller's e-mail address and name are added to $mail_file if the
# submitted e-mail address does not exist in $mail_file.
# WebStore adds '.list' to the filename defined in $mail_file if the
# filename does not end in '.list'.
# The mailing list defined in $mail_file in any secondary form file replaces
# the mailing list defined in $mail_file of the store's setup file,
# outlet.setup, for the script process which processes the secondary form
# submission.
# Example database record: susan@cgicentral.net|Susan Smith
$mail_file = 'Free.Catalog.list';
# When $join_list = '1', resellers are added to the mailing list defined in
# $mail_file regardless of the use or condition of the form field 'joinlist'.
# Setting $join_list = '' disables automatic addition to the mailing list.
# A form field for 'joinlist' must be included on the form and the client
# must choose to be added to the mailing list.
# $join_list defined in any secondary form file replaces the value of $join_list
# defined in the store's setup file, outlet.setup, for the script process which
# processes the secondary form submission.
$join_list = '1';
# Other variables you may wish to redefine in this file include:
# VARIABLE FILE VARIABLE IS DEFINED IN
#
# $admin_email ws_global.setup
# $company_email ws_global.setup
# $dns_lookup ws_global.setup
# @company outlet.setup
# $country_file outlet.setup
#--------------------------------------------------------------------------#
# Form
#--------------------------------------------------------------------------#
# %Form is a hash of arrays listing all form input fields for this form.
# EXAMPLE: $Form{0}[5]
#
# {0} An array's KEY value. KEY values will be reference by their numeric
# value in the explanations below (1, 2, 3, etc.).
#
# [5] An array's element reference. Element numeric values will be spelled
# in the explanations below (one, two, three, etc.)
#
# Specific arrays will be referenced as $Form{0}.
#
# A specific element within a specific array will be referenced as
# $Form{0}[5].
# Numeric array KEYS allow the Webstore script to sort the fields in ascending
# order for printing to the client's web browser, in the e-mail to the
# administrator, and the confirmation e-mail sent to the client.
# Arrays 1 - 10 are reserved and can not be used.
# Each form input field is printed within a table row preceded by a hidden
# HTML tag in the "Document Source" containing the field's name from each
# field's array element one:
#
# Each form field table row also contains a named anchor
# consisting of the field array's KEY.
# SPECIFIC FORM FIELD NAMES (Element zero)
# The functions for the form field names below are restricted to 'select',
# 'text', and 'password' input types.
# "country", exact match
# When a field's name equals "country", the script forces the field to required.
# "email", exact match
# When a field's name equals "email", the script forces the field to required
# and checks the field's contents for minimum e-mail address syntax,
# Text@Text.Text. The domain name present in the e-mail address will be checked
# using nslookup according to the value of $dns_lookup in ws_global.setup.
# Ending in "email", case insensitive
# When a field's name ends in "email", case insensitive, the script checks the
# field's contents for minimum e-mail address syntax, Text@Text.Text.
# The domain name present in the e-mail address will be checked using nslookup
# according to the value of $dns_lookup in ws_global.setup.
# Ending in "img", case insensitive
# When a field's name ends in "img" case insensitive, the field's contents
# will be checked for a minimum of: http://Text.Text/Page.xxx.
# xxx = .gif, .jpg, .jpeg, or .png.
# Ending in "imgexist", case insensitive
# When a field's name ends in "imgexist" case insensitive, the field's contents
# will be checked for a minimum of: http://Text.Text/Page.xxx.
# xxx = .gif, .jpg, .jpeg, or .png.
# The image must exist before form submission will be accepted.
#
# The libwww-perl library is used to check the existence of the image url.
# If the libwww-perl library has not been installed on your server, the image
# url will not be checked for existence.
# Download libwww-perl: http://search.cpan.org/search?module=LWP
# Ending in "name", case insensitive
# When a field's name ends in "name", the field's contents will be checked for
# a minimum of two alpha-numeric strings, separated by a space.
# "password1", exact match
# When a field's name equals "password1", the script forces the field to
# required and checks the field for minimum length of eight characters.
# "password1" and "password2", exact match of both field names
# Password verification will be performed if the array KEYS for these password
# fields are sequential, whole numbers (23 & 24, 31 & 32, 57 & 58, etc.) with
# "password1" preceding "password2".
# Ending in "url", case insensitive
# When a field's name ends in "url", case insensitive, the field's contents
# will be checked for a minimum of: http://Text.Text
# Ending in "urlexist", case insensitive
# When a field's name ends in "urlexist", case insensitive, the field's contents
# will be checked for a minimum of: http://Text.Text
# The url must exist before form submission will be accepted.
#
# The libwww-perl library is used to check the existence of the url.
# If the libwww-perl library has not been installed on your server, the url
# will not be checked for existence.
# Download libwww-perl: http://search.cpan.org/search?module=LWP
# Ending in "urlpage", case insensitive
# When a field's name ends in "urlpage" case insensitive, the field's contents
# will be checked for a minimum of: http://Text.Text/Page.xxx.
# xxx = .htm, .html, .phtml, or .shtml.
# Ending in "year", case insensitive, 'select' input type
# When a field's name ends in "year", case insensitive, the script will
# generate a drop down select element consisting of years (four digit format),
# spanning ten years from the current year.
#--------------------------------------------------------------------------#
# The contents of array 0 are used for the form's page header text and
# table width values.
#
# EXAMPLE: Page Header Text Row
#
# KEY zero one two three four five six
# '0' => ['center', 'Request Form', 'left', 'Text', '85%', '80%', '425'],
#
# '0': The array's KEY (index number).
#
# zero: Alignment attribute for text in element one.
# Text in element one will be centered if element zero is set to ''.
#
# one: Text printed in a table row at the top of the form page.
# HTML code may be used.
# The script prints form submission error messages below this row.
# When submission error messages are printed, the contents of
# element three are not printed to the web browser.
#
# two: Alignment attribute for text in element three. Text in element
# three will be centered if element two is set to ''.
#
# three: Text printed in a table row below element one's table row.
# HTML code may be used.
#
# four: Width attribute for the top of page table containing element one
# and element three table rows. Width may be a percentage of the
# browser's window or pixel count. If no value is placed in element
# four, the script sets this table's width at '85%'.
#
# five: Width attribute for section header tables (xxH).
# Width may be a percentage of the browser's window or pixel count.
# If no value is placed in element five, the script uses the value
# present in element four. If no value is placed in element four,
# the script sets the table's width at '85%'.
#
# six: Width attribute for tables containing form elements.
# Width must be a 3 digit whole number. If no value is placed in
# element six or element six is mis-configured, the script sets the
# width at '425' for these tables.
#
#
# NOTE: If no text is placed in element three, configure as follows:
#
# '0' => ['center', 'Request Form', '', '', '85%', '80%'],
#
# $Form{0} is optional and may be removed from %Form.
# The script will set table widths as described above when
# $Form{0} is not defined. Text to be printed at the top
# of the form may be placed in sub pre_form_html.
# END OF: Array 0
#--------------------------------------------------------------------------#
# Array KEYS ending with H (xxH) are section headers.
#
# EXAMPLE: Section Header
#
# KEY zero one two three
# '10H' => ['center', 'Mailing Address', 'left', 'Text'],
#
# '10H': The array's KEY (index number).
#
# zero: Alignment attribute for text in element one.
# Text in element one will be centered if element zero is set to ''.
#
# one: Text printed in a table row at the top of the form. The text is
# also used in e-mail messages to subdivide form field data into
# visual sections.
# HTML code can not be used.
#
# two: Alignment attribute for text in element three. Text in element
# three will be centered if element two is set to ''.
#
# three: Text printed in a table row below element one's table row.
# HTML code may be used.
#
# An opening
tag is printed for each Section Header array
# detected, closing the previous
.
#
# NOTE: If no text is placed in element three, configure as follows:
#
# '10H' => ['center', 'Mailing Address'],
#
# NOTE: Elements zero and one are required. If you remove all text from
# element one, the script prints the following error message in
# the table's row:
#
# No Header Text: $Form{10H}[1]
# END OF: Section Header
#--------------------------------------------------------------------------#
# Array KEYS ending with C (xxC) are text comment rows or spacing rows.
#
# EXAMPLE: Comment Row
#
# KEY zero one
# '70C' => ['left', 'Please complete the survey information below.'],
#
# '70C': The array's KEY (index number).
#
# zero: Alignment attribute for text in element one.
# Text in element one will be centered if element zero is set to ''.
#
# one: Text printed in a table row with COLSPAN=3, the total number
# of columns in form tables. HTML code may be used.
#
#
# NOTE: When text placed in a comment row exceeds 55 characters, the script
# sets the row's width attribute to the value of $Form{0}[5] when
# $Form{0}[5] is a decimal value. When $Form{0}[5] is a percentage
# value or it is set to '', the script sets width to 425.
#
#
# EXAMPLE: Using Comment Array as a Space Row:
#
# '11C' => [],
#
# With no elements defined in a Comment Row, the script prints a table
# row with a height of 10,