##
## Changes made to Web Store 2.0 by Wale Oki (June/July 1999)
##
## * Integration of auth libriaries to enable pre-registration,
## saving user details for future shopping, and automatically filling
## out order form (auto-click).
## (Also changes to web_store_order_lib.pl, new autoclick.pl, web_store.cgi,
## outlet*.html, ...)
## * The usual patches from various people - Credit Card validation,
## Next 25 button, Empty Cart fix, Secure Order Work around.
## * Amendments to CC validation & order form payment details - to enable
## telephone, check/cheque, choice of saving payment details
## * Cart Id as Order ID, and separate log per order.
## * Comparison price in product listing (by adding extra column
## in products file)
## * Cosmetic changes to Store - Buttons at Top/Bottom of Store Front,
## Consistent header/footers via ini files.
##
Implementation of the first change is not very generic/clean, but it is
as follows:
1***. The necessary auth lib changes to web_store.cgi:
*in=*form_data;
require "$auth_lib/auth-lib.pl";
$session = $in{"session"};
$is_this_a_new_session = "yes" if ($session eq "");
($session, $session_username, $session_group,
$session_firstname, $session_lastname,
$session_street, $session_area, $session_city, $session_state,
$session_zip, $session_country, $session_email,
$session_phone, $session_phone_nig, $session_phone_mob,
$session_ctype, $session_cname,
$session_cnumb, $session_ex_date) =
&GetSessionInfo($session, "$sc_main_script_url", *in);
......
&display_order_form ($session_firstname, $session_lastname,
$session_street, $session_area, $session_city, $session_state,
$session_zip, $session_country, $session_email,
$session_phone, $session_phone_nig, $session_phone_mob,
$session_ctype, $session_cname,
$session_cnumb, $session_ex_date);
......
&process_order_form ($session_firstname, $session_lastname,
$session_email);
2***. Similar treatment for %%session%% as done for cart_id & page in all *.pl
and *.cgi files so that session is always passed around.
(web_store_order_lib.pl, web_store_html_lib.pl, web_store.cgi, ...)
3***. auth_* variables added to ini file (similar to BBS implementation ones).
4***. Make sure all lines in outlet_order_form.html with a variable end with
a return line (and nothing else) to make parsing of file easier.
(e.g.
only a return line character after the last >)
5***. Changes to web_store_order_lib.pl (display/process_order_form).
See diffs with original below.
############################
54c54
<
---
>
61d60
< require "$auth_lib/Rot13.pm";
67a67
>
100,101d99
<
159,296c157,158
< if ($line =~ /01-name/)
< {
< chop $line;
< chop $line;
< $fullname = $session_firstname . " " . $session_lastname . " " .
$session_team_name;
< print $line . " " . "VALUE=\"$fullname\">" . "\n";
< }
< elsif ($line =~ /02-b_street_address/)
< {
< chop $line;
< chop $line;
< print $line . " " . "VALUE=\"$session_street\">" . "\n";
< }
< elsif ($line =~ /03-b_city/)
< {
< chop $line;
< chop $line;
< $session_full_area = $session_area . " " . $session_city;
< print $line . " " . "VALUE=\"$session_full_area\">" . "\n";
< }
< elsif ($line =~ /04-b_state/)
< {
< chop $line;
< chop $line;
< print $line . " " . "VALUE=\"$session_state\">" . "\n";
< }
< elsif ($line =~ /05-b_zip/)
< {
< chop $line;
< chop $line;
< print $line . " " . "VALUE=\"$session_zip\">" . "\n";
< }
< elsif ($line =~ /06-b_country/)
< {
< print $line . "