/[smeserver]/rpms/smeserver-manager/sme10/smeserver-manager-0.1.0-routes_locales_navig.patch
ViewVC logotype

Annotation of /rpms/smeserver-manager/sme10/smeserver-manager-0.1.0-routes_locales_navig.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Sat Nov 21 08:43:50 2020 UTC (3 years, 11 months ago) by michel
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
FILE REMOVED
* Fri Nov 20 2020 Michel Begue <mab974@gmail.com> 0.1.2-2.sme
- Fix smanager-update event name
- Move smanager service to /usr/lib/systemd
- Fix Bugreport file download
- Fix translations missing in 'viewlogfiles'
- Remove Admin auth in httpd configuration
- Add an optional alias for admin sign in.
- Remove systemctl from .spec file

1 michel 1.1 diff -aurN smeserver-manager-0.1.0.old/createlinks smeserver-manager-0.1.0/createlinks
2     --- smeserver-manager-0.1.0.old/createlinks 2020-04-14 16:50:36.000000000 +0400
3     +++ smeserver-manager-0.1.0/createlinks 2020-04-16 12:54:12.796000000 +0400
4     @@ -5,23 +5,28 @@
5     #--------------------------------------------------
6     # functions for manager panel
7     #--------------------------------------------------
8     -my $panel = "manager2";
9     +my $panel = 'manager2';
10     +my $mngrdir = '/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr';
11    
12     # links to add
13    
14     -for ( qw( sme_core.css
15     - sme_main.css
16     - sme_menu.css
17     - styles.css
18     - ) )
19     +# templates to expand
20     +for ( qw( sme_core.css sme_main.css sme_menu.css styles.css ) )
21     {
22     - templates2events("/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/css/$_", qw(
23     + templates2events("$mngrdir/themes/default/public/css/$_", qw(
24     bootstrap-console-save console-save
25     ));
26     }
27    
28     -# templates to expand
29     -for my $event ( qw( manager2-modify bootstrap-console-save console-save ) )
30     +templates2events("$mngrdir/conf/srvmngr.conf",
31     + qw( manager2-modify bootstrap-console-save console-save));
32     +
33     +# services to launch on event
34     +
35     +# actions to perform
36     +for my $event (qw( yum-install yum-update yum-remove manager2-refresh bootstrap-console-save console-save))
37     {
38     - templates2events("/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf", $event);
39     + event_link('navigation2-conf', "$event", '80');
40     + event_link('routes2-conf', "$event", '80');
41     + event_link('locales2-conf', "$event", '80');
42     }
43     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/events/actions/locales2-conf smeserver-manager-0.1.0/root/etc/e-smith/events/actions/locales2-conf
44     --- smeserver-manager-0.1.0.old/root/etc/e-smith/events/actions/locales2-conf 1970-01-01 04:00:00.000000000 +0400
45     +++ smeserver-manager-0.1.0/root/etc/e-smith/events/actions/locales2-conf 2020-04-13 23:24:19.000000000 +0400
46     @@ -0,0 +1,79 @@
47     +#!/usr/bin/perl -w
48     +
49     +#----------------------------------------------------------------------
50     +# copyright (C) 1999-2006 Mitel Networks Corporation
51     +#
52     +# This program is free software; you can redistribute it and/or modify
53     +# it under the terms of the GNU General Public License as published by
54     +# the Free Software Foundation; either version 2 of the License, or
55     +# (at your option) any later version.
56     +#
57     +# This program is distributed in the hope that it will be useful,
58     +# but WITHOUT ANY WARRANTY; without even the implied warranty of
59     +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60     +# GNU General Public License for more details.
61     +#
62     +# You should have received a copy of the GNU General Public License
63     +# along with this program; if not, write to the Free Software
64     +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
65     +#
66     +#----------------------------------------------------------------------
67     +package esmith;
68     +use strict;
69     +
70     +use constant I18NMODULES => '/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules';
71     +
72     + #-------------------------
73     + # get locale modules list
74     + #-------------------------
75     +opendir DIR, I18NMODULES or die "Couldn't open ", I18NMODULES, "\n";
76     +my @dirs = grep (/^[A-Z]/, readdir (DIR));
77     +closedir DIR;
78     +
79     +foreach my $module (@dirs) {
80     +
81     + next if (-f I18NMODULES . "/$module");
82     +
83     + #-------------------------
84     + # get lexicons list
85     + #-------------------------
86     + opendir DIR, I18NMODULES . "/$module" or die "Couldn't open ", I18NMODULES, "\n";
87     + my @lexs = grep (/_..\.lex$/, readdir (DIR));
88     + closedir DIR;
89     +
90     + foreach my $lex (@lexs) {
91     + my $long_lex = I18NMODULES . "/$module/$lex";
92     + next if (-d $long_lex);
93     +
94     + my ($mod, $lang) = split /[_.]/, $lex;
95     + my $long_pm = I18NMODULES . "/$module/$lang". '.pm';
96     + if ( -f $long_pm ) {
97     + # .pm file newer than .lex
98     + next if ((stat($long_lex))[9] < (stat($long_pm))[9]);
99     + }
100     +
101     + open(FIL, '>:encoding(UTF-8)', $long_pm)
102     + or die "Couldn't open ", $long_pm, " for writing.\n";
103     +
104     + print FIL "package SrvMngr::I18N::Modules::${module}::${lang};\n";
105     + print FIL "use strict;\nuse warnings;\nuse utf8;\nuse Mojo::Base 'SrvMngr::I18N';\n\n";
106     + print FIL "use SrvMngr::I18N::Modules::General::${lang};\n\nmy %lexicon = (\n";
107     +
108     + #-------------------------
109     + # copy lexicon to pm
110     + #-------------------------
111     + open(FIL2, '<:encoding(UTF-8)', $long_lex)
112     + or die "Couldn't open ", $long_lex, " for reading.\n";
113     + while ( <FIL2> ) {
114     + print FIL $_;
115     + }
116     + close FIL2;
117     +
118     + print FIL ");\n\nour %Lexicon = (\n";
119     + print FIL " %\{ SrvMngr::I18N::Modules::General::${lang}::Lexicon \},\n";
120     + print FIL " %lexicon\n);\n\n\n1;\n";
121     +
122     + close FIL;
123     + print "Lexicon $lang for $module ($lex) written to ${lang}.pm\n";
124     + }
125     +}
126     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/events/actions/navigation2-conf smeserver-manager-0.1.0/root/etc/e-smith/events/actions/navigation2-conf
127     --- smeserver-manager-0.1.0.old/root/etc/e-smith/events/actions/navigation2-conf 1970-01-01 04:00:00.000000000 +0400
128     +++ smeserver-manager-0.1.0/root/etc/e-smith/events/actions/navigation2-conf 2020-03-29 00:02:52.000000000 +0400
129     @@ -0,0 +1,159 @@
130     +#!/usr/bin/perl -w
131     +
132     +#----------------------------------------------------------------------
133     +# copyright (C) 1999-2006 Mitel Networks Corporation
134     +#
135     +# This program is free software; you can redistribute it and/or modify
136     +# it under the terms of the GNU General Public License as published by
137     +# the Free Software Foundation; either version 2 of the License, or
138     +# (at your option) any later version.
139     +#
140     +# This program is distributed in the hope that it will be useful,
141     +# but WITHOUT ANY WARRANTY; without even the implied warranty of
142     +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
143     +# GNU General Public License for more details.
144     +#
145     +# You should have received a copy of the GNU General Public License
146     +# along with this program; if not, write to the Free Software
147     +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
148     +#
149     +#----------------------------------------------------------------------
150     +package esmith;
151     +
152     +use strict;
153     +
154     +use esmith::NavigationDB;
155     +use esmith::I18N;
156     +
157     +use constant WEBFUNCTIONS => '/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller';
158     +use constant NAVIGATIONDIR => '/home/e-smith/db/navigation2';
159     +use constant NEW_NAVDIR => '/home/e-smith/db';
160     +
161     +my $navigation_ignore =
162     + "(\.\.?|navigation|noframes|online-manual|(internal|pleasewait)(-.*)?)";
163     +
164     +my $i18n = new esmith::I18N;
165     +
166     +my %navdbs;
167     +
168     +opendir FUNCTIONS, WEBFUNCTIONS or
169     + die "Couldn't open ", WEBFUNCTIONS, "\n";
170     +
171     +my @files = grep (!/^${navigation_ignore}$/, readdir (FUNCTIONS));
172     +
173     +closedir FUNCTIONS;
174     +
175     +my @langs = $i18n->availableLanguages();
176     +
177     +use XML::Parser;
178     +my $parser = new XML::Parser (Style => 'Tree',
179     + ProtocolEncoding => 'UTF-8');
180     +
181     +foreach my $file (@files)
182     +{
183     + next if (-d WEBFUNCTIONS . "/$file");
184     + next unless ( $file =~ m/[A-Z].*\.pm$/ );
185     +
186     + my $file2 = lc($file);
187     + $file2 =~ s/\.pm$//;
188     +
189     + #--------------------------------------------------
190     + # extract heading, description and weight information
191     + # from CGI script
192     + #--------------------------------------------------
193     + open(SCRIPT, WEBFUNCTIONS . "/$file");
194     + my $heading = undef;
195     + my $description = undef;
196     + my $heading_weight = undef;
197     + my $description_weight = undef;
198     + while ( <SCRIPT> )
199     + {
200     + $heading = $1 if (/^\s*#\s*heading\s*:\s*(.+?)\s*$/);
201     +
202     + $description = $1
203     + if (/^\s*#\s*description\s*:\s*(.+?)\s*$/);
204     +
205     + ($heading_weight, $description_weight) = ($1, $2)
206     + if (/^\s*#\s*navigation\s*:\s*(\d+?)\s+(\d+?)\s*$/);
207     +
208     + last if (defined $heading and
209     + defined $description and
210     + defined $heading_weight and
211     + defined $description_weight);
212     + }
213     + close SCRIPT;
214     + foreach my $lang (@langs)
215     + {
216     +#warn "updating script $file for lang $lang\n";
217     + my $navdb = $navdbs{$lang};
218     + my $navinfo = NAVIGATIONDIR . "/navigation.$lang";
219     + $navdb ||= esmith::NavigationDB->open($navinfo);
220     + $navdb ||= esmith::NavigationDB->create($navinfo) or
221     + die "Couldn't create $navinfo\n";
222     + $navdbs{$lang} ||= $navdb;
223     + my $rec = $navdb->get($file2) ||
224     + $navdb->new_record($file2, { type => 'panel' } );
225     +
226     + my $lexicon = {};
227     +
228     + foreach my $lfile ( "/etc/e-smith/locale/$lang/FormMagick/general",
229     + "/etc/e-smith/locale/$lang/etc/e-smith/web/functions/$file" )
230     + {
231     + if (-f $lfile)
232     + {
233     + # Do a quick and dirty parse of the lexicon file
234     + my $xmlstr = "";
235     + open(FILE, $lfile) or die "Couldn't open $lfile:\n$!";
236     + binmode(FILE, ":utf8");
237     + {
238     + local $^W = 0;
239     + while ( my $line = <FILE> ) {
240     + unless ( utf8::valid($line) ) {
241     + warn "$lfile not in UTF-8 format\n";
242     + utf8::encode($line);
243     + }
244     + $xmlstr .= $line;
245     + }
246     + }
247     + my $xml = $parser->parsestring($xmlstr);
248     + my @lexicon = @{$xml->[1]};
249     + shift @lexicon; # Remove lexicon attributes
250     + while (@lexicon)
251     + {
252     + my ($tag, $data) = splice(@lexicon, 0, 2);
253     + next unless $tag eq 'entry';
254     + my %entry_hash = ('attributes', @$data);
255     + my $base = $entry_hash{base};
256     + $base = @{$base}[2];
257     + my $trans = $entry_hash{trans};
258     + $trans = @{$trans}[2];
259     + next unless defined $base && defined $trans;
260     + $lexicon->{$base} = $trans;
261     + }
262     + }
263     + }
264     +
265     + my $loc_heading = localise($lexicon, $heading);
266     + $loc_heading =~ s/^\s*(\w.*?)\s*$/$1/;
267     + my $loc_description = localise($lexicon, $description);
268     + $loc_description =~ s/^\s*(\w.*?)\s*$/$1/;
269     + $rec->merge_props(
270     + Heading => $loc_heading,
271     + Description => $loc_description,
272     + HeadingWeight => localise($lexicon, $heading_weight),
273     + DescriptionWeight => localise($lexicon, $description_weight));
274     + }
275     +}
276     +foreach my $lang (@langs)
277     +{
278     +#warn "trying to close for lang $lang\n";
279     + my $navdb = $navdbs{$lang};
280     + $navdb->close();
281     +}
282     +
283     +sub localise {
284     + my ($lexicon, $string) = @_;
285     + $string = "" unless defined $string;
286     + return $lexicon->{$string} || $string;
287     +}
288     +
289     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/events/actions/routes2-conf smeserver-manager-0.1.0/root/etc/e-smith/events/actions/routes2-conf
290     --- smeserver-manager-0.1.0.old/root/etc/e-smith/events/actions/routes2-conf 1970-01-01 04:00:00.000000000 +0400
291     +++ smeserver-manager-0.1.0/root/etc/e-smith/events/actions/routes2-conf 2020-04-15 09:48:58.164000000 +0400
292     @@ -0,0 +1,82 @@
293     +#!/usr/bin/perl -w
294     +
295     +#----------------------------------------------------------------------
296     +# copyright (C) 1999-2006 Mitel Networks Corporation
297     +#
298     +# This program is free software; you can redistribute it and/or modify
299     +# it under the terms of the GNU General Public License as published by
300     +# the Free Software Foundation; either version 2 of the License, or
301     +# (at your option) any later version.
302     +#
303     +# This program is distributed in the hope that it will be useful,
304     +# but WITHOUT ANY WARRANTY; without even the implied warranty of
305     +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
306     +# GNU General Public License for more details.
307     +#
308     +# You should have received a copy of the GNU General Public License
309     +# along with this program; if not, write to the Free Software
310     +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
311     +#
312     +#----------------------------------------------------------------------
313     +package esmith;
314     +
315     +use strict;
316     +
317     +use esmith::ConfigDB;
318     +
319     +use constant WEBFUNCTIONS => '/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller';
320     +
321     +my $rtdb ||= esmith::ConfigDB->open('routes') or
322     + die "Couldn't create Routes DB\n";
323     +
324     +opendir DIR, WEBFUNCTIONS or
325     + die "Couldn't open ", WEBFUNCTIONS, "\n";
326     +
327     +my @files = grep (/^[A-Z].*\.pm$/, readdir (DIR));
328     +
329     +closedir DIR;
330     +
331     +foreach my $file (@files) {
332     +
333     + next if (-d WEBFUNCTIONS . "/$file");
334     +
335     + my $file2 = lc($file);
336     + $file2 =~ s/\.pm$//;
337     +
338     + #--------------------------------------------------
339     + # extract method, url, action, name from controllers script
340     + #--------------------------------------------------
341     + open(SCRIPT, WEBFUNCTIONS . "/$file");
342     + my $routes = undef;
343     + my $method = undef;
344     + my $url = undef;
345     + my $ctlact = undef;
346     + my $name = undef;
347     +
348     + while ( <SCRIPT> ) {
349     +
350     + # name : contrib, method : get, url : /contrib, ctlact : contrib#main
351     + ($name, $method, $url, $ctlact) = ($1, $2, $3, $4)
352     + if (/^#\s*name\s*:\s*(.+?),\s*method\s*:\s*(.+?),\s*url\s*:\s*(.+?),\s*ctlact\s*:\s*(.+?)\s*$/);
353     +
354     + # routes : end
355     + $routes = $1 if (/^\s*#\s*routes\s*:\s*(.+?)\s*$/);
356     + last if (defined $routes and $routes eq 'end');
357     +
358     + if (defined $method and defined $url and
359     + defined $ctlact and defined $name) {
360     + my $key = $file2.'_'.$name;
361     + my $rec = $rtdb->get($key) ||
362     + $rtdb->new_record($key, { type => 'route' } );
363     +
364     + $rec->merge_props(
365     + Url => $url,
366     + Method => $method,
367     + Ctlact => $ctlact
368     + )
369     + }
370     + }
371     + close SCRIPT;
372     +}
373     +
374     +
375     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/accounts smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/accounts
376     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/accounts 2020-04-14 16:50:23.000000000 +0400
377     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/accounts 1970-01-01 04:00:00.000000000 +0400
378     @@ -1 +0,0 @@
379     -#accounts
380     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/configuration smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/configuration
381     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/configuration 2020-04-14 16:50:23.000000000 +0400
382     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/configuration 1970-01-01 04:00:00.000000000 +0400
383     @@ -1 +0,0 @@
384     -#configuration
385     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/spamassassin smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/spamassassin
386     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/spamassassin 2020-04-14 16:50:23.000000000 +0400
387     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/spamassassin 1970-01-01 04:00:00.000000000 +0400
388     @@ -1,8 +0,0 @@
389     -# DO NOT MODIFY THIS FILE.
390     -# This file is automatically maintained by the Mitel Networks SME Server
391     -# configuration software. Manually editing this file may put your
392     -# system in an unknown state.
393     -#
394     -# updated: Sun Nov 3 23:52:17 2019
395     -wbl.global=list| aa@toto|Black| @toto2|White| @zaza2|White| bibi@kabo2|White|bb@zaza|Black|bibik@kabo|Black
396     -wbl.global_to=list
397     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/wbl smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/wbl
398     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/wbl 2020-04-14 16:50:23.000000000 +0400
399     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/wbl 1970-01-01 04:00:00.000000000 +0400
400     @@ -1,11 +0,0 @@
401     -# DO NOT MODIFY THIS FILE.
402     -# This file is automatically maintained by the Mitel Networks SME Server
403     -# configuration software. Manually editing this file may put your
404     -# system in an unknown state.
405     -#
406     -# updated: Sun Nov 3 23:52:17 2019
407     -badhelo=list| ayo|Black| bibi|Black| jabo|Black
408     -badmailfrom=list| @toto|Black| @zaza|Black| bibi@kabo|Black
409     -whitelisthelo=list| ayo|White| bibi|White| jabo|White
410     -whitelisthosts=list| 1.2.3.4|White| 11.22.33.44|White| 15.24.13.26|White
411     -whitelistsenders=list| @toto|White| @zaza|White| bibi@kabo|White
412     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Starterwebsite.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Starterwebsite.pm
413     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Starterwebsite.pm 2020-04-14 16:50:36.000000000 +0400
414     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Starterwebsite.pm 2020-04-14 13:05:12.000000000 +0400
415     @@ -12,8 +12,9 @@
416     use Mojo::Base 'Mojolicious::Controller';
417    
418     use Locale::gettext;
419     -use SrvMngr::I18N;
420     +use esmith::util qw( chownFile );
421    
422     +use SrvMngr::I18N;
423     use SrvMngr qw(theme_list init_session_cgi);
424    
425     our $db = esmith::ConfigDB->open_ro || die "Couldn't open config db";
426     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Wbl.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Wbl.pm
427     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Wbl.pm 2020-04-14 16:50:36.000000000 +0400
428     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Wbl.pm 1970-01-01 04:00:00.000000000 +0400
429     @@ -1,573 +0,0 @@
430     -package SrvMngr::Controller::Wbl;
431     -
432     -#----------------------------------------------------------------------
433     -# heading : Configuration
434     -# description : E-mail WBL
435     -# navigation : 6000 6710
436     -
437     -# name : wbl, method : get, url : /wbl, ctlact : wbl#main
438     -# name : wbldis, method : post, url : /wbl, ctlact : wbl#do_display
439     -# name : wblupc, method : get, url : /wbl2, ctlact : wbl#do_update
440     -# name : wblupd, method : post, url : /wbl2, ctlact : wbl#do_update
441     -#
442     -# routes : end
443     -#----------------------------------------------------------------------
444     -
445     -use strict;
446     -use warnings;
447     -use Mojo::Base 'Mojolicious::Controller';
448     -
449     -use Locale::gettext;
450     -use SrvMngr::I18N;
451     -
452     -use SrvMngr qw( theme_list init_session_cgi );
453     -
454     -use Exporter;
455     -our @EXPORT_OK = qw(
456     - get_contrib_desc
457     - get_contrib_routes
458     - );
459     -
460     -our $db = esmith::ConfigDB->open() or die "Couldn't open ConfigDB\n";
461     -our $wdb = esmith::ConfigDB->open('wbl') or die "Couldn't open wbl dbase\n";
462     -our $sdb = esmith::ConfigDB->open('spamassassin') or die "Couldn't open spamassassin dbase\n";
463     -
464     -
465     -sub get_contrib_desc {
466     - my $c = shift;
467     - return { 'heading' => 'Configuration',
468     - 'description' => 'E-mail WBL',
469     - 'navigation' => '6000/6710' };
470     -}
471     -
472     -
473     -sub get_contrib_routes {
474     - my $c = shift;
475     - my @rt = (
476     - { 'method' => 'get', 'url' => '/wbl', 'ctlact' => 'wbl#main', 'name' => 'wbl'},
477     - { 'method' => 'post', 'url' => '/wbl', 'ctlact' => 'wbl#do_display', 'name' => 'wbldis'},
478     - { 'method' => 'get', 'url' => '/wbl2', 'ctlact' => 'wbl#do_update', 'name' => 'wblupc'},
479     - { 'method' => 'post', 'url' => '/wbl2', 'ctlact' => 'wbl#do_update', 'name' => 'wblupd'},
480     - );
481     - return \@rt;
482     -}
483     -
484     -
485     -sub main {
486     -
487     - my $c = shift;
488     - $c->app->log->info($c->log_req);
489     -
490     - my %wbl_datas = ();
491     - my $title = $c->l('wbl_FORM_TITLE');
492     -
493     - $wbl_datas{'trt'} = 'CHOICE';
494     -
495     - $c->stash( title => $title, wbl_datas => \%wbl_datas);
496     - $c->render_maybe('wbl') or $c->render('wbl');
497     -};
498     -
499     -
500     -sub do_display {
501     -
502     - my $c = shift;
503     - $c->app->log->info($c->log_req);
504     -
505     - my $trt = $c->param('list') || 'CHOICE';
506     -
507     - my %wbl_datas = ();
508     - my $title = $c->l('wbl_FORM_TITLE');
509     -
510     - $wbl_datas{'trt'} = $trt;
511     -
512     - if ( $trt eq 'RBL' ) {
513     -
514     - # dnsbl - returns 'enabled/disabled
515     - $wbl_datas{'dnsbl'} = get_dnsbl();
516     -
517     - # rhsbl - returns 'enabled/disabled
518     - $wbl_datas{'rhsbl'} = get_rhsbl();
519     -
520     - # uribl - returns 'enabled/disabled
521     - $wbl_datas{'uribl'} = get_uribl();
522     - }
523     -
524     - if ( $trt eq 'BLACK' ) {
525     - # For Black List
526     - }
527     -
528     - if ( $trt eq 'WHITE' ) {
529     - # For WBL List
530     - }
531     -
532     - if ( $trt eq 'CHOICE' ) {
533     - #
534     - }
535     -
536     - $c->stash( title => $title, wbl_datas => \%wbl_datas );
537     - $c->render( template => 'wbl' );
538     -
539     -};
540     -
541     -
542     -sub do_update {
543     -
544     - my $c = shift;
545     - $c->app->log->info($c->log_req);
546     -
547     - my %wbl_datas = ();
548     - my ($res, $result) = "";
549     -
550     - my $title = $c->l('wbl_FORM_TITLE');
551     -
552     - my $trt = ($c->param('trt') || '???');
553     - $wbl_datas{'trt'} = $trt;
554     -
555     - #### $wbl_datas{'dnsbl'} = get_dnsbl(); etc...
556     - if ($trt eq 'RBL') {
557     -
558     - # controls, validate
559     - #if (xxx) {
560     - # $result .= $c->l('XXXXXXX');
561     - #}
562     -
563     - ##$result .= ' ** Blocked for testing ** !';
564     -
565     - if ( ! $result ) {
566     - $res = $c->create_modify_rbl();
567     - $result .= $res unless $res eq 'OK';
568     - if ( ! $result ) {
569     - $wbl_datas{trt} = 'SUC';
570     - $result = $c->l('SUCCESS').' RBL';
571     - }
572     - }
573     - }
574     -
575     -
576     - if ($trt eq 'BLACK') {
577     -
578     - # controls, validate
579     - #if (xxx) {
580     - # $result .= $c->l('XXXXXXX');
581     - #}
582     -
583     - ##$result .= ' ** Blocked for testing ** !';
584     -
585     - if ( ! $result ) {
586     - $res = $c->create_modify_black();
587     - $result .= $res unless $res eq 'OK';
588     - if ( ! $result ) {
589     - $wbl_datas{trt} = 'SUC';
590     - $result = $c->l('SUCCESS').' BLACK';
591     - }
592     - }
593     -
594     - }
595     -
596     -
597     - if ($trt eq 'WHITE') {
598     -
599     - # controls, validate
600     - #if (xxx) {
601     - # $result .= $c->l('XXXXXXX');
602     - #}
603     -
604     - ##$result .= ' ** Blocked for testing ** !';
605     -
606     - if ( ! $result ) {
607     - $res = $c->create_modify_white();
608     - $result .= $res unless $res eq 'OK';
609     - if ( ! $result ) {
610     - $wbl_datas{trt} = 'SUC';
611     - $result = $c->l('SUCCESS').' WHITE';
612     - }
613     - }
614     - }
615     -
616     - # common part
617     - $c->stash( title => $title, wbl_datas => \%wbl_datas );
618     - if ($wbl_datas{trt} ne 'SUC') {
619     - $c->flash(error => $result);
620     - $wbl_datas{'trt'} = $trt;
621     - return $c->render(template => 'wbl');
622     - }
623     -
624     - # successfully terminated
625     - my $message = $trt . ' updates DONE';
626     - $c->app->log->info($message);
627     - $c->flash(success => $result);
628     -
629     - #return to 'wbl' route !!!
630     - $c->redirect_to('wbl');
631     -
632     -}
633     -
634     -
635     -sub get_dnsbl {
636     - return ($db->get_prop('qpsmtpd', 'DNSBL') || 'disabled');
637     -}
638     -
639     -
640     -sub get_rhsbl {
641     - return ($db->get_prop('qpsmtpd', 'RHSBL') || 'disabled');
642     -}
643     -
644     -
645     -sub get_uribl {
646     - return ($db->get_prop('qpsmtpd', 'URIBL') || 'disabled');
647     -}
648     -
649     -
650     -sub get_sbllist {
651     -
652     - my $sbllistform = $db->get_prop('qpsmtpd', 'SBLList') || '';
653     - my @list = (split /,/, $sbllistform);
654     - return \@list;
655     -}
656     -
657     -
658     -sub get_rbllist {
659     -
660     - my $rbllistform = $db->get_prop('qpsmtpd', 'RBLList') || '';
661     - my @list = (split /,/, $rbllistform);
662     - return \@list;
663     -}
664     -
665     -
666     -sub get_ubllist {
667     -
668     - my $ubllistform = $db->get_prop('qpsmtpd', 'UBLList') || '';
669     - my @list = ($ubllistform);
670     - return \@list;
671     -}
672     -
673     -
674     -sub get_wbllist {
675     -
676     - my $c = shift;
677     - return [[$c->l('wbl_RBL_LIST') => 'RBL'],
678     - [$c->l('wbl_BLACK_LIST') => 'BLACK'],
679     - [$c->l('wbl_WHITE_LIST') => 'WHITE']];
680     -}
681     -
682     -
683     -sub get_badhelo {
684     -
685     - my %list = $wdb->get('badhelo')->props;
686     -
687     - my @badhelo = ();
688     - my ($parameter, $value) = "";
689     - while (($parameter,$value) = each(%list)) {
690     - next if ($parameter eq "type");
691     - push @badhelo, $parameter if ($value eq "Black");
692     - }
693     - my @badh = sort(@badhelo);
694     - return \@badh;
695     -}
696     -
697     -
698     -sub get_badmailfrom {
699     -
700     - my %list = $wdb->get('badmailfrom')->props;
701     -
702     - my @badmailfrom = ();
703     - my ($parameter, $value) = "";
704     - while (($parameter,$value) = each(%list)) {
705     - next if ($parameter eq "type");
706     - push @badmailfrom, $parameter if ($value eq "Black");
707     - }
708     - my @badmf = sort(@badmailfrom);
709     - return \@badmf;
710     -}
711     -
712     -
713     -sub get_blacklistfrom {
714     -
715     - my %list = $sdb->get('wbl.global')->props;
716     -
717     - my @blacklistfrom = ();
718     - my ($parameter, $value) = "";
719     -
720     - while (($parameter,$value) = each(%list)) {
721     - next if ($parameter eq "type");
722     - push @blacklistfrom, $parameter if ($value eq "Black");
723     - }
724     - my @blacklf = sort(@blacklistfrom);
725     - return \@blacklf;
726     -}
727     -
728     -
729     -sub get_whitelisthosts {
730     -
731     - my %list = $wdb->get('whitelisthosts')->props;
732     -
733     - my @whitelisthosts = ();
734     - my ($parameter, $value) = "";
735     -
736     - while (($parameter,$value) = each(%list)) {
737     - next if ($parameter eq "type");
738     - push @whitelisthosts, $parameter if ($value eq "White");
739     - }
740     - my @whitelh = sort(@whitelisthosts);
741     - return \@whitelh;
742     -}
743     -
744     -
745     -sub get_whitelisthelo {
746     -
747     - my %list = $wdb->get('whitelisthelo')->props;
748     -
749     - my @whitelisthelo = ();
750     - my ($parameter, $value) = "";
751     -
752     - while (($parameter,$value) = each(%list)) {
753     - next if ($parameter eq "type");
754     - push @whitelisthelo, $parameter if ($value eq "White");
755     - }
756     - my @whitelh = sort(@whitelisthelo);
757     - return \@whitelh;
758     -}
759     -
760     -
761     -sub get_whitelistsenders {
762     -
763     - my %list = $wdb->get('whitelistsenders')->props;
764     -
765     - my @whitelistsenders = ();
766     - my ($parameter, $value) = "";
767     -
768     - while (($parameter,$value) = each(%list)) {
769     - next if ($parameter eq "type");
770     - push @whitelistsenders, $parameter if ($value eq "White");
771     - }
772     - my @whitels = sort(@whitelistsenders);
773     - return \@whitels;
774     -}
775     -
776     -
777     -sub get_whitelistfrom {
778     -
779     - my %list = $sdb->get('wbl.global')->props;
780     -
781     - my @whitelistfrom = ();
782     - my ($parameter, $value) = "";
783     -
784     - while (($parameter,$value) = each(%list)) {
785     - next if ($parameter eq "type");
786     - push @whitelistfrom, $parameter if ($value eq "White");
787     - }
788     - my @whitels = sort(@whitelistfrom);
789     - return \@whitels;
790     -}
791     -
792     -
793     -sub create_modify_rbl {
794     -
795     - my $c = shift;
796     -
797     - my $dnsbl = $c->param('Dnsbl');
798     - $db->set_prop('qpsmtpd', 'DNSBL', "$dnsbl");
799     -
800     - my $rhsbl = $c->param('Rhsbl');
801     - $db->set_prop('qpsmtpd', 'RHSBL', "$rhsbl");
802     -
803     -
804     - my $sbllistcgi = $c->param('Sbllist');
805     - my @sbllistcgi = split /\s{2,}/, $sbllistcgi;
806     - my $sbllistdb = '';
807     - foreach (@sbllistcgi) { $sbllistdb = $sbllistdb . ',' . $_; }
808     - $sbllistdb =~ s/^,//;
809     -
810     - $db->set_prop('qpsmtpd', 'SBLList', "$sbllistdb");
811     -
812     - my $rbllistcgi = $c->param('Rbllist');
813     - my @rbllistcgi = split /\s{2,}/, $rbllistcgi;
814     - my $rbllistdb = '';
815     - foreach (@rbllistcgi) { $rbllistdb = $rbllistdb . ',' . $_; }
816     - $rbllistdb =~ s/^,//;
817     -
818     - $db->set_prop('qpsmtpd', 'RBLList', "$rbllistdb");
819     -
820     - #Update email settings
821     - #unless ( system ("/sbin/e-smith/signal-event", "smeserver-wbl-update") == 0 ){
822     - # return 'RBL : ' . $c->l('wbl_ERROR_UPDATING');
823     - #}
824     -
825     - return 'OK';
826     -}
827     -
828     -
829     -sub create_modify_black {
830     -
831     - my $c = shift;
832     -
833     - #-------------------------------
834     - # qmail badhelo
835     - #-------------------------------
836     - my %list = $wdb->get('badhelo')->props;
837     - my ($parameter, $value) = '';
838     -
839     - while (($parameter,$value) = each(%list)) {
840     - next if ($parameter eq "type");
841     - if ($value eq "Black") {
842     - $wdb->get_prop_and_delete('badhelo', "$parameter");
843     - }
844     - }
845     -
846     - my $BadHelo = $c->param("Badhelo");
847     - $BadHelo =~ s/\r\n/,/g;
848     - my @BadHelo = sort(split /,/, $BadHelo);
849     - foreach $BadHelo (@BadHelo) {
850     - $wdb->set_prop('badhelo', "$BadHelo", 'Black');
851     - }
852     -
853     - #-------------------------------
854     - # qmail badmailfrom
855     - #-------------------------------
856     - my %list_badmailfrom = $wdb->get('badmailfrom')->props;
857     - my ($parameter_badmailfrom, $value_badmailfrom) = "";
858     -
859     - while (($parameter_badmailfrom,$value_badmailfrom) = each(%list_badmailfrom)) {
860     - next if ($parameter_badmailfrom eq "type");
861     - if ($value_badmailfrom eq "Black") {
862     - $wdb->get_prop_and_delete('badmailfrom', "$parameter_badmailfrom");
863     - }
864     - }
865     -
866     - my $BadMailFrom = $c->param("Badmailfrom");
867     - $BadMailFrom =~ s/\r\n/,/g;
868     - my @BadMailFrom = sort(split /,/, $BadMailFrom);
869     - foreach $BadMailFrom (@BadMailFrom){
870     - $wdb->set_prop('badmailfrom', "$BadMailFrom", 'Black');
871     - }
872     - #-------------------------------
873     - # spamassassin blacklist_from
874     - #-------------------------------
875     - my %list_wblglobal = $sdb->get('wbl.global')->props;
876     - my ($parameter_wblglobal, $value_wblglobal) = "";
877     -
878     - while (($parameter_wblglobal,$value_wblglobal) = each(%list_wblglobal)) {
879     - next if ($parameter_wblglobal eq "type");
880     - if ($value_wblglobal eq "Black") {
881     - $sdb->get_prop_and_delete('wbl.global', "$parameter_wblglobal");
882     - }
883     - }
884     -
885     - my $BlacklistFrom = $c->param("Blacklistfrom");
886     - $BlacklistFrom =~ s/\r\n/,/g;
887     - my @BlacklistFrom = sort(split /,/, $BlacklistFrom);
888     - foreach $BlacklistFrom (@BlacklistFrom){
889     - $sdb->set_prop('wbl.global', "$BlacklistFrom", 'Black');
890     - }
891     -
892     - #Update email settings
893     - #unless ( system ("/sbin/e-smith/signal-event", "smeserver-wbl-update") == 0 ) {
894     - # return 'BLACK: '. $c->l('wbl_ERROR_UPDATING');
895     - #}
896     -
897     - return 'OK';
898     -}
899     -
900     -
901     -sub create_modify_white {
902     -
903     - my $c = shift;
904     -
905     - #-------------------------------
906     - # qpsmtpd whitelisthosts
907     - #-------------------------------
908     - my %list = $wdb->get('whitelisthosts')->props;
909     - my $parameter = "";
910     - my $value = "";
911     - while (($parameter,$value) = each(%list)) {
912     - if ($parameter eq "type") {next;}
913     -
914     - if ($value eq "White") {
915     - $wdb->get_prop_and_delete('whitelisthosts', "$parameter");
916     - }
917     - }
918     -
919     - my $WhitelistHosts = $c->param("Whitelisthosts");
920     - $WhitelistHosts =~ s/\r\n/,/g;
921     - my @WhitelistHosts = sort(split /,/, $WhitelistHosts);
922     - foreach $WhitelistHosts (@WhitelistHosts)
923     - {
924     - $wdb->set_prop('whitelisthosts', "$WhitelistHosts", 'White');
925     - }
926     -
927     - #-------------------------------
928     - # qpsmtpd whitelisthelo
929     - #-------------------------------
930     - my %list_whitelisthelo = $wdb->get('whitelisthelo')->props;
931     - my $parameter_whitelisthelo = "";
932     - my $value_whitelisthelo = "";
933     - while (($parameter_whitelisthelo,$value_whitelisthelo) = each(%list_whitelisthelo)) {
934     - if ($parameter_whitelisthelo eq "type") {next;}
935     -
936     - if ($value_whitelisthelo eq "White") {
937     - $wdb->get_prop_and_delete('whitelisthelo', "$parameter_whitelisthelo");
938     - }
939     - }
940     -
941     - my $WhitelistHelo = $c->param("Whitelisthelo");
942     - $WhitelistHelo =~ s/\r\n/,/g;
943     - my @WhitelistHelo = sort(split /,/, $WhitelistHelo);
944     - foreach $WhitelistHelo (@WhitelistHelo)
945     - {
946     - $wdb->set_prop('whitelisthelo', "$WhitelistHelo", 'White');
947     - }
948     -
949     - #-------------------------------
950     - # qpsmtpd whitelistsenders
951     - #-------------------------------
952     - my %list_whitelistsenders = $wdb->get('whitelistsenders')->props;
953     - my $parameter_whitelistsenders = "";
954     - my $value_whitelistsenders = "";
955     - while (($parameter_whitelistsenders,$value_whitelistsenders) = each(%list_whitelistsenders)) {
956     - if ($parameter_whitelistsenders eq "type") {next;}
957     -
958     - if ($value_whitelistsenders eq "White") {
959     - $wdb->get_prop_and_delete('whitelistsenders', "$parameter_whitelistsenders");
960     - }
961     - }
962     -
963     - my $WhitelistSenders = $c->param("Whitelistsenders");
964     - $WhitelistSenders =~ s/\r\n/,/g;
965     - my @WhitelistSenders = sort(split /,/, $WhitelistSenders);
966     - foreach $WhitelistSenders (@WhitelistSenders)
967     - {
968     - $wdb->set_prop('whitelistsenders', "$WhitelistSenders", 'White');
969     - }
970     -
971     - #-------------------------------
972     - # spamassassin whitelist_from
973     - #-------------------------------
974     - my %list_wblglobal = $sdb->get('wbl.global')->props;
975     - my $parameter_wblglobal = "";
976     - my $value_wblglobal = "";
977     - while (($parameter_wblglobal,$value_wblglobal) = each(%list_wblglobal)) {
978     - if ($parameter_wblglobal eq "type") {next;}
979     -
980     - if ($value_wblglobal eq "White") {
981     - $sdb->get_prop_and_delete('wbl.global', "$parameter_wblglobal");
982     - }
983     - }
984     -
985     - my $WhitelistFrom = $c->param("Whitelistfrom");
986     - $WhitelistFrom =~ s/\r\n/,/g;
987     - my @WhitelistFrom = sort(split /,/, $WhitelistFrom);
988     - foreach $WhitelistFrom (@WhitelistFrom){
989     - $sdb->set_prop('wbl.global', "$WhitelistFrom", 'White');
990     - }
991     -
992     - #Update email settings
993     - #unless ( system ("/sbin/e-smith/signal-event", "smeserver-wbl-update") == 0 ) {
994     - # return 'WHITE: '. $c->l('wbl_ERROR_UPDATING');
995     - #}
996     -
997     - return 'OK';
998     -}
999     -
1000     -
1001     -1;
1002     -
1003     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm
1004     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm 2020-04-14 16:50:36.000000000 +0400
1005     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm 2020-04-15 09:46:29.011000000 +0400
1006     @@ -359,50 +359,6 @@
1007     'dat_Date and time' => 'Date and time',
1008    
1009    
1010     -'wbl_SAVE' => 'Save',
1011     -'wbl_PERFORM' => 'Perform',
1012     -'wbl_FORM_TITLE' => 'E-mail WBL',
1013     -'wbl_OPERATION_STATUS_REPORT' => 'Operation status report',
1014     -'wbl_WBL_DESCRIPTION' => 'E-mail traffic is scanned and may be blocked due to the various screening methods enabled.
1015     -You may use this panel to define e-mail white/black lists.',
1016     -'wbl_RBL_LIST_DESCRIPTION' => 'RBL\'s List is used to adjust DNSBL and RHSBL.',
1017     -'wbl_RBL_LIST' => 'RBL\'s List',
1018     -'wbl_BLACK_LIST_DESCRIPTION' => 'Black lists are used for rejecting e-mail traffic.',
1019     -'wbl_BLACK_LIST' => 'Black List',
1020     -'wbl_WHITE_LIST_DESCRIPTION' => 'White lists are used for accepting e-mail traffic.',
1021     -'wbl_WHITE_LIST' => 'White List',
1022     -'wbl_BLACK_TITLE' => 'This server includes built-in support for using the admin defined black lists, badhelo and
1023     - badmailfrom.',
1024     -'wbl_DNSBL_DESCRIPTION' => 'DNSBL is an abbreviation for "DNS blacklist".',
1025     -'wbl_DNSBL_LABEL' => 'DNSBL status',
1026     -'wbl_RHSBL_DESCRIPTION' => 'RHSBL is an abbreviation for "Right Hand Side Blacklist". ',
1027     -'wbl_RHSBL_LABEL' => 'RHSBL status',
1028     -'wbl_BADHELO_DESCRIPTION' => 'Check a HELO message delivered from a connecting host.Reject any
1029     -that appear in badhelo during the \'helo\' stage.',
1030     -'wbl_BADHELO_LABEL' => 'qpsmtpd badhelo',
1031     -'wbl_BADMAILFROM_DESCRIPTION' => 'Check envelope sender addresses. Reject any
1032     -that appear (@host or user@host) in badmailfrom during the \'mail\' stage.',
1033     -'wbl_BADMAILFROM_LABEL' => 'qmail badmailfrom',
1034     -'wbl_WHITE_TITLE' => 'Use this panel to modify your servers White List settings. All entries will be enabled by default',
1035     -'wbl_RRFH_LABEL' => 'Whitelists status',
1036     -'wbl_WHITELISTHOSTS_DESCRIPTION' => 'Any IP address listed in whitelisthosts will be exempted
1037     -from any further validation during the \'connect\' stage.',
1038     -'wbl_WHITELISTHOSTS_LABEL' => 'qpsmtpd whitelisthosts',
1039     -'wbl_WHITELISTHELO_DESCRIPTION' => 'be exempted from further validation during the \'helo\' stage.',
1040     -'wbl_WHITELISTHELO_LABEL' => 'qpsmtpd whitelisthelo',
1041     -'wbl_WHITELISTSENDERS_DESCRIPTION' => 'will be exempted from further validation during the \'mail\' stage.',
1042     -'wbl_WHITELISTSENDERS_LABEL' => 'qpsmtpd whitelistsenders',
1043     -'wbl_WHITELISTFROM_DESCRIPTION' => 'will be exempted from spamassassin rejection.',
1044     -'wbl_WHITELISTFROM_LABEL' => 'spamassassin whitelist_from',
1045     -'wbl_BLACKLISTFROM_LABEL' => 'spamassassin blacklist_from',
1046     -'wbl_BLACKLISTFROM_DESCRIPTION' => 'will be rejected by spamassassin.',
1047     -'wbl_SBLLIST_LABEL' => 'RHSBL (qpsmtpd SBLList)',
1048     -'wbl_SBLLIST_DESCRIPTION' => 'RHS block list - \'right hand side\' of senders host/domain will be checked against the following servers',
1049     -'wbl_RBLLIST_LABEL' => 'DNSBL Zones (qpsmtpd RBLList)',
1050     -'wbl_RBLLIST_DESCRIPTION' => 'DNS Block List - senders IP address will be checked against the following servers',
1051     - 'wbl_RBL_TITLE' => 'Real-time Blackhole Lists are disabled by default. To help reduce spam you can enable RBLs here.',
1052     -
1053     -
1054     'prt_FORM_TITLE' => 'Add or remove printers',
1055     'prt_INITIAL_BTN' => 'Add printer',
1056     'prt_INITIAL_DESC' => '<P><A class="button-like" HREF="printers?page=0&Next=Add">Add printer</A></P>',
1057     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/fr.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/fr.pm
1058     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/fr.pm 2020-04-14 16:50:31.000000000 +0400
1059     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/fr.pm 2020-04-15 09:47:20.578000000 +0400
1060     @@ -569,43 +569,6 @@
1061     'dat_CURRENT_SETTING' => 'Réglage actuel',
1062     'dat_Date and time' => 'Date et heure',
1063    
1064     -'wbl_SAVE' => 'Sauvegarder',
1065     -'wbl_PERFORM' => 'Exécuter',
1066     -'wbl_FORM_TITLE' => 'WBL courriel',
1067     -'wbl_OPERATION_STATUS_REPORT' => 'Rapport d\'état de l\'opération',
1068     -'wbl_WBL_DESCRIPTION' => 'Le trafic courriel est scanné et peut être bloqué en raison des différentes méthodes de dépistage activées. Vous pouvez utiliser ce panneau pour définir les listes blanches / noires de courriels.',
1069     -'wbl_RBL_LIST_DESCRIPTION' => 'La liste RBL est utilisée pour ajuster DNSBL et RHSBL.',
1070     -'wbl_RBL_LIST' => 'Liste RBL',
1071     -'wbl_BLACK_LIST_DESCRIPTION' => 'Les listes noires sont utilisées pour refuser le trafic de courriels.',
1072     -'wbl_BLACK_LIST' => 'Liste noire',
1073     -'wbl_WHITE_LIST_DESCRIPTION' => 'Les listes blanches sont utilisées pour accepter le trafic de courriels.',
1074     -'wbl_WHITE_LIST' => 'Liste blanche',
1075     -'wbl_BLACK_TITLE' => 'Ce serveur inclus un support intégré permettant à l\'administrateur de définir des listes noires, badhelo et badmailfrom.',
1076     -'wbl_DNSBL_DESCRIPTION' => 'DNSBL est une abréviation Anglaise pour "Liste noire DNS".',
1077     -'wbl_DNSBL_LABEL' => 'Statut DNSBL',
1078     -'wbl_RHSBL_DESCRIPTION' => 'RHSBL est une abréviation pour "Right Hand Side Blacklist".',
1079     -'wbl_RHSBL_LABEL' => 'Rapport d\'état de RHSBL',
1080     -'wbl_BADHELO_DESCRIPTION' => 'Vérifie un message HELO livré par un hôte se connectant. Ceci refuse tout ceux qui apparaissent dans badhelo au moment de la phase \'helo\'.',
1081     -'wbl_BADHELO_LABEL' => 'qpsmtpd badhelo',
1082     -'wbl_BADMAILFROM_DESCRIPTION' => 'Vérifie l\'adresse de l\'expéditeur. Refuse tout ce qui apparaît (@hôte ou utilisateur@hôte) dans\'badmailfrom\' pendant la phase \'mail\'',
1083     -'wbl_BADMAILFROM_LABEL' => 'qmail \'badmailfrom\'',
1084     -'wbl_WHITE_TITLE' => 'Utilisez cette page pour modifier les paramètres de liste blanche de de votre serveur. Toutes les entrées seront activées par default',
1085     -'wbl_RRFH_LABEL' => 'État des listes blanches',
1086     -'wbl_WHITELISTHOSTS_DESCRIPTION' => 'Toute IP présente dans whitelisthosts sera exemptée de toutes validations supplémentaires pendant la phase \'connexion\'',
1087     -'wbl_WHITELISTHOSTS_LABEL' => 'Qpsmtpd whitelisthosts',
1088     -'wbl_WHITELISTHELO_DESCRIPTION' => 'Tout hôte qui émet un HELO correspondant à une entrée dans whitelisthelo sera exempté de toute autre validation pendant la phase \'helo\'',
1089     -'wbl_WHITELISTHELO_LABEL' => 'qpsmtpd whitelisthelo',
1090     -'wbl_WHITELISTSENDERS_DESCRIPTION' => 'Tout expéditeur d\'un courriel (hôte.domaine ou utilisateur@hôte.domaine) correspondant à une entrée dans la liste blanche des expéditeurs (whitelistsenders) sera exempté de toutes validations supplémentaires durant la phase \'mail\'.',
1091     -'wbl_WHITELISTSENDERS_LABEL' => 'qpsmtpd whitelistsenders',
1092     -'wbl_WHITELISTFROM_DESCRIPTION' => 'Tout expéditeur d\'un courriel (*@hôte ou utilisateur@hôte) correspondant à une entrée dans whitelist_from sera exempté d\'un rejet par spamassassin.',
1093     -'wbl_WHITELISTFROM_LABEL' => 'spamassassin whitelist_from',
1094     -'wbl_BLACKLISTFROM_LABEL' => 'spamassassin blacklist_from',
1095     -'wbl_BLACKLISTFROM_DESCRIPTION' => 'Tout expéditeur d\'un courriel (*@hôte ou utilisateur@hôte) correspondant à une entrée dans blacklist_from sera rejeté par spamassassin.',
1096     -'wbl_SBLLIST_LABEL' => 'RHSBL (qpsmtpd SBLList)',
1097     -'wbl_SBLLIST_DESCRIPTION' => 'Liste de blocage RHS - (Right Hand Side) des expéditeurs hôte / domaine sera vérifié contre les serveurs suivants',
1098     -'wbl_RBLLIST_LABEL' => 'DNSBL Zones (qpsmtpd RBLList)',
1099     -'wbl_RBLLIST_DESCRIPTION' => 'Liste de bloquage DNS -L\'adresse IP des expéditeurs sera vérifiée à partir des serveurs suivants.',
1100     - 'wbl_RBL_TITLE' => 'Les listes noires en temps réel sont désactivés par défaut. Pour aider à réduire le spam vous pouvez activer les RBLs ici.',
1101    
1102     'prt_FORM_TITLE' => 'Gestion des imprimantes',
1103     'prt_INITIAL_BTN' => 'Ajouter une imprimante',
1104     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Backup/backup_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Backup/backup_en.lex
1105     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Backup/backup_en.lex 1970-01-01 04:00:00.000000000 +0400
1106     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Backup/backup_en.lex 2020-04-13 20:52:34.000000000 +0400
1107     @@ -0,0 +1,281 @@
1108     +'bac_BACKUP_TITLE' => 'Backup or restore server data',
1109     +'bac_BACKUP_DESC' => '<P>The server provides two ways to back up and restore
1110     +your server: using your local desktop or a tape drive.</P>
1111     +<P>The first method creates a copy of your server configuration and user
1112     +data files, and downloads it to your local desktop via your web browser.
1113     +Currently your configuration and data files total approximately
1114     +<b>[_1]</b>. The backup file will be somewhat less than this,
1115     +depending on how compressible the data are. The \"Verify desktop backup
1116     +file\" option can be used to check the integrity of a desktop backup
1117     +file.</P>
1118     +<P>The tape backup method uses a software package called <I>[_2]</I>
1119     +to back up your entire hard disk to tape every night. This requires a
1120     +supported tape drive and a tape that is not write-protected. The backup
1121     +is performed automatically at the selected time every night (with a
1122     +reminder automatically e-mailed to the administrator during the day).
1123     +Currently your hard disk contains <b>[_3]</b> of data.</P>
1124     +<P>Both restore methods allow you to restore your configuration and user
1125     +data files. <b>Ideally, the restore should be performed on a freshly
1126     +installed server</b>.</P>',
1127     +'bac_BACKUP_DESC_DAR' => '<P>Three ways are provided to back up and restore your
1128     +server: using a tape drive, using a network share or a local
1129     +removable disk, or using your local desktop.</P>
1130     +<P>Tape Backup. This method uses a software package called <I>[_1]</I>
1131     +to back up your entire hard disk to tape every night. This requires a
1132     +supported tape drive and a tape that is not write-protected. The backup
1133     +is performed automatically at the selected time every night (with a
1134     +reminder automatically e-mailed to the administrator during the day).
1135     +Currently your hard disk contains <b>[_2]</b> of data.</P>
1136     +<P>Workstation backup. This method uses a software package called <I>dar</I>
1137     +to back up your server configuration and data files to a network share
1138     +or a local removable disk such as a USB disk.
1139     +You can manage how many rotating sets of backups are kept,
1140     +and how many incremental backups to have in each set.
1141     +The backup is performed automatically at the selected time every day. Currently
1142     +configuration and data files total approximately <b>[_3]</b> uncompressed.
1143     +Twice the compressed data size must be available on the backup share.</P>
1144     +<P>Backup to Desktop. This method creates a copy of your server
1145     +configuration and user data files, and downloads it to your
1146     +local desktop via your web browser.
1147     +Currently your configuration and data files total approximately
1148     +<b>[_3]</b>. The backup file will be somewhat less than this,
1149     +depending on how much the data can be compressed.
1150     +This file can be used to restore the server from the console if you
1151     +copy it to a local removable disk such as a USB disk.</P>
1152     +<P>All backup methods allow you to restore your configuration and user
1153     +data files. Workstation backup provides individual file restore. <b>Ideally,
1154     +full restore should be performed on a freshly installed server</b>.</P>',
1155     +'bac_BACKUP_CONFIG_STATUS' => 'Backup configuration and status',
1156     +'bac_BACKUPS_RUN_AT' => 'Regular tape backups will run at: ',
1157     +'bac_REMINDER_MESSAGE_AT' => 'Reminder messages will be sent at: ',
1158     +'bac_TAPE_BACKUPS' => 'Tape backups are ',
1159     +'bac_DESKTOP_BACKUP' => 'Backup to desktop',
1160     +'bac_DESKTOP_RESTORE' => 'Restore from desktop',
1161     +'bac_DESKTOP_VERIFY' => 'Verify desktop backup file',
1162     +'bac_TAPE_CONFIGURE' => 'Configure tape backup',
1163     +'bac_TAPE_RESTORE' => 'Restore from tape',
1164     +'bac_RESTORE_IN_PROGRESS_BEGAN_AT' => 'A system restore is in progress. It began at: ',
1165     +'bac_REFRESH_THIS_DISPLAY' => 'Refresh this display',
1166     +'bac_CONFIGURE_TAPE_BACKUP' => 'Configure tape backup',
1167     +'bac_RESTORE_COMPLETED' => 'A system restore has completed',
1168     +'bac_STARTED_AT' => 'It began at: ',
1169     +'bac_FINISHED_AT' => 'and finished at: ',
1170     +'bac_YOU_MUST_REBOOT' => 'You must reboot the server to activate any configuration changes that were
1171     +made as a result of this restore.',
1172     +'bac_REBOOT' => 'Reboot',
1173     +'bac_SELECT_AN_ACTION' => 'Select an action',
1174     +'bac_X_BACKUP_OR_RESTORE' => 'X Backup or restore server data',
1175     +'bac_ERR_PRE_BACKUP' => 'Error occurred during pre-backup actions.',
1176     +'bac_ERR_PRE_RESTORE' => 'Error occurred during pre-restore actions.',
1177     +'bac_ERR_POST_BACKUP' => 'Error occurred during post-backup actions.',
1178     +'bac_RESTORE_SERVER_CONFIG' => 'Restore server configuration',
1179     +'bac_DESKTOP_RESTORE_DESC' => 'This process will upload a server backup file from your local desktop to your server and restore the configuration and user data files. <B>The restore should be performed on a freshly installed server</B>.',
1180     +'bac_FREE_SPACE' => 'You have approximately [_1] free space on the server.
1181     +Check that desktop backup file is less than [_2] before
1182     +commencing the restore.',
1183     +'bac_MUST_REBOOT_AFTER_RESTORE' => 'After the restore completes you must reboot the server.',
1184     +'bac_FILE_TO_RESTORE' => 'Backup file to restore from',
1185     +'bac_VERIFY_BACKUP_DESC' => '
1186     +<p>This option will display the names of all files
1187     +in a previously created desktop backup file. You
1188     +can use this option to verify the contents of the
1189     +backup file.</p> ',
1190     +'bac_SELECT_BACKUP_FILE' => 'Select backup file',
1191     +'bac_VERIFY' => 'Verify',
1192     +'bac_RESTORE_CANNOT_PROCEED' => 'Unable to proceed with restore of server configuration',
1193     +'bac_ANOTHER_RESTORE_IN_PROGRESS' => 'Another restore is in progress. Please try again later.',
1194     +'bac_RESTORE_IN_PROGRESS' => 'Restore in progress',
1195     +'bac_RESTORE_IN_PROGRESS_DESC' => 'After the restore completes you must reboot the server. Your restore is
1196     +complete when the words "Restore complete" appear at the bottom of your screen.
1197     +',
1198     +'bac_FILES_HAVE_BEEN_RESTORED' => 'The following files and directories have been restored:',
1199     +'bac_RESTORE_FAILED_MSG' => 'Restore failed! There was an error in reading the backup file.',
1200     +'bac_RESTORE_COMPLETE' => 'Restore complete',
1201     +'bac_ERR_RESTORING_GID' => 'Error occurred while restoring gid of \'www\'',
1202     +'bac_ERR_RESTORING_INITIAL_GRP' => 'Error occurred while restoring initial group of \'www\'.',
1203     +'bac_RESTORE_FAILED' => 'Restore failed! The backup file was incomplete.',
1204     +'bac_COULD_NOT_EXEC_PIPELINE' => 'Could not execute backup pipeline: ',
1205     +'bac_COULD_NOT_DECODE' => 'Could not decode backup file: ',
1206     +'bac_FILES_IN_BACKUP' => 'The following files are considered in the backup :',
1207     +'bac_VERIFY_COMPLETE' => 'Verification is complete',
1208     +'bac_BACKUP_FILE_INCOMPLETE' => 'The backup file was incomplete',
1209     +'bac_ERR_READING_FILE' => 'There was an error in reading the backup file.',
1210     +'bac_ENABLE_DISABLE_TAPE' => 'Enable/Disable Nightly Tape Backup',
1211     +'bac_TAPE_CONFIG_DESC' => '<p>Select whether you wish to enable nightly backups. Then indicate the
1212     +desired times for the backup and the load tape reminder.</p> <p>The tape
1213     +backup requires a supported tape drive. A warning message will be sent to
1214     +the administrator at the designated reminder time if the tape drive is
1215     +empty.</p>',
1216     +'bac_ENABLE_TAPE_BACKUP' => 'Enable tape backup',
1217     +'bac_TAPE_BACKUP_TIME' => 'Tape backup time of day (hour/min)',
1218     +'bac_LOAD_TAPE_REMINDER_TIME' => 'Load tape reminder time of day (hour/min)',
1219     +'bac_AM/PM' => 'AM/PM',
1220     +'bac_AM' => 'AM',
1221     +'bac_PM' => 'PM',
1222     +'bac_UPDATE_CONF' => 'Update',
1223     +'bac_UPDATING_TAPE_CONF' => 'Updating tape backup configuration',
1224     +'bac_ERR_INVALID_HOUR' => 'Error: invalid backup hour: ',
1225     +'bac_BETWEEN_0_AND_12' => 'Please choose an hour between 0 and 12.',
1226     +'bac_ERR_INVALID_MINUTE' => 'Error: invalid backup minute: ',
1227     +'bac_BETWEEN_0_AND_59' => 'Please choose a minute between 0 and 59.',
1228     +'bac_ERR_INVALID_REMINDER_HOUR' => 'Error: invalid reminder hour: ',
1229     +'bac_ERR_INVALID_REMINDER_MINUTE' => 'Error: invalid reminder minute: ',
1230     +'bac_ERR_CONF_BACKUP' => 'Error occurred during conf-backup event.',
1231     +'bac_SUCCESSFULLY_ENABLED_TAPE' => 'Successfully enabled tape backups',
1232     +'bac_WITH_BACKUP_TIME' => 'with backup time: ',
1233     +'bac_WITH_REMINDER_TIME' => 'and load tape reminder time: ',
1234     +'bac_SUCCESSFULLY_DISABLED' => 'Successfully disabled tape backups',
1235     +'bac_RESTORE_CONF_FROM_TAPE' => 'Restore server configuration from tape backup',
1236     +'bac_RESTORE_CONF_FROM_TAPE_DESC' => '<P>This process will restore the configuration and user data files from a
1237     +server tape backup. <B>The restore should be performed on a freshly installed server</B>.</P>
1238     +<P>Ensure that you have loaded the desired backup tape into the tape drive
1239     +before proceeding.</P>
1240     +<P>After the restore completes you must reboot the server.</P>',
1241     +'bac_RESTORE_FROM_TAPE' => 'Restore From Tape',
1242     +'bac_UNABLE_TO_RESTORE_CONF' => 'Unable to restore server configuration',
1243     +'bac_RESTORING_FROM_TAPE' => 'Restoring From Tape',
1244     +'bac_NOW_RESTORING_FROM_TAPE' => 'Your server configuration and user data
1245     +files are now being restored from tape.',
1246     +'bac_ERR_RESTORING_FROM_TAPE' => 'Error occurred restoring files from tape.',
1247     +'bac_ERR_UPDATING_CONF_AFTER_TAPE_RESTORE' => 'Error occurred while updating system configuration after tape
1248     +restore.',
1249     +'bac_COULD_NOT_FORK' => 'Could not fork: ',
1250     +'bac_SERVER_REBOOT' => 'Server reboot',
1251     +'bac_SERVER_WILL_REBOOT' => 'Your server will now reboot.',
1252     +'bac_NO_UID_FOR_NAME' => 'Could not get uid for user named: ',
1253     +'bac_PAGE_REFRESH_IN' => 'This page will refresh to the status display in [_1] seconds, or
1254     +click <a href="/server-manager/cgi-bin/backup">here</a>.',
1255     +'bac_Backup or restore' => 'Backup or restore',
1256     +'bac_BACKUP_DESKTOP_TOO_BIG' => 'Your server has too much data for a reliable backup to desktop.',
1257     +'bac_WORKSTN_BACKUPS' => 'Workstation backups are ',
1258     +'bac_WKBACKUPS_RUN_AT' => 'Regular workstation backups will run at: ',
1259     +'bac_WORKSTN_CONFIGURE' => 'Configure workstation backup',
1260     +'bac_WORKSTN_VERIFY' => 'Verify workstation backup',
1261     +'bac_WORKSTN_RESTORE' => 'Restore from workstation',
1262     +'bac_CONFIGURE_WORKSTN_BACKUP' => 'Configure Workstation Backup',
1263     +'bac_ENABLE_DISABLE_WORKSTN' => 'Enable/Disable Daily Workstation Backup',
1264     +'bac_ENABLE_WORKSTN_BACKUP' => 'Enable Workstation Backup',
1265     +'bac_WORKSTN_BACKUP_TIME' => 'Workstation backup time of day (hour/min)',
1266     +'bac_UPDATING_WORKSTN_CONF' => 'Updating workstation backup configuration',
1267     +'bac_SUCCESSFULLY_ENABLED_WORKSTN' => 'Successfully enabled workstation backups',
1268     +'bac_SUCCESSFULLY_DISABLED_WORKSTN' => 'Successfully disabled workstation backups',
1269     +'bac_VERIFY_WORKSTN_BACKUP_FILE' => 'Verify workstation backup',
1270     +'bac_VERIFY_WORKSTN_BACKUP_DESC' => '<p>This option will display the names of all files
1271     +in a previously created workstation daily backup. You
1272     +can use this option to verify the contents of the
1273     +backup.<b>You must choose the backup you want to verify</b></p>
1274     +<p>Only files flagged with [Saved] are contained in the backup.</p>
1275     +<br/>Backup files are verified from shared folder :',
1276     +'bac_RESTORE_CONF_FROM_WORKSTN' => 'Restore server configuration from workstation backup',
1277     +'bac_RESTORE_CONF_FROM_WORKSTN_DESC' => '<p>This process will restore the configuration and user data files from a
1278     +Server workstation backup. <b>The restore
1279     +should be performed on a freshly installed Server</b>.</p>
1280     +<p>Ensure that choose the right backup to restore below
1281     +before proceeding.</p>
1282     +<p>After the restore completes you must reboot the server.</p>
1283     +Backup will be restored from : ',
1284     +'bac_RESTORE_FROM_WORKSTN' => 'Restore From Workstation',
1285     +'bac_RESTORING_FROM_WORKSTN' => 'Restoring From Workstation',
1286     +'bac_NOW_RESTORING_FROM_WORKSTN' => 'Your server configuration and user data
1287     +files are now being restored from workstation shared folder.',
1288     +'bac_ERR_RESTORING_FROM_WORKSTN' => 'Error occurred restoring files from workstation.',
1289     +'bac_ERR_UPDATING_CONF_AFTER_WORKSTN_RESTORE' => 'Error occurred while updating system configuration after workstation
1290     +restore.',
1291     +'bac_WORKSTN_NAME' => 'Workstation IP or hostname',
1292     +'bac_WORKSTN_BACKUP_SETTINGS' => 'Workstation Backup Settings',
1293     +'bac_SHARED_FOLDER_NAME' => 'Backup share',
1294     +'bac_WORKSTN_LOGIN' => 'Login name',
1295     +'bac_WORKSTATION_BACKUP_DEST' => 'Backup workstation settings',
1296     +'bac_CONFIGURE_WORKSTN_BACKUP_DESC' => 'You can set the number of
1297     +successive backup sets to keep on the workstation, with automatic rotation.
1298     +Each set may contain saved data for several consecutive days.
1299     +In this case first backup of the set is full backup, others daily backups are
1300     +incremental. You can also set a time limit for each backup session or for incremental
1301     +backups only. When this limit occurs, backup is cleanly stopped and the next
1302     +incremental backup will safely continue with unsaved and modified datas.',
1303     +'bac_ERR_INVALID_WORKSTN' => 'Invalid Workstation IP or Hostname ',
1304     +'bac_ERR_INVALID_FOLDER' => 'Invalid share name',
1305     +'bac_ERR_INVALID_LOGIN' => 'Invalid Login',
1306     +'bac_ERR_INVALID_PASSWORD' => 'Invalid Password',
1307     +'bac_ERR_ALREADY_MOUNTED' => 'Backup directory is already mounted',
1308     +'bac_ERR_MOUNTING_SMBSHARE' => 'Unable to mount workstation shared folder',
1309     +'bac_ERR_NOT_MOUNTED' => 'Backup directory is not mounted',
1310     +'bac_WORKSTN_NOT_SET' => 'You must first correctly configure your workstation backup',
1311     +'bac_NO_BACKUPS_TO_RESTORE' => 'There is no backup set on configured workstation shared folder. Verify your configuration settings.',
1312     +'bac_NUMBER_OF_SETS' => 'Number of rotating backup sets',
1313     +'bac_NUMBER_OF_FILES_IN_SET' => 'Daily backups in each set',
1314     +'bac_ERR_INVALID_SETS_NUMBER' => 'Sets number must be 1 or greater',
1315     +'bac_ERR_INVALID_FILES_IN_SET_NUMBER' => 'This number must be 1 or greater. First backup in set is <b>full</b> others are <b>incrementals</b>',
1316     +'bac_WORKSTN_TIMEOUT' => 'Optional backup session timeout (hours)',
1317     +'bac_INC_ONLY_TIMEOUT' => 'Don\'t timeout full backup sessions',
1318     +'bac_ERR_INVALID_TIMEOUT' => 'Maximum backup time must be set between 1 and 24 hours',
1319     +'bac_ERR_NO_HOST_DIR' => 'No directory for your host in shared folder. Maybe your host name is different from backup ones',
1320     +'bac_ERROR_READING_FILE' => 'Error while reading files from',
1321     +'bac_WORKSTN_SEL_RESTORE' => 'Selective file restore from workstation',
1322     +'bac_WORKSTN_SELECTIVE_RESTORE' => 'Workstation selective file restore',
1323     +'bac_ALL_BACKUPS' => 'All backups',
1324     +'bac_WORKSTN_SEL_REST_DESC' => 'This process will restore only specified files and directories. You must first choose
1325     +the backup from which the files will be restored. If you don\'t know in which backup
1326     +are the required files, you can select \'All backups\' option. <br/><br/>
1327     +The next panel will display available files and directories,
1328     +so you can choose the ones to restore. To restrict the number of files and directories
1329     +displayed in this panel, you have the option to give now a filtering expression,
1330     +applied as a regular expression to the displayed names.<br/><br/>
1331     +You have the responsibility not to restore files which could break the
1332     +functioning of your server.<br/> <br/>Currently, files will be restored from :',
1333     +'bac_BACKUP_CHOICE' => 'Selecting files to display',
1334     +'bac_SELECT_DATE_BEFORE' => 'Restore most recent before',
1335     +'bac_FILTER_EXPRESSION' => 'Names filtered by',
1336     +'bac_READ_COMPLETE' => 'You can choose all the directories and files you want to restore in the displayed list
1337     +(use ctrl or shift for multiple selection). <br/> <b>Warning :</b> If you select a directory,
1338     +all contained files and directories will be restored.<p/>
1339     +By default the most recent version of selected files is restored, but if you specify a date
1340     +in the format <i>[ [ [yyyy/]mm/]dd-]hh:mm[:ss]</i> the process
1341     +will restore only the most recent version modified <b>before the given date</b>.',
1342     +'bac_ERR_INVALID_SELDATE' => 'Date format is invalid, must be [ [ [yyyy/]mm/]dd-]hh:mm[:ss]. ie: 2005/12/31-08:23:32 or
1343     +10-08:32 or 08:32',
1344     +'bac_SELECT_FILES_TO_RESTORE' => 'Select files to restore',
1345     +'bac_ERR_WHILE_UNMOUNTING' => 'Error occurs when unmounting distant share',
1346     +'bac_ERR_DAR_CATALOG' => 'Error when using Dar catalog',
1347     +'bac_COMPRESSION_LEVEL' => 'Backup compression level [0-9]',
1348     +'bac_FULL_ONLY_ON' => 'Full backup is allowed on',
1349     +'bac_ERR_INVALID_COMPRESSION' => 'Compression level must be set between 0 (no compression) and 9 (maximum compression)',
1350     +'bac_DOW' => 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Everyday',
1351     +'bac_CONFIGURATION_TO_BE_DONE' => 'Please configure the backup settings.',
1352     +'bac_WORKSTN_BACKUP_DESC' => '<p>This panel displays the present workstation backup configuration. You can
1353     +change it in this panel and the next one.</p><p/>',
1354     +'bac_WORKSTN_BACKUP_NOT_CONFIGURED' => '<p>Presently, workstation backup is not configured. You can set this configuration
1355     +with this panel and the next one.</p><p/>',
1356     +'bac_WORKSTN_BACKUP_ENABLED' => 'Backup is ',
1357     +'bac_WORKSTN_BACKUP_USB' => 'Backup is made on local removable disk',
1358     +'bac_WORKSTN_BACKUP_MNT' => 'Backup is made on mounted disk',
1359     +'bac_WORKSTN_BACKUP_HOST' => 'Backup is made on LAN workstation ',
1360     +'bac_WORKSTN_BACKUP_VFSTYPE' => ' via ',
1361     +'bac_WORKSTN_BACKUP_SHARE' => 'Destination backup share folder is ',
1362     +'bac_WORKSTN_BACKUP_TOD' => 'Daily backup occurs at ',
1363     +'bac_LOGIN' => 'Login is ',
1364     +'bac_PASSWORD' => 'Password is ',
1365     +'bac_WORKSTN_BACKUP_SETSNUM' => 'Number of rotating backup sets is ',
1366     +'bac_WORKSTN_BACKUP_DAYSINSET' => 'Number of daily backups contained in each set is ',
1367     +'bac_WORKSTN_BACKUP_COMPRESSION' => 'Compression level (0-9) of backup is ',
1368     +'bac_WORKSTN_BACKUP_TIMEOUT' => 'Each daily backup session is cleanly timed out after ',
1369     +'bac_WORKSTN_BACKUP_INCONLY_TIMEOUT' => 'except full backups which are cleanly timed out after 24 hours',
1370     +'bac_WORKSTN_FULL_BACKUP_EVERYDAY' => 'Full backup sessions (new backup set) are allowed everyday',
1371     +'bac_WORKSTN_FULL_BACKUP_DAY' => 'Full backup session (new backup sets) is allowed only on',
1372     +'bac_WORKSTATION_BACKUP_SETCONF' => 'Create or modify workstation backup configuration',
1373     +'bac_SELECT_VFS_TYPE' => 'Select the type of share for backup destination',
1374     +'bac_ERR_NO_USB_DISK' => 'Error : No removable disk available. Please connect a removable disk or select another type of workstation backup.',
1375     +'bac_ERR_NO_MOUNTED_DISK' => 'Error : No mounted disk available. Please mount a disk or select another type of workstation backup.',
1376     +'bac_HOURS' => 'hours.',
1377     +'bac_ERR_NO_FULL_BACKUP' => 'Aborting restore because needed full backup is missing or unreadable.',
1378     +'bac_ERR_NO_INC_BACKUP' => 'Aborting restore because the set has missing or unreadable incremental backup number',
1379     +'bac_CHECK_TO_VERIFY_FULL_RESTORE' => 'Check here to test integrity of all backups needed for a full restore with the selected backup ',
1380     +'bac_TESTING_NEEDED_BACKUPS_FOR_RESTORE' => 'Testing all backups needed for a full restore with selected backup',
1381     +'bac_TESTED_BACKUP' => 'Testing integrity of backup',
1382     +'bac_RESTORE_VERIFY_FAILED' => 'Verify integrity failed',
1383     +'bac_CHECK_INTEGRITY_WARNING' => 'Warning : For large backups, checking integrity may be a long task and should be made with daily workstation backup disabled.',
1384     +'bac_cifs' => 'cifs',
1385     +'bac_nfs' => 'nfs',
1386     +'bac_local removable disk' => 'Local removable disk',
1387     +'bac_Mounted disk' => 'Mounted disk',
1388     +'bac_ERROR_WHEN_TESTING_REMOTE_SERVER' => 'The parameters have been saved, however the remote host is not reachable, please check your settings.',
1389     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Bugreport/bugreport_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Bugreport/bugreport_en.lex
1390     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Bugreport/bugreport_en.lex 1970-01-01 04:00:00.000000000 +0400
1391     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Bugreport/bugreport_en.lex 2020-04-15 00:22:13.046000000 +0400
1392     @@ -0,0 +1,29 @@
1393     +'bugr_FORM_TITLE' => 'Report a Bug',
1394     +'bugr_DO_NOT_PANIC' => 'Don\'t Panic!',
1395     +'bugr_SME_EXPERIENCE' =>
1396     +'Unfortunately there is no software without bugs, and you probably came to this page because of an issue you are experiencing with your SME-server installation.',
1397     +'bugr_PLEASE_REPORT_HERE' =>
1398     +'In order to help developers to diagnose and fix your issue, please download one of the following text templates, fill it out and paste it into your bug report at',
1399     +'bugr_USE_TEMPLATE' =>
1400     +'Please refer to the following link on how to report efficiency a bug and use its template',
1401     +'bugr_FOLLOWING_REPORT_MIGHT_HELP' =>
1402     +'It will also help if you provide some vital information on the configuration of your SME-server in your bug report. By clicking on the "Create configuration report" button below, you can create and download a text file containing this information. Please attach this file to your bug report as well.',
1403     +'bugr_REPORT_CONTENT' =>
1404     +'The report will contain the following information',
1405     +'bugr_SME_VERSION' =>
1406     +'Koozali SME Server version',
1407     +'bugr_SERVER_MODE' => 'Server mode',
1408     +'bugr_KERNEL_AND_ARCH' => 'Current running kernel version and architecture',
1409     +'bugr_INSTALLED_RPMS' => 'A list of additional RPMs installed on your server',
1410     +'bugr_ALTERED_TEMPLATES' => 'A list of SME templates that have been altered on your server from a base install',
1411     +'bugr_ALTERED_EVENTS' => 'A list of SME events that have been altered on your server from a base install',
1412     +'bugr_YUM_REPOS' => 'A list of additional software repositories configured on your server',
1413     +'bugr_PRIVACY' => 'No privacy related data (ie. users, passwords, IP addresses) will be included in the report.',
1414     +'bugr_CREATE_REPORT' => 'Create configuration report',
1415     +'bugr_DONATING' => 'Have you considered donating?',
1416     +'bugr_AWARE_SME' => 'You are probaly aware that SME server is developed and supported by a collaborative community of volunteers from all over the world. While SME server is free to download and use, maintaining the infrastructure behind the project (eg. hosting the forums and wiki, providing repositories and build servers etc.) costs real money in the real world.',
1417     +'bugr_YOUR_HELP' => 'In very much the same way you need us to address your current issue, we need YOUR help to keep this project alive!',
1418     +'bugr_CONSIDER_DONATING' => 'Please consider donating to the project by clicking on the image link below:',
1419     +'bugr_THANK_YOU' => 'Thank you for your support!',
1420     +'bugr_Download this report' => 'Download this report !',
1421     +'bugr_Report a bug' => 'Report a bug',
1422     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Bugreport/bugreport_fr.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Bugreport/bugreport_fr.lex
1423     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Bugreport/bugreport_fr.lex 1970-01-01 04:00:00.000000000 +0400
1424     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Bugreport/bugreport_fr.lex 2020-04-15 00:23:19.479000000 +0400
1425     @@ -0,0 +1,46 @@
1426     +'bugr_FORM_TITLE' =>
1427     +'Rapporter un bogue',
1428     +'bugr_DO_NOT_PANIC' =>
1429     +'Ne paniquez pas !',
1430     +'bugr_SME_EXPERIENCE' =>
1431     +'Il n\'y a malheureusement aucun logiciel sans bogues, et vous en avez probablement rencontré un avec votre Serveur SME pour consulter cette page.',
1432     +'bugr_PLEASE_REPORT_HERE' =>
1433     +'Afin d\'aider les développeurs à diagnostiquer et résoudre votre problème, merci d\'utiliser un des gabarits suivant, remplissez le et collez le tout dans votre rapport de bogue à ',
1434     +'bugr_USE_TEMPLATE' =>
1435     +'Merci de vous référer à ce lien sur comment rapporter efficacement un bogue et utilisez le comme un gabarit ',
1436     +'bugr_FOLLOWING_REPORT_MIGHT_HELP' =>
1437     +'Cela aidera aussi si vous fournissez des informations importantes sur la configuration de votre Serveur SME dans votre rapport de bogue. En cliquant sur le bouton "Créer un rapport de configuration" ci-dessous, vous pouvez créer et télécharger un fichier texte contenant ces informations. Merci d\'attacher ce fichier à votre rapport de bogue.',
1438     +'bugr_REPORT_CONTENT' =>
1439     +'Le rapport contiendra les informations suivantes ',
1440     +'bugr_SME_VERSION' =>
1441     +'Version du Serveur Koozali SME',
1442     +'bugr_SERVER_MODE' =>
1443     +'Mode d’installation du serveur',
1444     +'bugr_KERNEL_AND_ARCH' =>
1445     +'Version chargée du kernel et architecture',
1446     +'bugr_INSTALLED_RPMS' =>
1447     +'Une liste des RPMs additionnels installés sur votre serveur',
1448     +'bugr_ALTERED_TEMPLATES' =>
1449     +'Une liste des gabarits SME qui ont été altérés sur votre serveur par rapport à une installation de base',
1450     +'bugr_ALTERED_EVENTS' =>
1451     +'Une liste des événements SME qui ont été altérés sur votre serveur par rapport à une installation de base',
1452     +'bugr_YUM_REPOS' =>
1453     +'Une liste des dépôts logiciels qui ont été configurés sur votre serveur',
1454     +'bugr_PRIVACY' =>
1455     +'Aucune donnée compromettant votre vie privée n\'est incluse (comme vos utilisateurs, mots de passe ou adresses IP). ',
1456     +'bugr_CREATE_REPORT' =>
1457     +'Créer un rapport de configuration',
1458     +'bugr_DONATING' =>
1459     +'Avez-vous considéré faire une donation ?',
1460     +'bugr_AWARE_SME' =>
1461     +'Vous savez probablement que SME Serveur est développé et maintenu par une communauté de volontaires du monde entier. Bien que SME Serveur est libre à télécharger et à utiliser, maintenir son infrastructure en arrière du projet (incluant héberger les forums, wiki, fournir les dépôts de téléchargement ou les serveurs de fabrication des paquets logiciels) n\'est pas gratuit, et nécessite vraiment de l\'argent.',
1462     +'bugr_YOUR_HELP' =>
1463     +'De la même façon que vous avez besoin de nous pour votre problème, nous avons besoin de VOTRE aide pour garder ce projet actif!',
1464     +'bugr_CONSIDER_DONATING' =>
1465     +'Merci de faire un don pour le projet en cliquant sur l\'image ci-dessous :',
1466     +'bugr_THANK_YOU' =>
1467     +'Merci pour votre soutien !',
1468     +'bugr_Download this report' =>
1469     +'Télécharger ce rapport !',
1470     +'bugr_Report a bug' =>
1471     +'Rapporter un bogue',
1472     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Clamav/clamav_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Clamav/clamav_en.lex
1473     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Clamav/clamav_en.lex 1970-01-01 04:00:00.000000000 +0400
1474     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Clamav/clamav_en.lex 2020-04-13 14:10:59.000000000 +0400
1475     @@ -0,0 +1,12 @@
1476     +'clm_FORM_TITLE' => 'Antivirus settings',
1477     +'clm_LABEL_FILESYSTEM_SCAN_PERIOD' => 'Scan filesystem',
1478     +'clm_DESC_FILESYSTEM_SCAN_PERIOD' => '<h2>General Settings</h2>
1479     +If this option is enabled then the filesystem will be
1480     +scanned for viruses.A report of any found viruses will be
1481     +emailed to the administrator.',
1482     +'clm_LABEL_QUARANTINE' => 'Quarantine infected files',
1483     +'clm_LABEL_CLAM_VERSIONS' => 'ClamAV and db versions',
1484     +'clm_WEEKLY' => 'Weekly',
1485     +'clm_NEVER' => 'Never',
1486     +'clm_DAILY' => 'Daily',
1487     +'clm_SUCCESS' => 'The new clamav antivirus settings have been saved.',
1488     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Clamav/clamav_fr.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Clamav/clamav_fr.lex
1489     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Clamav/clamav_fr.lex 1970-01-01 04:00:00.000000000 +0400
1490     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Clamav/clamav_fr.lex 2020-04-13 10:59:45.000000000 +0400
1491     @@ -0,0 +1,10 @@
1492     +
1493     +'clm_FORM_TITLE' => 'Configuration de l\'antivirus',
1494     +'clm_LABEL_FILESYSTEM_SCAN_PERIOD' => 'Vérifier l\'intégralité du système de fichier',
1495     +'clm_DESC_FILESYSTEM_SCAN_PERIOD' => ' <h2>Paramètres généraux</h2> Si cette option est activée alors le système de fichier sera intégralement soumis à une vérification antivirale. Un rapport de tous les virus détectés sera ensuite envoyé par courriel à l\'administrateur. ',
1496     +'clm_LABEL_QUARANTINE' => 'Mise en quarantaine des fichiers infectés',
1497     +'clm_LABEL_CLAM_VERSIONS' => 'Versions de ClamAV et de sa base de définitions virales',
1498     +'clm_WEEKLY' => 'Chaque semaine',
1499     +'clm_NEVER' => 'Jamais',
1500     +'clm_DAILY' => 'Chaque jour',
1501     +'clm_SUCCESS' => 'Les nouveaux paramètres de l\'antivirus ClamAV ont été sauvegardés.',
1502     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Datetime/datetime_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Datetime/datetime_en.lex
1503     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Datetime/datetime_en.lex 1970-01-01 04:00:00.000000000 +0400
1504     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Datetime/datetime_en.lex 2020-04-13 10:41:38.000000000 +0400
1505     @@ -0,0 +1,57 @@
1506     +
1507     +'dat_FORM_TITLE' => 'Date and time configuration',
1508     +'dat_INITIAL_DESC' => 'This is where you configure the date and time of this server. You may use an existing network time server or
1509     +manually set the date and time for your time zone.',
1510     +'dat_SET_DATE_TITLE' => 'Set Date and Time',
1511     +'dat_COULD_NOT_OPEN_TZ_FILE' => 'Error: Could not open timezone file for reading: ',
1512     +'dat_JANUARY' => 'January',
1513     +'dat_FEBRUARY' => 'February',
1514     +'dat_MARCH' => 'March',
1515     +'dat_APRIL' => 'April',
1516     +'dat_MAY' => 'May',
1517     +'dat_JUNE' => 'June',
1518     +'dat_JULY' => 'July',
1519     +'dat_AUGUST' => 'August',
1520     +'dat_SEPTEMBER' => 'September',
1521     +'dat_OCTOBER' => 'October',
1522     +'dat_NOVEMBER' => 'November',
1523     +'dat_DECEMBER' => 'December',
1524     +'dat_NEW_M/D/Y' => 'New month/day/year:',
1525     +'dat_NEW_H/M/S' => 'New hour/min/sec:',
1526     +'dat_AM/PM_AND_TZ' => 'AM/PM and time zone:',
1527     +'dat_NTP_ENABLE_DESC' => 'The server can periodically synchronize the system clock to a network time protocol (NTP) server. If you select this option, enter the hostname or IP address of the NTP server below.',
1528     +'dat_NTP_CONFIGURE_DESC' => 'The server is periodically synchronizing the system clock to the network time protocol (NTP) server specified below. To synchronize to a different NTP server, enter a different hostname or IP address in the field below.',
1529     +'dat_NTP_DISABLE_DESC' => 'Choose this option to stop syncronizing the system clock to the NTP
1530     +server.When the NTP service is disabled, you can set the system date and time manually from this page.',
1531     +'dat_NTP_SERVER' => 'NTP Server',
1532     +'dat_VERIFY_DATE_AND_TIME' => 'Verify date and time',
1533     +'dat_NEW_DATE_AND_TIME' => 'New date and time setting:',
1534     +'dat_SETTING_DATE_AND_TIME' => 'Setting date and time',
1535     +'dat_INVALID_DAY' => 'Error: invalid day of month: ',
1536     +'dat_BETWEEN_1_AND_31' => 'Please choose a day between 1 and 31.',
1537     +'dat_INVALID_YEAR' => 'Error: invalid year: ',
1538     +'dat_FOUR_DIGIT_YEAR' => 'Please choose a four-digit year between 1900 and 2200.',
1539     +'dat_INVALID_HOUR' => 'Error: invalid hour: ',
1540     +'dat_BETWEEN_1_AND_12' => 'Please choose an hour between 1 and 12.',
1541     +'dat_INVALID_MINUTE' => 'Error: invalid minute: ',
1542     +'dat_BETWEEN_0_AND_59' => 'Please choose a minute between 0 and 59.',
1543     +'dat_INVALID_SECOND' => 'Error: invalid second',
1544     +'dat_UPDATING_CLOCK' => 'System clock is being updated. Please wait for a few seconds,
1545     +then click <A HREF="datetime?page=1&wherenext=Verify" TARGET="main">here</A>
1546     +to verify changes.',
1547     +'dat_ERR_SETTING_CLOCK' => 'Error occurred while setting system time and hardware clock.',
1548     +'dat_SERVER_DISABLED' => 'Network time server disabled successfully',
1549     +'dat_SERVER_DISABLED_DESC' => 'You have disabled this service: The server will rely on its internal
1550     +clock, and <b>will not</b> try to synchronize from a time server.',
1551     +'dat_ERR_CHANGING_TS' => 'Error while changing network time server setting',
1552     +'dat_INVALID_NTP_ADDR' => 'Invalid NTP server address: ',
1553     +'dat_SETTINGS_CHANGED' => 'Network time server setting changed successfully',
1554     +'dat_SYNC_WITH' => 'This server is now configured to synchronize periodically
1555     +(via the Internet) with:',
1556     +'dat_INVALID_NTP_SERVER' => 'Invalid NTP server, the server <b>will not</b> try to synchronize from a time server.',
1557     +'dat_NETWORK_TIME_SERVER' => 'Network Time Server',
1558     +'dat_NTP_CONFIGURE_TITLE' => 'Configure Network Time Server',
1559     +'dat_NTP_ENABLE_TITLE' => 'Enable Network Time Server',
1560     +'dat_NTP_DISABLE_TITLE' => 'Disable Network Time Server',
1561     +'dat_CURRENT_SETTING' => 'Current setting',
1562     +'dat_Date and time' => 'Date and time',
1563     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Directory/directory_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Directory/directory_en.lex
1564     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Directory/directory_en.lex 1970-01-01 04:00:00.000000000 +0400
1565     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Directory/directory_en.lex 2020-04-13 10:42:03.000000000 +0400
1566     @@ -0,0 +1,28 @@
1567     +
1568     +'dir_FORM_TITLE' => 'Change LDAP directory settings',
1569     +'dir_LABEL_ROOT' => 'Server root',
1570     +'dir_DESCRIPTION' => 'The LDAP server provides a network-available listing of the user accounts
1571     +and groups on your server, and can be accessed using an LDAP client such as the Address Book feature
1572     + in Netscape Communicator. Configure your LDAP client with the local IP address of your server,
1573     + port number 389, and the server root parameter shown below.',
1574     +'dir_DESC_DIRECTORY_ACCESS' => ' You can control access to your LDAP directory:
1575     +the private setting allows access only from your local network, and the public setting allows access from anywhere on the Internet. ',
1576     +'dir_DIRECTORY_ACCESS' => 'LDAP directory access',
1577     +'dir_DESC_DEPARTMENT' => 'These fields are the LDAP defaults for your organization.
1578     +Whenever you create a new user account, you will be prompted
1579     +to enter all of these fields (they can be different for each
1580     +user) but the values you set here
1581     +will show up as defaults. This is a convenience to make it
1582     +faster to create user accounts.',
1583     +'dir_DEPARTMENT' => 'Default department',
1584     +'dir_COMPANY' => 'Default company',
1585     +'dir_STREET' => 'Default Street address',
1586     +'dir_CITY' => 'Default City',
1587     +'dir_PHONENUMBER' => 'Default Phone Number',
1588     +'dir_DESC_EXISTING' => 'You can either leave existing user accounts as they are, using the above defaults only for
1589     +new users, or you can apply the above defaults to all existing users as well.',
1590     +'dir_EXISTING' => 'Existing users',
1591     +'dir_SUCCESS' => 'The new LDAP default settings have been saved.',
1592     +'dir_LEAVE' => 'Leave as they are',
1593     +'dir_UPDATE' => 'Update with new defaults',
1594     +'dir_Directory' => 'Directory',
1595     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Domains/domains_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Domains/domains_en.lex
1596     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Domains/domains_en.lex 1970-01-01 04:00:00.000000000 +0400
1597     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Domains/domains_en.lex 2020-04-13 10:34:24.000000000 +0400
1598     @@ -0,0 +1,65 @@
1599     +
1600     +'dom_ADD_DOMAIN' => 'Add domain',
1601     +'dom_FORM_TITLE' => 'Manage domains',
1602     +'dom_FORM_DESCRIPTION' => 'When you create a domain, your server will be able to
1603     +receive e-mail for that domain and will also be able to host a
1604     +web site for that domain.',
1605     +'dom_ADD_DOMAIN' => 'Add domain',
1606     +'dom_NO_VIRTUAL_DOMAINS' => 'There are no domains in the system',
1607     +'dom_CURRENT_DOMAINS' => 'Current list of domains',
1608     +'dom_PRIMARY_SITE' => 'primary site',
1609     +'dom_CONTENT' => '[_1] i-bay',
1610     +'dom_CREATE_TITLE' => 'Create a new domain',
1611     +'dom_CONTENT_FIELD_DESCRIPTION' => 'For the web site, you may choose your primary web site or any
1612     +i-bay as the content.',
1613     +'dom_DOMAIN_NAME_VALIDATION_ERROR' => 'Error: unexpected or missing characters in domain name
1614     +[_1].The domain name should contain one or more
1615     +letters, numbers, periods and minus signs.Did not create new domain.',
1616     +'dom_DOMAIN_DESCRIPTION_VALIDATION_ERROR' => 'Error: unexpected or missing characters in domain description
1617     +[_1]. Did not create new domain.',
1618     +'dom_DOMAIN_IN_USE_ERROR' => 'Error: domain [_1] is already in use.Did not create
1619     +new domain.',
1620     +'dom_SYSTEM_DOMAIN_ERROR' => 'Error: domain [_1] is your system domain name.You
1621     +cannot have a domain with the same name.Did not create new domain.',
1622     +'dom_SUCCESSFULLY_CREATED' => 'Successfully created domain [_1].Your web
1623     +server is now being restarted.The links on this page will be
1624     +inactive until the web server restart is complete.',
1625     +'dom_MODIFY_TITLE' => 'Modify domain',
1626     +'dom_NONEXISTENT_DOMAIN_ERROR' => 'Error: [_1] is not an existing domain.',
1627     +'dom_SUCCESSFULLY_MODIFIED' => 'Successfully modified domain [_1].Your web
1628     +server is now being restarted.The links on this page will be
1629     +inactive until the web server restart is complete.',
1630     +'dom_REMOVE_TITLE' => 'Remove domain',
1631     +'dom_REMOVE_DESCRIPTION' => 'You are about to remove the domain "[_1]" ([_2]).',
1632     +'dom_ABOUT_TO_REMOVE' => 'Are you sure you wish to remove this domain ?',
1633     +'dom_ERROR_WHILE_REMOVING_DOMAIN' => 'Error: internal failure while removing domain [_1].',
1634     +'dom_SUCCESSFULLY_DELETED' => 'Successfully deleted domain [_1]. Your web server
1635     +is now being restarted.The links on this page will be inactive
1636     +until the web server restart is complete.',
1637     +'dom_DESC_CORPORATE_DNS_CURRENT' => 'Corporate DNS Settings',
1638     +'dom_BUTTON_CORPORATE_DNS' => 'If this server does not have access to the Internet, or you have special
1639     +requirements for DNS resolution, enter the DNS server IP address here.
1640     +You should not enter the address of your ISP\'s DNS servers here, as the server
1641     +is capable of resolving all Internet DNS names without this additional
1642     +configuration.',
1643     +'dom_DOMAINS_PAGE_CORPORATE_DNS' => 'Modify corporate DNS settings',
1644     +'dom_DESC_CORPORATE_DNS' => 'If this server does not have access to the Internet, or
1645     +you have special requirements for DNS resolution,
1646     +enter the DNS server IP addresses here.
1647     +These fields should be left blank unless
1648     +you have a specific reason to configure other DNS servers.
1649     +You should not enter the address of your ISP\'s DNS servers
1650     +here, as the server is capable of resolving all
1651     +Internet DNS names without this additional configuration.',
1652     +'dom_LABEL_CORPORATE_DNS_PRIMARY' => 'Primary corporate DNS server',
1653     +'dom_LABEL_CORPORATE_DNS_SECONDARY' => 'Secondary corporate DNS server',
1654     +'dom_DESC_NAMESERVERS' => 'You can select whether this domain is resolved locally,
1655     +passed to the corporate DNS servers, or resolved by
1656     +the Internet DNS servers. The default will be correct
1657     +for most networks.',
1658     +'dom_LABEL_NAMESERVERS' => 'Domain DNS servers',
1659     +'dom_localhost' => 'Resolve locally',
1660     +'dom_internet' => 'Internet DNS servers',
1661     +'dom_corporate' => 'Corporate DNS servers',
1662     +'dom_REMOVE_DESC' => 'You are about to remove the domain ',
1663     +'dom_REMOVE_DESC2' => ' Are you sure you wish to remove this Domain ? ',
1664     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Emailsettings/emailsettings_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Emailsettings/emailsettings_en.lex
1665     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Emailsettings/emailsettings_en.lex 1970-01-01 04:00:00.000000000 +0400
1666     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Emailsettings/emailsettings_en.lex 2020-04-13 10:36:41.000000000 +0400
1667     @@ -0,0 +1,154 @@
1668     +
1669     +'mai_FORM_TITLE' => 'E-mail settings',
1670     +'mai_E-mail' => 'E-mail',
1671     +'mai_SUCCESS' => 'The new e-mail settings have been saved.',
1672     +'mai_NEVER' => 'not at all',
1673     +'mai_EVERY5MIN' => 'Every 5 minutes',
1674     +'mai_EVERY15MIN' => 'Every 15 minutes',
1675     +'mai_EVERY30MIN' => 'Every 30 minutes',
1676     +'mai_EVERYHOUR' => 'Every hour',
1677     +'mai_EVERY2HRS' => 'Every 2 hours',
1678     +'mai_STANDARD' => 'Standard (SMTP)',
1679     +'mai_ETRN' => 'ETRN (SMTP with client request)',
1680     +'mai_DEFAULT' => 'Default',
1681     +'mai_SPECIFY_BELOW' => 'Specify below',
1682     +'mai_MULTIDROP' => 'multi-drop',
1683     +'mai_LABEL_MODE' => 'E-mail retrieval mode',
1684     +'mai_DESC_MODE' => 'The e-mail retrieval mode can be set to
1685     +standard (for dedicated Internet connections), ETRN (recommended
1686     +for dialup connections), or multi-drop (for dialup connections if
1687     +ETRN is not supported by your Internet provider). Note that
1688     +multi-drop mode is the only option available when the server is
1689     +configured in private server and gateway mode.',
1690     +'mai_LABEL_DELEGATE' => 'Address of internal mail server',
1691     +'mai_TITLE_DELEGATE' => 'Delegate mail servers',
1692     +'mai_DESC_DELEGATE' => 'Your server includes a complete, full-featured e-mail server. However,
1693     +if for some reason you wish to delegate e-mail processing to
1694     +another system, specify the IP address of the delegate system
1695     +here. For normal operation, leave this field blank.',
1696     +'mai_LABEL_SECONDARY' => 'Secondary mail server',
1697     +'mai_TITLE_SECONDARY' => 'ETRN or multi-drop settings',
1698     +'mai_DESC_SECONDARY' => 'For ETRN or multi-drop, specify the hostname or IP address of your
1699     +secondary mail server. (If using the standard e-mail setup, this
1700     +field can be left blank.)',
1701     +'mai_DESC_FETCH_PERIOD' => 'For ETRN or multi-drop, you can control how frequently this server
1702     +contacts your secondary e-mail server to fetch e-mail. More
1703     +frequent connections mean that you receive your e-mail more
1704     +quickly, but also cause Internet requests to be sent more often,
1705     +possibly increasing your phone and Internet charges.',
1706     +'mai_LABEL_FETCH_PERIOD' => 'During office hours (8:00 AM to 6:00 PM) on weekdays',
1707     +'mai_LABEL_FETCH_PERIOD_NIGHTS' => 'Outside office hours (6:00 PM to 8:00 AM) on weekdays',
1708     +'mai_LABEL_FETCH_PERIOD_WEEKENDS' => 'During the weekend',
1709     +'mai_DESC_POP_ACCOUNT' => 'For multi-drop e-mail, specify the POP user account and password.
1710     +(If using standard or ETRN e-mail, these fields can be blank.)
1711     +Also, for multi-drop, you can either use the default mail sorting
1712     +method, or you can specify a particular message header to use for
1713     +mail sorting.',
1714     +'mai_LABEL_POP_PASS' => 'POP user password (for multi-drop)',
1715     +'mai_LABEL_POP_ACCOUNT' => 'POP user account (for multi-drop)',
1716     +'mai_LABEL_SORT_METHOD' => 'Select sort method (for multi-drop)',
1717     +'mai_LABEL_SORT_HEADER' => 'Select sort header (for multi-drop)',
1718     +'mai_LABEL_FETCH_PROTO' => 'Protocol (for multi-drop)',
1719     +'mai_LABEL_FETCH_SECURE' => 'Tunnel over SSL (for multi-drop)',
1720     +'mai_AUTO' => 'Automatic',
1721     +'mai_ENABLED_BOTH' => 'Allow both HTTP and HTTPS',
1722     +'mai_ENABLED_SECURE_ONLY' => 'Allow HTTPS (secure)',
1723     +'mai_ONLY_LOCAL_NETWORK_SSL' => 'Allow HTTPS (secure) from local networks',
1724     +'mai_INSECURE_POP3' => 'Allow both POP3 and POP3S',
1725     +'mai_ALLOW_PRIVATE' => 'Allow private',
1726     +'mai_SECURE_POP3' => 'Allow private and public (secure POP3S)',
1727     +'mai_INSECURE_IMAP' => 'Allow both IMAP and IMAPS',
1728     +'mai_SECURE_IMAP' => 'Allow private and public (secure IMAPS)',
1729     +'mai_INSECURE_SMTP' => 'Allow both SMTP and SSMTP',
1730     +'mai_SECURE_SMTP' => 'Allow SSMTP (secure)',
1731     +'mai_LABEL_POP_ACCESS_CONTROL' => 'POP3 server access',
1732     +'mai_LABEL_IMAP_ACCESS_CONTROL' => 'IMAP server access',
1733     +'mai_LABEL_SMTP_AUTH_CONTROL' => 'SMTP authentication',
1734     +'mai_FORWARD_TO_ADMIN' => 'Send to administrator',
1735     +'mai_FORWARD_TO' => 'Send to',
1736     +'mai_RETURN_TO_SENDER' => 'Reject',
1737     +'mai_LABEL_UNKNOWN' => 'E-mail to unknown users',
1738     +'mai_TITLE_UNKNOWN' => 'Unknown Users',
1739     +'mai_DESC_UNKNOWN' => 'Selecting Reject (recommended setting) will configure the server to only
1740     +accept mail for valid email addresses (for example users, groups, pseudonyms).
1741     +Mail for other addresses will be rejected.',
1742     +'mai_LABEL_SMARTHOST' => 'Address of Internet provider\'s mail server',
1743     +'mai_TITLE_SMARTHOST' => 'SMTP server',
1744     +'mai_DESC_SMARTHOST' => 'The server can deliver outgoing messages directly to their
1745     +destination (recommended in most cases) or can deliver them via
1746     +your Internet provider\'s SMTP server (recommended if you have an
1747     +unreliable Internet connection or are using a residential Internet
1748     +service). If using your Internet provider\'s SMTP server, specify
1749     +its hostname or IP address below. Otherwise leave this field
1750     +blank.',
1751     +'mai_INVALID_SMARTHOST' => 'The smarthost name you entered is not a valid internet domain name
1752     +and is not blank',
1753     +'mai_DESC_POP_ACCESS_CONTROL' => 'You can control POP3 server access. The setting \'Allow access
1754     +only from local networks\' allows POP3 access only from your
1755     +local network(s). The POP3S setting can be used to provide
1756     +encrypted external access to your POP3 server. We recommend
1757     +leaving this setting \'Allow access only from local networks\'
1758     +unless you have a specific reason to do otherwise.',
1759     +'mai_DESC_IMAP_ACCESS_CONTROL' => 'You can control IMAP server access. The setting \'Allow access
1760     +only from local networks\' allows IMAP access only from your
1761     +local network(s). The IMAPS setting can be used to provide
1762     +encrypted external access to your IMAP server. We recommend
1763     +leaving this setting \'Allow access only from local networks\'
1764     +unless you have a specific reason to do otherwise.',
1765     +'mai_DESC_SMTP_AUTH_CONTROL' => 'You can provide authenticated access to your SMTP server, or
1766     +set it to Disabled.
1767     +The SSMTP setting requires <b>all</b> users to use SSL/TLS
1768     +authentication. The SMTP and SSMTP option additionally allows
1769     +STARTTLS to be used to ensure secure authentication.',
1770     +'mai_DESC_WEBMAIL' => 'You can enable or disable webmail on this system. Webmail allows
1771     +users to access their mail through a regular web browser by
1772     +pointing the browser to https://[_1]/webmail,and
1773     + logging in to their account.',
1774     +'mai_LABEL_WEBMAIL' => 'Webmail access',
1775     +'mai_LABEL_BLOCK_EXECUTABLE_CONTENT' => 'Executable content blocking',
1776     +'mai_LABEL_CONTENT_TO_BLOCK' => 'Content to block',
1777     +'mai_DESC_BLOCK_EXECUTABLE_CONTENT' => 'You can block executable content in e-mail attachments
1778     +by highlighting the executable attachment types you wish to
1779     +block. E-mail containing these attachment types will
1780     +be automatically returned to the sender.',
1781     +'mai_UNACCEPTABLE_CHARS' => 'This field requires a valid e-mail address, which must include
1782     +the @ symbol and a domain name.',
1783     +'mai_DESC_STATE_ACCESS' => 'E-mail access',
1784     +'mai_DESC_STATE_ACCESS_BUTTON' => 'Change e-mail access settings',
1785     +'mai_DESC_STATE_RECEPTION' => 'E-mail reception',
1786     +'mai_DESC_STATE_RECEPTION_BUTTON' => 'Change e-mail reception settings',
1787     +'mai_DESC_STATE_DELIVERY' => 'E-mail delivery',
1788     +'mai_DESC_STATE_DELIVERY_BUTTON' => 'Change e-mail delivery settings',
1789     +'mai_DESC_STATE_FILTERING_BUTTON' => 'Change e-mail filtering settings',
1790     +'mai_LABEL_VIRUS_SCAN' => 'Virus scanning',
1791     +'mai_DESC_VIRUS_SCAN' => 'You can scan incoming and outgoing e-mail for viruses. If scanning is enabled and a virus is detected, the e-mail will be rejected and returned to the
1792     +sender.',
1793     +'mai_LABEL_SPAM_SCAN' => 'Spam filtering',
1794     +'mai_DESC_SPAM_SCAN' => 'You can scan e-mail for spam. If Spam filtering is
1795     +enabled, an X-Spam-Status: header is added to each
1796     +message, which can be used for filtering spam.
1797     +You can adjust the sensitivity of the Spam detection
1798     +process from the default of medium. For fine-grained
1799     +control, you can set the Spam sensitivity to Custom
1800     +and then choose a custom tagging level, and
1801     +optionally a level at which to reject the message.',
1802     +'mai_LABEL_SPAM_SUBJECT' => 'SPAM subject prefix',
1803     +'mai_DESC_SPAM_SUBJECT' => 'You can enable to add a tag to the subject of each
1804     +message that is classified as SPAM.
1805     +The value for this tag can be defined below.',
1806     +'mai_LABEL_SPAM_SENSITIVITY' => 'Spam sensitivity',
1807     +'mai_LABEL_SPAM_TAGLEVEL' => 'Custom spam tagging level',
1808     +'mai_LABEL_SPAM_REJECTLEVEL' => 'Custom spam rejection level',
1809     +'mai_LABEL_SPAM_SUBJECTTAG' => 'Modify subject of spam messages',
1810     +'mai_LABEL_SORTSPAM' => 'Sort spam into junkmail folder',
1811     +'mai_VERYHIGH' => 'Very high',
1812     +'mai_HIGH' => 'High',
1813     +'mai_MEDIUM' => 'Medium',
1814     +'mai_LOW' => 'Low',
1815     +'mai_VERYLOW' => 'Very low',
1816     +'mai_CUSTOM' => 'Custom',
1817     +'mai_LABEL_SMARTHOST_SMTPAUTH_STATUS' => 'SMTP Authentication for Internet provider',
1818     +'mai_LABEL_SMARTHOST_SMTPAUTH_USERID' => 'Mail server user id',
1819     +'mai_LABEL_SMARTHOST_SMTPAUTH_PASSWD' => 'Mail server password',
1820     +'mai_VALIDATION_SMTPAUTH_NONBLANK' => 'This field cannot be left blank if SMTP Authentication is
1821     +enabled.',
1822     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/General/general_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/General/general_en.lex
1823     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/General/general_en.lex 1970-01-01 04:00:00.000000000 +0400
1824     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/General/general_en.lex 2020-04-14 19:28:01.166000000 +0400
1825     @@ -0,0 +1,139 @@
1826     +'edit' => 'edit',
1827     +'del' => 'del',
1828     +'exit' => 'Exit',
1829     +'cancel' => 'Cancel',
1830     +'hello' => 'hello',
1831     +'All rights reserved' => 'All Rights Reserved',
1832     +'Collaboration' => 'Collaboration',
1833     +'Administration' => 'Administration',
1834     +'Security' => 'Security',
1835     +'Configuration' => 'Configuration',
1836     +'Miscellaneous' => 'Miscellaneous',
1837     +'Your Settings' => 'Your Settings',
1838     +'SAVE' => 'Save',
1839     +'CANCEL' => 'Cancel',
1840     +'ENABLED' => 'Enabled',
1841     +'DISABLED' => 'Disabled',
1842     +'NO' => 'No',
1843     +'YES' => 'Yes',
1844     +'ADD' => 'Add',
1845     +'CREATE' => 'Create',
1846     +'MODIFY' => 'Modify',
1847     +'REMOVE' => 'Remove',
1848     +'COMMENT' => 'Comment',
1849     +'NEXT' => 'Next',
1850     +'SELF' => 'Self',
1851     +'REMOTE' => 'Remote',
1852     +'LOCAL' => 'Local',
1853     +'ACTION' => 'Action',
1854     +'NETWORK' => 'Network',
1855     +'ROUTER' => 'Router',
1856     +'OPERATION_STATUS_REPORT' => 'Operation status report',
1857     +'ACCOUNT' => 'Account',
1858     +'GROUP' => 'Group',
1859     +'DESC_SECTIONBAR' => '<hr class="sectionbar"/>',
1860     +'NO_PIPES_ALLOWED' => 'Pipe symbols (|) are not permitted in this field',
1861     +'ERROR_BELOW' => '
1862     +ERROR: There was an error in the validation of this page. Please
1863     +scroll down and find the specific problem.',
1864     +'ACCESS' => 'Access',
1865     +'ACCOUNT_LOCKED' => 'Account is locked',
1866     +'GROUP_ADD' => 'Add group',
1867     +'NETWORKS_ALLOW_LOCAL' => 'Allow access only from local networks',
1868     +'NETWORKS_ALLOW_PUBLIC' => 'Allow public access (entire Internet)',
1869     +'ERROR_PASSWORD_CHANGE' => '
1870     +An error occurred while attempting to change your password. Please make sure that the old password entered is correct.',
1871     +'BACK' => 'Back',
1872     +'BACKUP' => 'Backup',
1873     +'DESCRIPTION_BRIEF' => 'Brief description',
1874     +'PASSWORD_CHANGE' => 'Change Password',
1875     +'RESET_PASSWORD_TITLE' => 'Reset user password',
1876     +'ACCOUNT_PASSWORD_CHANGE' => 'Change account password',
1877     +'CONTENT' => 'Content',
1878     +'CREATE_GROUP' => 'Create user group',
1879     +'USER_LIST_CURRENT' => 'Current list of users',
1880     +'DESCRIPTION' => 'Description',
1881     +'DESTINATION' => 'Destination',
1882     +'DOMAIN_NAME' => 'Domain name',
1883     +'DOMAIN' => 'Domain',
1884     +'DOMAINS' => 'Domains',
1885     +'DOWNLOAD' => 'Download',
1886     +'ERROR_UPDATING_CONFIGURATION' => 'Error occurred while updating system configuration.',
1887     +'GROUP_MEMBERS' => 'Group Members',
1888     +'GROUP_NAME' => 'Group Name',
1889     +'GROUPS' => 'Groups',
1890     +'IP_ADDRESS' => 'IP Address',
1891     +'IP_ADDRESS_OR_FQDN' => 'IP Address or FQDN',
1892     +'USER_INVALID' => 'Invalid user',
1893     +'LOCATION' => 'Location',
1894     +'MB' => 'Mb',
1895     +'MODIFY_USER_GROUP' => 'Modify user group',
1896     +'NAME' => 'Name',
1897     +'PASSWORD_VERIFY_NEW' => 'New password (verify):',
1898     +'PASSWORD_NEW' => 'New password:',
1899     +'OFF' => 'Off',
1900     +'OK' => 'Ok',
1901     +'PASSWORD_OLD' => 'Old password:',
1902     +'ON' => 'On',
1903     +'PASSWORD' => 'Password',
1904     +'PERFORM' => 'Perform',
1905     +'RECONFIGURE' => 'Reconfigure',
1906     +'REMOVE_USER_GROUP' => 'Remove user group',
1907     +'PASSWORD_RESET' => 'Reset password',
1908     +'RESTORE' => 'Restore',
1909     +'SHUTDOWN' => 'Shutdown',
1910     +'SUCCESS' => 'Success',
1911     +'ACCOUNT_NAME_INVALID' => 'The account name entered is invalid.',
1912     +'ACCOUNT_NAME_INVALID_CHARS' => 'The account name you entered contained invalid characters.',
1913     +'PASSWORD_OLD_INVALID_CHARS' => 'The old password you entered contained invalid characters.',
1914     +'PASSWORD_INVALID_CHARS' => 'The password you entered contained invalid characters.',
1915     +'PASSWORD_VERIFY_ERROR' => 'The passwords you entered did not match.',
1916     +'ACCOUNT_USER_NONE' => 'There are no user accounts in the system.',
1917     +'ACCOUNT_GROUP_NONE' => 'There are no user groups in the system.',
1918     +'ERROR_INVALID_CHARS' => 'Unexpected characters in description.',
1919     +'USER_NAME' => 'User Name',
1920     +'YOUR_ACCOUNT' => 'Your account:',
1921     +'YOUR_ACCOUNT_INVALID' => 'The account name entered is invalid.',
1922     +'PASSWORD_CHANGE_SUCCESS' => 'Your password has been successfully changed.',
1923     +'FM_NONBLANK' => 'This field must not be left blank',
1924     +'FM_INTEGER' => 'This field must contain a positive integer',
1925     +'FM_NUMBER' => 'This field must contain a number',
1926     +'FM_WORD' => 'This field must look like a single word.',
1927     +'FM_DATE' => 'The data entered could not be parsed as a date',
1928     +'FM_CREDIT_CARD_NUMBER1' => 'You must enter a credit card number',
1929     +'FM_CREDIT_CARD_NUMBER2' => 'Credit card numbers shouldn\'t have anything but numbers, spaces or dashes',
1930     +'FM_CREDIT_CARD_NUMBER3' => 'Must be at least 14 characters in length',
1931     +'FM_CREDIT_CARD_NUMBER4' => 'Doesn\'t appear to be a valid credit card number',
1932     +'FM_CREDIT_CARD_EXPIRY1' => 'No expiry date entered.',
1933     +'FM_CREDIT_CARD_EXPIRY2' => 'Expiry date must be in the format MM/YY or MM/YYYY',
1934     +'FM_CREDIT_CARD_EXPIRY3' => 'This expiry date appears to have already passed',
1935     +'FM_CREDIT_CARD_EXPIRY4' => 'This expiry date appears to be too far in the future',
1936     +'FM_ISO_COUNTRY_CODE1' => 'You must provide a country code',
1937     +'FM_ISO_COUNTRY_CODE2' => 'This field does not contain an ISO country code',
1938     +'FM_US_STATE' => 'This doesn\'t appear to be a valid 2-letter US state abbreviation',
1939     +'FM_US_ZIPCODE' => 'US zip codes must contain 5 or 9 numbers',
1940     +'FM_MINLENGTH1' => 'Minimum length has been specified meaninglessly as [_1]',
1941     +'FM_MINLENGTH2' => 'This field must be at least [_1] characters',
1942     +'FM_MAXLENGTH1' => 'Maximum length has been specified meaninglessly as [_1]',
1943     +'FM_MAXLENGTH2' => 'This field must be no more than [_1] characters',
1944     +'FM_EXACTLENGTH1' => 'You must specify the length for the field.',
1945     +'FM_EXACTLENGTH2' => 'You must specify the exactlength of the field with an integer',
1946     +'FM_EXACTLENGTH3' => 'This field must be exactly [_1] characters',
1947     +'FM_LENGTHRANGE1' => 'You must specify the maximum and minimum length for the field.',
1948     +'FM_LENGTHRANGE2' => 'You must specify the maximum and minimum lengths of the field with an integer',
1949     +'FM_LENGTHRANGE3' => 'This field must be between [_1] and [_2] characters',
1950     +'FM_URL' => 'This field must contain a URL starting with http:// or ftp://',
1951     +'FM_EMAIL_SIMPLE1' => 'You must enter an email address.',
1952     +'FM_EMAIL_SIMPLE2' => 'This field doesn\'t look like an RFC822-compliant email address',
1953     +'FM_DOMAIN_NAME' => 'This field doesn\'t look like a valid Internet domain name or hostname.',
1954     +'FM_IP_NUMBER1' => 'This field must contain a valid IP number and can not be left blank.',
1955     +'FM_IP_NUMBER2' => 'Invalid IP address format (expected X.X.X.X)',
1956     +'FM_IP_NUMBER3' => '[_1] is more than 255',
1957     +'FM_USERNAME' => 'This field must look like a valid username (3 to 8 letters and numbers)',
1958     +'FM_PASSWORD1' => 'You must provide a password.',
1959     +'FM_PASSWORD2' => 'The password you provided was not a good password.A good password must contain all of the following: upper case letter, lower case letter, number,
1960     +non-alphanumeric character, be at least 7 characters long.',
1961     +'FM_MAC_ADDRESS1' => 'You must provide a MAC address.',
1962     +'FM_MAC_ADDRESS2' => 'The MAC address you provided was not valid.',
1963     +'FM_ERR_UNEXPECTED_DESC' => 'Error: unexpected or missing characters in description',
1964     +'swt_THEME' => 'Theme',
1965     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/General/general_fr.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/General/general_fr.lex
1966     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/General/general_fr.lex 1970-01-01 04:00:00.000000000 +0400
1967     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/General/general_fr.lex 2020-04-13 20:58:02.000000000 +0400
1968     @@ -0,0 +1,138 @@
1969     +_AUTO => 1,
1970     +
1971     +YES => 'Oui',
1972     +NO => 'Non',
1973     +edit => 'Modifier',
1974     +del => 'Effacer',
1975     +exit => 'Quitter',
1976     +cancel => 'Annuler',
1977     +hello => 'salut',
1978     +'All rights reserved' => 'Tous droits réservés',
1979     +'Collaboration' => 'Collaboration',
1980     +'Administration' => 'Administration',
1981     +'Security' => 'Sécurité',
1982     +'Configuration' => 'Configuration',
1983     +'Miscellaneous' => 'Divers',
1984     +'Your Settings' => 'Vos paramètres',
1985     +'SAVE' => 'Enregistrer',
1986     +'CANCEL' => 'Annuler',
1987     +'ENABLED' => 'Activé',
1988     +'DISABLED' => 'Désactivé',
1989     +'NO' => 'Non',
1990     +'YES' => 'Oui',
1991     +'ADD' => 'Ajouter',
1992     +'CREATE' => 'Créer',
1993     +'MODIFY' => 'Modifier',
1994     +'REMOVE' => 'Supprimer',
1995     +'COMMENT' => 'Commentaire',
1996     +'NEXT' => 'Suivant',
1997     +'SELF' => 'Ce serveur',
1998     +'REMOTE' => 'Distant',
1999     +'LOCAL' => 'Local',
2000     +'ACTION' => 'Action',
2001     +'NETWORK' => 'Réseau',
2002     +'ROUTER' => 'Routeur',
2003     +'OPERATION_STATUS_REPORT' => 'Rapport d\'état de l\'opération',
2004     +'ACCOUNT' => 'Compte',
2005     +'GROUP' => 'Groupe',
2006     +'DESC_SECTIONBAR' => ' <hr class="sectionbar"/> ',
2007     +'NO_PIPES_ALLOWED' => 'La barre verticale "|" (pipe) n\'est pas autorisée dans ce champ.',
2008     +'ERROR_BELOW' => 'ERREUR : Une erreur s\'est produite lors de la validation de cette page. Vous trouverez ci-dessous les raisons de ce problème :',
2009     +'ACCESS' => 'Accès',
2010     +'ACCOUNT_LOCKED' => 'Le compte est verrouillé',
2011     +'GROUP_ADD' => 'Ajouter un groupe',
2012     +'NETWORKS_ALLOW_LOCAL' => 'N\'autoriser l\'accès que depuis les réseaux locaux',
2013     +'NETWORKS_ALLOW_PUBLIC' => 'Autoriser l\'accès complet (LAN et Internet)',
2014     +'ERROR_PASSWORD_CHANGE' => 'Une erreur s\'est produite pendant la modification de votre mot de passe. Veuillez vous assurer de l\'exactitude de l\'ancien mot de passe tapé.',
2015     +'BACK' => 'Retour',
2016     +'BACKUP' => 'Sauvegarde',
2017     +'DESCRIPTION_BRIEF' => 'Brève description',
2018     +'PASSWORD_CHANGE' => 'Changer le mot de passe',
2019     +'RESET_PASSWORD_TITLE' => 'Réinitialiser le mot de passe de l\'utilisateur',
2020     +'ACCOUNT_PASSWORD_CHANGE' => 'Changer le mot de passe du compte',
2021     +'CONTENT' => 'Contenu',
2022     +'CREATE_GROUP' => 'Créer un groupe d\'utilisateurs',
2023     +'USER_LIST_CURRENT' => 'Liste des utilisateurs',
2024     +'DESCRIPTION' => 'Description',
2025     +'DESTINATION' => 'Destination',
2026     +'DOMAIN_NAME' => 'Nom de Domaine',
2027     +'DOMAIN' => 'Domaine',
2028     +'DOMAINS' => 'Domaines',
2029     +'DOWNLOAD' => 'Télécharger',
2030     +'ERROR_UPDATING_CONFIGURATION' => 'Une erreur s\'est produite pendant la mise à jour de la configuration du serveur.',
2031     +'GROUP_MEMBERS' => 'Membres du groupe',
2032     +'GROUP_NAME' => 'Nom du groupe',
2033     +'GROUPS' => 'Groupes',
2034     +'IP_ADDRESS' => 'Adresse IP',
2035     +'IP_ADDRESS_OR_FQDN' => 'Adresse IP ou FQDN',
2036     +'USER_INVALID' => 'Utilisateur non autorisé',
2037     +'LOCATION' => 'Emplacement',
2038     +'MB' => 'Mo',
2039     +'MODIFY_USER_GROUP' => 'Modifier le groupe d\'utilisateurs',
2040     +'NAME' => 'Nom',
2041     +'PASSWORD_VERIFY_NEW' => 'Nouveau mot de passe (vérification)',
2042     +'PASSWORD_NEW' => 'Nouveau mot de passe',
2043     +'OFF' => 'Désactivé',
2044     +'OK' => 'Ok',
2045     +'PASSWORD_OLD' => 'Ancien mot de passe',
2046     +'ON' => 'Activé',
2047     +'PASSWORD' => 'Mot de passe',
2048     +'PERFORM' => 'Exécuter',
2049     +'RECONFIGURE' => 'Reconfigurer',
2050     +'REMOVE_USER_GROUP' => 'Supprimer le groupe d\'utilisateurs',
2051     +'PASSWORD_RESET' => 'Réinitialiser le mot de passe',
2052     +'RESTORE' => 'Restaurer',
2053     +'SHUTDOWN' => 'Arrêter',
2054     +'SUCCESS' => 'Opération réussie',
2055     +'ACCOUNT_NAME_INVALID' => 'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.',
2056     +'ACCOUNT_NAME_INVALID_CHARS' => 'Le nom d\'utilisateur que vous avez tapé contient des caractères non valides.',
2057     +'PASSWORD_OLD_INVALID_CHARS' => 'L\'ancien mot de passe que vous avez tapé contient des caractères non valides.',
2058     +'PASSWORD_INVALID_CHARS' => 'Le mot de passe que vous avez tapé contient des caractères non valides.',
2059     +'PASSWORD_VERIFY_ERROR' => 'Les mots de passe ne concordent pas.',
2060     +'ACCOUNT_USER_NONE' => 'Aucun compte utilisateur n\'a été défini dans le système.',
2061     +'ACCOUNT_GROUP_NONE' => 'Il n\'y a aucun groupe d\'utilisateurs défini dans le système.',
2062     +'ERROR_INVALID_CHARS' => 'Caractères inattendus dans la description.',
2063     +'USER_NAME' => 'Nom d\'utilisateur',
2064     +'YOUR_ACCOUNT' => 'Votre compte utilisateur:',
2065     +'YOUR_ACCOUNT_INVALID' => 'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.',
2066     +'PASSWORD_CHANGE_SUCCESS' => 'Le mot de passe a été modifié avec succès.',
2067     +'FM_NONBLANK' => 'Ce champ ne doit pas être vide.',
2068     +'FM_INTEGER' => 'Ce champ doit contenir un entier positif.',
2069     +'FM_NUMBER' => 'Ce champ doit contenir un nombre.',
2070     +'FM_WORD' => 'Ce champ doit être composé d\'un seul mot.',
2071     +'FM_DATE' => 'La valeur tapée ne correspond pas à une date.',
2072     +'FM_CREDIT_CARD_NUMBER1' => 'Vous devez taper un numéro de carte de paiement.',
2073     +'FM_CREDIT_CARD_NUMBER2' => 'Le numéro de carte de paiement ne doit contenir que des nombres, des espaces ou des tirets.',
2074     +'FM_CREDIT_CARD_NUMBER3' => 'Il doit être composé d\'au moins 14 caractères.',
2075     +'FM_CREDIT_CARD_NUMBER4' => 'Il ne semble pas correspondre à un numéro valide de carte de paiement.',
2076     +'FM_CREDIT_CARD_EXPIRY1' => 'Aucune date d\'expiration n\'a été tapée.',
2077     +'FM_CREDIT_CARD_EXPIRY2' => 'La date d\'expiration doit être tapée sous la forme MM/AA ou MM/AAAA.',
2078     +'FM_CREDIT_CARD_EXPIRY3' => 'La date d\'expiration a déjà expirée.',
2079     +'FM_CREDIT_CARD_EXPIRY4' => 'La date d\'expiration semble trop éloignée dans le futur.',
2080     +'FM_ISO_COUNTRY_CODE1' => 'Vous devez taper un code de région.',
2081     +'FM_ISO_COUNTRY_CODE2' => 'Ce champ ne contient pas de code ISO de région valide.',
2082     +'FM_US_STATE' => 'Cette abréviation en deux lettres d\'état américain n\'est pas valide.',
2083     +'FM_US_ZIPCODE' => 'Les codes postaux américains doivent contenir 5 ou 9 chiffres.',
2084     +'FM_MINLENGTH1' => 'La longueur minimale a été définie arbitrairement à [_1] caractères.',
2085     +'FM_MINLENGTH2' => 'Ce champ doit contenir au minimum [_1] caractères.',
2086     +'FM_MAXLENGTH1' => 'La longueur maximale a été définie arbitrairement à [_1] caractères.',
2087     +'FM_MAXLENGTH2' => 'Ce champ doit ne doit pas dépasser [_1] caractères.',
2088     +'FM_EXACTLENGTH1' => 'Vous devez définir la longueur de ce champ.',
2089     +'FM_EXACTLENGTH2' => 'Vous devez définir la longueur exacte de ce champ avec un entier.',
2090     +'FM_EXACTLENGTH3' => 'Ce champ doit faire exactement [_1] caractères.',
2091     +'FM_LENGTHRANGE1' => 'Vous devez définir les longueurs maximale et minimale de ce champ.',
2092     +'FM_LENGTHRANGE2' => 'Vous devez définir les longueurs maximale et minimale de ce champ avec des entiers.',
2093     +'FM_LENGTHRANGE3' => 'La longueur de ce champ doit être comprise entre [_1] caractères.',
2094     +'FM_URL' => 'Ce champ doit contenir une URL commençant par http:// ou ftp://',
2095     +'FM_EMAIL_SIMPLE1' => 'Vous devez taper une adresse de courriel.',
2096     +'FM_EMAIL_SIMPLE2' => 'Ce champ ne semble pas respecter le format RFC822 des adresses de courriel.',
2097     +'FM_DOMAIN_NAME' => 'Ce champ ne semble pas contenir de nom de domaine Internet ou d\'hôte valide.',
2098     +'FM_IP_NUMBER1' => 'Ce champ doit contenir une adresse IP valide et ne doit pas être vide.',
2099     +'FM_IP_NUMBER2' => 'Format d\'adresse IP incorrect (X.X.X.X attendu)',
2100     +'FM_IP_NUMBER3' => 'La valeur [_1] dépasse 255.',
2101     +'FM_USERNAME' => 'Ce champ doit contenir un nom d\'utilisateur valide (3 à 8 lettres et chiffres).',
2102     +'FM_PASSWORD1' => 'Vous devez taper un mot de passe.',
2103     +'FM_PASSWORD2' => 'Le mot de passe que vous avez tapé n\'était pas bon. Un bon mot de passe doit contenir au moins : des lettres en majuscule et en minuscule, des chiffres et des caractères non alphanumériques et être composé d\'au moins 7 caractères.',
2104     +'FM_MAC_ADDRESS1' => 'Vous devez taper une adresse Ethernet.',
2105     +'FM_MAC_ADDRESS2' => 'L\'adresse Ethernet que vous avez tapé n\'est pas valide.',
2106     +'FM_ERR_UNEXPECTED_DESC' => 'ERREUR : caractères invalides ou manquants dans la description.',
2107     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Groups/groups_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Groups/groups_en.lex
2108     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Groups/groups_en.lex 1970-01-01 04:00:00.000000000 +0400
2109     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Groups/groups_en.lex 2020-04-13 10:42:28.000000000 +0400
2110     @@ -0,0 +1,32 @@
2111     +
2112     +'grp_FORM_TITLE' => 'Create, modify, or remove user groups',
2113     +'grp_GROUP_TOO_LONG' => 'Error: group name is too long. The maximum is [_1] characters.',
2114     +'grp_ACCOUNT_CONFLICT' => 'Error: the group "[_1]" can\'t be created because there is
2115     +already a [_2] account of that name.',
2116     +'grp_INVALID_GROUP_DESCRIPTION' => 'Error: unexpected or missing characters in group description',
2117     +'grp_NO_MEMBERS' => 'Error: no members in group.Did not create new group.',
2118     +'grp_CREATED_GROUP' => 'Successfully created user group',
2119     +'grp_DELETED_GROUP' => 'Successfully removed user group',
2120     +'grp_MODIFIED_GROUP' => 'Successfully modifed user group',
2121     +'grp_CREATE_ERROR' => 'An error occurred while creating user group.',
2122     +'grp_DELETE_ERROR' => 'An error occurred while removing user group.',
2123     +'grp_MODIFY_ERROR' => 'An error occurred while modifying user group.',
2124     +'grp_GROUP_NAMING' => 'The group name should contain only lower-case
2125     +letters, numbers, hyphens, periods, and underscores,
2126     +and should start with a lower-case letter. For
2127     +example "sales", "beta5", and "reseller_partners" are
2128     +all valid group names, but "3rd-event", "Marketing Team"
2129     +and "lost&found" are not.',
2130     +'grp_GROUP_HAS_MEMBERS' => 'This group contains the following members:',
2131     +'grp_NOT_A_GROUP' => 'Error: That is not an existing group account.',
2132     +'grp_GROUP_DESC' => 'Brief Description/Windows Group Alias',
2133     +'grp_GROUP_DESC_EXPL' => 'Input a brief group description in the field below.
2134     + This field also designates the group name viewable by
2135     + Windows clients.',
2136     +'grp_IBAYS_WILL_BE_CHANGED' => 'The following information bays were assigned to this group and
2137     +will be changed to the Administrator group (you can change them to
2138     +something else afterward):',
2139     +'grp_CONFIRM_DELETE_GROUP' => 'Are you sure you wish to remove this group?',
2140     +'grp_CURRENT_LIST' => 'Current list of User Groups',
2141     +'grp_DELETE_DESCRIPTION' => 'You are about to remove the user group "[_1]."',
2142     +
2143     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Groups/groups_fr.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Groups/groups_fr.lex
2144     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Groups/groups_fr.lex 1970-01-01 04:00:00.000000000 +0400
2145     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Groups/groups_fr.lex 2020-04-15 00:24:42.925000000 +0400
2146     @@ -0,0 +1,20 @@
2147     +'grp_FORM_TITLE' => 'Gestion des groupes d\'utilisateurs',
2148     +'grp_GROUP_TOO_LONG' => 'ERREUR : le nom du groupe est trop long : [_1] caractères au maximum.',
2149     +'grp_ACCOUNT_CONFLICT' => 'ERREUR : le groupe "[_1] avec ce nom.',
2150     +'grp_INVALID_GROUP_DESCRIPTION' => 'ERREUR : caractères inattendus ou manquants dans la description du groupe.',
2151     +'grp_NO_MEMBERS' => 'ERREUR : aucun membre dans le groupe. Le groupe n\'a pas été créé.',
2152     +'grp_CREATED_GROUP' => 'Le groupe d\'utilisateurs a été créé avec succès.',
2153     +'grp_DELETED_GROUP' => 'Le groupe d\'utilisateurs a été supprimé avec succès.',
2154     +'grp_MODIFIED_GROUP' => 'Le groupe d\'utilisateurs a été modifié avec succès.',
2155     +'grp_CREATE_ERROR' => 'Une erreur est survenue lors de la création du groupe d\'utilisateurs.',
2156     +'grp_DELETE_ERROR' => 'Une erreur est survenue lors de la suppression du groupe d\'utilisateurs.',
2157     +'grp_MODIFY_ERROR' => 'Une erreur est survenue lors de la modification du groupe d\'utilisateurs.',
2158     +'grp_GROUP_NAMING' => ' Le nom de groupe doit contenir uniquement des lettres minuscules, des chiffres, des traits d\'union, des points, des traits de soulignement et commencer par une minuscule. Par exemple, "ventes", "beta5" ou "partenaires_ventes" sont tous des noms de groupe valides, mais pas "3e-événement", "Groupe Marketing" ni "perdu&trouvé". ',
2159     +'grp_GROUP_HAS_MEMBERS' => 'Ce groupe contient les membres suivants :',
2160     +'grp_NOT_A_GROUP' => 'ERREUR : Compte de groupe inexistant.',
2161     +'grp_GROUP_DESC' => 'Brève description / Alias de groupe Windows',
2162     +'grp_GROUP_DESC_EXPL' => 'Tapez une brève description du groupe dans le champ ci-dessous. Ce champ correspond également au nom du groupe visible par les clients Windows.',
2163     +'grp_IBAYS_WILL_BE_CHANGED' => 'Les i-bays suivantes étaient attribuées à ce groupe et vont être réattribuées au groupe de l\'administrateur (vous pourrez par la suite les attribuer à un autre groupe) :',
2164     +'grp_CONFIRM_DELETE_GROUP' => ' <b>Voulez-vous vraiment supprimer ce groupe ?</b> ',
2165     +'grp_CURRENT_LIST' => ' Liste actuelle des groupes d\'utilisateurs : ',
2166     +'grp_DELETE_DESCRIPTION' => ' Vous êtes sur le point de supprimer le groupe d\'utilisateurs "<b>[_1]</b>". ',
2167     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Hostentries/hosts_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Hostentries/hosts_en.lex
2168     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Hostentries/hosts_en.lex 1970-01-01 04:00:00.000000000 +0400
2169     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Hostentries/hosts_en.lex 2020-04-13 10:34:43.000000000 +0400
2170     @@ -0,0 +1,73 @@
2171     +
2172     +'hos_FORM_TITLE' => 'Hostnames and addresses',
2173     +'hos_UNABLE_TO_OPEN_CONFIGDB' => 'Unable to open configuration database',
2174     +'hos_DNS_FORWARDER_ENABLED' => 'A DNS forwarder has been configured. This means that all DNS
2175     +lookups will be handled by the DNS forwarder. Hostnames
2176     +and addresses cannot be modified on this server while
2177     +a DNS forwarder is configured.',
2178     +'hos_ADD_HOSTNAME' => 'Add hostname',
2179     +'hos_HOSTNAME' => 'Hostname',
2180     +'hos_HOSTTYPE' => 'Location',
2181     +'hos_LOCAL_IP' => 'Local IP',
2182     +'hos_ETHERNET_ADDRESS' => 'Ethernet address',
2183     +'hos_CURRENT_HOSTNAMES_FOR_DOMAIN' => 'Current list of hostnames for [_1].',
2184     +'hos_NO_HOSTNAMES_FOR_SERVICENAME' => 'There are no hostnames in the system for [_1].',
2185     +'hos_CURRENT_HOSTNAMES_FOR_LOCAL_DOMAIN' => 'Current list of hostnames for [_1]',
2186     +'hos_NO_HOSTNAMES_FOR_LOCAL_DOMAIN' => 'There are no hostnames in the system for [_1].',
2187     +'hos_STATIC_HOST_MESSAGE' => '- This host represents your system name and cannot be modifiedor removed.',
2188     +'hos_CREATE_LOCAL_HOST_TITLE' => 'Create a new hostname for this server',
2189     +'hos_HOSTNAME_VALIDATION_ERROR' => 'Error: unexpected characters in host name: "[_1]".
2190     +The host name should contain only
2191     +letters, numbers, and hyphens and must start
2192     +with a letter or a number.',
2193     +'hos_HOSTNAME_LENGTH_ERROR' => 'Error: account name [_1] is too long. The
2194     +maximum is 32 characters.',
2195     +'hos_DOMAIN_VALIDATION_ERROR' => 'Error: unexpected or missing characters in domain name
2196     +[_1]. The domain name should contain one or more
2197     +letters, numbers, periods and minus signs. Did not create new
2198     +domain.',
2199     +'hos_HOSTNAME_EXISTS_ERROR' => 'Error: account [_1] hostname.',
2200     +'hos_SUCCESSFULLY_CREATED' => 'Successfully created hostname.',
2201     +'hos_HOSTNAME_DESCRIPTION' => 'The hostname must contain only letters, numbers, and hyphens, and must start with a letter or number. ',
2202     +'hos_LOCAL_IP_DESCRIPTION' => 'The Local IP address is the IP address of another machine on
2203     +the local network. Please enter a valid IP address in the
2204     +format "aaa.bbb.ccc.ddd".',
2205     +'hos_ETHERNET_ADDRESS_DESCRIPTION' => 'The ethernet address is optional and causes the DHCP server to
2206     +statically bind the local IP address to the computer with this
2207     +ethernet address.If specified, it must be of the form
2208     +"AA:BB:CC:DD:EE:FF" and must contain only the numbers 0-9 and
2209     +the letters A-F.',
2210     +'hos_CREATE_LOCAL_HOST_TITLE' => 'Create a new hostname referring to a local host.',
2211     +'hos_DIDNT_ENTER_LOCAL_IP' => 'Error: You did not specify a Local IP address.IP
2212     +addresses must contain only numbers and periods and
2213     +be in the form "aaa.bbb.ccc.ddd".Did not create hostname.',
2214     +'hos_IP_VALIDATION_ERROR' => 'Error: IP Address [_1] is
2215     +invalid. IP Addresses must contain only numbers and periodsand be in the form "aaa.bbb.ccc.ddd". Did not create hostname.',
2216     +'hos_MAC_ADDRESS_VALIDATION_ERROR' => 'Error: Ethernet address [_1]
2217     +is invalid.Ethernet addresses must be in the
2218     +form "AA:BB:CC:DD:EE:FF" and only contain the
2219     +numbers 0-9 and the letters A-F. Did not create
2220     +hostname.',
2221     +'hos_CREATE_REMOTE_HOST_TITLE' => 'Create a new hostname referring to a remote host',
2222     +'hos_CREATE_TITLE' => 'Create or modify hostname',
2223     +'hos_MODIFY_TITLE' => 'Modify hostname',
2224     +'hos_LOCAL_PAGE_DESCRIPTION' => 'Please enter the following additional details for a localhost:',
2225     +'hos_REMOTE_PAGE_DESCRIPTION' => 'Please enter the following additional details for a remotehost:',
2226     +'hos_SUCCESSFULLY_DELETED' => 'Successfully deleted host.',
2227     +'hos_SUCCESSFULLY_MODIFIED' => 'Successfully modified host.',
2228     +'hos_REMOVE_TITLE' => 'Remove hostname',
2229     +'hos_REMOVE_PAGE_DESCRIPTION' => 'You are about to remove the hostname "[_1]"',
2230     +'hos_ABOUT_TO_REMOVE' => 'Are you sure you wish to remove this hostname?',
2231     +'hos_CONFIRM_DESCRIPTION' => 'Please confirm the following details.',
2232     +'hos_NO_HOSTS_FOR_THIS_DOMAIN' => 'There are no hosts for this domain.',
2233     +'hos_ADDR_IN_DHCP_RANGE' => 'Address is inside the DHCP assigned dynamic range',
2234     +'hos_ERROR_WHILE_CREATING_HOST' => 'Error occurred while creating hostname.',
2235     +'hos_ERROR_WHILE_MODIFYING_HOST' => 'Error occurred while modifying hostname.',
2236     +'hos_ERROR_WHILE_DELETING_HOST' => 'Error occurred while deleting hostname.',
2237     +'hos_ERR_IP_IS_LOCAL_OR_GATEWAY' => 'Error: IP cannot be server IP or Gateway IP.',
2238     +'hos_ERR_IP_NOT_LOCAL' => 'Error: This IP address is not on any of our local networks.',
2239     +'hos_MUST_BE_VALID_HOSTNAME_OR_IP' => 'Must be a valid hostname or IP number',
2240     +'hos_HOSTNAME_COMMENT_ERROR' => 'Error: unexpected characters in the comment of "[_1]".
2241     +The comment must contain only letters, spaces, numbers, dots, commas, undescores, hyphens and must start with a letter or number.',
2242     +'hos_HOSTNAME_VALIDATOR_ERROR' => 'Error: unexpected characters in host name: "[_1]". The host name should contain only
2243     +letters, numbers, and hyphens and must start with a letter or a number. ',
2244     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Ibays/ibays_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Ibays/ibays_en.lex
2245     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Ibays/ibays_en.lex 1970-01-01 04:00:00.000000000 +0400
2246     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Ibays/ibays_en.lex 2020-04-13 10:42:53.000000000 +0400
2247     @@ -0,0 +1,71 @@
2248     +
2249     +'iba_FORM_TITLE' => 'Create, modify, or remove i-bays',
2250     +'iba_ADD_IBAY' => 'Add ibay',
2251     +'iba_FIRSTPAGE_DESC' => 'You can remove any information bay or reset its password by
2252     +clicking on the corresponding command
2253     +next to the information bay. If the information bay shows up
2254     +in red, that means that the password has not
2255     +yet been changed from the default, and should be changed
2256     +soon.',
2257     +'iba_ADD_TITLE' => 'Create or modify an i-bay',
2258     +'iba_NAME_FIELD_DESC' => 'The information bay name should contain only lower-case
2259     +letters, numbers, periods, hyphens and underscores, and
2260     +should start with a lower-case letter. For example
2261     +"johnson", "intra", and "cust3.prj12" are all valid
2262     +names, but "3associates", "John Smith" and
2263     +"Bus!Partner" are not. The name is limited to [_1] characters.',
2264     +'iba_NAME_LABEL' => 'Information bay name',
2265     +'iba_USER_ACCESS' => 'User access via file sharing or user ftp',
2266     +'iba_PUBLIC_ACCESS' => 'Public access via web or anonymous ftp',
2267     +'iba_PUBLIC_ACCESS_DESCRIPTION' => 'The public access mode "password required outside local
2268     +network" is not supported by the FTP server component. If
2269     +you select this mode, the FTP server will require a
2270     +password both inside and outside the local network for this
2271     +i-bay.',
2272     +'iba_ALLOW_DYNAMIC_CONTENT' => 'Execution of dynamic content (CGI, PHP, SSI)',
2273     +'iba_HTTPS_Only' => 'Force secure connections',
2274     +'iba_REMOVE_TITLE' => 'Remove information bay',
2275     +'iba_REMOVE_DESC' => '<p>You are about to remove the information bay [_1] ([_2]).
2276     +</p><p>All files belonging to this information bay will be deleted.
2277     +</p><p>Are you sure you wish to remove this information bay?
2278     +</p>',
2279     +'iba_ERROR_WHILE_CREATING_IBAY' => 'An error occurred while creating the i-bay.',
2280     +'iba_SUCCESSFULLY_CREATED_IBAY' => 'Successfully created i-bay.',
2281     +'iba_NO_IBAYS' => 'There are no i-bays currently configured.',
2282     +'iba_CANT_FIND_IBAY' => 'Can\'t find account for [_1] (does it exist?)',
2283     +'iba_CANT_CREATE_IBAY' => 'Can\'t create new account for [_1] (does it already exist?)',
2284     +'iba_ERROR_WHILE_MODIFYING_IBAY' => 'An error occurred while modifying the i-bay.',
2285     +'iba_SUCCESSFULLY_MODIFIED_IBAY' => 'Successfully modified i-bay.',
2286     +'iba_VIRTUAL_HOST_MESSAGE' => 'The following virtual domains were using this information
2287     +bay as their content and will be changed to the primary web
2288     +site (you can change them to something else afterward).',
2289     +'iba_SUCCESSFULLY_DELETED_IBAY' => 'Successfully deleted i-bay.',
2290     +'iba_ERROR_WHILE_DELETING_IBAY' => 'An error occurred while deleting the i-bay.',
2291     +'iba_PASSWORD_DESC' => 'You are about to change the password for the i-bay [_1].',
2292     +'iba_IBAY_PASSWD_VALIDATION_ERROR' => 'The password may contain only letters and numbers.',
2293     +'iba_IBAY_PASSWD_VERIFY_ERROR' => 'The passwords do not match.',
2294     +'iba_SUCCESSFULLY_RESET_PASSWORD' => 'Successfully reset password.',
2295     +'iba_ERROR_WHILE_RESETTING_PASSWORD' => 'Error while resetting password.',
2296     +'iba_VHOST_MESSAGE' => '<P>The following virtual domains were using this information bay
2297     +as their content and will be changed to the primary web site
2298     +(you can change them to something else afterward):</P>',
2299     +'iba_Information bays' => 'Information bays',
2300     +'WGRG' => 'Write = group, Read = group',
2301     +'WGRE' => 'Write = group, Read = everyone',
2302     +'WARG' => 'Write = admin, Read = group',
2303     +'NONE' => 'No access',
2304     +'LOCAL_NETWORK_NO_PASSWORD' => 'Local network (no password required)',
2305     +'LOCAL_NETWORK_PASSWORD' => 'Local network (password required)',
2306     +'ENTIRE_INTERNET_NO_PASSWORD' => 'Entire Internet (no password required)',
2307     +'ENTIRE_INTERNET_PASSWORD' => 'Entire Internet (password required)',
2308     +'ENTIRE_INTERNET_PASSWORD_REMOTE' => 'Entire Internet (password required outside local network)',
2309     +'INVALID_IBAY_DESCRIPTION' => 'Error: unexpected or missing characters in i-bay description',
2310     +'iba_ACCT_NAME_HAS_INVALID_CHARS' => 'The i-bay name "[_1]" contains invalid characters.
2311     +I-bay names must start with a lower case letter and contain
2312     +only lower case letters, numbers, and hyphens.',
2313     +'iba_MAX_IBAY_NAME_LENGTH_ERROR' => 'The i-bay name "[_1]" is too long. The maximum is
2314     +[_2] characters.',
2315     +'iba_ACCT_CLASHES_WITH_PSEUDONYM' => 'The account "[_1]" clashes with pseudonym
2316     +details for [_2] account "[_3]".
2317     +<p>[_1] is a pseudonym for [_2].</p>',
2318     +'iba_ACCOUNT_EXISTS' => 'The account "[_1]" is an existing [_2] account.',
2319     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Initial/initial_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Initial/initial_en.lex
2320     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Initial/initial_en.lex 1970-01-01 04:00:00.000000000 +0400
2321     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Initial/initial_en.lex 2020-04-15 00:15:11.589000000 +0400
2322     @@ -0,0 +1,57 @@
2323     +
2324     +initial_FORM_TITLE => 'Welcome to the server manager',
2325     +initial_FRAMES_BODY => '<p>
2326     + Welcome to SME Server, the leading Linux distribution for
2327     + small and medium enterprises. SME Server is brought to
2328     + you by <A HREF="https://www.koozali.org/" TARGET="_blank">Koozali Foundation, Inc.</A>,
2329     + a non-profit corporation that exists to provide marketing and
2330     + legal support for SME Server.
2331     + </p>
2332     +
2333     + <p>
2334     + SME Server is freely available under the GNU General Public
2335     + License and is only possible through the efforts of the SME
2336     + Server community. However, the availability and quality of SME
2337     + Server is dependent on meeting our expenses, such as hosting
2338     + costs, server hardware, etc.
2339     + </p>
2340     +
2341     +
2342     + <p>
2343     + As such, we ask for a donation to offset costs and fund
2344     + further development.
2345     + </p>
2346     +
2347     + <p>
2348     + a) If you are a school, a church, a non-profit organisation or an
2349     + individual using SME for private purposes, we would appreciate you to
2350     + contribute within your means toward the costs associated with hosting,
2351     + maintenance and development.
2352     + </p>
2353     +
2354     + <p>
2355     + b) If you are a company or an integrator and you are deploying SME in
2356     + the course of your work to generate revenue, we expect you to make a
2357     + donation commensurate with the level of revenue you generate and the
2358     + number of servers your have in the field. Please, help the project
2359     + </p>
2360     +
2361     + <br>
2362     +
2363     + <p>
2364     + <a href="https://wiki.koozali.org/Donate" target="_blank">
2365     + <img src="images/btn_donateCC_LG.gif" alt="https://wiki.koozali.org/Donate"
2366     + align="middle"></a>
2367     + </p>
2368     +
2369     + <br>
2370     +
2371     + <p>
2372     + This software comes with ABSOLUTELY NO WARRANTY.
2373     + Please <A HREF="support" TARGET="_self">click here</A>
2374     + to view detailed support, warranty and licensing information.
2375     + </p>
2376     +
2377     + <p>
2378     + To perform a system administration function, click one of the links in the menu on the left of your screen.
2379     + </p>',
2380     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Initial/initial_fr.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Initial/initial_fr.lex
2381     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Initial/initial_fr.lex 1970-01-01 04:00:00.000000000 +0400
2382     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Initial/initial_fr.lex 2020-04-15 00:17:23.525000000 +0400
2383     @@ -0,0 +1,18 @@
2384     +initial_FORM_TITLE => 'Bienvenue dans le gestionnaire du serveur',
2385     +initial_FRAMES_BODY => '<p>Bienvenue dans SME Server, la distribution Linux dédiée aux petites
2386     + et moyennes entreprises. SME Server est mis à votre disposition par
2387     + <A HREF="https://www.koozali.org/" TARGET="_blank">Koozali Foundation, Inc.</A>,
2388     + organisation à but non lucratif dont l\'objectif est d\'assurer la promotion,
2389     + le support et l\'existence légale de SME Server.</p> <p>SME Server est gratuitement
2390     + exploitable, selon les termes de la Licence "GNU General Public License", et n\'existe
2391     + que grâce aux efforts de la communauté formée autour de SME Server. Toutefois, la
2392     + disponibilité et la qualité de SME Server dépendent de notre capacité à régler nos dépenses
2393     + telles que les coûts liés à l\'hébergement, au serveur matériel, etc.</p> <p>De ce fait,
2394     + nous demandons une petite contribution financière afin de couvrir nos dépenses et d\'assurer
2395     + les développements à venir.<p> <p><b>Veuillez aller sur
2396     + <A HREF="https://wiki.koozali.org/Donate" TARGET="_blank">https://wiki.koozali.org/Donate</A>
2397     + pour effectuer votre donation.</b></p> <p>Ce système d\'exploitation ne dispose
2398     + d\'AUCUNE GARANTIE. Veuillez <a href="/server-manager/support/" target="main">cliquer ici</a>
2399     + pour afficher les informations détaillées concernant le support technique, la garantie et
2400     + la licence d\'exploitation.</p> <p>Pour effectuer une tâche d\'administration du système,
2401     + cliquez sur l\'un des liens dans le menu situé à la gauche de votre écran.</p>',
2402     \ Pas de fin de ligne à la fin du fichier
2403     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Localnetworks/localnetworks_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Localnetworks/localnetworks_en.lex
2404     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Localnetworks/localnetworks_en.lex 1970-01-01 04:00:00.000000000 +0400
2405     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Localnetworks/localnetworks_en.lex 2020-04-14 00:03:37.000000000 +0400
2406     @@ -0,0 +1,56 @@
2407     +'ln_LOCAL NETWORKS' => 'Local networks',
2408     +'ln_FIRSTPAGE_DESC' => 'For security reasons, several services on your server are
2409     + available only to your local network. However you can grant these
2410     + local access privileges to additional networks by listing them
2411     + below. Most installations should leave this list empty.',
2412     +'ln_ADD_TITLE' => 'Add a local network ',
2413     +'ln_ADD_DESC' =>'Each parameter must be in the form #.#.#.# (each # is a number
2414     + from 0 to 255). The server software will zero out the ending (host
2415     + identifier) part of the network address according to the subnet
2416     + mask, to ensure that the network address is valid. </P><P>
2417     + "Router" should be the IP address of the router on your local
2418     + network via which the additional network is reached.',
2419     +'ln_NETWORK_ADDRESS' => 'Network address',
2420     +'ln_SUBNET_MASK' => 'Subnet mask',
2421     +'ln_INVALID_IP_ADDRESS' => 'Invalid IP address - [_1]',
2422     +'ln_INVALID_SUBNET_MASK' => 'Invalid subnet mask',
2423     +'ln_REMOVE_TITLE' => 'Remove local network',
2424     +'ln_REMOVE_DESC' => 'You are about to remove the following local network.',
2425     +'ln_REMOVE_CONFIRM' => 'Are you sure you wish to remove this network?',
2426     +'ln_DEFAULT' => 'default',
2427     +'ln_NUMBER_OF_HOSTS' => 'Number of hosts',
2428     +'ln_NOT_ACCESSIBLE_FROM_LOCAL_NETWORK' => 'Error: router address {$networkRouter} is not accessible
2429     + from local network. Did not add network.',
2430     +'ln_LOCALNETWORK_ADD'=>'Add network',
2431     +'ln_NETWORK_ALREADY_LOCAL' => ' Error: network {$network} (derived from network
2432     + {$networkAddress} and subnet mask {$networkMask})
2433     + is already considered local. Did not add new network. ',
2434     +'ln_NETWORK_ALREADY_ADDED' => 'Error: network {$network} (derived from network
2435     + {$networkAddress} and subnet mask {$networkMask})
2436     + has already been added. Did not add new network.',
2437     +'ln_ERROR_CREATING_NETWORK' => 'Error occurred while creating network.',
2438     +'ln_SUCCESS' =>'Successfully added network {$network}/{$networkMask} via router {$networkRouter}.',
2439     +'ln_SUCCESS_SINGLE_ADDRESS' =>'Successfully added network {$network}/{$networkMask} via router {$networkRouter}. Your server will grant local access privileges to the single IP address {$network}. ',
2440     +'ln_SUCCESS_NETWORK_RANGE' =>'Successfully added network [_1]/[_2] via router [_3]. Your server will grant local access privileges to [_4] IP addresses in the range [_5] to [_6]. ',
2441     +'ln_NO_SUCH_NETWORK' =>'Network not found in network db',
2442     +'ln_SUCCESS_REMOVED_NETWORK' =>'Successfully removed network [_1]/[_2] via router [_3].',
2443     +'ln_ERROR_DELETING_NETWORK' => 'Error occurred while deleting network.',
2444     +'ln_NO_ADDITIONAL_NETWORKS' => 'No additional networks',
2445     +'ln_REMOVE_HOSTS_DESC' => 'Local hosts configured on the network you are about to remove have
2446     + been detected. By default, they will also be removed. Uncheck this
2447     + box if, for some reason, you do not wish this to happen. Note that
2448     + they will not be treated as local, and may not even be reachable,
2449     + after this network is removed. ',
2450     +'ln_REMOVE_HOSTS_LABEL' => 'Remove hosts on network',
2451     +'ln-extra' => '{$network}/{$networkMask} via router $networkRouter}.',
2452     +'ln_SUCCESS_NONSTANDARD_RANGE' =>'<p>
2453     + Successfully added network {$network}/{$networkMask} via router
2454     + {$networkRouter}.
2455     + </p><p>
2456     + Your server will grant local
2457     + access privileges to {$totalHosts} IP addresses in the range
2458     + {$firstAddr} to {$lastAddr}.
2459     + </p><p>
2460     + Warning: the ProFTPd FTP server cannot
2461     + handle this nonstandard subnet mask. The simpler specification
2462     + <b>{$simpleMask}</b> will be used instead.</p>',
2463     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Manual/manual_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Manual/manual_en.lex
2464     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Manual/manual_en.lex 1970-01-01 04:00:00.000000000 +0400
2465     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Manual/manual_en.lex 2020-04-13 12:16:13.000000000 +0400
2466     @@ -0,0 +1,11 @@
2467     +manual_FORM_TITLE => 'Online manual and other documentation',
2468     +manual_DESCRIPTION => '
2469     + <ul>
2470     + <li><a target="new" href="https://wiki.koozali.org/documentation/manual/">
2471     + Online manual</a>
2472     + <li><a target="new" href="https://wiki.koozali.org/documentation/FAQ/">
2473     + FAQs</a>
2474     + </ul>
2475     + <H2>Support and licensing</H2>
2476     + This software is released under the terms listed in the <a href="/server-manager2/support">
2477     + Support and Licensing</a> page.',
2478     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Manual/manual_fr.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Manual/manual_fr.lex
2479     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Manual/manual_fr.lex 1970-01-01 04:00:00.000000000 +0400
2480     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Manual/manual_fr.lex 2020-04-13 20:31:38.000000000 +0400
2481     @@ -0,0 +1,9 @@
2482     +manual_FORM_TITLE => 'Documentation et manuel en ligne (séparé)',
2483     +manual_DESCRIPTION => '
2484     +<ul> <li><a target="new" href="https://wiki.koozali.org/documentation/manual/">Manuel en ligne</a>
2485     +<li><a target="new" href="https://wiki.koozali.org/documentation/FAQ/">Questions fréquemment posées (FAQs)</a>
2486     +</ul>
2487     +<h2>Support technique et license d\'exploitation</h2>
2488     +Ce système d\'exploitation est soumis aux règles décrites dans la page consacrée au
2489     + <a href="/server-manager2/support">support technique et à la license d\'exploitation</a>.',
2490     +'Online manual' => 'Manuel en ligne',
2491     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Portforwarding/portforwarding_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Portforwarding/portforwarding_en.lex
2492     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Portforwarding/portforwarding_en.lex 1970-01-01 04:00:00.000000000 +0400
2493     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Portforwarding/portforwarding_en.lex 2020-04-14 00:04:13.000000000 +0400
2494     @@ -0,0 +1,56 @@
2495     +'pf_FORM_TITLE' => 'Configure Port Forwarding',
2496     +'pf_FIRST_PAGE_DESCRIPTION' => '<p>
2497     + You can use this panel to modify your firewall rules so
2498     + as to open a specific port on this server and forward it
2499     + to another port on another host. Doing so will permit
2500     + incoming traffic to directly access a private host on
2501     + your LAN.
2502     + </p><p>
2503     + WARNING: Misuse of this feature can seriously compromise the
2504     + security of your network. Do not use this feature
2505     + lightly, or without fully understanding the implications
2506     + of your actions.
2507     + </p>',
2508     +'pf_CREATE_RULE' => 'Create portforwarding rule',
2509     +'pf_SUMMARY_ADD_DESC' => 'The following summarizes the port-forwarding rule
2510     + that you are about to add. If you are satisfied with the rule,
2511     + click the \'Add\' button.',
2512     +'pf_SUMMARY_REMOVE_DESC' => 'The following summarizes the port-forwarding rule
2513     + that you are about to remove. If you are sure you want to
2514     + remove the rule, click the \'Remove\' button.',
2515     +'pf_SHOW_FORWARDS' => 'Below you will find a table summarizing the current
2516     + port-forwarding rules installed on this server. Click on the
2517     + \'Remove\' link to remove the corresponding rule.',
2518     +'pf_NO_FORWARDS' => 'There are currently no forwarded ports on the system.',
2519     +'pf_CREATE_PAGE_DESCRIPTION' => '<p>Select the protocol, the port you wish to forward, the
2520     + destination host, and the port on the destination host
2521     + that you wish to forward to. If you wish to specify a port
2522     + range, enter the lower and upper boundaries separated by a
2523     + hyphen. The destination port may be left blank, which will
2524     + instruct the firewall to leave the source port
2525     + unaltered.</p>',
2526     +'pf_LABEL_SOURCE_PORT' => 'Source Port(s)',
2527     +'pf_LABEL_PROTOCOL' => 'Protocol',
2528     +'pf_LABEL_DESTINATION_PORT' => 'Destination Port(s)',
2529     +'pf_LABEL_DESTINATION_HOST' => 'Destination Host IP Address',
2530     +'pf_LABEL_RULE_COMMENT' => 'Rule Comment',
2531     +'pf_LABEL_ALLOW_HOSTS' => 'Allow Hosts',
2532     +'pf_Port forwarding' => 'Port forwarding',
2533     +'pf_SUCCESS' => 'Your change to the port forwarding rules has been successfully saved.',
2534     +'pf_RULE_COMMENT' => 'Rule Comment',
2535     +'pf_ALLOW_HOSTS' => 'Allow Hosts',
2536     +'pf_ERR_NO_MASQ_RECORD' => 'Cannot retrieve masq record from the configuration database.',
2537     +'pf_ERR_UNSUPPORTED_MODE' => 'Unsupported mode.',
2538     +'pf_ERR_CANNOT_REMOVE_NORULE' => 'Cannot remove non-existant rule.',
2539     +'pf_ERR_NONZERO_RETURN_EVENT' => 'Event returned a non-zero return value.',
2540     +'pf_ERR_BADPORT' => 'The ports must be a positive integer less than 65536.',
2541     +'pf_ERR_BADIP' => 'This does not appear to be an IP address. You must use
2542     + dotted-quad notation, and each of the four numbers should be less
2543     + than 256. ie: 192.168.0.5',
2544     +'pf_ERR_DUPRULE' => 'This rule has already been added, it cannot be added twice.',
2545     +'pf_ERR_PORT_COLLISION' => 'ERROR: This port or port range conflicts with an existing
2546     + rule. Please modify this new rule, or remove the old rule.',
2547     +'pf_ERR_BADAHOST' => 'This does not appear to be a valid IP address list.
2548     + ie: 192.168.0.1,192.168.1.1/24',
2549     +'pf_IN_SERVERONLY' => 'This server is currently in serveronly mode and portforwarding
2550     + is possible only to localhost.',
2551     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Printers/printers_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Printers/printers_en.lex
2552     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Printers/printers_en.lex 1970-01-01 04:00:00.000000000 +0400
2553     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Printers/printers_en.lex 2020-04-13 10:44:35.000000000 +0400
2554     @@ -0,0 +1,52 @@
2555     +
2556     +'prt_FORM_TITLE' => 'Add or remove printers',
2557     +'prt_INITIAL_BTN' => 'Add printer',
2558     +'prt_INITIAL_DESC' => '<P><A class="button-like" HREF="printers?page=0&Next=Add">Add printer</A></P>',
2559     +'prt_NO_PRINTERS' => 'There are no printers in the system.',
2560     +'prt_CURRENT_LIST' => 'Current List of printers',
2561     +'prt_REMOTE_ADDRESS' => 'Remote address',
2562     +'prt_REMOTE_NAME' => 'Remote name',
2563     +'prt_CREATE_NEW_PRINTER' => 'Create a new printer',
2564     +'prt_CREATE_NEW_DESC' => 'Please choose a unique name for the printer and enter a brief
2565     +description. The printer name should contain only lower-case
2566     +letters and numbers, and should start with a lower-case
2567     +letter. For example "hplaser", "epsonlp", and
2568     +"canonbj" are valid choices, but "HP Laser Jet",
2569     +"Canon BubbleJet", and
2570     +"HP JetDirect Printer" are not.
2571     +Avoid names and descriptions that contain these terms,
2572     +"offline", "disabled", "down", "off", "waiting", "jam",
2573     +"paper", "error" and "responding". ',
2574     +'prt_PRINTER_NAME' => 'Printer name',
2575     +'prt_LOCAL_PRINTER_0' => 'Local printer port 0 (LPT1)',
2576     +'prt_LOCAL_PRINTER_1' => 'Local printer port 1 (LPT2)',
2577     +'prt_LOCAL_PRINTER_2' => 'Local printer port 2 (LPT3)',
2578     +'prt_NET_PRINTER' => 'Network printer ...',
2579     +'prt_FIRST_USB_PRINTER' => 'First USB attached printer',
2580     +'prt_SECOND_USB_PRINTER' => 'Second USB attached printer',
2581     +'prt_ERR_UNEXPECTED_NAME' => '<P>Error: unexpected characters in printer name.</P>
2582     +<P>The printer name should contain only lower-case
2583     +letters and numbers, and should start with a lower-case
2584     +letter. For example "hplaser", "epsonlp", and
2585     +"canonbj" are valid names.</P>',
2586     +'prt_ERR_UNEXPECTED_DESC' => 'Error: unexpected or missing characters in description.
2587     +Did not create new printer.',
2588     +'prt_ERR_EXISTS' => 'Error: An account with the same name exists with type: ',
2589     +'prt_ERR_INVALID_ADDRESS' => 'Error: invalid network address. Did not create new printer.',
2590     +'prt_ERR_INVALID_REMOTE_NAME' => 'Error: invalid network printer name. Did not create new printer.',
2591     +'prt_ERR_CREATING' => 'Error occurred while creating printer.',
2592     +'prt_CREATED_SUCCESSFULLY' => 'Successfully created printer: ',
2593     +'prt_CREATE_NETWORK_PRINTER' => 'Create a new network printer',
2594     +'prt_ERR_OPENING_DB' => 'Error occurred while opening accounts database.',
2595     +'prt_CREATE_NETWORK_DESC' => 'Please enter the address and name of the network printer',
2596     +'prt_HOSTNAME_OR_IP' => 'Hostname or IP address of the network printer',
2597     +'prt_REMOTE_NAME_DESC' => 'Network printer name (enter raw if not sure)',
2598     +'prt_REMOVE_PRINTER' => 'Remove printer',
2599     +'prt_ABOUT_TO_REMOVE' => 'You are about to remove the printer: ',
2600     +'prt_SPOOL_FILE_WARNING' => 'All the spool files for this printer will be deleted.',
2601     +'prt_ARE_YOU_SURE' => 'Are you sure you wish to remove this printer?',
2602     +'prt_ERR_INTERNAL_FAILURE' => 'Error: internal failure while removing printer: ',
2603     +'prt_ERR_DELETING' => 'Error occurred while deleting printer.',
2604     +'prt_DELETED_SUCCESSFULLY' => 'Successfully deleted printer: ',
2605     +'prt_MUST_BE_VALID_HOSTNAME_OR_IP' => 'Must be a valid hostname or IP number',
2606     +'prt_Printers' => 'Printers',
2607     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Proxy/proxy_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Proxy/proxy_en.lex
2608     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Proxy/proxy_en.lex 1970-01-01 04:00:00.000000000 +0400
2609     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Proxy/proxy_en.lex 2020-04-13 10:45:01.000000000 +0400
2610     @@ -0,0 +1,29 @@
2611     +
2612     +'prx_TITLE' => 'Proxy settings',
2613     +'prx_FIRST_PAGE_DESCRIPTION' => 'This page allows configuration of the server\'s
2614     +proxy settings.
2615     +The server includes a transparent proxy and cache for
2616     +HTTP traffic. This is enabled by default, but not enforced
2617     +if the server is in &quot;serveronly&quot; mode.
2618     +If this server is acting as an e-mail server, connections
2619     +from local network clients to external SMTP servers
2620     +will default to being redirected to the local e-mail server.',
2621     +'prx_HTTP_PROXY_STATUS_DESCRIPTION' => 'The server\'s HTTP proxy works to reduce overall uplink usage by
2622     +caching recently-visited pages. It is transparent to web browsers
2623     +using this server as their gateway. Enable or disable this proxy
2624     +with the following toggle.',
2625     +'prx_HTTP_PROXY_STATUS_LABEL' => 'HTTP proxy status',
2626     +'prx_SMTP_PROXY_STATUS_DESCRIPTION' => 'The server\'s transparent SMTP proxy works to reduce virus traffic
2627     +from infected client hosts by forcing all outgoing SMTP traffic
2628     +through this server if set to "enabled".
2629     +If you wish to use an alternate SMTP server, and this server is
2630     +your gateway to it, set this proxy to "disabled". Setting the
2631     +proxy to "blocked" prevents all SMTP traffic to other servers,
2632     +this is the default. The proxy only intercepts/blocks normal smtp
2633     +(port 25) traffic.',
2634     +'prx_SMTP_PROXY_STATUS_LABEL' => 'SMTP proxy status',
2635     +'prx_ERR_PROXY_UPDATE_FAILED' => 'ERROR: The proxy-update event returned an error.',
2636     +'prx_ERR_NO_SQUID_REC' => 'ERROR: There is no squid record in the configuration database.',
2637     +'prx_SUCCESS' => 'The new proxy settings were applied successfully.',
2638     +'prx_BLOCKED' => 'Blocked',
2639     +
2640     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Pseudonyms/pseudonyms_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Pseudonyms/pseudonyms_en.lex
2641     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Pseudonyms/pseudonyms_en.lex 1970-01-01 04:00:00.000000000 +0400
2642     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Pseudonyms/pseudonyms_en.lex 2020-04-13 10:33:45.000000000 +0400
2643     @@ -0,0 +1,67 @@
2644     +
2645     +'pse_NO_PSEUDONYMS' => ' <b>There are no pseudonyms in the system.</b> ',
2646     +'pse_REMOVE_PSEUDONYM' => 'Remove pseudonym',
2647     +'pse_ABOUT_TO_REMOVE' => 'You are about to remove the pseudonym: [_1]<br>
2648     +<b>Are you sure you wish to continue?</b>',
2649     +'pse_FORM_TITLE' => 'Create, modify, or remove pseudonyms',
2650     +'pse_DESCRIPTION' => '<p>The server automatically creates
2651     +an e-mail alias for each group. If you want to define an e-mail
2652     +alias for a list of users, simply create a group and the
2653     +list will automatically be maintained by the server.</p>
2654     +<p>Pseudonyms allow you to
2655     +create other names for existing users or groups.
2656     +For example, you may wish to create a pseudonym
2657     +"webmaster" for your "webdevelopers" group or a
2658     +pseudonym "joe" for the user "joseph".</p>
2659     +<p>The server automatically creates pseudonyms of the form
2660     +firstname.lastname and firstname_lastname for every user
2661     +on the system and a pseudonym "everyone" which contains
2662     +all users on the system.</p>
2663     +<p>Pseudonyms also allow you to create e-mail aliases for valid
2664     +(virtual) domains & users. For example you can forward
2665     +"sales@virtualdomain1.com" to user "mary" and
2666     +"sales@virtualdomain2.com" to user "john".
2667     +You must create the domains and user accounts before creating
2668     +the email aliases.</p>
2669     +<p>Pseudonyms can also forward to other pseudonyms, although this
2670     +is limited to one further level. For example the pseudonym
2671     +"webmaster" can forward to the pseudonym "techsupport" which
2672     +then forwards to a specified user "ray". This is useful where
2673     +one user is responsiblefor multiple roles and saves having
2674     +to change the pseudonym\'s associated with that user many times
2675     +in the event that the user departs the organisation.</p>
2676     +<p>You can modify or remove a
2677     +pseudonym by clicking on the corresponding
2678     +command next to the pseudonym.</p>',
2679     +'pse_LOCAL_ONLY' => '(local network only)',
2680     +'pse_SELECT_ACCOUNT' => 'Select account or group',
2681     +'pse_SELECT_INTERNAL' => 'Local network only',
2682     +'pse_CLICK_TO_CREATE' => 'Add pseudonym',
2683     +'pse_PSEUDONYM' => 'Pseudonym',
2684     +'pse_USER_OR_GROUP' => 'User or group',
2685     +'pse_CURRENT_PSEUDONYMS' => 'Current List of Pseudonyms',
2686     +'pse_TITLE_CREATE' => 'Create a pseudonym',
2687     +'pse_DESC_PSEUDONYM_NAME' => ' Please select an existing account or group for the pseudonym from the pulldown menu below',
2688     +'pse_MODIFY_PSEUDONYM' => 'Modify Pseudonym',
2689     +'pse_PSEUDONYM_NAME' => 'Pseudonym name',
2690     +'pse_VALID_PSEUDONYM_NAMES' => ' The pseudonym
2691     + should contain only lower-case letters, numbers, period,
2692     + hyphen and underscore
2693     + and should start with a lower-case letter or
2694     + number. For example "sales", "john.holland", "123"
2695     + and "email-administrator" are all valid pseudonyms,
2696     + but "John Smith" and "Henry Miller" are not.
2697     +<p>You can also create email aliases for accounts and (virtual)
2698     +domains that are valid on this server. For example
2699     +"fred@virtualdomain.com" can be forwarded to "mary"
2700     +(or to another valid user account).</p> ',
2701     +'pse_NAME_IN_USE' => 'Error: That name is in use You cannot create a pseudonym with that name.',
2702     +'pse_NOT_A_PSEUDONYM' => 'That account is not a pseudonym',
2703     +'pse_PSEUDONYM_INVALID_DOMAIN' => 'That domain is not hosted on this server',
2704     +'pse_PSEUDONYM_INVALID_NOACCT' => 'That account is not hosted on this server',
2705     +'pse_PSEUDONYM_INVALID_SAMEACCT' => 'A pseudonym cannot point to the same account',
2706     +'pse_CREATE_SUCCEEDED' => 'Successfully created pseudonym',
2707     +'pse_MODIFY_SUCCEEDED' => 'Successfully modified pseudonym',
2708     +'pse_REMOVE_SUCCEEDED' => 'Successfully removed pseudonym',
2709     +'pse_EVERYONE' => 'Everyone',
2710     +'pse_Pseudonyms' => 'Pseudonyms',
2711     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Qmailanalog/qmailanalog_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Qmailanalog/qmailanalog_en.lex
2712     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Qmailanalog/qmailanalog_en.lex 1970-01-01 04:00:00.000000000 +0400
2713     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Qmailanalog/qmailanalog_en.lex 2020-04-13 10:45:22.000000000 +0400
2714     @@ -0,0 +1,28 @@
2715     +
2716     +'qma_FORM_TITLE' => 'Mail Log File Analysis',
2717     +'qma_INITIAL_DESC' => '<P>Analysing the mail system log files can aid both in
2718     +understanding how your system is performing and in
2719     +diagnosing delivery problems. Several different
2720     +reports are available.</P>
2721     +<P>Please note that it may take several minutes to generate
2722     +these reports</P>',
2723     +'qma_REPORT_TYPE' => 'Choose a report type',
2724     +'qma_GENERATE_REPORT' => 'Generate report',
2725     +'qma_LIST_OUTGOING' => 'List outgoing messages and recipients',
2726     +'qma_SUMMARIZE_QUEUE' => 'Summarize status of mail queue',
2727     +'qma_SUCCESSFUL_DELIVERY_DELAY' => 'Successful delivery delay distribution',
2728     +'qma_REASONS_DEFERRAL' => 'Reasons for deferral',
2729     +'qma_REASONS_FAILURE' => 'Reasons for failure',
2730     +'qma_BASIC_STATS' => 'Basic statistics',
2731     +'qma_RECIP_STATS' => 'Recipients statistics',
2732     +'qma_RECIP_HOSTS' => 'Recipient hosts',
2733     +'qma_RECIP_ORDERED' => 'Recipients in best order for mailing lists',
2734     +'qma_SENDER_STATS' => 'Sender statistics',
2735     +'qma_SENDMAIL_STYLE' => 'Sendmail style log',
2736     +'qma_REASONS_SUCCESS' => 'Reasons for success',
2737     +'qma_SENDER_UIDS' => 'Sender uids',
2738     +'qma_INVALID_REPORT_TYPE' => 'Invalid report type: ',
2739     +'qma_REPORT_GENERATED' => 'Report generated: ',
2740     +'qma_END_OF_REPORT' => 'End of Report',
2741     +'qma_Mail log file analysis' => 'Mail log file analysis',
2742     +
2743     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Quota/quota_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Quota/quota_en.lex
2744     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Quota/quota_en.lex 1970-01-01 04:00:00.000000000 +0400
2745     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Quota/quota_en.lex 2020-04-13 10:45:48.000000000 +0400
2746     @@ -0,0 +1,40 @@
2747     +
2748     +'quo_FORM_TITLE' => 'Create, modify, or remove user account quotas',
2749     +'quo_UNABLE_TO_OPEN_ACCOUNTS' => 'Unable to open accounts db',
2750     +'quo_QUOTA_DESC' => '<p>You can set filesystem quotas for users on your system by clicking
2751     +the "Modify" button next to the user you wish to update.
2752     +<p>If the user exceeds the "Limit with grace period", warnings will be
2753     +generated. If this limit is exceeded for longer than a week or if the
2754     +"Absolute limit" is reached, the user will be unable to store any more
2755     +files or receive any more e-mail.
2756     +<p>A setting of \'0\' for either limit disables that limit for the
2757     +corresponding user.
2758     +<p>The disk space for each user includes the user\'s home directory,
2759     +e-mail, and any files owned by the user in information bays.',
2760     +'quo_CURRENT_USAGE_AND_SETTINGS' => 'Current Quota Usage and Settings',
2761     +'quo_LIMIT_WITH_GRACE' => 'Limit with grace period',
2762     +'quo_LIMIT_WITH_GRACE_MB' => 'Limit with grace period (MB)',
2763     +'quo_ABS_LIMIT' => 'Absolute limit',
2764     +'quo_ABS_LIMIT_MB' => 'Absolute limit (MB)',
2765     +'quo_CURRENT_USAGE' => 'Current usage (MB)',
2766     +'quo_COULD_NOT_GET_UID' => 'Could not determine the uid for user: ',
2767     +'quo_ERR_NO_SUCH_ACCT' => 'Error: there is no account named: ',
2768     +'quo_ERR_NOT_A_USER_ACCT' => 'Error: the account is not a user account: ',
2769     +'quo_ACCOUNT_IS_TYPE' => 'It is an account of type: ',
2770     +'quo_MODIFY_USER_TITLE' => 'Modify user quota limits',
2771     +'quo_USER' => 'User: ',
2772     +'quo_CURRENTLY_HAS' => 'currently has: ',
2773     +'quo_FILES' => 'files',
2774     +'quo_OCCUPYING' => 'occupying: ',
2775     +'quo_MEGABYTES' => 'megabytes',
2776     +'quo_INSTRUCTIONS' => 'Enter the quota with optional unit suffix of \'K\' for kilobytes, \'M\' for megabytes,
2777     +\'G\' for gigabytes or \'T\' for terabytes.
2778     +Entries with no suffix are assumed to be in megabytes. A setting of \'0\'
2779     +for either limit disables that limit for the corresponding user.',
2780     +'quo_SOFT_VAL_MUST_BE_NUMBER' => 'Error: limit with grace period must be a number, optionally followed by one of the unit suffixes K, M, G, or T.',
2781     +'quo_HARD_VAL_MUST_BE_NUMBER' => 'Error: absolute limit must be a number, optionally followed by one of the unit suffixes K, M, G, or T.',
2782     +'quo_ERR_HARD_LT_SOFT' => ' Error: absolute limit must be greater than limit with grace time. ',
2783     +'quo_ERR_MODIFYING' => 'Error occurred while modifying user.',
2784     +'quo_SUCCESSFULLY_MODIFIED' => 'Successfully modified quota for user account: ',
2785     +'quo_Quotas' => 'Quotas',
2786     +
2787     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Reboot/reboot_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Reboot/reboot_en.lex
2788     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Reboot/reboot_en.lex 1970-01-01 04:00:00.000000000 +0400
2789     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Reboot/reboot_en.lex 2020-04-13 10:46:12.000000000 +0400
2790     @@ -0,0 +1,19 @@
2791     +
2792     +'rbo_FORM_TITLE' => 'Shutdown or reboot',
2793     +'rbo_REBOOT' => 'Reboot',
2794     +'rbo_REBOOT_SUCCEEDED' => 'Reboot request initiated successfully.',
2795     +'rbo_DESC_REBOOT' => 'Your server has initiated the reboot process.',
2796     +'rbo_RECONFIGURE_SUCCEEDED' => 'Reconfiguration request initiated successfully.',
2797     +'rbo_DESC_RECONFIGURE' => 'Your server has initiated a full system reconfiguration and reboot.',
2798     +'rbo_SHUTDOWN_SUCCEEDED' => 'Shutdown request initiated successfully.',
2799     +'rbo_DESC_SHUTDOWN' => 'Your server has initiated the shutdown process.
2800     +The process will take several minutes to complete, after which
2801     +you can switch off the power.',
2802     +'rbo_LABEL_REBOOT' => 'Select Shutdown, Reboot or Reconfigure',
2803     +'rbo_DESCRIPTION' => 'You can reboot, shut down your server or perform a full system
2804     +reconfiguration from this screen. You must perform a shutdown
2805     +before switching the power off. All of these functions take
2806     +several minutes to complete.
2807     +When you click <b>perform</b> the operation will be initiated immediately, so be ready!',
2808     +'rbo_Reboot or shutdown' => 'Reboot or shutdown',
2809     +
2810     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Remoteaccess/remoteaccess_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Remoteaccess/remoteaccess_en.lex
2811     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Remoteaccess/remoteaccess_en.lex 1970-01-01 04:00:00.000000000 +0400
2812     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Remoteaccess/remoteaccess_en.lex 2020-04-13 10:37:25.000000000 +0400
2813     @@ -0,0 +1,94 @@
2814     +
2815     +'rma_FORM_TITLE' => 'Change remote access settings',
2816     +'rma_DESCRIPTION' => 'For each of the options below, the private setting allows anyone
2817     +from your local network to access your server. The
2818     +public setting allows access from anywhere on the Internet. The no
2819     +access setting disables access. To understand the security
2820     +implications of changing these options from the default settings, you
2821     +should read the user\'s guide section on remote access.',
2822     +'rma_SUCCESS' => 'The new remote access settings have been saved.',
2823     +'rma_NO_ACCESS' => 'No Access',
2824     +'rma_PASSWORD_LOGIN_PRIVATE' => 'Accept passwords only from local networks',
2825     +'rma_PASSWORD_LOGIN_PUBLIC' => 'Accept passwords from anywhere',
2826     +'rma_LABEL_TELNET_ACCESS' => 'Telnet access',
2827     +'rma_LABEL_FTP_ACCESS' => 'FTP access',
2828     +'rma_LABEL_FTP_LOGIN' => 'FTP password access',
2829     +'rma_LABEL_PPTP' => 'Number of PPTP clients',
2830     + 'rma_NUMBER_OF_PPTP_CLIENTS_MUST_BE_LESSER_THAN_NUMBER_OF_IP_IN_DHCP_RANGE' =>
2831     + 'The number of pptp clients is greater than the number of reserved IP for DHCP. You should take a smaller number.',
2832     +'rma_LABEL_SSH_PORT' => 'TCP Port for secure shell access',
2833     +'rma_LABEL_SSH' => 'Secure shell access',
2834     +'rma_LABEL_SSH_ADMIN' => 'Allow administrative command line access over secure shell',
2835     +'rma_LABEL_SSH_PASSWORD_ACCESS' => 'Allow secure shell access using standard passwords',
2836     +'rma_TITLE_SSH' => 'Secure Shell Settings',
2837     +'rma_DESC_SSH' => 'You can control Secure Shell access to your server.
2838     +The public setting should only be enabled by
2839     +experienced administrators
2840     +for remote problem diagnosis and resolution.
2841     +We recommend leaving this
2842     +parameter set to "No Access"
2843     +unless you have a specific reason to do otherwise.',
2844     +'rma_TITLE_FTP_ACCESS' => 'FTP Settings',
2845     +'rma_DESC_FTP_ACCESS' => 'You can also control <b>FTP</b> access to your server. We
2846     +recommend leaving this parameter set to \'no access\' unless you
2847     +have a specific reason to do otherwise.
2848     +<p>
2849     +Note: these settings limit access to the server and override other
2850     +settings, including those for individual information bays.</p>',
2851     +'rma_DESC_FTP_LOGIN' => 'You can also control authenticated FTP access to information
2852     +bays and user accounts. We strongly recommend leaving this
2853     +parameter set to private unless you have a specific reason to
2854     +do otherwise.
2855     +<p>
2856     +Note: a secure shell sftp client can also be used to access the
2857     +server, if remote access via the secure shell is enabled.
2858     +This method of access protects the
2859     +passwords and data of the FTP session, whereas standard FTP
2860     +provides no protection.</p>',
2861     +'rma_TITLE_PPTP' => 'PPTP Settings',
2862     +'rma_DESC_PPTP' => 'You can allow PPTP access to your server.
2863     +You should leave this feature disabled by setting the value
2864     +to the number 0 unless you require PPTP access.',
2865     +'rma_VALUE_ZERO_OR_POSITIVE' => 'Value must be zero or a positive integer',
2866     +'rma_REMOTE_MANAGEMENT' => 'Remote Management',
2867     +'rma_VALIDFROM_TITLE' => '[_1]',
2868     +'rma_VALIDFROM_DESC' => 'It is possible to allow hosts on remote networks to access the
2869     +server manager by entering those networks here. Use a subnet
2870     +mask of 255.255.255.255 to limit the access to the specified host.
2871     +Any hosts within the specified range will be able to access the
2872     +server manager using HTTPS.',
2873     +'rma_DESC_VALID_FROM_ENTRIES' => 'To add a new remote management network,
2874     +enter the details below.',
2875     +'rma_SUBNET_MASK' => 'Subnet mask',
2876     +'rma_NUM_OF_HOSTS' => 'Number of hosts',
2877     +'rma_NO_ENTRIES_YET' => 'There are no entries yet',
2878     +'rma_INVALID_SUBNET_MASK' => 'Invalid subnet mask',
2879     +'rma_ERR_INVALID_PARAMS' => 'Either provide both a network and subnet mask, or leave both
2880     +fields blank.',
2881     +'rma_ERR_NO_RECORD' => 'Unable to locate httpd-admin record in configuration db',
2882     +'rma_Remote access' => 'Remote access',
2883     +'rma_LABEL_SERIAL_CONSOLE_ACCESS' => 'Serial console',
2884     +'rma_DESC_SERIAL_CONSOLE_ACCESS' => ' <hr class="sectionbar" /><h2>Serial console</h2>
2885     +You can allow access to the server console from a terminal
2886     +connected to a server serial port.',
2887     +'rma_PORT1_ENABLED' => 'Enabled on serial port 1',
2888     +'rma_PORT2_ENABLED' => 'Enabled on serial port 2',
2889     +'rma_LABEL_PPTP_ACCESS' => 'PPTP default user access',
2890     +'rma_TITLE_TELNET_ACCESS' => 'Telnet Settings',
2891     +'rma_DESC_TELNET_ACCESS' => 'WARNING:Telnet is currently enabled, but this feature is
2892     +no longer supported.Telnet is inherently insecure and should only
2893     +be used in circumstances where no practical alternative exists. You
2894     +should change option to [_1] and use
2895     +secure shell if remote access is
2896     +required.Once disabled, telnet will no longer appear on this
2897     +screen. ',
2898     +'rma_TITLE_IPSECRW' => 'IPSEC Client (Roadwarrior) Settings',
2899     +'rma_DESC_IPSECRW' => 'You can allow IPSEC client access to your server, authenticated by
2900     +digital certificates. You should leave this feature disabled by setting the value
2901     +to the number 0 unless you require IPSEC client access.',
2902     +'rma_LABEL_IPSECRW_SESS' => 'Number of IPSEC clients',
2903     +'rma_DESC_IPSECRW_RESET' => 'If you wish to reset all digital certificates, you
2904     +can do so here.<br>Any old certificates will no longer
2905     +authenticate against the server, so <b><i>all IPSEC clients will
2906     +need to import a new certificate!</i></b>.',
2907     +'rma_LABEL_IPSECRW_RESET' => 'Reset digital certificates',
2908     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Review/review_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Review/review_en.lex
2909     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Review/review_en.lex 1970-01-01 04:00:00.000000000 +0400
2910     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Review/review_en.lex 2020-04-13 10:46:37.000000000 +0400
2911     @@ -0,0 +1,36 @@
2912     +
2913     +'rvw_FORM_TITLE' => 'Review configuration',
2914     +'rvw_DESCRIPTION' => 'This report summarizes the networking, server, and domain
2915     +parameters on this server relevant to configuring
2916     +the client computers on your network.You may wish to print this
2917     +page and use it as a reference.',
2918     +'rvw_NETWORKING_PARAMS' => 'Networking Parameters',
2919     +'rvw_SERVER_MODE' => 'Server Mode',
2920     +'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK' => 'Local IP address / subnet mask',
2921     +'rvw_EXTERNAL_IP_ADDRESS_SUBNET_MASK' => 'External IP address / subnet mask',
2922     +'rvw_GATEWAY' => 'Gateway',
2923     +'rvw_ADDITIONAL_LOCAL_NETWORKS' => 'Additional local networks',
2924     +'rvw_DHCP_SERVER' => 'DHCP server',
2925     +'rvw_BEGINNING_OF_DHCP_ADDRESS_RANGE' => 'Beginning of DHCP address range',
2926     +'rvw_END_OF_DHCP_ADDRESS_RANGE' => 'End of DHCP address range',
2927     +'rvw_SERVER_NAMES' => 'Server names',
2928     +'rvw_DNS_SERVER' => 'DNS server',
2929     +'rvw_WEB_SERVER' => 'Web server',
2930     +'rvw_PROXY_SERVER' => 'Proxy server',
2931     +'rvw_FTP_SERVER' => 'FTP server',
2932     +'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' => 'SMTP, POP, and IMAP mail servers',
2933     +'rvw_HOSTS' => 'Hosts',
2934     +'rvw_DOMAIN_INFORMATION' => 'Domain information',
2935     +'rvw_PRIMARY_DOMAIN' => 'Primary domain',
2936     +'rvw_VIRTUAL_DOMAINS' => 'Virtual domains',
2937     +'rvw_PRIMARY_WEB_SITE' => 'Primary web site',
2938     +'rvw_SERVER_MANAGER' => 'Server manager',
2939     +'rvw_USER_PASSWORD_PANEL' => 'User password panel',
2940     +'rvw_EMAIL_ADDRESSES' => 'Email Addresses',
2941     +'rvw_EMAIL_USERACCOUNT' => 'useraccount',
2942     +'rvw_EMAIL_FIRSTNAME' => 'firstname',
2943     +'rvw_EMAIL_LASTNAME' => 'lastname',
2944     +'rvw_NO_VIRTUAL_DOMAINS' => 'No virtual domains defined',
2945     +'rvw_NO_NETWORKS' => 'No additional networks defined',
2946     +'rvw_INTERNET_VISIBLE_ADDRESS' => 'Internet Visible IP Address',
2947     +
2948     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Starterwebsite/starterwebsite_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Starterwebsite/starterwebsite_en.lex
2949     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Starterwebsite/starterwebsite_en.lex 1970-01-01 04:00:00.000000000 +0400
2950     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Starterwebsite/starterwebsite_en.lex 2020-04-13 10:47:04.000000000 +0400
2951     @@ -0,0 +1,38 @@
2952     +
2953     +'sws_FORM_TITLE' => 'Create a starter website',
2954     +'sws_SUCCESS' => 'Successfully created starter web site (wrote file index.htm).
2955     + You can visit your new website at the address below:',
2956     +'sws_DESCRIPTION' => '<p>
2957     +To create a simple web page for your company, fill
2958     +in the fields below and click on <b>Create</b>.
2959     +</p><p>
2960     +You can leave any field blank if you do not need it.
2961     +</p><p>
2962     +The text that you enter below will be line wrapped
2963     +for a nicer appearance in your web page. Leave a blank line
2964     +whenever you want to start a new paragraph. If you need
2965     +to force a line break without starting a new paragraph (for
2966     +example after each line of a mailing address), then type
2967     +the four-character sequence
2968     +<blockquote>&lt;BR&gt;</blockquote>
2969     +where you would like each line break.
2970     +</p><p>
2971     +<em>Do not use this option</em>
2972     +if you have already customized your web site, since it will
2973     +overwrite the "index.htm" file in your web site directory.
2974     +</p>',
2975     +'sws_LABEL_COMPANYNAME' => 'Company name',
2976     +'sws_DESC_HEADER1' => 'First header, typically used for short phrases such
2977     +as "Leader in the field of textile manufacturing"',
2978     +'sws_DESC_TEXT1' => 'Text following first header, typically used for a
2979     +paragraph of marketing information.',
2980     +'sws_DESC_HEADER2' => 'Second header, typically used for short phrases such
2981     +as "For more information" or "To order our products":',
2982     +'sws_DESC_TEXT2' => 'Text following second header, typically used for contact
2983     +or ordering information:',
2984     +'sws_DESC_SUBMIT' => '<p>When you create this web page, the file
2985     +"index.htm" will be overwritten
2986     +in your web site directory.</p>
2987     +<p>Do you wish to proceed?</p>',
2988     +'sws_Create starter web site' => 'Create starter web site',
2989     +
2990     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Support/support_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Support/support_en.lex
2991     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Support/support_en.lex 1970-01-01 04:00:00.000000000 +0400
2992     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Support/support_en.lex 2020-04-13 10:47:38.000000000 +0400
2993     @@ -0,0 +1,2 @@
2994     +
2995     +support_FORM_TITLE => 'Support, warranty and licensing information',
2996     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Useraccounts/useraccounts_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Useraccounts/useraccounts_en.lex
2997     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Useraccounts/useraccounts_en.lex 1970-01-01 04:00:00.000000000 +0400
2998     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Useraccounts/useraccounts_en.lex 2020-04-13 10:37:55.000000000 +0400
2999     @@ -0,0 +1,120 @@
3000     +
3001     +'usr_FORM_TITLE' => 'Create, modify, or remove user accounts',
3002     +'usr_FIRSTPAGE_DESC' => '<p>
3003     +You can modify, lock or remove any account or reset the
3004     +account\'s password by clicking on the
3005     +corresponding command next to the account.
3006     +</p>
3007     +<p>
3008     +If the account is marked as locked, that means that the
3009     +user\'s password needs to be reset. Please note
3010     +that newly created accounts are automatically locked until
3011     +the password is changed.
3012     +</p>',
3013     +'usr_P2_TITLE' => 'Create or modify',
3014     +'usr_CREATE_MODIFY_DESC' => '<p>
3015     +The account name should contain only lower-case
3016     +letters, numbers, hyphens, periods, underscores and should start with a
3017     +lower-case letter. For example "betty",
3018     +"hjohnson", and "mary-jane" are all valid account names,
3019     +but "3friends", "John Smith", and "henry:miller" are not.
3020     +</p>
3021     +<p>
3022     +Note that two special pseudonyms will be created for each
3023     +new account. These pseudonyms provide the ability to have
3024     +alternative mail accounts for that
3025     +user which include their first name and last name
3026     +separated with a period (.) and underscore (_). So, for
3027     +the account "betty" with first name "Betty" and
3028     +last name "Rubble" two pseudonyms are created as
3029     +betty.rubble and betty_rubble.
3030     +</p>
3031     +<p>
3032     +The directory information (department, company, etc.)
3033     +can be changed from the defaults shown below. The
3034     +changes will apply only to this user.
3035     +</p>',
3036     +'usr_ADD_USER' => 'Add user account',
3037     +'usr_MODIFY_ADMIN_TITLE' => 'Modify the admin account',
3038     +'usr_USER_CREATED' => 'Successfully created user account. ',
3039     +'usr_USER_MODIFIED' => 'Successfully modified user account. ',
3040     +'usr_CANNOT_MODIFY_USER' => 'Error: an internal error occurred while attempting to modify
3041     +the user "[_1]".',
3042     +'usr_CANNOT_MODIFY_USER_GROUPS' =>'Error: an internal error occurred while attempting to modify
3043     +the group "[_1]" for user "[_2]".',
3044     +'usr_TAINTED_USER' => 'The account name "[_1]" contains invalid characters.',
3045     +'usr_ACCOUNT_NAME' => 'Account name',
3046     +'usr_FIRSTNAME' => 'First name',
3047     +'usr_LASTNAME' => 'Last name',
3048     +'usr_DEPARTMENT' => 'Department',
3049     +'usr_COMPANY' => 'Company',
3050     +'usr_STREET_ADDRESS' => 'Street address',
3051     +'usr_CITY' => 'City',
3052     +'usr_PHONE_NUMBER' => 'Phone number',
3053     +'usr_EMAIL_DELIVERY' => 'Email delivery',
3054     +'usr_DELIVER_EMAIL_LOCALLY' => 'Deliver email locally',
3055     +'usr_FORWARD_EMAIL' => 'Forward email to address below',
3056     +'usr_DELIVER_AND_FORWARD' => 'Both deliver locally and forward',
3057     +'usr_FORWARDING_ADDRESS' => 'Forwarding address',
3058     +'usr_GROUP_MEMBERSHIPS' => 'Group memberships',
3059     +'usr_RESET_DESC' => 'You are about to change the password for the user account "[_1]" ([_2])',
3060     +'usr_RESET_DESC2' => 'Enter the new password in the fields below',
3061     +'usr_ERR_OCCURRED_MODIFYING_PASSWORD' => 'An error occurred while updating the password',
3062     +'usr_PASSWORD_CHANGE_SUCCEEDED' => 'Successfully changed password for user "[_1]".',
3063     +'usr_LOCK_DESC' => 'You are about to lock the user account "[_1]" ([_2])',
3064     +'usr_LOCKED_ACCOUNT' => 'Successfully locked account for user "[_1]".',
3065     +'usr_NO_SUCH_USER' => 'Error: the user account "[_1]" does not exist.',
3066     +'usr_PSEUDONYM_CLASH' => 'Error: the pseudonym "[_1]" is already taken by the
3067     +existing user account "[_1]".To differentiate, add
3068     +initials to this field.',
3069     +'usr_LOCK_ACCOUNT' => 'Lock account',
3070     +'usr_LOCK_ACCOUNT_TITLE' => 'Lock user account',
3071     +'usr_LOCK_DESC2' => '
3072     +This user account will be locked. This means that this user
3073     +will not be able to log in, and will not be able
3074     +to collect e-mail. Any e-mail arriving will still be stored
3075     +and/or forwarded to an external e-mail address,
3076     +as configured. The account may be activated in the future by
3077     +setting a new password. The current
3078     +password will not be retained.
3079     +</p><p>
3080     +<b>Are you sure you wish to lock this account?</b>',
3081     +'usr_REMOVE_ACCOUNT_TITLE' => 'Remove user account',
3082     +'usr_REMOVE_DESC' => 'You are about to remove the user account "[_1]" ([_2])',
3083     +'usr_REMOVE_DESC2' => 'All files belonging to this user account will be deleted.
3084     +Also, any e-mail for this user account still
3085     +remaining on the server (i.e. that has not yet been
3086     +retrieved by the user) will be discarded.
3087     +</p><p>
3088     +<b>Are you sure you wish to remove this account?</b>',
3089     +'usr_LOCK' => 'Lock',
3090     +'usr_NO_USER_ACCOUNTS' => 'There are no user accounts on this system.',
3091     +'usr_Users' => 'Users',
3092     +'usr_ACCT_NAME_HAS_INVALID_CHARS' => 'The account name "[_1]" contains invalid characters.
3093     +Account names must start with a lower case letter and contain
3094     +only lower case letters, numbers, hyphens, periods and underscores.',
3095     +'usr_ACCOUNT_TOO_LONG' => 'Error: account name is too long. The maximum is [_1]
3096     +characters.',
3097     +'usr_ACCOUNT_CONFLICT' => 'Error: the account "[_1]" can\'t be created because
3098     +there is already a [_1] account of that name.',
3099     +'usr_ERR_OCCURRED_CREATING' => 'An error occurred creating the user.',
3100     +'usr_CANNOT_CONTAIN_WHITESPACE' => 'This field cannot contain white-space',
3101     +'usr_UNACCEPTABLE_CHARS' => '
3102     +This field must contain only letters, numbers, dots, hypens and
3103     +underscores and start with a letter',
3104     +'usr_MEMBER' => 'Member?',
3105     +'usr_VPN_CLIENT_ACCESS' => 'VPN Client Access',
3106     +'usr_SYSTEM_PASSWORD_FORM_TITLE' => 'Change system password',
3107     +'usr_SYSTEM_PASSWORD_DESCRIPTION' => 'Certain services on this server installation require a
3108     +username and password (for example this web page for the server manager
3109     +application). The username is always admin. You can change the system
3110     +password using the fields below.',
3111     +'usr_SYSTEM_PASSWORD_UNPRINTABLES_IN_PASS' => 'Password must contain only printable characters',
3112     +'usr_SYSTEM_PASSWORD_VERIFY_ERROR' => 'The two passwords are not identical.',
3113     +'usr_SYSTEM_PASSWORD_AUTH_ERROR' => 'The current password is incorrect.',
3114     +'usr_SYSTEM_PASSWORD_CHANGED' => 'The system password has been changed.',
3115     +'usr_CURRENT_SYSTEM_PASSWORD' => 'Current system password',
3116     +'usr_NEW_SYSTEM_PASSWORD' => 'New system password',
3117     +'usr_NEW_SYSTEM_PASSWORD_VERIFY' => 'New system password (verify)',
3118     +'usr_LABEL_IPSECRW_DOWNLOAD' => 'Download digital certificate to IPSec client',
3119     +'usr_ERR_OCCURRED_DELETING' => 'An error occurred while trying to delete the user.',
3120     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Viewlogfiles/viewlogfiles_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Viewlogfiles/viewlogfiles_en.lex
3121     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Viewlogfiles/viewlogfiles_en.lex 1970-01-01 04:00:00.000000000 +0400
3122     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Viewlogfiles/viewlogfiles_en.lex 2020-04-13 10:35:25.000000000 +0400
3123     @@ -0,0 +1,39 @@
3124     +
3125     +'log_FORM_TITLE' => 'View log files',
3126     +'log_FIRSTPAGE_DESC' => 'This panel allows you to view or download the log files generated
3127     +by the services running on your server.',
3128     +'log_LOG_FILE_SELECT_DESC' => 'Choose a log file to view',
3129     +'log_FILTER_PATTERN_DESC' => 'You may optionally specify a filter pattern to display only the
3130     +lines from the log file which match this pattern.If you leave
3131     +this field blank, all available lines of the log file will be
3132     +displayed. Note that this option is not used if you download the
3133     +logfile.',
3134     +'log_FILTER_PATTERN_LABEL' => 'Filter Pattern (optional)',
3135     +'log_MATCH_PATTERN_DESC' => 'You may also optionally specify a highlight pattern to mark in bold
3136     +any lines from the log file which match the highlight pattern. The
3137     +highlight pattern is applied to any lines which have already
3138     +matched the filter pattern. Note that this option is not used if
3139     +you download the logfile.',
3140     +'log_MATCH_PATTERN_LABEL' => 'Highlight Pattern (optional)',
3141     +'log_END_DESC' => 'Please note that it may take quite some time to generate these
3142     +reports.',
3143     +'log_VIEW' => 'View log file',
3144     +'log_LOG_FILE_EMPTY' => 'Log file "[_1]" is empty!',
3145     +'log_VIEWING_TIME' => 'Viewed at [_1].',
3146     +'log_MATCH_HEADER' => 'Displaying lines matching: "[_1]".',
3147     +'log_HIGHLIGHT_HEADER' => 'Highlighting lines matching: "[_1]".',
3148     +'log_NO_MATCHING_LINES' => 'No matching lines displayed.',
3149     +'log_FILENAME_ERROR' => '<p>Error while specifying log file name.</p>
3150     +<p>Invalid report type "[_1]".</p>',
3151     +'log_REFRESH' => 'Refresh this logfile',
3152     +'log_OP_DESC' => 'You must choose between viewing the logfile in your browser, or
3153     +downloading the logfile to your computer. If the logfile is
3154     +particularly large, you may wish to download it instead of
3155     +attempting to open it in your browser, as this is a problem for
3156     +some web browsers.',
3157     +'log_OP_LABEL' => 'Operation',
3158     +'log_DOWNLOAD_PAGE_DESC' => 'Your logfile download is now prepared. It will proceed as soon
3159     +as you click on the &quot;Next&quot; button below, and instruct
3160     +your browser to accept the download via the pop-up window that
3161     +will appear.',
3162     +'log_DOWNLOAD_FILE' => 'Preparing to download the logfile [_1].',
3163     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Workgroup/workgroup_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Workgroup/workgroup_en.lex
3164     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Workgroup/workgroup_en.lex 1970-01-01 04:00:00.000000000 +0400
3165     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Workgroup/workgroup_en.lex 2020-04-13 10:49:24.000000000 +0400
3166     @@ -0,0 +1,28 @@
3167     +
3168     +'wkg_FORM_TITLE' => 'Change workgroup settings',
3169     +'wkg_DESC_WORKGROUP' => 'Enter the name of the Windows workgroup that this server should appear in.',
3170     +'wkg_LABEL_WORKGROUP' => 'Windows workgroup',
3171     +'wkg_DESC_SERVERNAME' => 'Enter the name that this server should use for
3172     +Windows and Macintosh file sharing.',
3173     +'wkg_LABEL_SERVERNAME' => 'Server Name',
3174     +'wkg_DESC_PDC' => 'Should this server act as the workgroup
3175     +and domain controller on your Windows network? You should leave
3176     +this set to <b>No</b> if another server is already performing this
3177     +role on your network.',
3178     +'wkg_LABEL_PDC' => 'Workgroup and Domain Controller',
3179     +'wkg_DESC_ROAM' => 'Should this server support roaming profiles?
3180     +You should leave this set to the default of <b>No</b> unless you have
3181     +experience administering server-based Windows roaming profiles and
3182     +know that this feature is required.',
3183     +'wkg_LABEL_ROAM' => 'Roaming profiles',
3184     +'wkg_SUCCESS' => 'The new workgroup settings have been saved',
3185     +'wkg_INVALID_WORKGROUP' => 'The workgroup name must begin with a letter (upper or lower
3186     +case), followed by any combination of letters, numbers,
3187     +underscores, periods and hyphens.',
3188     +'wkg_INVALID_SERVERNAME' => 'The server name must begin with a letter (upper or lower case),
3189     +followed by any combination of letters, numbers, underscores and
3190     +hyphens.',
3191     +'wkg_INVALID_WORKGROUP_MATCHES_SERVERNAME' => 'The server and workgroup names match, when compared in lower case.
3192     +These values must be different in order for filesharing to be turned on. ',
3193     +'wkg_Workgroup' => 'Workgroup',
3194     +
3195     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Yum/yum_en.lex smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Yum/yum_en.lex
3196     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Yum/yum_en.lex 1970-01-01 04:00:00.000000000 +0400
3197     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Modules/Yum/yum_en.lex 2020-04-13 10:37:03.000000000 +0400
3198     @@ -0,0 +1,78 @@
3199     +
3200     +'yum_FORM_TITLE' => 'Software installer',
3201     +'yum_SUCCESS' => 'The new settings have been saved.',
3202     +'yum_LABEL_YUM_STATUS' => 'Check for updates',
3203     +'yum_LABEL_YUM_AUTOINSTALLUPDATES' => 'Automatically install updates',
3204     +'yum_DESC_YUM_AUTOINSTALLUPDATES' => 'If enabled this will take precedence over the simple check for updates notification and predownload features. Instead it will install the available updates from enabled repositories. For more information refer to yum and yum-cron manual page.',
3205     +'yum_LABEL_YUM_PACKAGEFUNCTIONS' => 'Manage individual packages',
3206     +'yum_DESC_YUM_PACKAGEFUNCTIONS' => 'The software installer can manage groups of
3207     +related package or individual packages. By
3208     +default, only groups of packages are presented.
3209     +If you wish to manage individual packages,
3210     +enable this option. This should only be done
3211     +by experienced administrators.',
3212     +'yum_LABEL_ENABLED_REPOSITORIES' => 'Enabled repositories',
3213     +'yum_DESC_ENABLED_REPOSITORIES' => 'The software installer can install software
3214     +from any of enabled repositories. To enable
3215     +a repository, select it from the list.
3216     +To disable a repository, de-select it from the list.
3217     +By default, only stable, tested software is available
3218     +for installation.',
3219     +'yum_TITLE_UPTODATE' => 'This system is up to date.',
3220     +'yum_DESC_UPTODATE' => 'All updates have been installed.',
3221     +'yum_TITLE_UPDATES_AVAILABLE' => 'Updates Available',
3222     +'yum_DESC_UPDATES_AVAILABLE' => 'There are updates available for your system. These updates
3223     +should be installed as soon as possible.',
3224     +'yum_LABEL_AVAILABLE_UPDATES' => 'Updates available',
3225     +'yum_DESC_AVAILABLE_UPDATES' => 'The following updates are available for your system.
3226     +You should normally install all available updates.
3227     +If there are updates you do not wish to install, de-select
3228     +them from the list below.',
3229     +'yum_INSTALL_UPDATES' => 'Install selected updates',
3230     +'yum_BUTTON_INSTALL_UPDATES' => 'List available updates',
3231     +'yum_HEADER_AVAILABLE_SOFTWARE' => 'The following software is available to be installed
3232     +onto your system. You should only install additional
3233     +software onto this system if you are aware
3234     +of the consequences of doing so.',
3235     +'yum_DESC_AVAILABLE_GROUPS' => 'You can select software groups
3236     +to install from the list below.',
3237     +'yum_LABEL_AVAILABLE_GROUPS' => 'Available groups',
3238     +'yum_DESC_AVAILABLE_PACKAGES' => 'You can also select individual packages
3239     +to install from the list below.',
3240     +'yum_LABEL_AVAILABLE_PACKAGES' => 'Available packages',
3241     +'yum_INSTALL_SOFTWARE' => 'Install',
3242     +'yum_HEADER_INSTALLED_SOFTWARE' => 'The following software is installed
3243     +on this system. You should only remove
3244     +software from this system if you are aware
3245     +of the consequences of doing so.',
3246     +'yum_DESC_INSTALLED_GROUPS' => 'You can select software groups
3247     +to remove from the list below.',
3248     +'yum_LABEL_INSTALLED_GROUPS' => 'Installed groups',
3249     +'yum_DESC_INSTALLED_PACKAGES' => 'You can also select individual packages
3250     +you wish to remove from the list below.',
3251     +'yum_LABEL_INSTALLED_PACKAGES' => 'Installed packages',
3252     +'yum_BUTTON_CONFIGURATION' => 'Change software installer settings',
3253     +'yum_BUTTON_INSTALL_AVAILABLE' => 'Install additional software',
3254     +'yum_BUTTON_REMOVE' => 'Remove installed software',
3255     +'yum_HEADER_POSTUPGRADE_REQUIRED' => ' The system needs to be reconfigured
3256     + after adding or removing software,
3257     + or applying updates.
3258     +<p>
3259     +Please click on the Reconfigure button at the bottom of
3260     +this page to start the reconfiguration process.
3261     + <b>An automatic reboot will be
3262     + initiated as part of this reconfiguration process</b>
3263     +</p> ',
3264     +'yum_SYSTEM_BEING_RECONFIGURED' => 'Your system is being automatically rebooted to
3265     +complete the reconfiguraton process.',
3266     +'yum_1DAILY' => 'Daily',
3267     +'yum_2WEEKLY' => 'Weekly',
3268     +'yum_3MONTHLY' => 'Monthly',
3269     +'yum_LABEL_YUM_DELTARPMPROCESS' => 'Delta Rpm Update',
3270     +'yum_DESC_YUM_DELTARPMPROCESS' => 'A deltarpm contains the difference between an old and a new version of a rpm,
3271     + which can save bandwith. The drawback is that update
3272     + operations consume considerably more CPU cycles',
3273     +'yum_LABEL_YUM_DOWNLOADONLY' => 'Predownload updates',
3274     +'yum_DESC_YUM_DOWNLOADONLY' => 'The rpm updates can be downloaded during the night,
3275     + this will ease and give faster the yum update process
3276     + (only enabled repositories will be used).',
3277     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Plugin/I18N.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Plugin/I18N.pm
3278     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Plugin/I18N.pm 1970-01-01 04:00:00.000000000 +0400
3279     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Plugin/I18N.pm 2020-04-13 00:09:53.000000000 +0400
3280     @@ -0,0 +1,433 @@
3281     +package SrvMngr::Plugin::I18N;
3282     +use Mojo::Base 'Mojolicious::Plugin';
3283     +
3284     +use Mojo::URL;
3285     +use I18N::LangTags;
3286     +use I18N::LangTags::Detect;
3287     +
3288     +our $VERSION = '1.6';
3289     +
3290     +# "Can we have Bender burgers again?
3291     +# No, the cat shelter’s onto me."
3292     +sub register {
3293     + my ($plugin, $app, $conf) = @_;
3294     +
3295     + # Initialize
3296     + my $namespace = $conf->{namespace} || ( (ref $app) . '::I18N' );
3297     + my $default = $conf->{default } || 'en';
3298     + $default =~ tr/-A-Z/_a-z/;
3299     + $default =~ tr/_a-z0-9//cd;
3300     +
3301     + my $langs = $conf->{support_url_langs};
3302     + my $hosts = $conf->{support_hosts };
3303     +
3304     + # Default Handler
3305     + my $handler = sub {
3306     + shift->stash->{i18n} =
3307     + SrvMngr::Plugin::I18N::_Handler->new(namespace => $namespace, default => $default)
3308     + ;
3309     + };
3310     +
3311     + # Add hook
3312     + $app->hook(
3313     + before_dispatch => sub {
3314     + my $self = shift;
3315     +
3316     + # Handler
3317     + $handler->( $self );
3318     +
3319     + # Header detection
3320     + my @languages = $conf->{no_header_detect}
3321     + ? ()
3322     + : I18N::LangTags::implicate_supers(
3323     + I18N::LangTags::Detect->http_accept_langs(
3324     + $self->req->headers->accept_language
3325     + )
3326     + )
3327     + ;
3328     +
3329     + # Host detection
3330     + my $host = $self->req->headers->header('X-Host') || $self->req->headers->host;
3331     + if ($conf->{support_hosts} && $host) {
3332     + warn $host;
3333     + $host =~ s/^www\.//; # hack
3334     + if (my $lang = $conf->{support_hosts}->{ $host }) {
3335     + $self->app->log->debug("Found language $lang, Host header is $host");
3336     +
3337     + unshift @languages, $lang;
3338     + }
3339     + }
3340     +
3341     + # Set default language
3342     + $self->stash(lang_default => $languages[0]) if $languages[0];
3343     +
3344     + # URL detection
3345     + if (my $path = $self->req->url->path) {
3346     + my $part = $path->parts->[0];
3347     +
3348     + if ($part && $langs && grep { $part eq $_ } @$langs) {
3349     + # Ignore static files
3350     + return if $self->res->code;
3351     +
3352     + $self->app->log->debug("Found language $part in URL $path");
3353     +
3354     + unshift @languages, $part;
3355     +
3356     + # Save lang in stash
3357     + $self->stash(lang => $part);
3358     +
3359     + # Clean path
3360     + shift @{$path->parts};
3361     + $path->trailing_slash(0);
3362     + }
3363     + }
3364     +
3365     + # Languages
3366     + $self->languages(@languages, $default);
3367     + }
3368     + );
3369     +
3370     + # Add "i18ns" helper
3371     + $app->helper(i18ns => sub {
3372     + my $self = shift;
3373     +
3374     + $handler->( $self ) unless $self->stash('i18n');
3375     +
3376     + $self->stash->{i18n}->i18namespace(@_);
3377     + });
3378     +
3379     + # Add "languages" helper
3380     + $app->helper(languages => sub {
3381     + my $self = shift;
3382     +
3383     + $handler->( $self ) unless $self->stash('i18n');
3384     +
3385     + $self->stash->{i18n}->languages(@_);
3386     + });
3387     +
3388     + # Add "l" helper
3389     + $app->helper(l => sub {
3390     + my $self = shift;
3391     +
3392     + $handler->( $self ) unless $self->stash('i18n');
3393     +
3394     + $self->stash->{i18n}->localize(@_);
3395     + });
3396     +
3397     + # Reimplement "url_for" helper
3398     + my $mojo_url_for = *Mojolicious::Controller::url_for{CODE};
3399     +
3400     + my $i18n_url_for = sub {
3401     + my $self = shift;
3402     + my $url = $self->$mojo_url_for(@_);
3403     +
3404     + # Absolute URL
3405     + return $url if $url->is_abs;
3406     +
3407     + # Discard target if present
3408     + shift if (@_ % 2 && !ref $_[0]) || (@_ > 1 && ref $_[-1]);
3409     +
3410     + # Unveil params
3411     + my %params = @_ == 1 ? %{$_[0]} : @_;
3412     +
3413     + # Detect lang
3414     + if (my $lang = $params{lang} || $self->stash('lang')) {
3415     + my $path = $url->path || [];
3416     +
3417     + # Root
3418     + if (!$path->[0]) {
3419     + $path->parts([ $lang ]);
3420     + }
3421     +
3422     + # No language detected
3423     + elsif ( ref $langs ne 'ARRAY' or not scalar grep { $path->contains("/$_") } @$langs ) {
3424     + unshift @{ $path->parts }, $lang;
3425     + }
3426     + }
3427     +
3428     + $url;
3429     + };
3430     +
3431     + {
3432     + no strict 'refs';
3433     + no warnings 'redefine';
3434     +
3435     + *Mojolicious::Controller::url_for = $i18n_url_for;
3436     + }
3437     +}
3438     +
3439     +package SrvMngr::Plugin::I18N::_Handler;
3440     +use Mojo::Base -base;
3441     +
3442     +use constant DEBUG => $ENV{MOJO_I18N_DEBUG} || 0;
3443     +
3444     +# "Robot 1-X, save my friends! And Zoidberg!"
3445     +sub i18namespace {
3446     + my ($self, $namespace) = @_;
3447     +
3448     + unless ($namespace) {
3449     + return $self->{namespace};
3450     + }
3451     +
3452     + # Handle
3453     + ####$namespace = $self->{namespace};
3454     +
3455     + # Language
3456     + my $language = $self->{language};
3457     +
3458     + ##DEBUG && warn("****** i18namespace & lang $namespace $language");
3459     +
3460     + # Load Lang Module
3461     + $self->_load_module($namespace => $language);
3462     +
3463     + if (my $handle = $namespace->get_handle($language)) {
3464     + $handle->fail_with(sub { $_[1] });
3465     + $self->{handle} = $handle;
3466     + $self->{language} = $handle->language_tag;
3467     + $self->{namespace} = $handle->language_tag;
3468     + }
3469     +
3470     + return $self;
3471     +}
3472     +
3473     +sub languages {
3474     + my ($self, @languages) = @_;
3475     +
3476     + unless (@languages) {
3477     + my $lang = $self->{language};
3478     +
3479     + # lang such as en-us
3480     + $lang =~ s/_/-/g;
3481     +
3482     + return $lang;
3483     + }
3484     +
3485     + # Handle
3486     + my $namespace = $self->{namespace};
3487     +
3488     + # Load Lang Module
3489     + $self->_load_module($namespace => $_) for @languages;
3490     +
3491     + if (my $handle = $namespace->get_handle(@languages)) {
3492     + $handle->fail_with(sub { $_[1] });
3493     + $self->{handle} = $handle;
3494     + $self->{language} = $handle->language_tag;
3495     + $self->{namespace} = $namespace;
3496     + }
3497     +
3498     + return $self;
3499     +}
3500     +
3501     +sub localize {
3502     + my $self = shift;
3503     + my $key = shift;
3504     + return $key unless my $handle = $self->{handle};
3505     + return $handle->maketext($key, @_);
3506     +}
3507     +
3508     +sub _load_module {
3509     + my $self = shift;
3510     +
3511     + my($namespace, $lang) = @_;
3512     + return unless $namespace && $lang;
3513     +
3514     + # lang such as en-us
3515     + $lang =~ s/-/_/g;
3516     +
3517     + ##DEBUG && warn("****** namespace & lang $namespace $lang");
3518     +
3519     + unless ($namespace->can('new')) {
3520     + DEBUG && warn("Load default namespace $namespace");
3521     +
3522     + (my $file = $namespace) =~ s{::|'}{/}g;
3523     + eval qq(require "$file.pm");
3524     +
3525     + if ($@) {
3526     + DEBUG && warn("Create default namespace $namespace");
3527     +
3528     + eval "package $namespace; use base 'Locale::Maketext'; 1;";
3529     + die qq/Couldn't initialize I18N default class "$namespace": $@/ if $@;
3530     + }
3531     + }
3532     +
3533     + for ($self->{default}, $lang) {
3534     + my $module = "${namespace}::$_";
3535     + unless ($module->can('new')) {
3536     + DEBUG && warn("Load the I18N class $module");
3537     +
3538     + (my $file = $module) =~ s{::|'}{/}g;
3539     + eval qq(require "$file.pm");
3540     +
3541     + my $default = $self->{default};
3542     + if ($@ || not eval "\%${module}::Lexicon") {
3543     + if ($_ eq $default) {
3544     + DEBUG && warn("Create the I18N class $module");
3545     +
3546     + eval "package ${module}; use base '$namespace';" . 'our %Lexicon = (_AUTO => 1); 1;';
3547     + die qq/Couldn't initialize I18N class "$namespace": $@/ if $@;
3548     + }
3549     + }
3550     + }
3551     + }
3552     +}
3553     +
3554     +1;
3555     +
3556     +__END__
3557     +
3558     +=head1 NAME
3559     +
3560     +Mojolicious::Plugin::I18N - Internationalization Plugin for Mojolicious
3561     +
3562     +=head1 SYNOPSIS
3563     +
3564     + # Mojolicious
3565     + $self->plugin('I18N');
3566     + % languages 'de';
3567     + %=l 'hello'
3568     +
3569     + # Mojolicious::Lite (detect language from URL, i.e. /en/ or /de/)
3570     + plugin I18N => {namespace => 'MyApp::I18N', support_url_langs => [qw(en de)]};
3571     + %=l 'hello'
3572     +
3573     + # Lexicon
3574     + package MyApp::I18N::de;
3575     + use Mojo::Base 'MyApp::I18N';
3576     +
3577     + our %Lexicon = (hello => 'hallo');
3578     +
3579     + 1;
3580     +
3581     +=head1 DESCRIPTION
3582     +
3583     +L<Mojolicious::Plugin::I18N> is internationalization plugin for Mojolicious
3584     +It works with Mojolicious 4.0+.
3585     +
3586     +Old namespace is L<Mojolicious::Plugin::I18N2>.
3587     +
3588     +=head1 OPTIONS
3589     +
3590     +L<Mojolicious::Plugin::I18N> supports the following options.
3591     +
3592     +=head2 C<support_url_langs>
3593     +
3594     + plugin I18N => {support_url_langs => [qw(en de)]};
3595     +
3596     +Detect language from URL.
3597     +
3598     +=head2 C<support_hosts>
3599     +
3600     + plugin I18N => {support_hosts => { 'mojolicious.ru' => 'ru', 'mojolicio.us' => 'en' }};
3601     +
3602     +Detect Host header and use language for that host.
3603     +
3604     +=head2 C<no_header_detect>
3605     +
3606     + plugin I18N => {no_header_detect => 1};
3607     +
3608     +Off header detect.
3609     +
3610     +=head2 C<default>
3611     +
3612     + plugin I18N => {default => 'en'};
3613     +
3614     +Default language for i18n, defaults to C<en>.
3615     +
3616     +=head2 C<namespace>
3617     +
3618     + plugin I18N => {namespace => 'MyApp::I18N'};
3619     +
3620     +Lexicon namespace, defaults to the application class followed by C<::I18N>.
3621     +
3622     +=head1 HELPERS
3623     +
3624     +L<Mojolicious::Plugin::I18N> implements helpers same as L<Mojolicious::Plugin::I18N>.
3625     +
3626     +=head2 C<l>
3627     +
3628     + %=l 'hello'
3629     + $self->l('hello');
3630     +
3631     +Translate sentence.
3632     +
3633     +=head2 C<languages>
3634     +
3635     + % languages 'de';
3636     + $self->languages('de');
3637     +
3638     +Change languages.
3639     +
3640     +=head1 METHODS
3641     +
3642     +L<Mojolicious::Plugin::I18N> inherits all methods from L<Mojolicious::Plugin::I18N>
3643     +and reimplements the following new ones.
3644     +
3645     +=head2 C<register>
3646     +
3647     + $plugin->register;
3648     +
3649     +Register plugin hooks and helpers in L<Mojolicious> application.
3650     +
3651     +=head1 DEBUG MODE
3652     +
3653     +L<Mojolicious::Plugin::I18N> has debug mode.
3654     +
3655     + # debug mode on
3656     + BEGIN { $ENV{MOJO_I18N_DEBUG} = 1 };
3657     +
3658     + # or
3659     + MOJO_I18N_DEBUG=1 perl script.pl
3660     +
3661     +=head1 SEE ALSO
3662     +
3663     +L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicio.us>.
3664     +
3665     +=head1 AUTHORS
3666     +
3667     +2011-2014 Anatoly Sharifulin <sharifulin@gmail.com>
3668     +
3669     +2010-2012 Sebastian Riedel <kraihx@googlemail.com>
3670     +
3671     +=head1 BUGS
3672     +
3673     +Please report any bugs or feature requests to C<bug-mojolicious-plugin-i18n at rt.cpan.org>, or through
3674     +the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.htMail?Queue=Mojolicious-Plugin-I18N>. We will be notified, and then you'll
3675     +automatically be notified of progress on your bug as we make changes.
3676     +
3677     +=over 5
3678     +
3679     +=item * Github
3680     +
3681     +L<http://github.com/sharifulin/mojolicious-plugin-i18n/tree/master>
3682     +
3683     +=item * RT: CPAN's request tracker
3684     +
3685     +L<http://rt.cpan.org/NoAuth/Bugs.htMail?Dist=Mojolicious-Plugin-I18N>
3686     +
3687     +=item * AnnoCPAN: Annotated CPAN documentation
3688     +
3689     +L<http://annocpan.org/dist/Mojolicious-Plugin-I18N>
3690     +
3691     +=item * CPANTS: CPAN Testing Service
3692     +
3693     +L<http://cpants.perl.org/dist/overview/Mojolicious-Plugin-I18N>
3694     +
3695     +=item * CPAN Ratings
3696     +
3697     +L<http://cpanratings.perl.org/d/Mojolicious-Plugin-I18N>
3698     +
3699     +=item * Search CPAN
3700     +
3701     +L<http://search.cpan.org/dist/Mojolicious-Plugin-I18N>
3702     +
3703     +=back
3704     +
3705     +=head1 COPYRIGHT & LICENSE
3706     +
3707     +Copyright (C) 2011-2014 by Anatoly Sharifulin.
3708     +Copyright (C) 2008-2012, Sebastian Riedel.
3709     +
3710     +This program is free software, you can redistribute it and/or modify it under
3711     +the terms of the Artistic License version 2.0.
3712     +
3713     +=cut
3714     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr.pm
3715     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr.pm 2020-04-14 16:50:36.000000000 +0400
3716     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr.pm 2020-04-16 15:27:03.848000000 +0400
3717     @@ -5,12 +5,8 @@
3718    
3719     use Mojolicious::Lite;
3720    
3721     -#has description => 'server manager 2 : mojolicious app';
3722     -#has usage => 'called via apache server cgi mode';
3723     -
3724     use utf8;
3725    
3726     -#use SrvMngr::Navigation;
3727     use SrvMngr::I18N;
3728     use SrvMngr::Model::Main;
3729    
3730     @@ -21,6 +17,7 @@
3731     our @EXPORT_OK = qw( init_session_cgi get_mod_url theme_list
3732     getNavigation ip_number is_normal_password email_simple
3733     mac_address_or_blank mac_address ip_number_or_blank
3734     + lang_space get_routes_list
3735     );
3736    
3737    
3738     @@ -42,7 +39,7 @@
3739    
3740     my $c = shift;
3741     $c->app->log->info("Init session cgi.");
3742     -
3743     +
3744     my %datas = ();
3745     %datas = %{SrvMngr::Model::Main->init_data()};
3746    
3747     @@ -143,22 +140,43 @@
3748     # Determine the directory where the functions are kept
3749     #-----------------------------------------------------
3750    
3751     - my $navigation_ignore =
3752     + my $navigation_ctlr_ignore =
3753     + "(\.\.?|Initial\.pm|Manual\.pm|Swttheme\.pm|Request\.pm|Modules\.pm|" .
3754     + "Main\.pm|Welcome\.pm|Modsearch\.pm(-.*)?)";
3755     + my $navigation_cgi_ignore =
3756     "(\.\.?|navigation|noframes|online-manual|(internal|pleasewait)(-.*)?)";
3757    
3758     + my $ctrldir = '/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/';
3759     my $cgidir = '/etc/e-smith/web/panels/manager/cgi-bin/';
3760    
3761     - if (opendir (DIR, $cgidir)) {
3762     - @files = grep (!/^${navigation_ignore}$/,
3763     + if (opendir (DIR, $ctrldir)) {
3764     + @files = grep (!/^${navigation_ctlr_ignore}$/,
3765     readdir (DIR));
3766     closedir (DIR);
3767     } else {
3768     - warn "Can't open directory $cgidir\n";
3769     + warn "Can't open directory $ctrldir\n";
3770     + }
3771     +
3772     + foreach my $file (@files) {
3773     + next if (-d "$ctrldir/$file");
3774     + next if ( $file !~ m/^[A-Z].*\.pm$/ );
3775     +
3776     + my $file2 = lc($file);
3777     + $file2 =~ s/\.pm$//;
3778     + $files_hash{$file2} = 'ctrl';
3779     + }
3780     +
3781     + # Is there some old panels not managed in new way ?
3782     + @files = ();
3783     + if (opendir (DIR, $cgidir)) {
3784     + @files = grep (!/^${navigation_cgi_ignore}$/,
3785     + readdir (DIR));
3786     + closedir (DIR);
3787     }
3788    
3789     foreach my $file (@files) {
3790     next if (-d "$cgidir/$file");
3791     - $files_hash{$file} = $cgidir;
3792     + $files_hash{$file} = 'cgim' if ( ! exists $files_hash{$file} );
3793     }
3794    
3795     #--------------------------------------------------
3796     @@ -173,8 +191,8 @@
3797     #--------------------------------------------------
3798     my %nav = ();
3799    
3800     - use constant NAVIGATIONDIR => '/home/e-smith/db/navigation';
3801     - use constant WEBFUNCTIONS => '/etc/e-smith/web/functions';
3802     + use constant NAVIGATIONDIR => '/home/e-smith/db/navigation2';
3803     +# use constant WEBFUNCTIONS => '/etc/e-smith/web/functions';
3804    
3805     my $navinfo = NAVIGATIONDIR . "/navigation.$lang";
3806    
3807     @@ -230,15 +248,17 @@
3808     # Grab the last 2 directories by splitting for '/'s and
3809     # then concatenating the last 2
3810     # probably a better way, but I don't know it.
3811     - my @filename = split /\//, $files_hash{$file};
3812    
3813     - #### mabmodif new version of module exists
3814     - my $path = (SrvMngr->get_mod_url($file) ne '-1') ?
3815     - "2" :
3816     - ###### mabmodif
3817     - ($cgidir eq '/etc/e-smith/web/panels/manager/cgi-bin/') ?
3818     - "/$filename[scalar @filename - 1]" :
3819     - "/$filename[scalar @filename - 2]/$filename[scalar @filename - 1]";
3820     + my $path;
3821     + if ( $files_hash{$file} eq 'ctrl') {
3822     + $path = "2";
3823     + } elsif ( $files_hash{$file} eq 'cgim') {
3824     + $path = "/cgi-bin";
3825     + } else {
3826     + my @filename = split /\//, $files_hash{$file};
3827     + $path = "/$filename[scalar @filename - 2]/$filename[scalar @filename - 1]";
3828     + }
3829     +
3830     push @{ $nav {$heading} {'DESCRIPTIONS'} },
3831     { DESCRIPTION => $description,
3832     WEIGHT => $descriptionWeight,
3833     @@ -251,6 +271,53 @@
3834    
3835     }
3836    
3837     +
3838     +sub lang_space {
3839     +
3840     + my $c = shift;
3841     + my $lang = shift || '';
3842     +
3843     + my $panel = $c->tx->req->url;
3844     + $panel = '/initial' if ($panel eq '');
3845     +
3846     + (my $module = $panel) =~ s|/||;
3847     + $module = ucfirst($module);
3848     +
3849     + my $moduleLong = "SrvMngr::I18N::Modules::$module";
3850     + (my $dir = $moduleLong) =~ s|::|/|g;
3851     + my $I18Ndir = app->home->rel_file('lib/') . '/' . $dir;
3852     +
3853     + app->log->info("$module $moduleLong $I18Ndir");
3854     + if ( -d $I18Ndir ) {
3855     + app->log->info("hook_b_r->panel route : lang: $lang namespace: $moduleLong");
3856     + #if ( $module eq 'Manual' or $module eq 'Clamav') {
3857     + $c->languages( $lang ) if ( defined $lang );
3858     + $c->i18ns( $moduleLong );
3859     + #}
3860     + }
3861     +};
3862     +
3863     +
3864     +sub get_routes_list {
3865     +
3866     + my $c = shift;
3867     +
3868     + my $rtdb = esmith::ConfigDB->open_ro('routes') || die 'Cannot open Routes db';
3869     + my @routes = $rtdb->get_all();
3870     + my @rt;
3871     +
3872     + for (@routes) {
3873     + my ( $contrib, $name ) = split ( /_/, $_->key);
3874     + push @rt,
3875     + { 'method' => $_->prop('Method'), 'url' => $_->prop('Url'),
3876     + 'ctlact' => $_->prop('Ctlact'), 'name' => $name,
3877     + 'contrib' => $contrib,
3878     + };
3879     + }
3880     + return \@rt;
3881     +
3882     +}
3883     +
3884    
3885     sub ip_number {
3886    
3887     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl
3888     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl 2020-04-14 16:50:36.000000000 +0400
3889     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl 2020-04-16 14:41:47.707000000 +0400
3890     @@ -6,7 +6,7 @@
3891     use warnings;
3892     use utf8;
3893    
3894     -#BEGIN { $ENV{MOJO_I18N_DEBUG} = 1};
3895     +#BEGIN { $ENV{MOJO_I18N_DEBUG} = 0};
3896    
3897     use Mojolicious::Lite;
3898    
3899     @@ -19,12 +19,14 @@
3900    
3901     my $config = plugin 'Config';
3902    
3903     -use SrvMngr;
3904     +use SrvMngr qw( lang_space );
3905    
3906     plugin 'TagHelpers';
3907    
3908     use SrvMngr::I18N;
3909     -my $locale = plugin I18N => {namespace => 'SrvMngr::I18N', default => 'en'};
3910     +
3911     +my $locale = plugin('SrvMngr::Plugin::I18N' => {namespace => 'SrvMngr::I18N', default => 'en'});
3912     +#my $locale = plugin I18N => {namespace => 'SrvMngr::I18N', default => 'en'};
3913     #my $locale = plugin I18N => {namespace => 'SrvMngr::I18N'};
3914    
3915     my $VERSION = '0.0.2';
3916     @@ -189,6 +191,18 @@
3917     $r->get('/workgroup')->to('workgroup#main')->name('workgroup');
3918     $r->post('/workgroup')->to('workgroup#do_update')->name('workgroup2');
3919    
3920     +my @routes = @{SrvMngr::get_routes_list()};
3921     +foreach (@{SrvMngr::get_routes_list()}) {
3922     +
3923     + if ( defined $_->{method} and defined $_->{url} and defined $_->{ctlact} and defined $_->{name} ) {
3924     + $r->get($_->{url})->to($_->{ctlact})->name($_->{name})
3925     + if ( $_->{method} eq 'get');
3926     +
3927     + $r->post($_->{url})->to($_->{ctlact})->name($_->{name})
3928     + if ( $_->{method} eq 'post');
3929     + }
3930     +}
3931     +
3932     $r->get('/config/:key' => {key => qr/[a-z0-9]{2,32}/})->to('request#getconfig')->name('getconfig');
3933     $r->get('/account/:key' => {key => qr/[a-z0-9]{2,32}/})->to('request#getaccount')->name('getaccount');
3934     $r->get('/:module' => {module => qr/[a-z0-9]{2,32}/})->to('modsearch#main')->name('module_search');
3935     @@ -208,4 +222,11 @@
3936     });
3937    
3938    
3939     +app->hook(before_routes => sub {
3940     + my $c = shift;
3941     + lang_space( $c, $c->session->{lang} );
3942     +});
3943     +
3944     +
3945     app->start();
3946     +
3947     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_header.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_header.html.ep
3948     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_header.html.ep 2020-04-14 16:50:36.000000000 +0400
3949     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_header.html.ep 2020-04-14 21:48:48.504000000 +0400
3950     @@ -4,7 +4,7 @@
3951     <img src="images/smeserver_logo.jpg" height="40" alt="SME Server">
3952     </div>
3953     <div id="h2e12"><h5><a href="/server-manager2/">Server Manager II</a>
3954     - <a href="/server-manager" target='main'>&nbsp &nbsp (Previous></h5>
3955     + <a href="/server-manager" target='main'>&nbsp &nbsp (Previous)</a></h5>
3956     </div>
3957     </div>
3958    
3959     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_pf_list.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_pf_list.html.ep
3960     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_pf_list.html.ep 2020-04-14 16:50:36.000000000 +0400
3961     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_pf_list.html.ep 2020-04-14 13:10:52.000000000 +0400
3962     @@ -34,7 +34,7 @@
3963     </div>
3964     %}
3965     <br><br>
3966     - %= submit_button "$btn", class => 'action2'
3967     + %= submit_button "$btn", class => 'action'
3968     <br>
3969    
3970     % if ($empty){
3971     @@ -107,3 +107,4 @@
3972     </table>
3973     % end
3974     </div>
3975     +
3976     diff -aurN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/wbl.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/wbl.html.ep
3977     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/wbl.html.ep 2020-04-14 16:50:23.000000000 +0400
3978     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/wbl.html.ep 1970-01-01 04:00:00.000000000 +0400
3979     @@ -1,30 +0,0 @@
3980     -% layout 'default', title => "Sme server 2 - workgroup", share_dir => './';
3981     -
3982     -% content_for 'module' => begin
3983     -<div id="module">
3984     -
3985     - %if ($config->{debug} == 1) {
3986     - <p>
3987     - (DBG)route: <%= $c->current_route %><br>
3988     - (DBG)trt: <%= $wbl_datas->{trt}%><br>
3989     - </p>
3990     - %}
3991     -
3992     - <h1><%= $title %></h1>
3993     - <br>
3994     - <%= $modul %>
3995     -
3996     - % if ($wbl_datas->{trt} eq 'RBL') {
3997     - %= include 'partials/_wbl_rbl'
3998     - %} elsif ($wbl_datas->{trt} eq 'BLACK') {
3999     - %= include 'partials/_wbl_black'
4000     - %} elsif ($wbl_datas->{trt} eq 'WHITE') {
4001     - %= include 'partials/_wbl_white'
4002     - %} else {
4003     - %= include 'partials/_wbl_choice'
4004     -
4005     - %}
4006     -
4007     -</div>
4008     -%end
4009     -

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed