From: eldy <> Date: Mon, 1 Nov 2004 16:42:27 +0000 (+0000) Subject: webmin: Add a summary for all configs on same page. X-Git-Tag: AWSTATS_6_3_RELEASE~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e564efe01a0c1ac441d88074bfcf94c0db8ee5f7;p=thirdparty%2FAWStats.git webmin: Add a summary for all configs on same page. --- diff --git a/tools/webmin/awstats/awstats-lib.pl b/tools/webmin/awstats/awstats-lib.pl index c583e88d..0e4168e5 100644 --- a/tools/webmin/awstats/awstats-lib.pl +++ b/tools/webmin/awstats/awstats-lib.pl @@ -2,7 +2,7 @@ # Common functions for editing the awstats config file do '../web-lib.pl'; -require '../javascript-lib.pl'; +require '../javascript-lib.pl'; &init_config(); #$config{'awstats'}||='/usr/local/awstats/wwwroot/cgi-bin/awstats.pl'; @@ -18,9 +18,9 @@ $cron_cmd = "$module_config_directory/awstats.pl"; # Show help tooltip sub hblink { - my $t=shift; - my $url=shift; - print "$t"; + my $t=shift; + my $url=shift; + print "$t"; } @@ -28,268 +28,327 @@ sub hblink # Update the awstats config file sub update_config { -my ($file,$conf)=@_; -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"); - -# $%conf contains param and values -my %confchanged=(); -my $conflinenb = 0; - -# First, change values that are already present in old config file -while() { - my $savline=$_; - - chomp $_; s/\r//; - $conflinenb++; - - # Remove comments not at beginning of line - $_ =~ s/\s#.*$//; - - # Extract param and value - my ($param,$value)=split(/=/,$_,2); - $param =~ s/^\s+//; $param =~ s/\s+$//; - $value =~ s/#.*$//; - $value =~ s/^[\s\'\"]+//; $value =~ s/[\s\'\"]+$//; - - if ($param) { - # cleanparam is param without begining # - my $cleanparam=$param; my $wascleaned=0; - if ($cleanparam =~ s/^#//) { $wascleaned=1; } - if ($cleanparam !~ /LoadPlugin/i && defined($conf->{$cleanparam})) { - # Value was provided from submit form in %conf hash array so we change line with this new value - $savline = "$cleanparam=\"".($conf->{$cleanparam})."\"\n"; - $confchanged{$cleanparam}=1; - } - if ($cleanparam =~ /^LoadPlugin/i && $conf->{"advanced"} == 4) { - # It's a plugin load directive - my ($pluginname,$pluginparam)=split(/\s/,$value,2); - if ($conf->{"plugin_$pluginname"}) { # Plugin loaded is asked - $savline = "$cleanparam=\"$pluginname".($conf->{"plugin_param_$pluginname"}?" ".$conf->{"plugin_param_$pluginname"}:"")."\"\n"; - } else { # Plugin loaded is not asked - $savline = "#$cleanparam=\"$pluginname".($conf->{"plugin_param_$pluginname"}?" ".$conf->{"plugin_param_$pluginname"}:"")."\"\n"; - } - $confchanged{"plugin_$pluginname"}=1; - } - } - # Write line - print FILETMP "$savline"; + my ($file,$conf)=@_; + 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"); + + # $%conf contains param and values + my %confchanged=(); + my $conflinenb = 0; + + # First, change values that are already present in old config file + while() { + my $savline=$_; + + chomp $_; s/\r//; + $conflinenb++; + + # Remove comments not at beginning of line + $_ =~ s/\s#.*$//; + + # Extract param and value + my ($param,$value)=split(/=/,$_,2); + $param =~ s/^\s+//; $param =~ s/\s+$//; + $value =~ s/#.*$//; + $value =~ s/^[\s\'\"]+//; $value =~ s/[\s\'\"]+$//; + + if ($param) { + # cleanparam is param without begining # + my $cleanparam=$param; my $wascleaned=0; + if ($cleanparam =~ s/^#//) { $wascleaned=1; } + if ($cleanparam !~ /LoadPlugin/i && defined($conf->{$cleanparam})) { + # Value was provided from submit form in %conf hash array so we change line with this new value + $savline = "$cleanparam=\"".($conf->{$cleanparam})."\"\n"; + $confchanged{$cleanparam}=1; + } + if ($cleanparam =~ /^LoadPlugin/i && $conf->{"advanced"} == 4) { + # It's a plugin load directive + my ($pluginname,$pluginparam)=split(/\s/,$value,2); + if ($conf->{"plugin_$pluginname"}) { # Plugin loaded is asked + $savline = "$cleanparam=\"$pluginname".($conf->{"plugin_param_$pluginname"}?" ".$conf->{"plugin_param_$pluginname"}:"")."\"\n"; + } else { # Plugin loaded is not asked + $savline = "#$cleanparam=\"$pluginname".($conf->{"plugin_param_$pluginname"}?" ".$conf->{"plugin_param_$pluginname"}:"")."\"\n"; + } + $confchanged{"plugin_$pluginname"}=1; + } + } + # Write line + print FILETMP "$savline"; + } + + # Now add values for directives that were not present in old config file + foreach my $key (keys %$conf) { + if ($key eq 'advanced') { next; } # param to know if plugin setup section was opened + if ($key =~ /^plugin_/) { next; } # field from plugin section, not an awstats directive + if ($confchanged{$key}) { next; } # awstats directive already changed + print FILETMP "\n"; + print FILETMP "# Param $key added by AWStats Webmin module\n"; + print FILETMP "$key=\"$conf->{$key}\"\n"; + } + + # Now add plugin load that were not already present in old config file + foreach my $key (keys %$conf) { + my $pluginname = $key; + if ($pluginname !~ s/^plugin_//) { next; } # not a plugin load row + if ($pluginname =~ /^param_/) { next; } # not a plugin load row + if ($confchanged{"plugin_$pluginname"}) { next; } # awstats directive or load plugin already changed + print FILETMP "\n"; + print FILETMP "# Plugin load for plugin $pluginname added by AWStats Webmin module\n"; + print FILETMP "LoadPlugin=\"$pluginname".($conf->{"plugin_param_$pluginname"}?" ".$conf->{"plugin_param_$pluginname"}:"")."\"\n"; + } + + close(FILE); + close(FILETMP); + + # Move file to file.sav + if (rename("$file","$file.old")==0) { + error("Failed to make backup of current config file to $file.old"); + } + + # Move tmp file into config file + if (rename("$file.tmp","$file")==0) { + error("Failed to move tmp config file $file.tmp to $file"); + } + + + return 0; } -# Now add values for directives that were not present in old config file -foreach my $key (keys %$conf) { - if ($key eq 'advanced') { next; } # param to know if plugin setup section was opened - if ($key =~ /^plugin_/) { next; } # field from plugin section, not an awstats directive - if ($confchanged{$key}) { next; } # awstats directive already changed - print FILETMP "\n"; - print FILETMP "# Param $key added by AWStats Webmin module\n"; - print FILETMP "$key=\"$conf->{$key}\"\n"; -} - -# Now add plugin load that were not already present in old config file -foreach my $key (keys %$conf) { - my $pluginname = $key; - if ($pluginname !~ s/^plugin_//) { next; } # not a plugin load row - if ($pluginname =~ /^param_/) { next; } # not a plugin load row - if ($confchanged{"plugin_$pluginname"}) { next; } # awstats directive or load plugin already changed - print FILETMP "\n"; - print FILETMP "# Plugin load for plugin $pluginname added by AWStats Webmin module\n"; - print FILETMP "LoadPlugin=\"$pluginname".($conf->{"plugin_param_$pluginname"}?" ".$conf->{"plugin_param_$pluginname"}:"")."\"\n"; -} - -close(FILE); -close(FILETMP); - -# Move file to file.sav -if (rename("$file","$file.old")==0) { - error("Failed to make backup of current config file to $file.old"); +# get_dirdata($configfile) +# Read config file to return value of dirdata parameter +sub get_dirdata +{ + my $dirdata="notfound"; + + my ($file)=@_; + if (! $file) { error("Call to get_dirdata with wrong parameter"); } + + open(FILE, "<$file") || error("Failed to open $file for read"); + + # First, search value of DirData parameter + while() { + my $savline=$_; + + chomp $_; s/\r//; + + # Remove comments not at beginning of line + $_ =~ s/\s#.*$//; + + # Extract param and value + my ($param,$value)=split(/=/,$_,2); + $param =~ s/^\s+//; $param =~ s/\s+$//; + $value =~ s/#.*$//; + $value =~ s/^[\s\'\"]+//; $value =~ s/[\s\'\"]+$//; + + if ($param) { + # cleanparam is param without begining # + my $cleanparam=$param; my $wascleaned=0; + if ($cleanparam =~ s/^#//) { $wascleaned=1; } + if ($cleanparam =~ /^DirData/) { + $dirdata=$value; + last; + } + } + } + close(FILE); + + return $dirdata; } -# Move tmp file into config file -if (rename("$file.tmp","$file")==0) { - error("Failed to move tmp config file $file.tmp to $file"); -} - - -return 0; +use vars qw/ $regclean1 $regclean2 /; +$regclean1=qr/<(recnb|\/td)>/i; +$regclean2=qr/<\/?[^<>]+>/i; + +#------------------------------------------------------------------------------ +# Function: Clean tags in a string +# Parameters: stringtodecode +# Input: None +# Output: None +# Return: decodedstring +#------------------------------------------------------------------------------ +sub CleanFromTags { + my $stringtoclean=shift; + $stringtoclean =~ s/$regclean1/ /g; # Replace or with space + $stringtoclean =~ s/$regclean2//g; # Remove + return $stringtoclean; } # save_directive(&config, name, [value]*) sub save_directive { -local ($conf, $name, @values) = @_; -local @old = &find($name, $conf); -local $lref = &read_file_lines($conf->[0]->{'file'}); -local $i; -for($i=0; $i<@old || $i<@values; $i++) { - if ($i < @old && $i < @values) { - # Just replacing a line - $lref->[$old[$i]->{'line'}] = "$name $values[$i]"; - } - elsif ($i < @old) { - # Deleting a line - splice(@$lref, $old[$i]->{'line'}, 1); - &renumber($conf, $old[$i]->{'line'}, -1); - } - elsif ($i < @values) { - # Adding a line - if (@old) { - # after the last one of the same type - splice(@$lref, $old[$#old]->{'line'}+1, 0, - "$name $values[$i]"); - &renumber($conf, $old[$#old]->{'line'}+1, 1); - } - else { - # at end of file - push(@$lref, "$name $values[$i]"); - } - } - } + local ($conf, $name, @values) = @_; + local @old = &find($name, $conf); + local $lref = &read_file_lines($conf->[0]->{'file'}); + local $i; + for($i=0; $i<@old || $i<@values; $i++) { + if ($i < @old && $i < @values) { + # Just replacing a line + $lref->[$old[$i]->{'line'}] = "$name $values[$i]"; + } + elsif ($i < @old) { + # Deleting a line + splice(@$lref, $old[$i]->{'line'}, 1); + &renumber($conf, $old[$i]->{'line'}, -1); + } + elsif ($i < @values) { + # Adding a line + if (@old) { + # after the last one of the same type + splice(@$lref, $old[$#old]->{'line'}+1, 0, + "$name $values[$i]"); + &renumber($conf, $old[$#old]->{'line'}+1, 1); + } + else { + # at end of file + push(@$lref, "$name $values[$i]"); + } + } + } } # renumber(&config, line, offset) sub renumber { -foreach $c (@{$_[0]}) { - $c->{'line'} += $_[2] if ($c->{'line'} >= $_[1]); - } + foreach $c (@{$_[0]}) { + $c->{'line'} += $_[2] if ($c->{'line'} >= $_[1]); + } } # temp_file_name(file) sub temp_file_name { -local $p = $_[0]; -$p =~ s/^\///; -$p =~ s/\//_/g; -return "$module_config_directory/$p.tmp"; + local $p = $_[0]; + $p =~ s/^\///; + $p =~ s/\//_/g; + return "$module_config_directory/$p.tmp"; } # find(name, &config) sub find { -local @rv; -foreach $c (@{$_[1]}) { - push(@rv, $c) if (lc($c->{'name'}) eq lc($_[0])); - } -return wantarray ? @rv : $rv[0]; + local @rv; + foreach $c (@{$_[1]}) { + push(@rv, $c) if (lc($c->{'name'}) eq lc($_[0])); + } + return wantarray ? @rv : $rv[0]; } # find_value(name, &config) sub find_value { -local @rv = map { $_->{'value'} } &find(@_); -return wantarray ? @rv : $rv[0]; + local @rv = map { $_->{'value'} } &find(@_); + return wantarray ? @rv : $rv[0]; } # all_config_files(file) sub all_config_files { -$_[0] =~ /^(.*)\/([^\/]+)$/; -local $dir = $1; -local $base = $2; -local ($f, @rv); -opendir(DIR, $dir); -foreach $f (readdir(DIR)) { - if ($f =~ /^\Q$base\E/ && -f "$dir/$f") { - push(@rv, "$dir/$f"); - } - } -closedir(DIR); -return @rv; + $_[0] =~ /^(.*)\/([^\/]+)$/; + local $dir = $1; + local $base = $2; + local ($f, @rv); + opendir(DIR, $dir); + foreach $f (readdir(DIR)) { + if ($f =~ /^\Q$base\E/ && -f "$dir/$f") { + push(@rv, "$dir/$f"); + } + } + closedir(DIR); + return @rv; } # get_config(path) # Get the configuration for some log file sub get_config { -local %rv; -&read_file($_[0], \%rv) || return undef; -return \%rv; + local %rv; + &read_file($_[0], \%rv) || return undef; + return \%rv; } # generate_report_as_pdf(file, handle, escape) sub generate_report_as_pdf { -local $h = $_[1]; -local $lconf = &get_config($_[0]); -local @all = &all_config_files($_[0]); -if (!@all) { - print $h "Log file $_[0] does not exist\n"; - return; - } -local ($a, %mtime); -foreach $a (@all) { - local @st = stat($a); - $mtime{$a} = $st[9]; - } -local $type = $lconf->{'type'} == 1 ? "" : - $lconf->{'type'} == 2 ? "-F squid" : - $lconf->{'type'} == 3 ? "-F ftp" : ""; -local $cfile = &temp_file_name($_[0]); -local $conf = -r $cfile ? "-c $cfile" : ""; -if ($lconf->{'over'}) { - unlink("$lconf->{'dir'}/awstats.current"); - unlink("$lconf->{'dir'}/awstats.hist"); - } -local $user = $lconf->{'user'} || "root"; -if ($user ne "root" && -r $cfile) { - chmod(0644, $cfile); - } -foreach $a (sort { $mtime{$a} <=> $mtime{$b} } @all) { - local $cmd = "$config{'awstats'} $conf -o '$lconf->{'dir'}' $type -p '$a'"; - if ($user ne "root") { - $cmd = "su \"$user\" -c \"$cmd\""; - } - open(OUT, "$cmd 2>&1 |"); - while() { - print $h $_[2] ? &html_escape($_) : $_; - } - close(OUT); - return 0 if ($?); - &additional_config("exec", undef, $cmd); - } -return 1; + local $h = $_[1]; + local $lconf = &get_config($_[0]); + local @all = &all_config_files($_[0]); + if (!@all) { + print $h "Log file $_[0] does not exist\n"; + return; + } + local ($a, %mtime); + foreach $a (@all) { + local @st = stat($a); + $mtime{$a} = $st[9]; + } + local $type = $lconf->{'type'} == 1 ? "" : + $lconf->{'type'} == 2 ? "-F squid" : + $lconf->{'type'} == 3 ? "-F ftp" : ""; + local $cfile = &temp_file_name($_[0]); + local $conf = -r $cfile ? "-c $cfile" : ""; + if ($lconf->{'over'}) { + unlink("$lconf->{'dir'}/awstats.current"); + unlink("$lconf->{'dir'}/awstats.hist"); + } + local $user = $lconf->{'user'} || "root"; + if ($user ne "root" && -r $cfile) { + chmod(0644, $cfile); + } + foreach $a (sort { $mtime{$a} <=> $mtime{$b} } @all) { + local $cmd = "$config{'awstats'} $conf -o '$lconf->{'dir'}' $type -p '$a'"; + if ($user ne "root") { + $cmd = "su \"$user\" -c \"$cmd\""; + } + open(OUT, "$cmd 2>&1 |"); + while() { + print $h $_[2] ? &html_escape($_) : $_; + } + close(OUT); + return 0 if ($?); + &additional_config("exec", undef, $cmd); + } + return 1; } # spaced_buttons(button, ...) sub spaced_buttons { -local $pc = int(100 / scalar(@_)); -print "\n"; -foreach $b (@_) { - local $al = $b eq $_[0] && scalar(@_) != 1 ? "align=left" : $b eq $_[@_-1] && scalar(@_) != 1 ? "align=right" : "align=center"; - print "\n"; - } -print "\n"; -print "
$b
\n"; + local $pc = int(100 / scalar(@_)); + print "\n"; + foreach $b (@_) { + local $al = $b eq $_[0] && scalar(@_) != 1 ? "align=left" : $b eq $_[@_-1] && scalar(@_) != 1 ? "align=right" : "align=center"; + print "\n"; + } + print "\n"; + print "
$b
\n"; } # scan_config_dir() # Scan directory $dir for config file. Return an array with full path sub scan_config_dir { -my $dir=shift; -opendir(DIR, $dir) || return; -local @rv = grep { /^awstats\.(.*)conf$/ } sort readdir(DIR); -closedir(DIR); -foreach my $file (0..@rv-1) { - if ($rv[$file] eq 'awstats.model.conf') { next; } - $rv[$file]="$dir/".$rv[$file]; - #print "$rv[0]\n
"; -} -return @rv; + my $dir=shift; + opendir(DIR, $dir) || return; + local @rv = grep { /^awstats\.(.*)conf$/ } sort readdir(DIR); + closedir(DIR); + foreach my $file (0..@rv-1) { + if ($rv[$file] eq 'awstats.model.conf') { next; } + $rv[$file]="$dir/".$rv[$file]; + #print "$rv[0]\n
"; + } + return @rv; } # can_edit_config(file) sub can_edit_config { -foreach $d (split(/\s+/, $access{'dir'})) { - local $ok = &is_under_directory($d, $_[0]); - return 1 if ($ok); - } -return 0; + foreach $d (split(/\s+/, $access{'dir'})) { + local $ok = &is_under_directory($d, $_[0]); + return 1 if ($ok); + } + return 0; } diff --git a/tools/webmin/awstats/awstats-webmin_changelog.txt b/tools/webmin/awstats/awstats-webmin_changelog.txt index 0835e64e..32d3a296 100644 --- a/tools/webmin/awstats/awstats-webmin_changelog.txt +++ b/tools/webmin/awstats/awstats-webmin_changelog.txt @@ -5,8 +5,11 @@ $Revision$ - $Author$ - $Date$ 1.400 New features/improvements: -- Some change to add scheduler management for update process +- Some change to add scheduler management for update process. - Creating new config files can be done by copying an old one. +- Add a page for a summary of all config files on same pages. +- Added a row number on each row of index page. +- Translation more complete. 1.300 diff --git a/tools/webmin/awstats/edit_config.cgi b/tools/webmin/awstats/edit_config.cgi index ac9bba23..e641d5a1 100644 --- a/tools/webmin/awstats/edit_config.cgi +++ b/tools/webmin/awstats/edit_config.cgi @@ -190,7 +190,7 @@ print " AllowToUpdateStatsFromBrowser \n"; print " AllowFullYearView "; print &hblink($text{'help_help'}, "help.cgi?param=AllowFullYearView")." \n"; -print " * are required parameters with no default value. They can't be empty. "; +print " * ".$text{'help_starrequired'}." "; print "
OPTIONAL SETUP SECTION (Not required but increase AWStats features)

