# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2004 Craig Barratt
+# Copyright (C) 2005 Craig Barratt
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
#========================================================================
#
-# Version 2.1.0beta2pl1, released 30 May 2004.
+# Version 3.0.0beta1, released 30 Jul 2006.
#
# See http://backuppc.sourceforge.net.
#
use BackupPC::Config::Meta qw(:all);
use BackupPC::Storage;
use Data::Dumper;
+use Encode;
our %ConfigMenu = (
server => {
visible => sub { return $_[0]->{XferMethod} eq "rsyncd"; } },
{name => "RsyncShareName",
visible => sub { return $_[0]->{XferMethod} =~ /rsync/; } },
+ {name => "RsyncdUserName",
+ visible => sub { return $_[0]->{XferMethod} eq "rsyncd"; } },
{name => "RsyncdPasswd",
visible => sub { return $_[0]->{XferMethod} eq "rsyncd"; } },
{name => "RsyncdAuthRequired",
{name => "RsyncCsumCacheVerifyProb",
visible => sub { return $_[0]->{XferMethod} =~ /rsync/; } },
+ {text => "CfgEdit_Title_BackupPCd_Settings",
+ visible => sub { return $_[0]->{XferMethod} eq "backuppcd"; } },
+ {name => "BackupPCdShareName",
+ visible => sub { return $_[0]->{XferMethod} eq "backuppcd"; } },
+ {name => "BackupPCdPath",
+ visible => sub { return $_[0]->{XferMethod} eq "backuppcd"; } },
+ {name => "BackupPCdCmd",
+ visible => sub { return $_[0]->{XferMethod} eq "backuppcd"; } },
+ {name => "BackupPCdRestoreCmd",
+ visible => sub { return $_[0]->{XferMethod} eq "backuppcd"; } },
+
{text => "CfgEdit_Title_Archive_Settings",
visible => sub { return $_[0]->{XferMethod} eq "archive"; } },
{name => "ArchiveDest",
{name => "IncrKeepCnt"},
{name => "IncrKeepCntMin"},
{name => "IncrAgeMax"},
+ {name => "IncrLevels"},
{name => "IncrFill"},
{text => "CfgEdit_Title_Blackouts"},
+ {name => "BackupsDisable"},
{name => "BlackoutBadPingLimit"},
{name => "BlackoutGoodCnt"},
{name => "BlackoutPeriods"},
{name => "RestorePostUserCmd"},
{name => "ArchivePreUserCmd"},
{name => "ArchivePostUserCmd"},
+ {name => "UserCmdCheckStatus"},
],
},
hosts => {
$bpc->ServerConnect();
if ( $mesg ne "" ) {
(my $mesgBR = $mesg) =~ s/\n/<br>\n/g;
- $content .= <<EOF;
-<tr><td colspan="2" class="border"><span class="editComment">$mesgBR</span></td></tr>
-EOF
+ # uncomment this if you want the changes to be displayed
+# $content .= <<EOF;
+#<tr><td colspan="2" class="border"><span class="editComment">$mesgBR</span></td></tr>
+#EOF
foreach my $str ( split(/\n/, $mesg) ) {
$bpc->ServerMesg("log $str") if ( $str ne "" );
}
#
foreach my $var ( keys(%In) ) {
next if ( $var !~ /^orig_z_/ );
+ my $val = decode_utf8($In{$var});
$contentHidden .= <<EOF;
-<input type="hidden" name="$var" value="${EscHTML($In{$var})}">
+<input type="hidden" name="$var" value="${EscHTML($val)}">
EOF
}
}
$size = $type->{size} if ( defined($type->{size}) );
#
- # These fragments allow inline conent to be turned on and off
+ # These fragments allow inline content to be turned on and off
#
# <tr><td colspan="2"><span id="id_$varName" style="display: none" class="editComment">$comment</span></td></tr>
# <tr><td class="border"><a href="javascript: displayHelp('$varName')">$varName</a>
if ( !$type->{noKeyEdit} ) {
$content .= <<EOF;
<tr><td class="border" colspan="2">
-New key: <input type="text" name="addVarKey_$varName" size="20" maxlength="256" value="">
+$Lang->{CfgEdit_Button_New_Key}: <input type="text" class="editTextInput" name="addVarKey_$varName" size="20" maxlength="256" value="">
<input type="button" name="add_$varName" value="${EscHTML($Lang->{CfgEdit_Button_Add})}" onClick="addSubmit('$varName', 1)">
</td></tr>
EOF
$varValue = [$varValue] if ( ref($varValue) ne "ARRAY" );
$varValue = join(", ", @$varValue);
}
+ my $textType = ($varName =~ /Passwd/) ? "password" : "text";
$content .= <<EOF;
-<input type="text" name="v_z_$varName" size="$size" maxlength="256" value="${EscHTML($varValue)}"$onChange>
+<input type="$textType" class="editTextInput" name="v_z_$varName" size="$size" maxlength="256" value="${EscHTML($varValue)}"$onChange>
EOF
} elsif ( $type->{type} eq "boolean" ) {
# checkbox
my $rowCnt = $varValue =~ tr/\n//;
$rowCnt = 1 if ( $rowCnt < 1 );
$content .= <<EOF;
-<textarea name="v_z_$varName" cols="$size" rows="$rowCnt"$onChange>${EscHTML($varValue)}</textarea>
+<textarea name="v_z_$varName" class="editTextArea" cols="$size" rows="$rowCnt"$onChange>${EscHTML($varValue)}</textarea>
EOF
}
$content .= "</td>\n";
}
}
} else {
- $$value = $In{"v_z_$varName"};
+ $$value = decode_utf8($In{"v_z_$varName"});
$$value =~ s/\r\n/\n/g;
}
$$value = undef if ( $type->{undefIfEmpty} && $$value eq "" );
(my $valueNew2 = $valueNew) =~ s/['\n\r]//g;
(my $valueOld2 = $valueOld) =~ s/['\n\r]//g;
+
+ next if ( $valueOld2 eq $valueNew2 );
+
$valueNew =~ s/\n/\\n/g;
$valueOld =~ s/\n/\\n/g;
$valueNew =~ s/\r/\\r/g;
$valueOld =~ s/\r/\\r/g;
- $mesg .= eval("qq($Lang->{CfgEdit_Log_Change_param_value})")
- if ( $valueOld2 ne $valueNew2 );
+
+ $mesg .= eval("qq($Lang->{CfgEdit_Log_Change_param_value})");
}
}
return $mesg;