mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Update first occurrance of a directive https://www.virtualmin.com/node/25425
This commit is contained in:
@@ -135,11 +135,11 @@ foreach (@lines) {
|
||||
return @rv;
|
||||
}
|
||||
|
||||
# find(name, &config, [disabled-mode], [sectionname], [sectionvalue])
|
||||
# find(name, &config, [disabled-mode], [sectionname], [sectionvalue], [first])
|
||||
# Mode 0=enabled, 1=disabled, 2=both
|
||||
sub find
|
||||
{
|
||||
local ($name, $conf, $mode, $sname, $svalue) = @_;
|
||||
local ($name, $conf, $mode, $sname, $svalue, $first) = @_;
|
||||
local @rv = grep { !$_->{'section'} &&
|
||||
$_->{'name'} eq $name &&
|
||||
($mode == 0 && $_->{'enabled'} ||
|
||||
@@ -149,7 +149,7 @@ if (defined($sname)) {
|
||||
@rv = grep { $_->{'sectionname'} eq $sname &&
|
||||
$_->{'sectionvalue'} eq $svalue } @rv;
|
||||
}
|
||||
return wantarray ? @rv : $rv[$#rv];
|
||||
return wantarray ? @rv : $first ? $rv[0] : $rv[$#rv];
|
||||
}
|
||||
|
||||
# find_value(name, &config, [disabled-mode], [sectionname], [sectionvalue])
|
||||
@@ -190,7 +190,7 @@ return wantarray ? @rv : $rv[0];
|
||||
sub save_directive
|
||||
{
|
||||
local ($conf, $name, $value, $sname, $svalue) = @_;
|
||||
local $dir = ref($name) ? $name : &find($name, $conf, 0, $sname, $svalue);
|
||||
local $dir = ref($name) ? $name : &find($name, $conf, 0, $sname, $svalue, 1);
|
||||
local $newline = ref($name) ? "$name->{'name'} = $value" : "$name = $value";
|
||||
if ($sname) {
|
||||
$newline = " ".$newline;
|
||||
|
||||
Reference in New Issue
Block a user