\n"; diff --git a/tools/webmin/awstats/index.cgi b/tools/webmin/awstats/index.cgi index 1b2c41ff..13e32fba 100644 --- a/tools/webmin/awstats/index.cgi +++ b/tools/webmin/awstats/index.cgi @@ -61,7 +61,7 @@ my @configdirtoscan=split(/\s+/, $access{'dir'}); if (! @configdirtoscan) { print &text('index_nodirallowed',"$remote_user")."
\n"; - print &text('index_changeallowed',"Menu Webmin - Utilisateurs Webmin puis clic sur $text{'index_title'}")."
\n"; + print &text('index_changeallowed',"Webmin - Utilisateurs Webmin", $text{'index_title'})."
\n"; print "
\n"; # print "

",&text('index_econfdir', "$config{'awstats_conf'}", # "$gconfig{'webprefix'}/config.cgi?$module_name"),"

\n"; @@ -115,29 +115,36 @@ print &text('index_changeallowed',"Webmin - Webmin Users", print "
"; my $nbofallowedconffound=0; -if (@config) { +if (scalar @config) { # Loop on each config file foreach my $l (@config) { next if (!&can_edit_config($l)); $nbofallowedconffound++; + # Head of config file's table list if ($nbofallowedconffound == 1) { - print "$text{'index_add'}\n" if ($access{'add'}); - print "\n"; + + print "$text{'index_add'}

