X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fconfig%2Fconfig-process.cgi;h=2597132609524fc2d0a20050090bc16eff073ac4;hp=99957ebd9a3e8dbf8cdfdc4825fd361f4e6ef7f6;hb=b377b1408398c471689e35dabb1bf14ef263a644;hpb=4308bf79cf9f31b6ec471788c34cde9b92a3c29b diff --git a/httemplate/config/config-process.cgi b/httemplate/config/config-process.cgi index 99957ebd9..259713260 100644 --- a/httemplate/config/config-process.cgi +++ b/httemplate/config/config-process.cgi @@ -10,7 +10,7 @@ foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) { if ( $type eq '' ) { } elsif ( $type eq 'textarea' ) { - if ( $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); @@ -26,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++; @@ -43,4 +49,3 @@ %> <%= $cgi->redirect("config-view.cgi") %> -