% % %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"); %} % %