\n" if ($access{'add'}); + + if (scalar @config >= 2 && $access{'view'}) { + print "$text{'index_viewall'}

\n"; + } + + print "
\n"; print ""; - print " "; - print " "; - #print " "; - print " "; - print "\n"; + print ""; + print ""; + print ""; + print ""; + print "\n"; print "\n"; } # Config file line - local @files = &all_config_files($l); - next if (!@files); + #local @files = &all_config_files($l); + #next if (!@files); local $lconf = &get_config($l); my $conf=""; my $dir=""; if ($l =~ /awstats\.(.*)\.conf$/) { $conf=$1; } @@ -194,15 +201,13 @@ if (@config) { print "\n"; } - if ($nbofallowedconffound > 0) { print "
$text{'index_path'}$text{'index_create'}$text{'index_databasesize'}$text{'index_update'}$text{'index_view'}
$text{'index_path'}$text{'index_create'}$text{'index_update'}$text{'index_view'}
$text{'index_scheduled'}$text{'index_now'}
\n"; } + if ($nbofallowedconffound > 0) { print "
\n"; } } if (! $nbofallowedconffound) { - print "

$text{'index_noconfig'}


\n"; + print "

$text{'index_noconfig'}


\n"; } -print "$text{'index_add'}
\n" if ($access{'add'}); - print "
\n"; &footer("/", $text{'index'}); diff --git a/tools/webmin/awstats/lang/en b/tools/webmin/awstats/lang/en index 6ed2c40d..dc41a5bd 100644 --- a/tools/webmin/awstats/lang/en +++ b/tools/webmin/awstats/lang/en @@ -32,6 +32,7 @@ index_hideadvanced=Hide optional directives index_nodirallowed=Your user $1 has no allowed directory to read/store AWStats configuration files. index_allowed=Your account $1 is allowed to view/edit config files into (or that are links to) index_changeallowed=Permissions on directories into which you are allowed to scan/edit AWStats configuration files can be granted to you by a webmin administrator from the Webmin user ACL editor (Menu $1 then clic on $2) +index_viewall=Show a summary of all available configurations edit_title1=Add config File edit_title2=Edit config File @@ -63,8 +64,8 @@ update_run=Run update process with command update_finished=Update process finished update_wait=Please wait -scheduled_title=Schedule statistic's update -scheduled_ecannot=You are not allowed to update or schedule update process +schedule_title=Schedule statistic's update +schedule_ecannot=You are not allowed to update or schedule update process log_create_log=Created AWStats config file $1 log_modify_log=Modified AWStats config file $1 @@ -84,4 +85,28 @@ help_title=Help page help_subtitle=Help for config file parameter $1 help_subtitleplugin=Help for plugin $1 help_notfound=Parameter not found in your sample file $1.
May be your AWStats version does not support it, so no help is available. -help_help=Help \ No newline at end of file +help_help=Help +help_starrequired=required parameters with no default value. They can't be empty. + +viewall_title=Summary for all configurations files +viewall_notallowed=You don't have rights to see statisitics +viewall_allowed=This page presents a summary of all configurations files found in directories allowed to user $1 +viewall_period=Period +viewall_u=Unique visitors +viewall_v=Visits +viewall_p=Pages +viewall_h=Hits +viewall_k=Bandwith + +month01=January +month02=February +month03=Mars +month04=April +month05=May +month06=June +month07=July +month08=August +month09=September +month10=October +month11=November +month12=December \ No newline at end of file diff --git a/tools/webmin/awstats/lang/fr b/tools/webmin/awstats/lang/fr index fac7981d..7dc49bd1 100644 --- a/tools/webmin/awstats/lang/fr +++ b/tools/webmin/awstats/lang/fr @@ -31,6 +31,7 @@ index_hideadvanced=Cacher param index_allowed=Votre login $1 est autorisé à voir/editer les fichiers de config dans (ou pointant vers) index_nodirallowed=Votre compte $1 n'a aucun répertoire autorisé en lecture/écriture de fichier de configuration AWStats. index_changeallowed=Les permissions des répertoires dans lesquels vous pouvez voir/éditer des fichiers de configuration AWStats peuvent vous être accordées par un administrateur Webmin via l'éditeur des ACL utilisateurs Webmin (Menu $1 puis clic sur $2) +index_viewall=Voir un résumé pour toutes les configurations disponibles edit_title1=Ajout d'un fichier de config edit_title2=Edition d'un fichier de config @@ -62,8 +63,8 @@ update_run=Lancement de la mise update_finished=Mise a jour terminée update_wait=Merci de patienter -scheduled_title=Programmation de mise à jour -scheduled_ecannot=Vous n'êtes pas autorisé à mettre à jour ou programmer une mise à jour des statistiques +schedule_title=Programmation de mise à jour +schedule_ecannot=Vous n'êtes pas autorisé à mettre à jour ou programmer une mise à jour des statistiques log_create_log=Fichier de config AWStats $1 créé log_modify_log=Fichier de config AWStats $1 modifié @@ -83,4 +84,28 @@ help_title=Page d'aide help_subtitle=Aide sur le paramètre de configuration $1 help_subtitleplugin=Aide sur le plugin $1 help_notfound=Paramètre non trouvé dans votre fichier de configuration modèle $1.
Peut-être votre version d'AWStats ne le supporte pas, aussi aucune aide n'est disponible. -help_help=Aide \ No newline at end of file +help_help=Aide +help_starrequired=paramètres obligatoires sans valeurs par défaut. Ils ne peuvent etre vide. + +viewall_title=Résumé pour tout fichier de configuration +viewall_notallowed=Vous n'avez pas les droits pour voir les stats +viewall_allowed=Cette page présente un résumé de toutes les configurations trouvés dans les répertoires autorisés à l'utilisateur $1 +viewall_period=Période +viewall_u=Visiteurs uniques +viewall_v=Visites +viewall_p=Pages +viewall_h=Hits +viewall_k=Bande passante + +month01=Janvier +month02=Février +month03=Mars +month04=Avril +month05=Mai +month06=Juin +month07=Juillet +month08=Aout +month09=Septembre +month10=Octobre +month11=Novembre +month12=Décembre \ No newline at end of file