X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fconfig%2Fconfig-process.cgi;h=2597132609524fc2d0a20050090bc16eff073ac4;hp=2dc4647ee313939de6fe5b830a970cee0b85c1b1;hb=3ef62a0570055da710328937e7f65dbb2c027c62;hpb=e6b57805f6b3e76448ab9b6d280f2c53bc1410f3 diff --git a/httemplate/config/config-process.cgi b/httemplate/config/config-process.cgi index 2dc4647ee..259713260 100644 --- a/httemplate/config/config-process.cgi +++ b/httemplate/config/config-process.cgi @@ -10,8 +10,10 @@ foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) { if ( $type eq '' ) { } elsif ( $type eq 'textarea' ) { - if ( $cgi->param($i->key. $n) ) { - $conf->set($i->key, $cgi->param($i->key. $n)); + if ( $cgi->param($i->key. $n) ne '' ) { + my $value = $cgi->param($i->key. $n); + $value =~ s/\r\n/\n/g; #browsers? + $conf->set($i->key, $value); } else { $conf->delete($i->key); } @@ -24,12 +26,18 @@ #$conf->delete($i->key); push @delete, $i->key; } - } elsif ( $type eq 'text' ) { - if ( $cgi->param($i->key. $n) ) { + } elsif ( $type eq 'text' || $type eq 'select' ) { + if ( $cgi->param($i->key. $n) ne '' ) { $conf->set($i->key, $cgi->param($i->key. $n)); } else { $conf->delete($i->key); } + } elsif ( $type eq 'editlist' || $type eq 'selectmultiple' ) { + if ( scalar(@{[ $cgi->param($i->key. $n) ]}) ) { + $conf->set($i->key, join("\n", @{[ $cgi->param($i->key. $n) ]} )); + } else { + $conf->delete($i->key); + } } else { } $n++; @@ -41,4 +49,3 @@ %> <%= $cgi->redirect("config-view.cgi") %> -