# Perl Support File # Variables used by ws400CS.cgi # Variables used by all scripts: /Web_store/ws_global.setup # File Permissions: 644 -rw-r--r-- ############################################################################ # No_Frames.setup - Browsers not capable of Frames # # # # No_Frames.setup is defined as the store setup file in the WebStore query # # string present in the tag of frame documents. # # # # Browsers incapable of frames will use this file to access your store. # # $frameset_file = '' in this file, disabling frames in WebStore. # # # # If you do not use frames, No_Frames.setup may be deleted from the server.# #==========================================================================# # Copyright (c) 1996 - 2002, RDC Software # # WebStore@ratite.com http://www.ratite.com/Perl/WebStore.shtml # # Version: 4.15.00 CS 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.# #==========================================================================# # 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: # # # # EXAMPLE: $global_page_title = 'Joe\'s Auto Parts' # ############################################################################ $use_ssl = '1'; #--------------------------------------------------------------------------# # General Settings #--------------------------------------------------------------------------# # $data_file is the | (pipe) delimited flatfile database containing the store's # inventory of items for sale. $data_file = 'outlet.data'; # $global_page_title is the <TITLE> text printed to HTML pages generated by # WebStore and the table header text for the search engine. # $global_page_title is used in $email_subject, $meta_tags, and $table_title # (below), in $email_subject of secondary form files, and in page header arrays # in primary order form setup files and secondary form setup files. $global_page_title = 'RDC Software'; # @company is is used on the Confirmation of Order page, in $pre_client_msg # (below), and in $pre_client_msg in secondary form files. # The contents of @company is printed at the top of the Confirmation of # Order page using the following format: # # RDC Software # Route 3, Box 29B Grapeland, Texas 75844 Phone: 936.687.2400 Fax: 936.687.9057 # # The first element of @company must be your business name. # The business name is wrapped inside an <A HREF> tag using $return_link_url # in the address listing at the top of the page and in the following phrase # located at the bottom of the page: # # "Thank you for shopping at RDC Software" @company = ( 'RDC Software', 'Route 3, Box 29B', 'Grapeland, Texas 75844', 'Phone: 936.687.2400', 'Fax: 936.687.9057', ); # DO NOT REMOVE - terminates @company # $currency is the currency label for price values printed to the client's # web browser and order e-mail messages. # $currency defaults to '$' (US currency) when the value of $currency is not # defined or the value of $currency does not match a non-whitespace character. # Example $currency settings: # $currency = '£'; # Sterling Pounds # $currency = 'Lit.'; # Italian Lira # $currency = '$'; # US Dollars $currency = '$'; # $frontpage_file is the store's front page containing links to database # categories, category front pages, or expanded item information pages. $frontpage_file = 'No_Frames_frontpage.html'; # $frameset_file is the store's frame document. # WebStore is packaged with the following frame documents: # Frameset.html # Frameset_banner.html # Setting $frameset_file = '' disables frames. WebStore loads # the file defined in $frontpage_file as the store's front page. $frameset_file = ''; # If $duplicate_buttons = 1, print buttons for "View Cart", "Order Form", # and "Front Page" in the "main" frame housing the WebStore application. # If these buttons do not exist in an HTML document defined in a # <frame src> tag of the frame document defined in $frameset_file, # $duplicate_buttons must be set to '1'. # WebStore disregards $duplicate_buttons when $frameset_file = ''. # All buttons are printed. # Setting $duplicate_buttons = '' disables printing of buttons when a # filename is defined in $frameset_file, WebStore is running in frames. $duplicate_buttons = '1'; # 1 = Yes # $button_1_txt thru $button_5_txt are variables containing the text # displayed on submission buttons throughout WebStore. # $button_5_txt is also used in "Add to Cart" error messages. $button_1_txt = 'View Cart'; # Go to View/Modify table $button_2_txt = 'Front Page'; # Go to Store's Front Page $button_3_txt = 'Previous Page'; # Go to Previous Category $button_4_txt = 'Order Form'; # Go to Order Form $button_5_txt = 'Add to Cart'; # Add item to shopping cart # $add_cart_button is the "Add to Cart" button printed in each item's table row # in database category displays and expanded item pages. # $add_cart_button may be colon delimited, listing an add to cart button image # to the left of the colon and image attributes to the right of the colon. # # WebStore assigns the image submit button's NAME and VALUE. If you include # NAME or VALUE in the attributes, WebStore will not print any listed attributes. # # The add to cart button image must be stored in the /Graphics sub-directory. # If the image is not readable by the server, -r IMAGE.xxx, form submission # buttons are printed to item rows. # # Accepted image types are .gif, .jpg, or .jpeg. # # Accepted button image settings: # # $add_cart_button = 'IMAGE.gif'; No Image Attributes # $add_cart_button = 'IMAGE.gif:BORDER="0" WIDTH="63" HEIGHT="15"'; # Setting $add_cart_button = '1' prints form submission buttons to item table # rows using the text defined in $button_5_txt (above) as the button's VALUE. # # Setting $add_cart_button = '' disables printing add to cart buttons to item # table rows. A single "Add to Cart" button is printed at the bottom of the # page. #$add_cart_button = 'ac.Buy.gif :BORDER="0" WIDTH="27" HEIGHT="15"'; #$add_cart_button = 'ac.Order.gif :BORDER="0" WIDTH="36" HEIGHT="15"'; #$add_cart_button = 'ac.Purchase.gif :BORDER="0" WIDTH="55" HEIGHT="15"'; $add_cart_button = 'ac.Add_to_Cart.gif:BORDER="0" WIDTH="63" HEIGHT="15"'; # $return_link_url is an absolute URL link printed at the bottom # of all pages in WebStore whose format is: # # http://www.YourDomain.xxx/AnyDirectories/Filename.html # $return_link_url targets "_top" to exit frames when a frames document is # defined in $frameset_file (above). # Setting $return_link_url = '' disables printing of this URL. # For the Confirmation of Order HTML page, WebStore will attempt to construct # a value for $return_link_url using: # # $return_link_url = 'http://'.$ENV{'HTTP_HOST'}; # $return_link_title is the absolute URL's description. $return_link_url = 'http://www.ratite.com'; $return_link_title = 'Home Page'; # $email_link_url is an e-mail link printed at the bottom of all # pages in WebStore. # Setting $email_link_url = '' disables printing of this link. # $email_link_title is the e-mail link's description. $email_link_url = "WebStore\@ratite.com"; $email_link_title = 'Mail to: '.$email_link_url; #--------------------------------------------------------------------------# # Database of Items for Sale #--------------------------------------------------------------------------# # @field_names is a listing of the database record structure present in the # | (pipe) delimited product database, outlet.data, defined in $data_file # above. These field names are used to display column header text in # View/Modify, Delete, Change Quantity, Order Form, and Reminder to client # of what they ordered. They are also used as field labels when WebStore # is configured to display vertical fields using @vertical_numbers (below). # The "Color" and "Size" fields are reserved for drop down list elements # and can not be removed. Their location within @field_names can not be # changed. The names "Color" and "Size" may be changed to describe the # type of information you are listing in each drop down list element. # The names assigned to the "Color" and "Size" fields in @field_names # are used by WebStore to display <FORM> entry error messages to the # client. # Never set the "Shipping" field for display. It is used for calculating # shipping costs only. # The "Id" field must always be the last field in @field_names and it's # name can not be changed. @field_names = ( # Field Name Dbase Field 'Color', # 0 'Size', # 1 'Shipping', # 2 'Item', # 3 'Category', # 4 'Price', # 5 'Name', # 6 'Description', # 7 'Image', # 8 'Id', # 9 ); # DO NOT REMOVE - terminates @field_names # 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 # Color | Size | Shipping | Item | Category | Price | Name | Description | Image | Id # NOTE: First element of an array is '0'. # $category_fld_num is the array index number of the "Category" field within # each database record of outlet.data. $category_fld_num = '4'; # $item_fld_num is the array index number of the item field or the item's # inventory control number field within each database record of outlet.data. # When printing database category displays or search result pages, WebStore # prints name anchors in each item's table row and constructs image filenames # using the value present in the item field. # # Spaces in the item field value are replaced with _ (underscore) in image # filenames and name anchors. # # Name Anchor: <A NAME="Item_Number"></A> # # Valid image types are .gif and .jpg. WebStore checks for the existence of # .gif files first. # # Example image filenames: # # Item field value: Item Number # Image filenames: Item_Number.gif # Item_Number.jpg # # If Item_Number.gif or Item_Number.jpg exists, WebStore uses any alignment # attribute stored in the item's Image field to align the image to printed # text. Image alignment defaults to left when no alignment attribute is # present in the Image field. Images stored in the Image field are not used. # If Item_Number.gif and Item_Number.jpg do not exist, WebStore uses the # contents of the item's Image field for printing images. # Enables the use of &buy_item=ItemNumber and &view_item=ItemNumber in # WebStore query strings. Refer to /Docs/query_string.html for details. # Setting $item_fld_num = '' disables name anchor generation, the use of # &buy_item=ItemNumber and &view_item=ItemNumber, and item image filename # construction. WebStore uses the contents of the item's Image field for # printing images. $item_fld_num = '3'; # $price_fld_num is the array index number of the "Price" field within each # database record of outlet.data. $price_fld_num = '5'; # $image_fld_num is the array index number of the "Image" field within each # database record of outlet.data. $image_fld_num = '8'; #--------------------------------------------------------------------------# # Configuring Color/Size drop down list elements #--------------------------------------------------------------------------# # All items must contain a field for 'Color' and 'Size' in the store's # database. # The Color field MUST BE THE FIRST FIELD in the database. # The Size field MUST BE THE SECOND FIELD in the database. # Item's not requiring color or size drop down boxes: # Two vertical bars with NO SPACES BETWEEN THEM --> || # Item's requiring color drop down box: # Include the list number from %DD1_FIELDS below in the item's Color # field in the store's database. This list number corresponds to the # list of colors required to construct the drop down box for a given # item in the store's database. # Item's requiring size drop down box: # Include the list number from %DD2_FIELDS below in the item's Size # field in the store's database. This list number corresponds to the # list of sizes required to construct the drop down box for a given # item in the store's database. # DATABASE FIELDS: # 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 # Color | Size | Shipping | Item | Category | Price | Name | Description | Image | Id # NOTE: First element of an array is '0'. # EXAMPLE: Accessing the FIRST COLOR list in %DD1_FIELDS and # the FIRST SIZE list in %DD2_FIELDS # # Item's entry in store's database: # 0|0|110d1|Pique|53.95|Gentlemen's Pique|..|...|9 # EXAMPLE: Accessing the LAST COLOR list in %DD1_FIELDS and # the LAST SIZE list in %DD2_FIELDS # # Item's entry in store's database: # 6|3|110d1|Pique|53.95|Gentlemen's Pique|..|...|9 # EXAMPLE: Item NOT REQUIRING COLOR and REQUIRING SIZE selection: # # Item's entry in store's database: # |3|110d1|Pique|53.95|Gentlemen's Pique|..|...|9 # EXAMPLE: Item REQUIRING COLOR and NOT REQUIRING SIZE selection: # # Item's entry in store's database: # 6||110d1|Pique|53.95|Gentlemen's Pique|..|...|9 # EXAMPLE: Item NOT REQUIRING COLOR or SIZE selection: # # Item's entry in store's database: # ||110d1|Pique|53.95|Gentlemen's Pique|..|...|9 #--------------------------------------------------------------------------# # When an item containing color and size selection is added to the client's # cart file, the following is an example of the item's entry for the first # example given in the section above: # # 2|0~Blue|0%15" x 32"|110d1|Pique|53.95|Gentlemen's Pique|..|...|9|85 # The color chosen by the client is appended to the Color field with # the ~ (tilde) acting as a field separator. # The size chosen by the client is appended to the Size field with # the % (percent) acting as a field separator. # When a client modifies a cart item containing a size and color selection, # Color field is split at the ~ (tilde), color index is shited off the # array and saved. Color index, ~ (tilde), and newly selected color # are concatenated and stored back into the client's cart item. # Size field is split at the % (percent), size index is shited off the # array and saved. Size index, % (percent), and newly selected size # are concatenated and stored back into the client's cart item. # NOTE: The '85' on the right end of the example above is the unique item # number fetched from web_store.counter and appended to the end of # item in the client's cart. It serves as the unique identifier # for item's in this file since there can be multiple items with the # same DATABASE ID NUMBER ('9' in the example above). # The '2' on the left end of the example above is the quantity # chosen by the client. #--------------------------------------------------------------------------# # %DD1_FIELDS is a hash of arrays listing your color selections. # Each item that requires color definition using <FORM> drop down boxes # will access one of the color lists in %DD1_FIELDS according to the # value stored in the item's 'Color' field in the store's database. # This arrangement offers unlimited color sets for drop down boxes. # NOTE: First element of an array is '0'. %DD1_FIELDS = ( '0' => [ 'Blue', 'Black', 'Navy', 'Red' ], '1' => [ 'Light Blue', 'Light Brown', 'Red', 'White' ], '2' => [ 'Blue/Black', 'Green/Black', 'Pink/Black', 'Red/Black' ], '3' => [ 'Cadetblue', 'Coral', 'Cornsilk', 'Crimson' ], '4' => [ 'Dark Blue', 'Dark Cyan', 'Dark Gray', 'Dark Green' ], '5' => [ 'Brown', 'Gray', 'Green', 'White' ], '6' => [ 'Gold', 'Goldenrod', 'Gray', 'Green' ], ); # DO NOT REMOVE - terminates %DD1_FIELDS # %DD2_FIELDS is a hash of arrays listing size selections. Each # item that requires size definition using <FORM> drop down boxes # will access one of the size lists in %DD2_FIELDS according to the # value stored in the item's 'Size' field in the store's database. # This arrangement offers unlimited size sets for drop down boxes. # NOTE: First element of an array is '0'. %DD2_FIELDS = ( '0' => [ '15 x 32', '15 x 34', '15 x 36', '15 x 38', '15 1/2 x 32', '15 1/2 x 34', '15 1/2 x 36', '15 1/2 x 38', '16 x 32', '16 x 34', '16 x 36', '16 x 38', '16 1/2 x 32', '16 1/2 x 34', '16 1/2 x 36', '16 1/2 x 38', '17 x 32', '17 x 34', '17 x 36', '17 x 38', '17 1/2 x 32', '17 1/2 x 34', '17 1/2 x 36', '17 1/2 x 38', '18 x 32', '18 x 34', '18 x 36', '18 x 38', '18 1/2 x 32', '18 1/2 x 34', '18 1/2 x 36', '18 1/2 x 38', '19 x 32', '19 x 34', '19 x 36', '19 x 38' ], '1' => [ 'Small', 'Medium', 'Large', 'X-Large', 'XX-Large' ], '2' => [ 'Small', 'Medium', 'Large', 'X-Large', 'XX-Large', 'XXX-Large' ], '3' => [ 'Regular', 'Tall', 'Extra-Tall', 'Big Regular', 'Big Tall' ], ); # DO NOT REMOVE - terminates %DD2_FIELDS #--------------------------------------------------------------------------# # Client Form Files #--------------------------------------------------------------------------# # $password_file is the forms setup file clients will use to gain access # to WebStore. The client's order form file must exist in the # /Databases/Clients/Restricted sub-directory or access to WebStore is denied. # WebStore adds '.setup' to the filename listed in $password_file if the # filename does not end in '.setup'. # Set $password_file equal to the setup filename configured for the type of # access fields you will be using: # # Setup Filename Type of Access Fields # # Access.Restrict.Password.setup E-mail Address and Password # Access.Restrict.Phone.setup E-mail Address and Phone Number # Setting $password_file = '' disables restricted access to WebStore. # Client form file access is controlled by $client_file (below). $password_file = ''; # $def_username and $def_password are the default username and password given # to clients to permit access when WebStore is configured for restricted access # (filename defined in $password_file). # When entering WebStore using $def_username and $def_password, clients must # create and submit an account file before access to WebStore is permitted. # WebStore sets $def_username and $def_password = '' when no filename is defined # in $password_file. # Setting $def_username = '' and/or $def_password = '' disables the use of # the default username/password access method when WebStore is operating under # restricted access. The client must have an order form file present in the # /Databases/Clients/Restricted sub-directory in order to access WebStore. $def_username = "demo\@ratite.com"; $def_password = 'demo1234'; # $deny_access_url is an absolute URL of an HTML page clients are directed # to when client file access is denied when WebStore is configured for # restricted access. # When the number of failed form submission attempts exceeds the value of # $access_attempts (below), WebStore prints an HTML page directing the client # to the web page defined in $deny_access_url. $deny_access_url = $return_link_url; # $client_file is the forms setup file clients will use to modify their existing # form file in the /Databases/Clients sub-directory. # When a setup file is defined in $password_file, the value assigned to # $client_file is disregarded. # WebStore adds '.setup' to the filename listed in $client_file if the # filename does not end in '.setup'. # Set $client_file equal to the setup filename configured for the type of # access fields you will be using: # # Setup Filename Type of Access Fields # # Access.Client.Password.setup E-mail Address and Password # Access.Client.Phone.setup E-mail Address and Phone Number # Setting $client_file = '' disables the use of client form files for # retrieving client form field data. $client_file = 'Access.Client.Phone.setup'; # $retrieve_file is the form setup file WebStore will use to retrieve a # client's form file in the /Databases/Clients sub-directory when a client # goes to the order form. The client may also select the method of payment # when %form_files (below) is configured for multiple order forms. # WebStore will not print the form defined in $retrieve_file when going to # the order form when the existence of the client's form file was previously # verified and %form_files is configured for a single order form in # WebStore adds '.setup' to the filename listed in $retrieve_file if the # filename does not end in '.setup'. # Set $retrieve_file equal to the setup filename configured for the type of # access fields you will be using: # # Setup Filename Type of Access Fields # # Client.Retrieve.Password.setup E-mail Address and Password # Client.Retrieve.Phone.setup E-mail Address and Phone Number # Setting $retrieve_file = '' disables printing of a client retrieval form # when going to the order form. WebStore will print the default order form # defined in %form_files. The client may switch order forms by selecting an # alternative payment method near the top of the default order form. $retrieve_file = 'Client.Retrieve.Phone.setup'; # $client_delete_age limits the age of client form files stored in the # /Databases/Clients or /Databases/Clients/Restricted sub-directory. # When a filename is defined in $password_file (above), files are checked in # the /Databases/Clients/Restricted sub-directory. # When $password_file = '', and a filename is defined in $client_file (above), # files are checked in the /Databases/Clients sub-directory. # Example Settings: # $client_delete_age = '6' 6 months # $client_delete_age = '12' 12 months # $client_delete_age = '18' 18 months # $client_delete_age = '24' 24 months # Setting $client_delete_age = '' disables age deletion of client files from # the /Databases/Clients or /Databases/Clients/Restricted sub-directory. $client_delete_age = '24'; # @client_fields is a listing of the record structure present in the client # order form files. # @client_fields is a listing of form field names used in all forms in # WebStore. # The client selected shipping method and sales tax ('ship' and 'tax') are # added to the client's record when an order is submitted. # WebStore add two fields to the client's record after the tax field: # Order Reference 990815114601967 # Date 1999 08 15 # # The Order Reference number and Date are written to the client's record # when an order is submitted. @client_fields = ( # Form Name Field Label 'nameFirst', # First Name 'nameLast', # Last Name 'name', # Full Name 'company', # Company 'addr1', # Address 1 'addr2', # Address 2 'addr3', # Address 3 'city', # City 'state', # State 'province', # Province 'country', # Country 'zip', # Zip/Postal Code 'phone', # Phone 'fax', # Fax 'email', # E-mail Address 'shpNameFirst', # Ship First Name 'shpNameLast', # Ship Last Name 'shpName', # Ship Full Name 'shpAddr1', # Ship Address 1 'shpAddr2', # Ship Address 2 'shpAddr3', # Ship Address 3 'shpCity', # Ship City 'shpProvince', # Ship Province 'shpState', # Ship State 'shpCountry', # Ship Country 'shpZip', # Ship Zip/Postal Code 'shpPhone', # Ship Phone 'shpIns', # Shipping Instructions 'password1', # Password 'ship', # Shipping Method 'tax', # Sales Tax ); # DO NOT REMOVE - terminates @client_fields # $usr_fld_name defines the field name of the user id field in the client's # order form file, defined in @client_fields (above). $usr_fld_name = 'email'; # E-mail Address # $pwd_fld_name defines the field name of the password field in the client's # order form file, defined in @client_fields (above). # WebStore uses the client's e-mail address and phone number (or password) # to construct the account filename: susan@cgicentral.net~4096872400.client # The value of $pwd_fld_name is dependent on the access file you defined in # $client_file or $password_file when operating in restricted mode. # # Set the field name in $pwd_fld_name according to the following: # # Filename defined in Variable Settings # $client_file or $password_file # # Access.Restrict.Password.setup $pwd_fld_name = 'password1'; # Access.Client.Password.setup # # Access.Restrict.Phone.setup $pwd_fld_name = 'phone'; # Access.Client.Phone.setup $pwd_fld_name = 'phone'; # Phone # $access_attempts is the number of form submission attempts allowed for the # %ClientAccess and %ClientRetrieve forms in the file defined in $client_file. # $access_attempts is a whole number, greater than 1, defaulting to 3 if # mis-configured. $access_attempts = '3'; # When $admin_file_email = 1, send client file update e-mail to the # store administrator. # Setting $admin_file_email = '' disables client file update e-mail to the # store administrator. $admin_file_email = '1'; #--------------------------------------------------------------------------# # Product Resellers #--------------------------------------------------------------------------# # $reseller_data_file is the | (pipe) delimited flatfile database of resellers. # Depending on the values assigned to $reseller_file and $reseller_spreadsheet # (below), reseller records may be automatically added to the reseller database # by WebStore or manually added to the reseller database using WS Editor. # # The setup file for editing the reseller database using WS Editor is # Resellers.data_editor.setup. # WebStore maintains a second reseller database, Resellers.data.readonly, # which is accessed for reseller retrieval whenever Resellers.data is locked # in write mode. # # The read only filename is constructed using the filename defined in # $reseller_data_file: $read_file = $reseller_data_file.'.readonly'; # # WebStore updates the read only database when a file size difference exists # between Resellers.data and Resellers.data.readonly. # WebStore generated reseller codes consist of the reseller's country code, # state code (00 for foreign countries), and the cart reference number defined # when a reseller application is submitted: # # Reseller code example: 31953-990806010728290 # # 319 = United States # 53 = Texas # 990806010728290 = Cart reference number # Links pointing to your WebStore from a reseller's html document must include # the rsc= name=value pair for the reseller's code in the query string: # # http://www.YourDomain.xxx/Web_store/ws400CS.cgi?rsc=31953-990806010728290 # Setting $reseller_data_file = '' disables all reseller functions in WebStore. # No reseller order e-mail message is generated. # $reseller_data_file = 'Resellers.data'; $reseller_data_file = ''; # $reseller_file is the forms setup file clients will use to apply for # product reselling. # WebStore adds '.setup' to the filename listed in $reseller_file if the # filename does not end in '.setup'. # Reseller form submissions are added to the reseller database defined in # $reseller_spreadsheet (below). # Setting $reseller_file = '' disables the addition of reseller form input # records to the reseller database defined in $reseller_spreadsheet. $reseller_file = 'Form.Reseller.setup'; # $reseller_spreadsheet is the | (pipe) delimited flatfile database of reseller # applications ($reseller_file form submissions). # The filename 'Resellers.data.txt' is WS Editor's spreadsheet filename for the # reseller's database, 'Resellers.data', defined in $reseller_data_file (above). # # The WS Editor setup file for the reseller spreadsheet is # Resellers.data.txt_editor.setup. # # Using WS Editor and the setup file for the reseller spreadsheet, you may # delete or modify reseller applications before merging the spreadsheet into # the reseller database, 'Resellers.data'. # # After verifying the records in the spreadsheet, switch to the WS Editor setup # file for the reseller database, Resellers.data_editor.setup. # # WS Editor will detect the presence of the reseller spreadsheet and switch # you to the spreadsheet conversion page where you may merge the records # from the spreadsheet into the reseller's database, 'Resellers.data'. # Setting $reseller_spreadsheet equal to the same filename defined in # $reseller_data_file (above) will write reseller application records directly # to the reseller database. Resellers become active immediately. # Setting $reseller_spreadsheet = '' disables the addition of reseller form # input to a database. Resellers must be added to the reseller database using # WS Editor. # $reseller_spreadsheet = 'Resellers.data.txt'; $reseller_spreadsheet = $reseller_data_file; # %RESELLER_FIELDS is a listing of the record structure in the reseller # database defined in $reseller_data_file and $reseller_spreadsheet. # The field names in %RESELLER_FIELDS are a listing of the form fields present # in %Form in the reseller's secondary form file, Form.Reseller.setup. # # Field names changed in %Form in Form.Reseller.setup must be changed in # %RESELLER_FIELDS. Field names in %Form which do not match a field name in # %RESELLER_FIELDS will not be written to the reseller database. # # Fields removed from %Form which exist in %RESELLER_FIELDS or optional fields # not completed by the reseller applicant will store a blank field in the # reseller database. # # The field names 'rsc', 'name', 'email', 'state', and 'country' can not be # changed. # The field named 'rcs' must be database field 0, $RESELLER_FIELDS{00}. %RESELLER_FIELDS = ( # KEY Field Name E-mail Label Dbase Field '00' => ['rsc', 'Reseller Code'], # 0 '01' => ['name', 'Name'], # 1 '02' => ['company', 'Company'], # 2 '03' => ['addr1', 'Address 1'], # 3 '04' => ['addr2', 'Address 2'], # 4 '05' => ['city', 'City'], # 5 '06' => ['state', 'State'], # 6 '07' => ['country', 'Country'], # 7 '08' => ['zip', 'Zip/Postal Code'], # 8 '09' => ['phone', 'Phone Number'], # 9 '10' => ['fax', 'Fax Number'], # 10 '11' => ['email', 'E-mail Address'], # 11 '12' => ['urlpage', 'Web Page URL'], # 12 ); # DO NOT REMOVE - terminates %RESELLER_FIELDS # @reseller_include_files is a listing of template text files used to display # reseller information when a value is present for rsc=, r_data=, and WebStore # is configured for resellers. # Reseller information is retrieved from the reseller database for substitution # into these template text files. # The contents of the files listed in @reseller_include_files are substituted # into parsed HTML pages by adding hidden text tags using the file's name. # Example: <!--include=include.reseller.txt--> # # Whitespace is not allowed in reseller include hidden text tags. # WebStore ignores hidden text tags which contain whitespace. # # Hidden text tags are replaced with the associated file's contents. # # Files listed in @reseller_include_files must be located under the /Html # sub-directory or any sub-directory you may create under /Html. # # When files are placed under sub-directories, the sub-directory must be listed # in the hidden text tag: <!--include=subdir/include.reseller.txt--> # When a file does not exist under the /Html directory, WebStore writes a # FILE NOT FOUND message in the file's associated hidden text tag: # # <!-- FILE NOT FOUND: include.reseller.txt --> # cart_id= substitution occurs on the contents of substituted files. # Substitution of the reseller's information into the contents of the reseller # text file is accomplished using hidden text tags containing the field names # present in element zero of %RESELLER_FIELDS: # # <!--name=rsc--> Reseller Code # <!--name=name--> Name # <!--name=company--> Company # <!--name=addr1--> Address 1 # <!--name=addr2--> Address 2 # <!--name=city--> City # <!--name=state--> State # <!--name=country--> Country # <!--name=zip--> Zip/Postal Code # <!--name=phone--> Phone Number # <!--name=fax--> Fax Number # <!--name=email--> E-mail Address # <!--name=urlpage--> Web Page URL # # Field names ending in email, case insensitive, are converted to MAILTO tags. # # Field names ending in img or imgexist, case insensitive, are converted to # IMG SRC tags. If present, the reseller's referring web page URL is wrapped # around the IMG SRC tag in an HREF anchor which targets "top". # # Field names ending in url, urlexist, and urlpage, case insensitive, are # converted to HREF tags which target "top". # Setting @reseller_include_files = () or $reseller_data_file = '' disables the # use of the reseller template text files. @reseller_include_files = ( # 'include.reseller.txt', # 'include.reseller.category_page.txt', # 'include.reseller.item_page.txt', ); # DO NOT REMOVE - terminates @reseller_include_files # $rsc_name_fld_num, $rsc_mail_fld_num, and $rsc_urlpage_fld_num are the field # numbers in the reseller database for the reseller's name, e-mail address, and # web page URL respectively. # $rsc_name_fld_num can be set to the reseller's name field or company field. # When a client enters your store from a reseller advertising web page and a # valid reseller code exists in a name=value pair for rsc= in the query string, # WebStore uses the contents of these fields to replace the values for # $return_link_url, $return_link_title, $email_link_url , and $email_link_title # when printing links at the bottom of WebStore parsed pages. # # A reseller code is valid when it exists in the reseller database. # The reseller's web page URL is also used to print an href anchor near the top # of the confirmation of order HTML page. # Reseller Dbase Field $rsc_name_fld_num = '2'; # Company $rsc_mail_fld_num = '11'; # E-mail Address $rsc_urlpage_fld_num = '12'; # Web Page URL #--------------------------------------------------------------------------# # Realtime Payment Processing #--------------------------------------------------------------------------# # $merchant_file is the merchant configuration file for the real-time payment # processor you are using. # WebStore supports the following real-time processors: # # Processor Name Merchant Configuration Filename # -------------- ------------------------------- # # Authorize.Net merchant.authorizenet.cfg # Surepay merchant.surepay.cfg # The Processor Name must be included in the Merchant Configuration Filename. # For example, "Surepay" must be included as part of the filename for the # Surepay merchant configuration file, merchant.surepay.cfg. The Processor # Name is case insensitive in the Merchant Configuration Filename. # Merchant configuration files are located in the /Library sub-directory. # The /Library sub-directoy should be placed under HTACCESS. # Modify the variables in the merchant configuration file you are using. # Variables included in the configuration file are your merchant ID, merchant # password, etc. # Setting $merchant_file = '' disables real-time payment processing. $merchant_file = ''; #--------------------------------------------------------------------------# # Order Form #--------------------------------------------------------------------------# # $country_file contains two hash of arrays, %countries and %states, # used to perform required fields checking of country and state form # inputs on all forms used in WebStore. # WebStore adds '.setup' to the filename listed in $country_file if the # filename does not end in '.setup'. $country_file = 'outlet.state_country.setup'; # $pre_form_file is the form setup file WebStore will use to determine the # client's sales tax liability, shipping method preference, payment method # preference, etc. # WebStore adds '.setup' to the filename listed in $pre_form_file if the # filename does not end in '.setup'. # WebStore will not print the form defined in $pre_form_file prior to printing # WebStore's order form if the values requested by this form were previously # determined during client form file verification. $pre_form_file = 'Pre.OrderForm.setup'; # %form_files is a hash of arrays listing WebStore's order form setup files. # WebStore is packaged with pre-configured sets of order form setup files. # One set of files is included for those who do not use real-time processing. # One set of files is included for each real-time processor WebStore supports. # Refer to /Docs/OrderForm.html for order form setup file details. # Additional information for real-time processor form files may be found in # the following documents: # # Authorize.Net /Docs/rp.AuthorizeNet.html # Surepay /Docs/rp.Surepay.html # Element zero of each array lists an order form's filename in the /Databases # sub-directory. WebStore adds '.setup' to the filename listed in element # zero if the filename does not end in '.setup'. # Element one is the order form's descriptive label. # Filenames beginning with 'Demo' include values for credit card and check # fields or special diagnostic fields for real-time processor testing. # 'Demo' is included in the Label in element one of demonstration files. # WebStore sorts the arrays in %form_files by their KEYS, in ascending order. # The array with the least significant KEY becomes the default order form # printed by WebStore when no payment method is selected by the client. # $form_files{10} is the default order form in the distributions of WebStore. %form_files = ( # KEYS zero one '10' => ['OrderForm.CreditCard.setup', 'Credit Card'], '11' => ['OrderForm.Check.setup', 'Personal Check - US citizens'], '12' => ['OrderForm.FaxMail.setup', 'Fax or Mail your order'], ); # DO NOT REMOVE - terminates %form_files # $demo_form_file is the order form setup file used when $demo = '1' in # ws_global.setup or when $demo = '' and the first URL accessing WebStore # contains a name=value pair for demo: ws400CS.cgi?demo=Y # When demonstration mode is activated, WebStore adds the demo form file to # %form_files (above), immediately after the most significant KEY, labeling # the file "Demonstration Form File". This order form becomes $form_files{13}. # WebStore adds '.setup' to the filename listed in $demo_form_file if the # filename does not end in '.setup'. # Setting $demo_form_file = '' disables the use of the demonstration # forms file. $demo_form_file = 'Demo.OrderForm.CreditFaxMail.setup'; # $minimum_order is the minimum order subtotal allowed before WebStore # will print the order form. # $minimum_order is a fixed decimal number. Do not include a dollar sign # or commas in $minimum_order. # Setting $minimum_order = '' disables minimum order checking. WebStore's # order form is available when the client's shopping cart contains one item. $minimum_order = '25.00'; # '' = No minimum order checking # %DISCOUNT lists percentage discounts for client orders. # Discounts are based on the order's subtotal value or on the total number of # items purchased. # $DISCOUNT{1} lists order subtotal range values. # $DISCOUNT{2} lists item quantity range values. # Element zero of $DISCOUNT{1} and $DISCOUNT{2} is the field label printed # to the client confirmation HTML page and to e-mail messages. # The remaining elements of $DISCOUNT{1} and $DISCOUNT{2} are colon-delimited # discount range values. Range values must be listed in ascending order. # # For $DISCOUNT{1} and $DISCOUNT{2}, the percentage discount is to the right # of each colon. The value of percentage discount is a fixed decimal number. # For example, .15 equals a 15% discount. # # For $DISCOUNT{1}, the value to the left of each colon is an order subtotal # value. The percentage discount increases when the order's subtotal is # greater than the subtotal value listed in an element of $DISCOUNT{1}. # # For $DISCOUNT{2}, the value to the left of each colon is an item quantity # value. The percentage discount increases when the quantity of items ordered # is greater than the item count listed in an element of $DISCOUNT{2}. # Remove the discount array you will not be using or place # (pound signs) in # column one of each element of the entire array ($DISCOUNT{1} or $DISCOUNT{2}), # including the closing ] (square bracket). # If you do not use discounts, %DISCOUNT may be removed from this file or you # may place a # (pound sign) in column one for each line in the entire hash of # arrays. %DISCOUNT = ( # Subtotal Discount Discount Subtotal Value '1' => ['Subtotal Discount', ' 75.00:0', # 0% $75.00 or less '100.00:.10', # 10% $75.01 - $100.00 '125.00:.125', # 12.5% $100.01 - $125.00 '150.00:.15', # 15% $125.01 - $150.00 '175.00:.175', # 17.5% $150.01 - $175.00 '175.01:.20', # 20% $175.01 or more ], # Quantity Discount Discount Items Purchased # '2' => ['Quantity Discount', # ' 2:0', # 0% 1 - 2 # ' 6:.10', # 10% 3 - 6 # '12:.125', # 12.5% 7 - 12 # '24:.15', # 15% 13 - 24 # '36:.175', # 17.5% 25 - 36 # '37:.20', # 20% 37 or more # ], ); # DO NOT REMOVE - terminates %DISCOUNT # %SHIPPING is a hash of arrays listing all shipping variables. # %SHIPPING in this file is configured for SUBTOTAL RANGE SHIPPING. # For details on WebStore's four types of shipping configurations, refer to # the following HTML support documents: # # /Docs/shipping.Dbase_Price.html Database Item Price Shipping # /Docs/shipping.Dbase_Weight.html Database Item Weight Shipping # /Docs/shipping.Rates_Percentages.html Fixed Rate and Percentage Shipping # /Docs/shipping.Subtotal.html Subtotal Range Shipping # # The %SHIPPING hash of arrays may be copied directly from the files listed # above into this file. # Arrays 1, 2, and 10 must exist in %SHIPPING. If any of these arrays are # not present, shipping is disabled in WebStore. %SHIPPING = ( # Determines type of shipping # Database Field, Handling, Free Shipping '1' => ['', '', ''], # Domestic Shipping '2' => ['319', '10','11','12','13'], # Universal Subtotal Range Values '3' => [ # Order Subtotal Shipping Charged '100.00:6.95', # $0.01 - $100.00 $6.95 '150.00:9.95', # $100.01 - $150.00 $9.95 '200.00:12.95', # $150.01 - $200.00 $12.95 '300.00:15.95', # $200.01 - $300.00 $15.95 '300.01:18.95', # $300.01 & up $18.95 ], # Shipping Methods # 10 UPS Ground or Priority Mail: $3.95 plus 3% of order's subtotal # 11 2nd Day Air: $12.00 plus 4% of order's subtotal # 12 Standard Next Day Air: $18.00 plus 5% of order's subtotal # 13 Alaska & Hawaii: $12.00 plus 4% of order's subtotal # 14 Canadian Orders: $10.00 plus 17% of order's subtotal # 15 International Orders: $20.00 plus 8% of order's subtotal '10' => ['UPS Ground or Priority Mail', '3.95', '.03'], '11' => ['2nd Day Air', '12.00', '.04'], '12' => ['Standard Next Day Air', '18.00', '.05'], # State Specific Shipping Method '13' => ['Alaska & Hawaii', '12.00', '.04', '11:21'], # Country Specific Shipping Method '14' => ['Canadian Orders', '10.00', '.17', '132'], '15' => ['International Orders', '20.00', '.08'], ); # DO NOT REMOVE - terminates %SHIPPING # If $tax = 1, sales tax is calculated and displayed on the order form when the # client's billing state, province, or country contains a tax rate value in # element 2 of %states, %provinces, or %countries in the file defined in # $country_file (above). # Store sales tax percentage values, in decimal format, in element 2 of %states, # %provinces, or %countries in the file defined in $country_file. # # Examples of state array in %states with 6.75% sales tax: # # '53' => ['TX', 'Texas', '.0675'], # '53' => ['TX', 'Texas', '.0675', '~~RATE~~ ~~STATE~~ Sales Tax'], # Setting $tax = '' disables sales tax calculation. Tax rates present in # %states, %provinces, or %countries in $country_file are disregarded. $tax = '1'; # 1 = Yes # $tax_label is displayed on WebStore's order form. # Occurrences of ~~RATE~~ ~~STATE~~ ~~PROVINCE~~ and ~~COUNTRY~~ # found in $tax_label will be replaced with: # # ~~RATE~~ Tax rate in percentage format: 6.75% # ~~STATE~~ US state from %states in $country_file # ~~PROVINCE~~ Province from %provinces in $country_file # ~~COUNTRY~~ Country from %countries in $country_file # Example sales tax rate of .0675 and sales tax state of Texas: # # $tax_label = '~~RATE~~ ~~STATE~~ Sales Tax'; # $tax_label = '6.75% Texas Sales Tax'; # State, provincial, or country specific tax labels may be stored in element 3 # of %states, %provinces, or %countries in the file defined in $country_file # (above). $tax_label = '~~RATE~~ ~~STATE~~ Sales Tax'; # $mail_file is the | (pipe) delimited flatfile mailing list database # consisting of e-mail addresses and names. When an order is submitted, # the client'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'. # Setting $mail_file = '' disables the use of the mailing list database. # Example database record: susan@cgicentral.net|Susan Smith $mail_file = 'WebStore.list'; # When $join_list = '1', clients 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 = ''; #--------------------------------------------------------------------------# # Confirmation of Order HTML Page #--------------------------------------------------------------------------# # Order form fields printed to the Confirmation of Order HTML page are # printed using <FONT SIZE> 3 for fax orders. <FONT SIZE> for credit card # orders uses $data_font. <FONT FACE> for the entire page uses $data_face. # $data_font and $data_face are defined in ws_global.setup. # When $data_font is set to a value greater than '3', WebStore sets # $data_font = '2' and $header_font = '3' for printing the Confirmation of # Order page. # To assure proper colors for printing of the Confirmation of Order page, # color attributes within the opening <BODY> tag are set by the script # using the following values: # $background = ''; No background # $bgcolor = '#FFFFFF'; White # $text_color = '#000000'; Black # $link_color = '#0000FF'; Blue # $vlink_color = '#0000A0'; Dark Blue # $alink_color = '#FF0000'; Red # "Send Order to My Web Browser for Printing" may be disabled by removing # it's form submit button from the order form. # If $fax_signature = 0, never print client signature line on fax orders. # If $fax_signature = 1, print client signature line in the credit card # section of fax orders when any credit card field is not completed on # the order form. # If $fax_signature = 2, always print client signature line in the credit # card section of fax orders. $fax_signature = '2'; # If $delete_cart = '1', delete the client's shopping cart file after # successful order form submission, preventing the client from performing # multiple form submissions. The client's cart is deleted after the # entire confirmation of order page has been printed to the client's web # browser. # Setting $delete_cart = '' disables cart file deletion. $delete_cart = ''; #--------------------------------------------------------------------------# # Email Messages: ADMINISTRATIVE & CONFIRMATION OF ORDER (sent to client) #--------------------------------------------------------------------------# # NOTE: The Image field is designed to display in Category Tables only. # Do not define the Image field in @email_numbers or # %email_fields_array. # # If you use the "Shipping" field, never set the "Shipping" field for # display. It is used for calculating shipping costs only. # @email_numbers array lists the array index numbers for each field to be # included in the confirmation e-mail to client and e-mail to administrator. # 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 # Color | Size | Shipping | Item | Category | Price | Name | Description | Image | Id # NOTE: First element of an array is '0'. # 5 6 0 1 # Price, Name, Color, Size @email_numbers = ('5', '6', '0', '1'); # %email_fields_array is a hash which defines the alignment attribute for # each field in @email_numbers. Numeric fields are normally right justified # while alpha and alpha-numeric fields are left justified. # Valid alignment values are 'left' and 'right'. # NOTE: First element of an array is '0'. %email_fields_array = ( # Field alignment in e-mail messages '5' => 'right', '6' => 'left', '0' => 'left', '1' => 'left', ); # DO NOT REMOVE - terminates %email_fields_array # $label_align defines the alignment attribute for form field labels for all # forms in WebStore. Valid alignment values are 'left' and 'right'. # LABELS ALIGNED left: # # Type of Card: Visa # Name on Card: Susan Smith # Card Number: 4111 1111 1111 1111 # Expiration Month: January - 01 # Expiration Year: 2003 # LABELS ALIGNED right: # # Type of Card: Visa # Name on Card: Susan Smith # Card Number: 4111 1111 1111 1111 # Expiration Month: January - 01 # Expiration Year: 2003 # $label_align defaults to 'left' if mis-configured. $label_align = 'left'; # If $item_subtotal = 1, include the subtotal of each item the client has # ordered in the e-mail to client and e-mail to administrator. # An item subtotal equals the quantity of an item multiplied by the item's # unit price. Item subtotals are appended to the item's row, right justified # (mandatory). # Setting $item_subtotal = '' disables the addition of item subtotals # to e-mail messages. $item_subtotal = '1'; # 1 = Yes # $email_subject used as SUBJECT of e-mail to customer and administrator. # The client's order identification number is appended to the SUBJECT: # RDC Software Order: [980712040921989] $email_subject = $global_page_title.' Order'; # $message_columns is the maximum number of characters per line in the # client's confirmation of order e-mail and the administrative order # e-mail for WebStore's order form. # $message_columns also controls line lengths in e-mail messages # generated by WebStore's secondary form processor and the line length # of the message separator character string defined in $message_divider # (below) in all e-mail messages generated by all forms. # Reformatting long text lines is performed on the contents of # $pre_client_msg, $app_client_msg, and <TEXTAREA> inputs present # on all forms in WebStore. # The value of $message_columns should be equal to or greater than the # COLS attribute assigned to <TEXTAREA> inputs on the form. # $message_columns is numeric only, ranging from 50 to 80, and defaults # to 55 if mis-configured. $message_columns = '55'; # $message_divider is a character or character string used to visually # divide the sections of e-mail messages generated by all forms in # WebStore. # Tab characters in $message_divider are replaced with four spaces. # Line control characters are removed from $message_divider. # The character or character string which remains in $message_divider # after whitespace filtering is duplicated and added to the right end # of $message_divider until the string's length is equal to or greater # than $message_columns. # After character or character string duplication, whitespace is removed # from the right end of $message_divider. # Example $message_divider contents followed by the resulting character # string divider printed in e-mail messages: # # $message_divider = '<>'; # <><><><><><><><><><><><><><><><><><><><><><><><><><><><> # # $message_divider = '<> '; # <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> # # $message_divider = '<>-<> <>-<> '; (whitespace are tab characters) # <>-<> <>-<> <>-<> <>-<> <>-<> <>-<> <>-<> <>-<> # # $message_divider = '<><><><> '.$global_page_title.' <><><><>'; # <><><><> RDC Software <><><><><><><><> RDC Software <><><><> # # $message_divider = '/\\'; # /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ # # $message_divider = '-'; # ------------------------------------------------------- # $message_divider defaults to - (dash) if $message_divider is set to ''. $message_divider = '-'; # $pre_client_msg is printed at the beginning of the confirmation of order # e-mail sent to the client. # You may personalize the text in $pre_client_msg by using the client's # name and e-mail address. # Occurrences of ~~FIRST~~ ~~FULL~~ ~~EMAIL~~ and ~~STORE~~ found in # $pre_client_msg will be replaced with: # # ~~FIRST~~ Client's first name # ~~FULL~~ Client's full name # ~~EMAIL~~ Client's e-mail address # ~~STORE~~ WebStore URL # Occurrences of ~~FIRST~~ are replaced with the full name instead of the first # name if the full name ends in Co, Company, Corp, Corporation, Inc, or # Incorporated (case insensitive, optional trailing period). # Occurrences of ~~STORE~~ are replaced with $main_script_url, defined in # ws_global.setup. The client's username and password are included when # name=value pairs for the client's username and password exist: # # http://www.YourDomain.xxx/Web_store/ws400CS.cgi?uid=USERID&pwd=PASSWORD # # The client's username and password name=value pairs are provided by WebStore # when using client form files, a filename is defined in $client_file (above). # # A name=value pair for store= is included when the required store setup file # is not equal to $default_setup_file, defined in the WebStore script. # # A name=value pair for demo= is included when WebStore is operating in # demonstration mode and $demo = '' in ws_global.setup. # Space the contents of $pre_client_msg as you would like it to appear in # the e-mail message. # Paragraph line lengths should be equal to or less than the value of # $message_columns. Placing entire paragraphs on one line allows WebStore to # split line lengths according to the value of $message_columns. # Paragraphs containing ~~FIRST~~, ~~FULL~~, ~~EMAIL~~, and ~~STORE~~ should be # on one line as the number of characters replacing these values can not be # pre-determined. # WebStore removes all leading and trailing whitespace from $pre_client_msg # before line length formatting occurs. One blank line is added to the end of # $pre_client_msg. # Setting $pre_client_msg = qq!!; disables printing $pre_client_msg to the # client's confirmation of order e-mail. # join("\n",@company)."\n". prints the contents of @company (above). # if ($email_link_url) prints the contents of $email_link_url (above) when # an e-mail address is defined in $email_link_url. if ($email_link_url) { $E_mail = "\n".'E-mail: mailto:'.$email_link_url } else { $E_mail = '' } $pre_client_msg = join("\n",@company)."\n". qq! ~~FULL~~: Thank you for your order ~~FIRST~~. We appreciate your business and look forward to serving you in the future. Please retain this e-mail for your records.\n$E_mail Store: ~~STORE~~ !; # DO NOT REMOVE - terminates $pre_client_msg # $app_client_msg is printed at the end of the confirmation of order e-mail # sent to the client. # You may personalize the text in $app_client_msg by using the client's # name and e-mail address. # Occurrences of ~~FIRST~~ ~~FULL~~ ~~EMAIL~~ and ~~STORE~~ found in # $app_client_msg will be replaced with: # # ~~FIRST~~ Client's first name # ~~FULL~~ Client's full name # ~~EMAIL~~ Client's e-mail address # ~~STORE~~ WebStore URL # Occurrences of ~~FIRST~~ are replaced with the full name instead of the first # name if the full name ends in Co, Company, Corp, Corporation, Inc, or # Incorporated (case insensitive, optional trailing period). # Occurrences of ~~STORE~~ are replaced with $main_script_url, defined in # ws_global.setup. The client's username and password are included when # name=value pairs for the client's username and password exist: # # http://www.YourDomain.xxx/Web_store/ws400CS.cgi?uid=USERID&pwd=PASSWORD # # The client's username and password name=value pairs are provided by WebStore # when using client form files, a filename is defined in $client_file (above). # # A name=value pair for store= is included when the required store setup file # is not equal to $default_setup_file, defined in the WebStore script. # # A name=value pair for demo= is included when WebStore is operating in # demonstration mode and $demo = '' in ws_global.setup. # Space the contents of $app_client_msg as you would like it to appear in # the e-mail message. # Paragraph line lengths should be equal to or less than the value of # $message_columns. Placing entire paragraphs on one line allows WebStore to # split line lengths according to the value of $message_columns. # Paragraphs containing ~~FIRST~~, ~~FULL~~, ~~EMAIL~~, and ~~STORE~~ should be # on one line as the number of characters replacing these values can not be # pre-determined. # WebStore removes all leading and trailing whitespace from $app_client_msg # before line length formatting occurs. # Setting $app_client_msg = qq!!; disables printing $app_client_msg to the # client's confirmation of order e-mail. # $E_mail prints the contents of $email_link_url (above) when an e-mail address # is defined in $email_link_url. $app_client_msg = qq!$E_mail Store: ~~STORE~~ !; # DO NOT REMOVE - terminates $app_client_msg undef $E_mail; # If $pre_admin_msg = 1, preface e-mail to administrator with the reseller's # details from the reseller database, Resellers.data, indicating where the order # was routed. Also includes the referring web page the client accessed to link # to WebStore in case the reseller did not include his reseller code OR included # an incorrect code in the query string of the reseller's URL. # Setting $pre_admin_msg = '' disables printing reseller information to the # administrative e-mail message. $pre_admin_msg = '1'; # 1 = Yes # If $fax_email = 0, Disable order e-mail to store administrator and reseller. # If $fax_email = 1, send order e-mail to the store administrator when a client # prints an order to their web browser for faxing. # Do not send e-mail to reseller. # If $fax_email = 2, send order e-mail to the store administrator and reseller # when a client prints an order to their web browser for faxing. $fax_email = '2'; # 2 = Fax e-mail to administrator and reseller # 1 = Fax e-mail to administrator only # 0 = Disables fax e-mail to administrator and reseller # %mail_order is a hash of arrays listing e-mail addresses which will receive # a configured set of order related e-mail messages according to the mail # switch settings present in element zero of each array. # Mail Switches: # # a - Administrative e-mail, encrypted or non-encrypted # Complete order e-mail including credit card fields # # If 'a' is not included in at least one e-mail address array, a # complete administrative order message is delivered to $admin_email. # $admin_email is defined in ws_global.setup. # # n - Administrative e-mail, non-encrypted - no client form fields # Abbreviated message containing items ordered by client. # # s - Administrative e-mail, non-encrypted - no credit card fields # Message construct "shared" by all administrative message types. # # r - Reseller e-mail, non-encrypted - no credit card fields # Message sent to reseller when reseller functions are enabled. # # c - Client e-mail # Order receipt sent to the client submitting an order. # # d - Send e-mail messages when operating in demonstration mode. # 'd' has no effect when WebStore's demonstration mode is disabled. # Refer to $demo in ws_global.setup for demonstration mode details. # # f - Send e-mail messages for fax order submissions # Messages are delivered when a client prints an order to their # web browser for faxing when $fax_email equals '1' or '2' (above). # If $admin_email is not defined in an e-mail address array in %mail_order, # a complete administrative order message is delivered to $admin_email. # E-mail address arrays which do not contain a minimum of one message switch # in element zero are bypassed. Valid message switches are a, c, n, r, or s. # E-mail address arrays are bypassed when the e-mail address in element one # does not pass the minimum e-mail address syntax of Text@Text.Text. # Setting %mail_order = () disables sending multiple e-mail messages per order. # A complete administrative order message is delivered to $admin_email. %mail_order = ( # KEY Switches E-mail address '1' => [ 'af', $admin_email ], # '2' => [ 'rsf', "Full Name <username\@Domain.xxx>"], #ddd '3' => [ 'ad', "Demo Order <No_Frames\@ratite.com>"], ); # DO NOT REMOVE - terminates %mail_order #--------------------------------------------------------------------------# # Statistics #--------------------------------------------------------------------------# # $log_file is the name of the visitior log file. # Maintain a formatted or | (pipe) delimited log file for the first access # to WebStore consisting of: # # Access Date and Time 21/Dec/1996 12:54:03 PM # $ENV{'HTTP_USER_AGENT'} Type of Browser # $ENV{'HTTP_REFERER'} Referring web page # $ENV{'REMOTE_ADDR'} Remote address # $ENV{'REMOTE_HOST'} Remote host # Setting $log_file = '' disables the statistics log file routine. $log_file = 'WebStore_Access.stats'; # $log_file_size = the maximum size of log file before file overwrite occurs. # Setting $log_file_size = '' disables overwrite of the log file. $log_file_size = '25000'; # log file size = 25K # Setting $log_delimiter = 'Y' will | (pipe) delimit the fields of each # record written to the log file. # Setting $log_delimiter = '' disables pipe delimited fields. Fields are # separated by four spaces. $log_delimiter = ''; # $stat_file is the name of the WebStore query stat file. # Maintain a formatted or | (pipe) delimited stat file consisting of: # # Access Date and Time 21/Dec/1996 12:54:03 PM # Setup File Store setup filename (file extension truncated) # Request Primary Request (query name=value pair) # $ENV{'REMOTE_ADDR'} Remote address # Process ID Script process ID # Query String name=value pairs present in form POST submissions # or WebStore HREF anchor query strings. # Values for login, password, username, and any # field beginning with cc or chk are replaced with # * (asteriks). Field names are case insensitive. # Setting $stat_file = '' disables the query stat file routine. $stat_file = 'WebStore_Query.stats'; # $stat_file_size = the maximum size of query stat file before file overwrite # occurs. # Setting $stat_file_size = '' disables overwrite of the stat file. $stat_file_size = '50000'; # log file size = 50K # Setting $stat_delimiter = 'Y' will | (pipe) delimit the fields of each # access record written to the query stat file. # Setting $stat_delimiter = '' disables pipe delimited fields. Fields are # separated by four spaces. $stat_delimiter = ''; # $count_file is the access counter file. # Setting $count_file = '' disables the access counter routine. $count_file = 'WebStore_Access.counter'; # $start_count may be used to set or increase the value stored in the # access counter file defined in $count_file (above). $start_count = '0'; # $counter_label is the label displayed on the store's front page # to the left of the access counter. $counter_label = 'Visitor Count:'; #--------------------------------------------------------------------------# # Table Display #--------------------------------------------------------------------------# # Use $meta_tags to store META TAGS for printing in the <HEAD></HEAD> of # all WebStore generated pages and forms. # Examples: # # <META NAME="description" content="$global_page_title - Online Shopping"> # <META NAME="keywords" content="comma,delimited,list,of,keywords"> # Setting $meta_tags = '' disables printing of <META TAGS>. $meta_tags = qq! <META NAME="description" content="$global_page_title - Online Shopping"> <META NAME="keywords" content="shopping,Shopping,SHOPPING,on-line shop,On-line Shop,ON-LINE SHOP,online store,Online Store,ONLINE STORE,virtual mall,Virtual Mall,VIRTUAL MALL,e-commerce,E-Commerce,E-COMMERCE"> !; # DO NOT REMOVE - terminates $meta_tags # 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. # These variables are set globally in ws_global.setup for use by all scripts # in the WebStore application. # To configure specific colors for WebStore, remove the pound sign from # column 1 of the variables below and set to the desired value. # Any combination of these variables may be uncommented (pound sign removed). # $background is the filename of the background image stored in the # /Web_store/Graphics sub-directory. # 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 <BODY> tag of WebStore generated HTML pages. # $background = ''; # $bgcolor = '#FFFFFF'; # White # $text_color = '#000000'; # Black # $link_color = '#0000FF'; # Blue # $vlink_color = '#0000A0'; # Dark Blue # $alink_color = '#FF0000'; # Red # Variables for colored table output. # For your reference, initial values are at right of '#' signs. # $SPC and $CELLPADDING are constants used in displaying all tables # within WebStore. This will maintain visual consistency between # category and view/modify tables. # $SPC contains a non-breaking space extended character necessary for # assigning bgcolor attributes in spacer columns of table data rows in # category and view/modify tables. A column must contain at least one # character to display background color. # $SPC should not be altered, unless you prefer the look of it. # Dimensions of table's borders, space between columns, and space between # category and cart content rows can be modified by adjusting the value of # $CELLPADDING. # If additional row space is needed to display categories or cart contents, # set $table_border and $modify_table_border to '' respectively. $SPC = '&nbsp;'; # Non-breaking space for spacer cells $CELLPADDING = '2'; # 2 = <TABLE CELLPADDING> value # $border should be set to 1 only for reviewing the HTML formatted text # printed from database item fields. $border = '0'; # 0 = No table border (lines) displayed # 1 = Display minimum diagnostic table border #--------------------------------------------------------------------------# # Database Category and Search Result Tables #--------------------------------------------------------------------------# # NOTE: The Image field is designed to automatically print to database category # displays and search result pages. WebStore prints item images based on # the presence of an image source tag in the Image field or the existence # of an item's image based on the image filename constructed using the # contents of the Item field when a field number is defined in # $item_fld_num. # # Do not define the Image field in @vertical_numbers or @display_numbers. # If you use the "Shipping" field, never set the "Shipping" field for # display. It is used for calculating shipping costs only. # @vertical_numbers array lists the array index numbers for each database # field set for vertical, labeled display in Category tables. # Fields in @vertical_numbers may be colon delimited, including HTML formatting # characters to the right of colons. Fields may be printed with or without HTML # formatted field labels. Fields in @vertical_numbers are printed above the # fields defined in @display_numbers (below). # Field Labels: # # UPPERCASE control characters effect printing of a field's corresponding # label defined in @field_names (above). # # N Do not print the field's label. B, I, and U are ignored # B Wrap <B> tags around field label # I Wrap <I> tags around field label # U Wrap <U> tags around field label # # Field Contents: # # lowercase control characters effect printing of field contents. # # b Wrap <B> tags around field contents # i Wrap <I> tags around field contents # u Wrap <U> tags around field contents # A blank element inserted between fields in @vertical_numbers will print one # spacing table row with HEIGHT=10. # # WebStore removes leading and trailing blank elements, reducing multiple # imbedded blank elements to one blank element. # # Example: # # VALUE: @vertical_numbers = ('','','0:B','','','7:N','',''); # REDUCED TO: @vertical_numbers = ('0:B','','7:N'); # # WebStore reduces multiple references to the same field to one field reference, # using the first reference to the field. # # Example: # # VALUE: @vertical_numbers = ('0:B','','0:Nb','','7:N'); # REDUCED TO: @vertical_numbers = ('0:B','','7:N'); # When field zero or field one is included in @vertical_numbers, WebStore prints # the following fields in the listed order: # # Price # Quantity text input # Color SELECT element - field 0 # Size SELECT element - field 1 # # WebStore uses the first occurrence of field zero or field one, disregarding # additional references to either field. Price field references are also # disregarded. # Database fields containing no text are not printed to the web browser. # Examples: # # @vertical_numbers = ('0'); # Price, Quantity, Color, and Size with field labels. # # @vertical_numbers = ('0:B'); # Price, Quantity, Color, and Size with <B> tags around field labels. # # @vertical_numbers = ('0:B', '', '7:N'); # Price, Quantity, Color, and Size with <B> tags around field labels, followed # by spacing row with HEIGHT=10, followed by Description with no field label. # Setting @vertical_numbers = (); disables printing of vertical fields. # 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 # Color | Size | Shipping | Item | Category | Price | Name | Description | Image | Id # NOTE: First element of an array is '0'. @vertical_numbers = ('0:B'); # @display_numbers array lists the array index numbers for each database field # set for vertical display in Category tables. # Fields in @display_numbers are printed below the fields defined in # @vertical_numbers (above) in table rows spanning the entire table's width. # When @vertical_numbers = (); fields in @display_numbers are printed # according to the presence of an item image, using the alignment attribute # assigned to the image in the Image field. # Elements in @display_numbers are numeric only. WebStore disregards blank # elements and elements containing alpha or special characters. # WebStore removes duplicated field references, using the first occurrence of # a field reference. # # Example: # # VALUE: @display_numbers = ('7','','7'); # REDUCED TO: @display_numbers = ('7'); # Setting @display_numbers = (); disables printing of fields below the fields # defined in @vertical_numbers. # 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 # Color | Size | Shipping | Item | Category | Price | Name | Description | Image | Id # NOTE: First element of an array is '0'. # 7 # Description @display_numbers = ('7'); # %fields_array is a hash defining the alignment attribute for each database # field set for display in @vertical_numbers and @display_numbers for category # tables. Valid alignment values are 'left', 'center', and 'right'. # NOTE: First element of an array is '0'. %fields_array = ( '0' => 'left', '3' => 'left', '4' => 'left', '5' => 'left', '6' => 'left', '7' => 'center', ); # DO NOT REMOVE - terminates %fields_array # $table_border, $spc_width, and $spc_height are used to manipulate table # appearance when displaying database categories or items returned from a # client search. # # If $table_border = 1, colored border is wrapped around the table. # Setting $table_border = '' disables printing of the colored border. # # $spc_width controls the width of spacer columns located between displayed # fields defined in @display_numbers (above). # # $spc_height controls the height of spacer rows separating displayed category # item rows. Spacer rows follow the BGCOLOR or BACKGROUND attribute of the # document. $table_border = '1'; # 1 = Display colored border $spc_width = '7'; # 7 = Width of cells between table columns $spc_height = '10'; # 1 = Height of spacer table rows # $table_title is the text printed to the title header row of displayed # database categories and search result HTML pages generated by WebStore. # # Setting $table_title = '' disables printing of the header title row. # $table_title = $global_page_title; $table_title = ''; # $table_width sets the table width of displayed database categories and # and search result HTML pages. WebStore prints single item tables. # # When $table_width contains a width value, WebStore disables $table_border # (above). Colored borders are not printed around item tables. # # $table_width may be a percentage of the browser's window or pixel count. # # Example settings: # # $table_width = '85%'; # Percentage # $table_width = '575'; # Pixel count # # Setting $table_width = '' disables fixed table widths. Displayed items # are printed in a single table. WebStore disables $item_separator (below). $table_width = '525'; # The contents of $item_separator are printed in a table between displayed # category item tables or search result item tables when $table_width (above) # contains a width value. # # The separator table row is printed with height equal to ($spc_height * 3) # with alignment attributes equal to ALIGN=center VALIGN=middle. # # Example $item_separator settings: # # $item_separator = $SPC; # $item_separator = qq!<HR WIDTH="550" NOSHADE>!; # $item_separator = qq!<IMG SRC="$graphics_url/divider.gif" BORDER=0>!; # # Setting $item_separator = '' prints a single spacing table row between # displayed items with a height equal to $spc_height (above). # WebStore disables $item_separator when $table_width = '' (above). $item_separator = ''; # $max_items is the maximum number of items returned to the client's web # browser for a database category display or search result. It's value must # be numeric, greater than zero. $max_items defaults to 5 if mis-configured. $max_items = '10'; # If $display_category = 0, display the client's shopping cart contents # after adding items to the cart. # If $display_category = 1, return the client to the database category, # product page, or search result page after adding items to the cart. $display_category = '0'; # 0 = Display shopping cart contents # 1 = Return to product page #--------------------------------------------------------------------------# # Image Display #--------------------------------------------------------------------------# # $img_spacing is the amount of space between the image and the image's # adjacent table columns. $img_spacing = '10'; # $img_border is the image's outermost border and is a normal <TABLE BORDER>. # Setting $img_border = '0' disables $img_border and $img_padding (below). # Vary the width of this border by increasing or decreasing the value # of $img_border. $img_border = '0'; # $img_padding is the amount of space between the normal <TABLE BORDER> # defined in $img_border (above) and the image or outermost colored border # defined in $outer_clr_width and $outer_img_clr (below). # When $img_border = 0 (above), $img_padding is disabled. # Vary the width of padding by increasing or decreasing the value # of $img_padding. $img_padding = '0'; # $outer_clr_width and $outer_img_clr define the image's outermost colored # ornamental border. # Setting $outer_clr_width = '' disables this ornamental border. # Vary the width of this border by increasing or decreasing the value of # $outer_clr_width. # $outer_img_clr defines the color of this ornamental border. $outer_clr_width = '2'; $outer_img_clr = '#FFFFFF'; # White # $inner_clr_width and $inner_img_clr define the image's innermost colored # ornamental border. # Setting $inner_clr_width = '' disables this ornamental border. # Vary the width of this border by increasing or decreasing the value of # $inner_clr_width. # $inner_img_clr defines the color of this ornamental border. $inner_clr_width = '2'; $inner_img_clr = '#000000'; # Black #--------------------------------------------------------------------------# # View/Modify Tables #--------------------------------------------------------------------------# # NOTE: The Image field is designed to display in Category Tables only. # Do not define the Image field in @modify_display_numbers or # %modify_fields_array. # # If you use the "Shipping" field, never set the "Shipping" field for # display. It is used for calculating shipping costs only. # @modify_display_numbers array lists the array index numbers for the database # fields to display in View/Modify, Delete, Change Quantity, Order Form, and # Reminder to client of what they ordered. Column header text is derived from # the corresponding elements in @field_names (above). # 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 # Color | Size | Shipping | Item | Category | Price | Name | Description | Image | Id # NOTE: First element of an array is '0'. # 6 0 1 5 # Name, Color, Size, Price @modify_display_numbers = ('6', '0', '1', '5'); # %modify_fields_array is a hash which defines the alignment attribute for # each database field set for display in @modify_display_numbers (above) # for cart content tables. # Valid alignment values are 'left', 'center', and 'right'. # NOTE: First element of an array is '0'. %modify_fields_array = ( '6' => 'left', '0' => 'left', '1' => 'left', '5' => 'right', ); # DO NOT REMOVE - terminates %modify_fields_array # $modify_table_border, $modify_spc_width, and $modify_spc_height are used # to manipulate table appearance when the client's shopping cart contents # are displayed. # # If $modify_table_border = 1, colored border is wrapped around the table. # Setting $modify_table_border = '' disables printing of the colored border. # # $modify_spc_width controls the width of spacer columns located between # displayed cart contents columns defined in @modify_display_numbers (above). # # $modify_spc_height controls the height of spacer rows separating displayed # cart contents rows. Spacer rows follow the BGCOLOR or BACKGROUND attribute # of the document. $modify_table_border = '1'; # 1 = Yes Display colored border $modify_spc_width = '7'; # 7 = Width of cells between table columns $modify_spc_height = '1'; # 1 = Height of spacer table rows #--------------------------------------------------------------------------# # Font Control #--------------------------------------------------------------------------# # $header_font and $header_face, set in ws_global.setup, are used with # $header_fnt_clr and $dsc_hr_fnt_clr (below) to develop opening <FONT> # tags for use in table header rows. # $data_font and $data_face, set in ws_global.setup, are used with # $data_fnt_clr and $modify_fnt_clr (below) to develop opening <FONT> tags # for use in table data rows. # $header_bkg_clr and $header_fnt_clr are the background color and font color # used in table header rows <TH> (respectively) to display table page headers # in all WebStore generated tables. # Setting $header_bkg_clr = '' disables $header_bkg_clr. # Setting $header_fnt_clr = '' disables $header_fnt_clr. # Defaults to <BODY BGCOLOR or BACKGROUND> and <BODY TEXT> attributes. $header_bkg_clr = '#000000'; # Black $header_fnt_clr = '#FFFFFE'; # White # $dsc_hr_bkg_clr and $dsc_hr_fnt_clr are the background color and font color # used in table header rows <TH> (respectively) to display order subtotal # messages and descriptive column text in all WebStore generated tables. # Setting $dsc_hr_bkg_clr = '' disables $dsc_hr_bkg_clr. # Setting $dsc_hr_fnt_clr = '' disables $dsc_hr_fnt_clr. # Defaults to <BODY BGCOLOR or BACKGROUND> and <BODY TEXT> attributes. $dsc_hr_bkg_clr = '#DCDCDC'; # Gainsboro $dsc_hr_fnt_clr = '#000000'; # Black # $data_bkg_clr and $data_fnt_clr are the background color and font color # used in table data rows <TD> (respectively) to display database categories # or items returned from a client search. # Setting $data_bkg_clr = '' disables $data_bkg_clr. # Setting $data_fnt_clr = '' disables $data_fnt_clr. # Defaults to <BODY BGCOLOR or BACKGROUND> and <BODY TEXT> attributes. $data_bkg_clr = '#B0C4DE'; # Lightsteelblue $data_fnt_clr = '#000000'; # Black # $modify_bkg_clr and $modify_fnt_clr are the background color and font color # used in table data rows <TD> (respectively) to display items in the client's # shopping cart. # Setting $modify_bkg_clr = '' disables $modify_bkg_clr. # Setting $modify_fnt_clr = '' disables $modify_fnt_clr. # Defaults to <BODY BGCOLOR or BACKGROUND> and <BODY TEXT> attributes. $modify_bkg_clr = '#B0C4DE'; # Lightsteelblue $modify_fnt_clr = '#000000'; # Black # $border_bkg_clr is the background color of table ornamental borders in all # WebStore generated tables. # Set $table_border = '' (above) to disable ornamental borders when displaying # database categories or items returned from a client search. # Set $modify_table_border = '' (above) to disable ornamental borders when # displaying the client's shopping cart contents. $border_bkg_clr = '#B0C4DE'; # Lightsteelblue # $count_bkg_clr and $count_fnt_clr are the background color and # font color used to display the access counter on the store's # front page. # <FONT FACE> uses $data_face, defined in ws_global.setup. # Setting $count_bkg_clr = '' disables $count_bkg_clr. # Setting $count_fnt_clr = '' disables $count_fnt_clr. # Defaults to <BODY BGCOLOR or BACKGROUND> and <BODY TEXT> attributes. $count_bkg_clr = '#000000'; # Black $count_fnt_clr = '#00FF00'; # Green #--------------------------------------------------------------------------# # Subroutines: Display Additional HTML #--------------------------------------------------------------------------# # @include_files is a list of files to be inserted into parsed HTML documents. # Files which may be included are JavaScripts (with <JAVASCRIPT> </SCRIPT> tags), # CSS files, etc. # The contents of the files listed in @include_files are substituted into parsed # HTML pages by adding hidden text tags using the file's name. # # Example: <!--include=include.Page_Header.txt--> # # Whitespace is not allowed in include hidden text tags. # WebStore ignores hidden text tags which contain whitespace. # # Hidden text tags are replaced with the associated file's contents. # # Files listed in @include_files must be located under the /Html sub-directory # or any sub-directory you may create under /Html. # # When files are placed under sub-directories, the sub-directory must be listed # in the hidden text tag: <!--include=subdir/include.Page_Header.txt--> # When a file does not exist under the /Html directory, WebStore writes a # FILE NOT FOUND message in the file's associated hidden text tag: # # <!-- FILE NOT FOUND: include.Page_Header.txt --> # cart_id= substitution occurs on the contents of substituted files. # WebStore disables SSI tags detected in HTML documents. # Setting @include_files = () disables file includes. @include_files = ( # 'include.Page_Header.txt', # 'include.Page_Trailer.txt', ); # DO NOT REMOVE - terminates @include_files # &print_text_file('filename.txt'); # Adding the command above to any of the subroutines below will access # sub print_text_file in WebStore. # # WebStore will print the contents of filename.txt. # # Place text files in the /Html sub-directory. # # Do not include opening or closing <HTML>, <TITLE>, or <BODY> tags in # text files printed using sub print_text_file. # # WebStore adds '.txt' to the filename listed in &print_text_file('filename'); # if the filename does not end in '.txt'. # # If filename.txt does not exist in the /Html sub-directory, WebStore prints # the following hidden text to the document printed to the web browser: # # <!-- FILE NOT FOUND: filename.txt --> # If $frontpage_trailer = 1, append the store's front page defined in # $frontpage_file (above) with the contents of sub frontpage_trailer_html # after form input buttons. Design the HTML code, copy and paste it below # the PRINTED FROM: hidden comment line in sub frontpage_trailer_html. # Setting $frontpage_trailer = '' disables access to # sub frontpage_trailer_html. Nothing is printed to the bottom of the # store's front page. $frontpage_trailer = '1'; # 1 = Access sub frontpage_trailer_html sub frontpage_trailer_html { print qq! <\!-- PRINTED FROM: sub frontpage_trailer_html in $store --> !; # DO NOT REMOVE - terminates "print qq!" command above # Print /Html/shipping.txt &print_text_file('shipping.txt'); } # DO NOT REMOVE - End of sub frontpage_trailer_html #-----------------------------------------------# # If $pre_category = 1 or 2, preface database category displays and search # result pages with the contents of sub pre_category_html. Design the HTML # code, copy and paste it below the PRINTED FROM: hidden comment line in # sub pre_category_html. # If $pre_category = 2, convert the name of the current database category # being displayed by the client to a header text filename. # # WebStore replaces spaces in the database category name with _ (underscores) # to construct the header text filename. # # EXAMPLE category name: Category Name # Header text filename: C-HDR.Category_Name.txt # # If the header text file exists in the Html sub-directory, WebStore will # print the contents of the file to the client's web browser immediately after # executing sub pre_category_html. # # Default header text filename: C-HDR.DEFAULT.txt # # If a header text file does not exist for a database category name, # WebStore will print the contents of the default header text file, # C-HDR.DEFAULT.txt, if it exists. # # WebStore performs query string substitution for occurrences of cart_id= # detected in the header text file before printing the contents of the file # to the client's web browser. # # Do not include opening or closing <HTML>, <TITLE>, or <BODY> tags in # category header text files. # Setting $pre_category = '' disables access to sub pre_category_html and # the printing of category header text files to the top of database category # displays and search result pages. $pre_category = '2'; # 1 = Access sub pre_category_html only # 2 = Access sub pre_category_html and # Print header text files sub pre_category_html { print qq! <\!-- PRINTED FROM: sub pre_category_html in $store --> !; # DO NOT REMOVE - terminates "print qq!" command above } # DO NOT REMOVE - End of sub pre_category_html #-----------------------------------------------# # If $category_trailer = 1 or 2, append database category displays and search # result pages with the contents of sub category_trailer_html after the form # input buttons. Design the HTML code, copy and paste it below the # PRINTED FROM: hidden comment line in sub category_trailer_html. # If $category_trailer = 2, convert the name of the current database category # being displayed by the client to a trailer text filename. # # WebStore replaces spaces in the database category name with _ (underscores) # to construct the trailer text filename. # # EXAMPLE category name: Category Name # Trailer text filename: C-TRL.Category_Name.txt # # If the trailer text file exists in the Html sub-directory, WebStore will # print the contents of the file to the client's web browser immediately after # executing sub category_trailer_html. # # Default trailer text filename: C-TRL.DEFAULT.txt # # If a trailer text file does not exist for a database category name, # WebStore will print the contents of the default trailer text file, # C-TRL.DEFAULT.txt, if it exists. # # WebStore performs query string substitution for occurrences of cart_id= # detected in the trailer text file before printing the contents of the file # to the client's web browser. # # Do not include opening or closing <HTML>, <TITLE>, or <BODY> tags in category # trailer text files. # Setting $category_trailer = '' disables access to sub category_trailer_html # and the printing of category trailer text files to the bottom of database # category displays and search result pages. $category_trailer = '2'; # 1 = Access sub category_trailer_html only # 2 = Access sub category_trailer_html and # Print trailer text files sub category_trailer_html { print qq! <\!-- PRINTED FROM: sub category_trailer_html in $store --> !; # DO NOT REMOVE - terminates "print qq!" command above } # DO NOT REMOVE - End of sub category_trailer_html #-----------------------------------------------# # If $pre_view_modify = 1 or 2, preface shopping cart View/Modify displays with # the contents of sub pre_view_modify_html. Design the HTML code, copy and # paste it below the PRINTED FROM: hidden comment line in sub pre_category_html. # If $pre_view_modify = 2, access sub pre_view_modify_html from any form file # in WebStore. The contents of sub pre_view_modify_html will print directly # below any printed output from the form file's corresponding subroutine. # # sub pre_client_form_html in client access form files and sub pre_form_html in # order form and secondary form files contain the following command at the # bottom of the subroutine: # # &pre_view_modify_html if $pre_view_modify eq '2'; # # This line of code may be removed or commented in form files you do not want # accessing sub pre_view_modify_html. # Setting $pre_view_modify = '' disables access to sub pre_view_modify_html. # Nothing is printed at the top of shopping cart content displays or the top # of WebStore forms from sub pre_view_modify_html. $pre_view_modify = '2'; # 1 = Access sub pre_view_modify_html # 2 = Access sub pre_view_modify_html from form files sub pre_view_modify_html { print qq! <\!-- PRINTED FROM: sub pre_view_modify_html in $store --> !; # DO NOT REMOVE - terminates "print qq!" command above } # DO NOT REMOVE - End of sub pre_view_modify_html #--------------------------------------------------------------------------# # Search Engine #--------------------------------------------------------------------------# # If $search_engine = 1, print WebStore's search form at the bottom of the # store's front page, category front pages, and expanded item information # pages. # If $search_engine = 2, print WebStore's search form at the bottom of the # store's front page. Substitute the name=value pair no_search=Y into # WebStore query strings found in all HTML documents and WebStore query # strings found in fields in the item database, outlet.data ($data_file). # When no_search=Y exists in a WebStore query string on an HTML page or # in a query string in the item database, outlet.data, do not print # WebStore's search form to the HTML page defined in category= of the # query string. When the client clicks an anchor containing no_search=Y, # WebStore's search form remains prohibited until the client performs a # search. # Placing no_search= (with no value) in a WebStore query string prevents # the WebStore script from substituting no_search=Y into the query string. # When the client clicks an anchor containing no_search=, WebStore's search # form is printed to the HTML page defined in category= of the query string # and no_search=Y is not substituted into WebStore query strings present on # the HTML page. # When the client performs a search, substitution of no_search=Y into # WebStore query strings is disabled until the client clicks an anchor # containing no_search=Y. # Setting $search_engine = '' disables search form output and substitution # of no_search=Y into WebStore query strings are disabled. $search_engine = '1'; # 1 = Yes # $search_tips is WebStore's search engine help file. When $search_tips # is equal to 'SearchTips.html', this file must be present in the /Html # sub-directory or the script will generate an "HTML File not Found" message. # Setting $search_tips = '' disables printing the search tips URL in the # search engine form. Access to WebStore's search engine help file is # disabled. $search_tips = 'SearchTips.html'; # $categories_desc is the default text printed as the <OPTION VALUE SELECTED> # for the drop down list element of Categories. $categories_desc = 'Search all Categories'; # @categories array lists all categories in the store's database, outlet.data, # and is used to construct the drop down list box on the search form. # WS Editor is configured to update @categories using any of it's Group or Sort # functions in the distributions of WebStore. Refer to @store_files in # outlet_editor.setup, the WS Editor setup file which maintains the database # defined in $data_file (above). # Prohibit the search of any category by omitting it from @categories. @categories = ( 'Outer Wear', 'Shirts', 'Sweaters', # The following line must be on a line by itself ); # DO NOT REMOVE OR MODIFY THIS LINE - terminates @categories 1; # DO NOT REMOVE # End of file