diff options
Diffstat (limited to 'httemplate/misc/process')
| -rw-r--r-- | httemplate/misc/process/meta-import.cgi | 178 | ||||
| -rw-r--r-- | httemplate/misc/process/payment.cgi | 148 | 
2 files changed, 0 insertions, 326 deletions
| diff --git a/httemplate/misc/process/meta-import.cgi b/httemplate/misc/process/meta-import.cgi deleted file mode 100644 index 59d236f64..000000000 --- a/httemplate/misc/process/meta-import.cgi +++ /dev/null @@ -1,178 +0,0 @@ -<!-- mason kludge --> -<%= header('Map tables') %> - -<SCRIPT> -var gSafeOnload = new Array(); -var gSafeOnsubmit = new Array(); -window.onload = SafeOnload; -function SafeAddOnLoad(f) { -  gSafeOnload[gSafeOnload.length] = f; -} -function SafeOnload() { -  for (var i=0;i<gSafeOnload.length;i++) -    gSafeOnload[i](); -} -function SafeAddOnSubmit(f) { -  gSafeOnsubmit[gSafeOnsubmit.length] = f; -} -function SafeOnsubmit() { -  for (var i=0;i<gSafeOnsubmit.length;i++) -    gSafeOnsubmit[i](); -} -</SCRIPT> - -<FORM NAME="OneTrueForm" METHOD="POST" ACTION="meta-import.cgi"> - -<% -  #use DBIx::DBSchema; -  my $schema = new_native DBIx::DBSchema -                 map { $cgi->param($_) } qw( data_source username password ); -  foreach my $field (qw( data_source username password )) { %> -    <INPUT TYPE="hidden" NAME=<%= $field %> VALUE="<%= $cgi->param($field) %>"> -  <% } - -  my %schema; -  use Tie::DxHash; -  tie %schema, 'Tie::DxHash'; -  if ( $cgi->param('schema') ) { -    my $schema_string = $cgi->param('schema'); -    %> <INPUT TYPE="hidden" NAME="schema" VALUE="<%=$schema_string%>"> <% -    %schema = map { /^\s*(\w+)\s*=>\s*(\w+)\s*$/ -                      or die "guru meditation #420: $_"; -                    ( $1 => $2 ); -                  } -              split( /\n/, $schema_string ); -  } - -  #first page -  unless ( $cgi->param('magic') ) { %> - -    <INPUT TYPE="hidden" NAME="magic" VALUE="process"> -    <%= hashmaker('schema', [ $schema->tables ], -                            [ grep !/^h_/, dbdef->tables ],  ) %> -    <br><INPUT TYPE="submit" VALUE="done"> -    <% - -  #second page -  } elsif ( $cgi->param('magic') eq 'process' ) { %> - -    <INPUT TYPE="hidden" NAME="magic" VALUE="process2"> -    <% - -    my %unique; -    foreach my $table ( keys %schema ) { - -      my @from_columns = $schema->table($table)->columns; -      my @fs_columns = dbdef->table($schema{$table})->columns; - -      %> -      <%= hashmaker( $table.'__'.$unique{$table}++, -                     \@from_columns => \@fs_columns, -                     $table         =>  $schema{$table}, ) %> -      <br><hr><br> -      <% - -    } - -    %> -    <br><INPUT TYPE="submit" VALUE="done"> -    <% - -  #third (results) -  } elsif ( $cgi->param('magic') eq 'process2' ) { - -    print "<pre>\n"; - -    my %unique; -    foreach my $table ( keys %schema ) { -      ( my $spaces = $table ) =~ s/./ /g; -      print "'$table' => { 'table' => '$schema{$table}',\n". -            #(length($table) x ' '). "         'map'   => {\n"; -            "$spaces        'map'   => {\n"; -      my %map = map { /^\s*(\w+)\s*=>\s*(\w+)\s*$/ -                         or die "guru meditation #420: $_"; -                       ( $1 => $2 ); -                     } -                 split( /\n/, $cgi->param($table.'__'.$unique{$table}++) ); -      foreach ( keys %map ) { -        print "$spaces                     '$_' => '$map{$_}',\n"; -      } -      print "$spaces                   },\n"; -      print "$spaces      },\n"; - -    } -    print "\n</pre>"; - -  } else { -    warn "unrecognized magic: ". $cgi->param('magic'); -  } - -  %> -</FORM> -</BODY> -</HTML> - -  <% -  #hashmaker widget -  sub hashmaker { -    my($name, $from, $to, $labelfrom, $labelto) = @_; -    my $fromsize = scalar(@$from); -    my $tosize = scalar(@$to); -    "<TABLE><TR><TH>$labelfrom</TH><TH>$labelto</TH></TR><TR><TD>". -        qq!<SELECT NAME="${name}_from" SIZE=$fromsize>\n!. -        join("\n", map { qq!<OPTION VALUE="$_">$_</OPTION>! } sort { $a cmp $b } @$from ). -        "</SELECT>\n<BR>". -      qq!<INPUT TYPE="button" VALUE="refill" onClick="repack_${name}_from()">!. -      '</TD><TD>'. -        qq!<SELECT NAME="${name}_to" SIZE=$tosize>\n!. -        join("\n", map { qq!<OPTION VALUE="$_">$_</OPTION>! } sort { $a cmp $b } @$to ). -        "</SELECT>\n<BR>". -      qq!<INPUT TYPE="button" VALUE="refill" onClick="repack_${name}_to()">!. -      '</TD></TR>'. -      '<TR><TD COLSPAN=2>'. -        qq!<INPUT TYPE="button" VALUE="map" onClick="toke_$name(this.form)">!. -      '</TD></TR><TR><TD COLSPAN=2>'. -      qq!<TEXTAREA NAME="$name" COLS=80 ROWS=8></TEXTAREA>!. -      '</TD></TR></TABLE>'. -      "<script> -            function toke_$name() { -              fromObject = document.OneTrueForm.${name}_from; -              for (var i=fromObject.options.length-1;i>-1;i--) { -                if (fromObject.options[i].selected) -                  fromname = deleteOption_$name(fromObject,i); -              } -              toObject = document.OneTrueForm.${name}_to; -              for (var i=toObject.options.length-1;i>-1;i--) { -                if (toObject.options[i].selected) -                  toname = deleteOption_$name(toObject,i); -              } -              document.OneTrueForm.$name.value = document.OneTrueForm.$name.value + fromname + ' => ' + toname + '\\n'; -            } -            function deleteOption_$name(object,index) { -              value = object.options[index].value; -              object.options[index] = null; -              return value; -            } -            function repack_${name}_from() { -              var object = document.OneTrueForm.${name}_from; -              object.options.length = 0; -              ". join("\n",  -                   map { "addOption_$name(object, '$_');\n" } -                       ( sort { $a cmp $b } @$from )           ). " -            } -            function repack_${name}_to() { -              var object = document.OneTrueForm.${name}_to; -              object.options.length = 0; -              ". join("\n",  -                   map { "addOption_$name(object, '$_');\n" } -                       ( sort { $a cmp $b } @$to )           ). " -            } -            function addOption_$name(object,value) { -              var length = object.length; -              object.options[length] = new Option(value, value, false, false); -            } -      </script>". -      ''; -  } - -%> diff --git a/httemplate/misc/process/payment.cgi b/httemplate/misc/process/payment.cgi deleted file mode 100644 index fa0ede89c..000000000 --- a/httemplate/misc/process/payment.cgi +++ /dev/null @@ -1,148 +0,0 @@ -<% - -#some false laziness w/MyAccount::process_payment - -$cgi->param('custnum') =~ /^(\d+)$/ -  or die "illegal custnum ". $cgi->param('custnum'); -my $custnum = $1; - -my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); -die "unknown custnum $custnum" unless $cust_main; - -$cgi->param('amount') =~ /^\s*(\d*(\.\d\d)?)\s*$/ -  or eidiot "illegal amount ". $cgi->param('amount'); -my $amount = $1; -eidiot "amount <= 0" unless $amount > 0; - -$cgi->param('year') =~ /^(\d+)$/ -  or die "illegal year ". $cgi->param('year'); -my $year = $1; - -$cgi->param('month') =~ /^(\d+)$/ -  or die "illegal month ". $cgi->param('month'); -my $month = $1; - -$cgi->param('payby') =~ /^(CARD|CHEK)$/ -  or die "illegal payby ". $cgi->param('payby'); -my $payby = $1; -my %payby2bop = ( -  'CARD' => 'CC', -  'CHEK' => 'ECHECK', -); -my %payby2fields = ( -  'CARD' => [ qw( address1 address2 city state zip ) ], -  'CHEK' => [ qw( ss ) ], -); -my %type = ( 'CARD' => 'credit card', -             'CHEK' => 'electronic check (ACH)', -           ); - -$cgi->param('payname') =~ /^([\w \,\.\-\']+)$/ -  or eidiot gettext('illegal_name'). " payname: ". $cgi->param('payname'); -my $payname = $1; - -$cgi->param('paybatch') =~ /^([\w \!\@\#\$\%\&\(\)\-\+\;\:\'\"\,\.\?\/\=]*)$/ -  or eidiot gettext('illegal_text'). " paybatch: ". $cgi->param('paybatch'); -my $paybatch = $1; - -my $payinfo; -my $paycvv = ''; -if ( $payby eq 'CHEK' ) { - -  $cgi->param('payinfo1') =~ /^(\d+)$/ -    or eidiot "illegal account number ". $cgi->param('payinfo1'); -  my $payinfo1 = $1; -   $cgi->param('payinfo2') =~ /^(\d+)$/ -    or eidiot "illegal ABA/routing number ". $cgi->param('payinfo2'); -  my $payinfo2 = $1; -  $payinfo = $payinfo1. '@'. $payinfo2; - -} elsif ( $payby eq 'CARD' ) { - -  $payinfo = $cgi->param('payinfo'); -  $payinfo =~ s/\D//g; -  $payinfo =~ /^(\d{13,16})$/ -    or eidiot gettext('invalid_card'); # . ": ". $self->payinfo; -  $payinfo = $1; -  validate($payinfo) -    or eidiot gettext('invalid_card'); # . ": ". $self->payinfo; -  eidiot gettext('unknown_card_type') -    if cardtype($payinfo) eq "Unknown"; - -  if ( defined $cust_main->dbdef_table->column('paycvv') ) { -    if ( length($cgi->param('paycvv') ) ) { -      if ( cardtype($payinfo) eq 'American Express card' ) { -        $cgi->param('paycvv') =~ /^(\d{4})$/ -          or eidiot "CVV2 (CID) for American Express cards is four digits."; -        $paycvv = $1; -      } else { -        $cgi->param('paycvv') =~ /^(\d{3})$/ -          or eidiot "CVV2 (CVC2/CID) is three digits."; -        $paycvv = $1; -      } -    } -  } - -} else { -  die "unknown payby $payby"; -} - -my $error = $cust_main->realtime_bop( $payby2bop{$payby}, $amount, -  'quiet'    => 1, -  'payinfo'  => $payinfo, -  'paydate'  => "$year-$month-01", -  'payname'  => $payname, -  'paybatch' => $paybatch, -  'paycvv'   => $paycvv, -  map { $_ => $cgi->param($_) } @{$payby2fields{$payby}} -); -eidiot($error) if $error; - -$cust_main->apply_payments; - -if ( $cgi->param('save') ) { -  my $new = new FS::cust_main { $cust_main->hash }; -  if ( $payby eq 'CARD' ) {  -    $new->set( 'payby' => ( $cgi->param('auto') ? 'CARD' : 'DCRD' ) ); -  } elsif ( $payby eq 'CHEK' ) { -    $new->set( 'payby' => ( $cgi->param('auto') ? 'CHEK' : 'DCHK' ) ); -  } else { -    die "unknown payby $payby"; -  } -  $new->set( 'payinfo' => $payinfo ); -  $new->set( 'paydate' => "$year-$month-01" ); -  $new->set( 'payname' => $payname ); - -  #false laziness w/FS:;cust_main::realtime_bop - check both to make sure -  # working correctly -  my $conf = new FS::Conf; -  if ( $payby eq 'CARD' && -       grep { $_ eq cardtype($payinfo) } $conf->config('cvv-save') ) { -    $new->set( 'paycvv' => $paycvv ); -  } else { -    $new->set( 'paycvv' => ''); -  } - -  $new->set( $_ => $cgi->param($_) ) foreach @{$payby2fields{$payby}}; - -  my $error = $new->replace($cust_main); -  eidiot "payment processed sucessfully, but error saving info: $error" -    if $error; -  $cust_main = $new; -} - -#success! - -%> -<%= include( '/elements/header.html', ucfirst($type{$payby}). ' processing sucessful', -             include('/elements/menubar.html', -                       'Main menu' => popurl(3), -                       "View this customer (#$custnum)" => -                         popurl(3). "view/cust_main.cgi?$custnum", -                    ), - -    ) -%> -<%= include( '/elements/small_custview.html', $cust_main ) %> -</BODY> -</HTML> | 
