default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / fs_selfservice / FS-SelfService / cgi / selfservice.cgi
index 1612315..b1fea7d 100755 (executable)
@@ -276,18 +276,18 @@ sub change_bill {
   }
 
   return $payment_info if ( $payment_info->{'error'} );
-  my $customer_info = customer_info(
-      mask_ss      => 1,
-      mask_stateid => 1,
-      session_id   => $session_id,
-  );
+  my $customer_info =
+    customer_info( 'session_id' => $session_id );
   return {
     %$payment_info,
     %$customer_info,
   };
 }
 sub change_ship { change_bill(@_); }
-sub change_pay { change_bill(@_); }
+sub change_pay {
+  my @payby = ('CARD', 'CHEK', 'DCHK');
+  change_bill(@_);
+}
 
 sub change_creditcard_pay { change_bill('CARD'); }
 sub change_check_pay { change_bill('CHEK'); }
@@ -729,9 +729,9 @@ sub payment_results {
   $cgi->param('paycvv') =~ /^\s*(.{0,4})\s*$/ or die "illegal CVV2";
   my $paycvv = $1;
 
-  $cgi->param('month') =~ /^(\d{2})$/ or die "illegal month";
+  $cgi->param('month') =~ /^(\d{2})/ or die "illegal month";
   my $month = $1;
-  $cgi->param('year') =~ /^(\d{4})$/ or die "illegal year";
+  $cgi->param('year') =~ /^(\d{4})/ or die "illegal year";
   my $year = $1;
 
   $cgi->param('payname') =~ /^(.{0,80})$/ or die "illegal payname";
@@ -1250,10 +1250,8 @@ sub do_template {
   $fill_in->{$_} = $access_info->{$_} foreach keys %$access_info;
 
   # update the user's authentication
-  my $timeout = $access_info->{'timeout'} || '3600';
   my $cookie = CGI::Cookie->new('-name'     => 'session',
                                 '-value'    => $session_id,
-                                '-expires'  => '+'.$timeout.'s',
                                 #'-secure'   => 1, # would be a good idea...
                                );
   if ( $name eq 'logout' ) {