]> git.ipfire.org Git - thirdparty/AWStats.git/commitdiff
Fix minor bugs
authoreldy <>
Tue, 16 Sep 2003 15:24:38 +0000 (15:24 +0000)
committereldy <>
Tue, 16 Sep 2003 15:24:38 +0000 (15:24 +0000)
tools/webmin/awstats/awstats-lib.pl
tools/webmin/awstats/edit_config.cgi
tools/webmin/awstats/save_config.cgi

index d83cdffbac579f6083e8389327a22b6e5650cd54..f0f1fd1397bf9b59529d34520594cd35665de447 100644 (file)
@@ -33,14 +33,18 @@ if (! $file) { error("Call to update_config with wrong parameter"); }
 open(FILE, $file) || error("Failed to open $file for update");
 open(FILETMP, ">$file.tmp") || error("Failed to open $file.tmp for writing");
 
-local $conflinenb = 0;
+# $%conf contains param and values
+my %confchanged=();
+my $conflinenb = 0;
+
+# First, change values that are already present in old config file
 while(<FILE>) {
        my $savline=$_;
 
        chomp $_; s/\r//;
        $conflinenb++;
 
-       # Remove comments
+       # Remove comments not at beginning of line
        $_ =~ s/\s#.*$//;
 
        # Extract param and value
@@ -48,15 +52,26 @@ while(<FILE>) {
        $param =~ s/^\s+//; $param =~ s/\s+$//;
 
        if ($param) {
-               if ($conf->{$param}) {
+               # cleanparam is param without begining #
+               my $cleanparam=$param; $cleanparam =~ s/^#//;
+               if (defined($conf->{$cleanparam})) {
                        # Change line with new value
-                       $savline = "$param=\"".($conf->{$param})."\"\n";
+                       $savline = "$cleanparam=\"".($conf->{$cleanparam})."\"\n";
+                       $confchanged{$cleanparam}=1;
                }
        }
 
        print FILETMP "$savline";       
+}
 
+# Now add values that were not present in old config file
+foreach my $key (keys %$conf) {
+       if ($confchanged{$key}) { next; }       # param already changed
+       print FILETMP "\n";
+       print FILETMP "# Param $key added by AWStats Webmin module\n";
+       print FILETMP "$key=\"$conf->{$key}\"\n";
 }
+
 close(FILE);
 close(FILETMP);
 
index 2c3723b692448003c151eede356bdddb7267570a..d021d9344757f3afbe6447548ad10b713aaf58ec 100644 (file)
@@ -38,7 +38,31 @@ foreach my $key (keys %$lconf) {
 
 print "<hr>\n";
 
-print "<form action='save_config.cgi'>\n";
+print <<EOF;
+<SCRIPT LANGUAGE="JavaScript">\r
+function Submit_onClick() {\r
+       if (document.editconfig.LogFormat.value=='') {\r
+               alert('$text{save_errLogFormat}');\r
+               document.editconfig.LogFormat.focus();\r
+               return false;\r
+       }\r
+       if (document.editconfig.SiteDomain.value=='') {\r
+               alert('$text{save_errSiteDomain}');\r
+               document.editconfig.SiteDomain.focus();\r
+               return false;\r
+       }\r
+       if (document.editconfig.DirData.value=='') {\r
+               alert('$text{save_errDirData}');\r
+               document.editconfig.DirData.focus();\r
+               return false;\r
+       }\r
+       return true;
+}
+</SCRIPT>
+EOF
+
+
+print "<form name='editconfig' action='save_config.cgi'>\n";
 
 print "<table border width=100%>\n";
 print "<tr $tb> <td><b>";
@@ -72,7 +96,7 @@ print "</td> <td> ";
 print &hblink("Help", "help.cgi?param=LogType")." </td> </tr>\n";
 print "<tr> <td><b>LogFormat</b></td> <td> <input name=LogFormat type=text size=40 value='$lconf->{'LogFormat'}'> </td> <td> ";
 print &hblink("Help", "help.cgi?param=LogFormat")," </td> </tr>\n";
-print "<tr> <td><b>LogSeparator</b></td> <td> <input name=LogSeparator type=text value='$lconf->{'LogSeparator'}'> </td> <td> ";
+print "<tr> <td><b>LogSeparator</b></td> <td> <input name=LogSeparator type=text size=10 value='$lconf->{'LogSeparator'}'> </td> <td> ";
 print &hblink("Help", "help.cgi?param=LogSeparator")." </td> </tr>\n";
 print "<tr> <td><b>SiteDomain</b></td> <td> <input name=SiteDomain type=text value='$lconf->{'SiteDomain'}'> </td> <td> ";
 print &hblink("Help", "help.cgi?param=SiteDomain")." </td> </tr>\n";
@@ -80,11 +104,11 @@ print "<tr> <td><b>HostAliases</b></td> <td> <input name=HostAliases type=text s
 print &hblink("Help", "help.cgi?param=HostAliases")." </td> </tr>\n";
 print "<tr> <td><b>DNSLookup</b></td> <td> <input name=DNSLookup type=text value='$lconf->{'DNSLookup'}'> </td> <td> ";
 print &hblink("Help", "help.cgi?param=DNSLookup")." </td> </tr>\n";
-print "<tr> <td><b>DirData</b></td> <td> <input name=DirData type=text value='$lconf->{'DirData'}'> </td> <td> ";
+print "<tr> <td><b>DirData</b></td> <td> <input name=DirData type=text size=40 value='$lconf->{'DirData'}'> </td> <td> ";
 print &hblink("Help", "help.cgi?param=DirData")." </td> </tr>\n";
-print "<tr> <td><b>DirCgi</b></td> <td> <input name=DirCgi type=text value='$lconf->{'DirCgi'}'> </td> <td> ";
+print "<tr> <td><b>DirCgi</b></td> <td> <input name=DirCgi type=text size=30 value='$lconf->{'DirCgi'}'> </td> <td> ";
 print &hblink("Help", "help.cgi?param=DirCgi")." </td> </tr>\n";
-print "<tr> <td><b>DirIcons</b></td> <td> <input name=DirIcons type=text value='$lconf->{'DirIcons'}'> </td> <td> ";
+print "<tr> <td><b>DirIcons</b></td> <td> <input name=DirIcons type=text size=30 value='$lconf->{'DirIcons'}'> </td> <td> ";
 print &hblink("Help", "help.cgi?param=DirIcons")." </td> </tr>\n";
 print "<tr> <td><b>AllowToUpdateStatsFromBrowser</b></td> <td> <input name=AllowToUpdateStatsFromBrowser type=text value='$lconf->{'AllowToUpdateStatsFromBrowser'}'> </td> <td> ";
 print &hblink("Help", "help.cgi?param=AllowToUpdateStatsFromBrowser")." </td> </tr>\n";
@@ -124,11 +148,11 @@ else {
 @b=();
 
 if ($in{'new'}) {
-       push(@b, "<input type=submit value='$text{'create'}'>");
+       push(@b, "<input type=submit value='$text{'create'}' onClick=\"return Submit_onClick();\">");
        }
 else {
        if ($access{'global'}) {
-               push(@b, "<input type=submit value='$text{'save'}'>");
+               push(@b, "<input type=submit value='$text{'save'}' onClick=\"return Submit_onClick();\">");
        }
        if ($access{'add'}) {
                push(@b, "<input type=submit name=delete value='$text{'delete'}'>");
index 1b5038f16b5fbe6b789e3889d83e20305b438040..174ee968120b51cf52d971da6e586dd47c3d5220 100644 (file)
@@ -44,9 +44,12 @@ else {
                 if ($key eq 'submit') { next; }
                if ($key eq 'oldfile') { next; }
                $conf{$key} = $in{$key};
-               $conf{$key} =~ s/^\s*//;
-               $conf{$key} =~ s/\s*$//;
+               if ($conf{key} ne ' ') {
+                       $conf{$key} =~ s/^\s+//;
+                       $conf{$key} =~ s/\s+$//;
+               }
        }
+       if ($conf{'LogSeparator'} eq '') { $conf{'LogSeparator'}=' '; }
 
        # Check data
        if (! -r $conf{'LogFile'}) { &error(&text(save_errLogFile,$conf{'LogFile'})); }