## ## 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 . "