<% my $gatewaynum = $cgi->param('gatewaynum'); my $old = qsearchs('payment_gateway',{'gatewaynum'=>$gatewaynum}) if $gatewaynum; my $new = new FS::payment_gateway ( { map { $_, scalar($cgi->param($_)); } fields('payment_gateway') } ); my @options = split(/\r?\n/, $cgi->param('gateway_options') ); pop @options if scalar(@options) % 2 && $options[-1] =~ /^\s*$/; my %options = @options; my $error; if ( $gatewaynum ) { $error=$new->replace($old, \%options); } else { $error=$new->insert(\%options); $gatewaynum=$new->getfield('gatewaynum'); } if ( $error ) { $cgi->param('error', $error); print $cgi->redirect(popurl(2). "payment_gateway.html?". $cgi->query_string ); } else { print $cgi->redirect(popurl(3). "browse/payment_gateway.html"); } %>