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

Annotation of /rpms/smeserver-manager/sme10/smeserver-manager-0.1.0-mojo_struct.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:47 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 -urN smeserver-manager-0.1.0.old/root/etc/e-smith/templates/etc/httpd/admin-conf/httpd.conf/20Manager2 smeserver-manager-0.1.0/root/etc/e-smith/templates/etc/httpd/admin-conf/httpd.conf/20Manager2
2     --- smeserver-manager-0.1.0.old/root/etc/e-smith/templates/etc/httpd/admin-conf/httpd.conf/20Manager2 2019-12-16 13:55:38.000000000 +0400
3     +++ smeserver-manager-0.1.0/root/etc/e-smith/templates/etc/httpd/admin-conf/httpd.conf/20Manager2 2019-12-15 22:37:35.000000000 +0400
4     @@ -1,10 +1,9 @@
5    
6     -
7     ScriptAlias /server-manager2/noframes /etc/e-smith/web/panels/manager2/cgi-bin/noframes
8     -ScriptAlias /server-manager2/support /etc/e-smith/web/panels/manager2/cgi-bin/support
9     +#ScriptAlias /server-manager2/support /etc/e-smith/web/panels/manager2/cgi-bin/support
10     ScriptAlias /server-manager2/navigation /etc/e-smith/web/panels/manager2/cgi-bin/navigation
11    
12     # smeserver manager 2 panel
13     ScriptAlias /server-manager2/cgi-bin /etc/e-smith/web/panels/manager2/cgi-bin
14     -Alias /server-manager2 /etc/e-smith/web/panels/manager2/html
15     +Alias /server-manager2 /etc/e-smith/web/panels/manager2/html/index.cgi
16    
17     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf
18     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf 1970-01-01 04:00:00.000000000 +0400
19     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf 2019-12-16 15:11:17.638000000 +0400
20     @@ -0,0 +1,12 @@
21     +{
22     + secrets => ['new sessionsLeYTmFPhw3q', 'for validation QrPTZhWJmqCjyGZmguK'],
23     + theme => 'default',
24     +# theme => 'perso',
25     +# navigation_script_file => "js/navigation.js",
26     +# navigation_div_file => "themes/default/templates/partials/_navig.html.ep",
27     + navigation_script_file => "themes/default/public/js/navigation.js",
28     + navigation_div_file => "themes/default/templates/partials/_navig.html.ep",
29     + navigation_has_changed => 0,
30     + modules_dir => "lib/SrvMngr/Controller",
31     + debug => 1,
32     +}
33     diff -urN 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
34     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/accounts 1970-01-01 04:00:00.000000000 +0400
35     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/accounts 2019-12-16 20:24:52.791000000 +0400
36     @@ -0,0 +1 @@
37     +#accounts
38     diff -urN 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
39     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/configuration 1970-01-01 04:00:00.000000000 +0400
40     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/configuration 2019-12-16 20:25:07.127000000 +0400
41     @@ -0,0 +1 @@
42     +#configuration
43     diff -urN 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
44     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/spamassassin 1970-01-01 04:00:00.000000000 +0400
45     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/spamassassin 2019-11-03 23:52:17.000000000 +0400
46     @@ -0,0 +1,8 @@
47     +# DO NOT MODIFY THIS FILE.
48     +# This file is automatically maintained by the Mitel Networks SME Server
49     +# configuration software. Manually editing this file may put your
50     +# system in an unknown state.
51     +#
52     +# updated: Sun Nov 3 23:52:17 2019
53     +wbl.global=list| aa@toto|Black| @toto2|White| @zaza2|White| bibi@kabo2|White|bb@zaza|Black|bibik@kabo|Black
54     +wbl.global_to=list
55     diff -urN 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
56     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/wbl 1970-01-01 04:00:00.000000000 +0400
57     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/test/wbl 2019-11-03 23:52:17.000000000 +0400
58     @@ -0,0 +1,11 @@
59     +# DO NOT MODIFY THIS FILE.
60     +# This file is automatically maintained by the Mitel Networks SME Server
61     +# configuration software. Manually editing this file may put your
62     +# system in an unknown state.
63     +#
64     +# updated: Sun Nov 3 23:52:17 2019
65     +badhelo=list| ayo|Black| bibi|Black| jabo|Black
66     +badmailfrom=list| @toto|Black| @zaza|Black| bibi@kabo|Black
67     +whitelisthelo=list| ayo|White| bibi|White| jabo|White
68     +whitelisthosts=list| 1.2.3.4|White| 11.22.33.44|White| 15.24.13.26|White
69     +whitelistsenders=list| @toto|White| @zaza|White| bibi@kabo|White
70     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/README smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/README
71     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/README 1970-01-01 04:00:00.000000000 +0400
72     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/README 2019-06-12 18:58:38.000000000 +0400
73     @@ -0,0 +1,2 @@
74     +all files stored in directory :
75     +-> /usr/share/perl5/vendor_perl/smeserver/Panel ?
76     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Bugreport.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Bugreport.pm
77     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Bugreport.pm 1970-01-01 04:00:00.000000000 +0400
78     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Bugreport.pm 2019-06-12 17:55:22.000000000 +0400
79     @@ -0,0 +1,49 @@
80     +package SrvMngr::Controller::Bugreport;
81     +
82     +use strict;
83     +use warnings;
84     +use Mojo::Base 'Mojolicious::Controller';
85     +
86     +use Locale::gettext;
87     +use SrvMngr::I18N;
88     +
89     +
90     +sub main {
91     + my $c = shift;
92     +
93     + $c->app->log->info($c->log_req);
94     +
95     + #my $i18n = $c->stash('i18n');
96     + #$i18n->{'namespace'} = 'SrvMngr::I18N::Bugreport';
97     + #$i18n->namesp();
98     +
99     + my $title = $c->l('bugr_FORM_TITLE');
100     + my $modul = $c->render_to_string( inline => $c->l('bugr_DESCRIPTION'));
101     +
102     + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight},
103     + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, navigation => $c->session->{navigation},
104     + title => $title, modul => $modul);
105     +
106     + $c->render(template => 'bugreport');
107     +};
108     +
109     +
110     +sub do_report {
111     + my $c = shift;
112     +
113     + $c->app->log->info($c->log_req);
114     +
115     + my $title = $c->l('bugr_FORM_TITLE');
116     + my $modul = $c->render_to_string( 'Bug report generation <br>(to be done !!)');
117     +# my $modul = $c->render_to_string( inline => $c->l('bugr_DESCRIPTION'));
118     +
119     + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight},
120     + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, navigation => $c->session->{navigation},
121     + title => $title, modul => $modul);
122     +
123     + $c->render(template => 'module');
124     +};
125     +
126     +
127     +1;
128     +
129     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Clamav.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Clamav.pm
130     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Clamav.pm 1970-01-01 04:00:00.000000000 +0400
131     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Clamav.pm 2019-10-23 13:34:38.000000000 +0400
132     @@ -0,0 +1,112 @@
133     +package SrvMngr::Controller::Clamav;
134     +
135     +use strict;
136     +use warnings;
137     +use Mojo::Base 'Mojolicious::Controller';
138     +
139     +use Locale::gettext;
140     +use SrvMngr::I18N;
141     +
142     +#package esmith::FormMagick::Panel::clamav;
143     +
144     +our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db";
145     +
146     +sub main {
147     + my $c = shift;
148     + $c->app->log->info($c->log_req);
149     +
150     + my %clm_datas = ();
151     + my $title = $c->l('clm_FORM_TITLE');
152     + my $modul = $c->render_to_string(inline => $c->l('clm_DESC_FILESYSTEM_SCAN_PERIOD'));
153     +
154     +# $clm_datas{'FilesystemScan'} = get_prop('clamav','FilesystemScan') || 'disabled';
155     +# $clm_datas{'Quarantine'} = get_prop('clamav','Quarantine') || 'disabled';
156     + $clm_datas{'FilesystemScan'} = ($db->get_prop('clamav','FilesystemScan')) || 'disabled';
157     + $clm_datas{'Quarantine'} = ($db->get_prop('clamav','Quarantine')) || 'disabled';
158     +
159     + $clm_datas{'clam_versions'} = get_clam_versions();
160     +# value="get_prop('clamav','HTTPProxyServer')">
161     +# value="get_prop('clamav','HTTPProxyPort')">
162     +# value="get_prop('clamav','HTTPProxyUsername')">
163     +# value="get_prop('clamav','HTTPProxyPassword')">
164     +
165     + $c->stash( title => $title, modul => $modul, clm_datas => \%clm_datas );
166     + $c->render(template => 'clamav');
167     +};
168     +
169     +
170     +sub do_update {
171     + my $c = shift;
172     + $c->app->log->info($c->log_req);
173     +
174     + my $http_clamav_status = $c->param('http_clamav_status') || 'disabled';
175     + my $smtp_clamav_status = $c->param('smtp_clamav_status') || '';
176     +
177     + my $result = "";
178     +
179     +# $squid->set_prop('status', $http_clamav_status);
180     +# $smtpd->set_prop('Clamav', $smtp_clamav_status);
181     + change_settings($c);
182     +
183     + #
184     + # Update the system
185     + #
186     + #system("/sbin/e-smith/signal-event clamav-update") == 0
187     + # or $result = $c->l('clm_ERROR_UPDATING_CONFIGURATION');
188     +
189     + my $title = $c->l('clm_FORM_TITLE');
190     +
191     + if ( $result eq '' ) { $result = $c->l('clm_SUCCESS')." but system update NOT done" ; }
192     +
193     + $c->stash( title => $title, modul => $result );
194     + $c->render(template => 'module');
195     +};
196     +
197     +
198     +sub change_settings {
199     + my $c = shift;
200     +
201     + my $status = $c->param('status');
202     +
203     + my $FilesystemScan = ( $c->param('FilesystemScan') || 'disabled' );
204     + my $Quarantine = ( $c->param('Quarantine') || 'disabled' );
205     +
206     + my $DatabaseMirror = ( $c->param('DatabaseMirror') || 'db.us.clamav.net' );
207     + my $UpdateOfficeHrs = ( $c->param('UpdateOfficeHrs') || 'disabled' );
208     + my $UpdateNonOfficeHrs = ( $c->param('UpdateNonOfficeHrs') || 'disabled' );
209     + my $UpdateWeekend = ( $c->param('UpdateWeekend') || 'disabled' );
210     +
211     + my $HTTPProxyServer = ( $c->param('HTTPProxyServer') || '' );
212     + my $HTTPProxyPort = ( $c->param('HTTPProxyPort') || '' );
213     + my $HTTPProxyUsername = ( $c->param('HTTPProxyUsername') || '' );
214     + my $HTTPProxyPassword = ( $c->param('HTTPProxyPassword') || '' );
215     +
216     + my $clamav = $db->get('clamav') || $db->new_record('clamav', {type=>'service'});
217     + $status ||= $clamav->prop('status');
218     +
219     + $clamav->merge_props(
220     + status => $status,
221     + FilesystemScan => $FilesystemScan,
222     + Quarantine => $Quarantine,
223     + DatabaseMirror => $DatabaseMirror,
224     + UpdateOfficeHrs => $UpdateOfficeHrs,
225     + UpdateNonOfficeHrs => $UpdateNonOfficeHrs,
226     + UpdateWeekend => $UpdateWeekend,
227     + HTTPProxyServer => $HTTPProxyServer,
228     + HTTPProxyPort => $HTTPProxyPort,
229     + HTTPProxyUsername => $HTTPProxyUsername,
230     + HTTPProxyPassword => $HTTPProxyPassword,
231     + );
232     +
233     +
234     +}
235     +
236     +sub get_clam_versions
237     +{
238     + my $version = `/usr/bin/freshclam -V`;
239     + chomp $version;
240     + $version =~ s/^ClamAV //;
241     +
242     + return $version;
243     +}
244     +1;
245     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Datetime.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Datetime.pm
246     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Datetime.pm 1970-01-01 04:00:00.000000000 +0400
247     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Datetime.pm 2019-07-07 23:40:35.000000000 +0400
248     @@ -0,0 +1,78 @@
249     +package SrvMngr::Controller::Datetime;
250     +
251     +use strict;
252     +use warnings;
253     +use Mojo::Base 'Mojolicious::Controller';
254     +
255     +use Locale::gettext;
256     +use SrvMngr::I18N;
257     +
258     +use esmith::FormMagick;
259     +#use esmith::FormMagick::Panel::datetime;
260     +
261     +our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db";
262     +
263     +sub main {
264     + my $c = shift;
265     + $c->app->log->info($c->log_req);
266     +
267     + my %dat_datas = ();
268     + my $title = $c->l('dat_FORM_TITLE');
269     + my $modul = $c->l('dat_INITIAL_DESC');
270     +
271     +# more complicated for ntpstatus
272     + $dat_datas{'ntpstatus'} = ($db->get_prop('ntpd','status')) || '';
273     + $dat_datas{'ntpserver'} = ($db->get_prop('ntpd','NTPServer')) || '';
274     + $dat_datas{'now_string'} = esmith::FormMagick->gen_locale_date_string();
275     +
276     + $c->stash( title => $title, modul => $modul, dat_datas => \%dat_datas );
277     + $c->render(template => 'datetime');
278     +};
279     +
280     +
281     +sub do_update {
282     + my $c = shift;
283     + $c->app->log->info($c->log_req);
284     +
285     + my %dat_datas = ();
286     + my $title = $c->l('dat_FORM_TITLE');
287     + my $result = "";
288     +
289     + my $old_ntpstatus = $c->param('old_ntpstatus');
290     + $dat_datas{'ntpstatus'} = $c->param('ntpstatus');
291     + if ($dat_datas{'ntpstatus'} ne $old_ntpstatus) {
292     + my $modul = $c->l('dat_INITIAL_DESC');
293     + $dat_datas{'ntpserver'} = ($db->get_prop('ntpd','NTPServer')) || '';
294     + $dat_datas{'now_string'} = esmith::FormMagick->gen_locale_date_string();
295     +
296     + $c->stash( title => $title, modul => $modul, dat_datas => \%dat_datas );
297     + $c->render(template => 'datetime');
298     + }
299     +
300     + if ($dat_datas{'ntpstatus'} eq 'enabled') {
301     + $dat_datas{'ntpserver'} = $c->param('ntpserver');
302     + $db->get('ntpd')->set_prop('NTPServer', $dat_datas{'ntpserver'});
303     + } else {
304     + #my $servername = ($c->param('ServerName') || 'WS');
305     + }
306     + # controls
307     +
308     + #$db->get('smb')->set_prop('Workgroup', $workgroup);
309     + #$db->get('smb')->set_prop('ServerName', $servername);
310     +
311     + #
312     + # Update the system
313     + #
314     + ##system ("/sbin/e-smith/signal-event datetime-update") == 0
315     + ##or $result = $c->l('ERROR_UPDATING');
316     +
317     +
318     + if ( $result eq '' ) { $result = $c->l('dat_SUCCESS') . " but System update NOT done !!!"; }
319     +
320     + $c->stash( title => $title, modul => $result );
321     + $c->render(template => 'module');
322     +
323     +};
324     +
325     +
326     +1;
327     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Directory.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Directory.pm
328     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Directory.pm 1970-01-01 04:00:00.000000000 +0400
329     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Directory.pm 2019-07-09 21:46:20.000000000 +0400
330     @@ -0,0 +1,87 @@
331     +package SrvMngr::Controller::Directory;
332     +
333     +use strict;
334     +use warnings;
335     +use Mojo::Base 'Mojolicious::Controller';
336     +
337     +use Locale::gettext;
338     +use SrvMngr::I18N;
339     +#use esmith::util qw(ldapBase);
340     +use esmith::FormMagick::Panel::directory;
341     +
342     +our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db";
343     +
344     +sub main {
345     + my $c = shift;
346     + $c->app->log->info($c->log_req);
347     +
348     + my %dir_datas = ();
349     + my $title = $c->l('dir_FORM_TITLE');
350     + my $modul = $c->render_to_string(inline => $c->l('dir_DESCRIPTION'));
351     +
352     + $dir_datas{'root'} = get_ldap_base();
353     +
354     + $dir_datas{'access'} = ($db->get_prop('ldap','access')) || 'private';
355     + $dir_datas{'department'} = ($db->get_prop('ldap','defaultDepartment')) || '';
356     + $dir_datas{'company'} = ($db->get_prop('ldap','defaultCompany')) || '';
357     + $dir_datas{'street'} = ($db->get_prop('ldap','defaultStreet')) || '';
358     + $dir_datas{'city'} = ($db->get_prop('ldap','defaultCity')) || '';
359     + $dir_datas{'phonenumber'} = ($db->get_prop('ldap','defaultPhoneNumber')) || '';
360     +
361     + $c->stash( title => $title, modul => $modul, dir_datas => \%dir_datas );
362     + $c->render(template => 'directory');
363     +};
364     +
365     +
366     +sub do_update {
367     + my $c = shift;
368     + $c->app->log->info($c->log_req);
369     +
370     + my $access = $c->param('access');
371     + my $department = $c->param('department');
372     + my $company = $c->param('company');
373     + my $street = $c->param('street');
374     + my $city = $c->param('city');
375     + my $phonenumber = $c->param('phonenumber');
376     + my $existing = $c->param('existing');
377     +
378     + my $result = "";
379     +
380     + $db->get('ldap')->set_prop('access', $access);
381     + $db->get('ldap')->set_prop('defaultDepartment', $department);
382     + $db->get('ldap')->set_prop('defaultCompany', $company);
383     + $db->get('ldap')->set_prop('defaultStreet', $street);
384     + $db->get('ldap')->set_prop('defaultCity', $city);
385     + $db->get('ldap')->set_prop('defaultPhoneNumber', $phonenumber);
386     +
387     + if ($existing eq 'update') {
388     + # my $ac =esmith::AccountsDB->open('conf/test/accounts');
389     + my $ac = esmith::AccountsDB->open('conf/test/accounts') || die "Couldn't open accounts db";
390     + my @users = $ac->users();
391     +
392     + foreach my $user (@users) {
393     + $user->set_prop('Phone', $phonenumber);
394     + $user->set_prop('Company', $company);
395     + $user->set_prop('Dept', $department);
396     + $user->set_prop('City', $city);
397     + $user->set_prop('Street', $street);
398     + }
399     + }
400     + #
401     + # Update the system
402     + #
403     +
404     + system ("/sbin/e-smith/signal-event ldap-update") == 0
405     + or $result = $c->l('ERROR_UPDATING_CONFIGURATION');
406     +
407     + my $title = $c->l('dir_FORM_TITLE');
408     +
409     + if ( $result eq '' ) { $result = $c->l('dir_SUCCESS') . " but System update NOT done !!!"; }
410     +
411     + $c->stash( title => $title, modul => $result );
412     + $c->render(template => 'module');
413     +
414     +};
415     +
416     +
417     +1;
418     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Initial.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Initial.pm
419     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Initial.pm 1970-01-01 04:00:00.000000000 +0400
420     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Initial.pm 2019-06-12 18:44:52.000000000 +0400
421     @@ -0,0 +1,43 @@
422     +package SrvMngr::Controller::Initial;
423     +
424     +use strict;
425     +use warnings;
426     +
427     +use Mojo::Base 'Mojolicious::Controller';
428     +
429     +use Locale::gettext;
430     +use SrvMngr::I18N;
431     +
432     +
433     +sub main {
434     + my $c = shift;
435     +
436     + $c->app->log->info($c->log_req);
437     + #SrvMngr->startsess();
438     + if (not defined $c->session->{lang}) {
439     + $c->app->log->info("Init datas in welcome page.");
440     + my %datas = ();
441     + %datas = SrvMngr::Model::Main->init_data( %datas );
442     + $c->session->{lang} = $datas{'lang'};
443     + $c->session->{copyRight} = $c->l($datas{'copyRight'});
444     + $c->session->{releaseVersion} = $datas{'releaseVersion'};
445     + $c->session->{PwdSet} = $datas{'PwdSet'};
446     + $c->session->{Unsafe} = $datas{'Unsafe'};
447     + $c->languages($datas{'lang'});
448     +
449     + }
450     +
451     + my $title = $c->l('initial_FORM_TITLE');
452     + my $modul = $c->render_to_string(inline => $c->l('initial_FRAMES_BODY'));
453     +
454     + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight},
455     + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe},
456     + title => $title, modul => $modul);
457     +
458     +
459     + $c->render(template => 'initial');
460     +
461     +}
462     +
463     +
464     +1;
465     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Main.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Main.pm
466     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Main.pm 1970-01-01 04:00:00.000000000 +0400
467     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Main.pm 2019-06-12 12:06:18.000000000 +0400
468     @@ -0,0 +1,37 @@
469     +package SrvMngr::Controller::Main;
470     +
471     +use strict;
472     +use warnings;
473     +
474     +use Mojo::Base 'Mojolicious::Controller';
475     +
476     +use Locale::gettext;
477     +use SrvMngr::I18N;
478     +
479     +
480     +sub whatever {
481     + my $c = shift;
482     + my $whatever = $c->param('whatever');
483     + $c->app->log->info($c->log_req);
484     +
485     + my $modul .= 'Mail result is 11 + 54.';
486     +
487     + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight},
488     + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe},
489     + modul => $modul);
490     +
491     + $c->render(text => "whatever: /$whatever did not match.", status => 404);
492     +};
493     +
494     +
495     +sub logout {
496     + my $c = shift;
497     + $c->app->log->info($c->log_req);
498     +
499     + $c->session(expires => 1);
500     +
501     + return $c->redirect_to($c->url_for('/cgi-bin/logout'));
502     +};
503     +
504     +
505     +1;
506     \ Pas de fin de ligne à la fin du fichier
507     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Manual.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Manual.pm
508     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Manual.pm 1970-01-01 04:00:00.000000000 +0400
509     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Manual.pm 2019-06-09 12:54:40.000000000 +0400
510     @@ -0,0 +1,27 @@
511     +package SrvMngr::Controller::Manual;
512     +
513     +use strict;
514     +use warnings;
515     +
516     +use Mojo::Base 'Mojolicious::Controller';
517     +
518     +use Locale::gettext;
519     +use SrvMngr::I18N;
520     +
521     +
522     +sub main {
523     + my $c = shift;
524     + $c->app->log->info($c->log_req);
525     +
526     + my $title = $c->l('manual_FORM_TITLE');
527     + my $modul = $c->render_to_string(inline => $c->l('manual_DESCRIPTION'));
528     +
529     + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight},
530     + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe},
531     + title => $title, modul => $modul);
532     +
533     + $c->render(template => 'manual');
534     +}
535     +
536     +
537     +1;
538     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Modsearch.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Modsearch.pm
539     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Modsearch.pm 1970-01-01 04:00:00.000000000 +0400
540     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Modsearch.pm 2019-06-08 18:00:13.000000000 +0400
541     @@ -0,0 +1,34 @@
542     +package SrvMngr::Controller::Modsearch;
543     +
544     +use strict;
545     +use warnings;
546     +use Mojo::Base 'Mojolicious::Controller';
547     +
548     +use Locale::gettext;
549     +use SrvMngr::I18N;
550     +
551     +#use esmith::config;
552     +#use esmith::NavigationDB;
553     +#use esmith::util;
554     +#use esmith::I18N;
555     +
556     +
557     +sub main {
558     + my $c = shift;
559     + my $module = $c->param('module');
560     +
561     + $c->app->log->info($c->log_req);
562     +
563     + my $redirect_url = SrvMngr->get_mod_url($module);
564     + if($redirect_url ne "-1"){
565     + #$c->render(text => "mod_search: $module to $redirect_url");
566     + return $c->redirect_to($redirect_url);
567     + #return $c->redirect_to( url_for($redirect_url) );
568     + }
569     + $c->flash(message => "$module module NOT FOUND !");
570     + return $c->redirect_to('//');
571     +
572     +};
573     +
574     +
575     +1;
576     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Modules.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Modules.pm
577     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Modules.pm 1970-01-01 04:00:00.000000000 +0400
578     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Modules.pm 2019-06-08 00:15:46.000000000 +0400
579     @@ -0,0 +1,85 @@
580     +package SrvMngr::Controller::Modules;
581     +
582     +use strict;
583     +use warnings;
584     +use Mojo::Base 'Mojolicious::Controller';
585     +
586     +use Locale::gettext;
587     +use SrvMngr::I18N;
588     +
589     +#use esmith::config;
590     +#use esmith::NavigationDB;
591     +#use esmith::util;
592     +#use esmith::I18N;
593     +
594     +sub bugreport {
595     + my $c = shift;
596     +
597     + $c->app->log->info($c->log_req);
598     +
599     + my $modul = $c->render_to_string( inline => "<p># my (\$lang, \$releaseVersion,
600     +<br># \$c->stash\(\'lang\', \'releaseVer\'
601     +# \'navigation\'</p>");
602     +
603     +
604     + $c->stash( modul => $modul, PwdSet => '1', Unsafe => '0' );
605     +
606     +};
607     +
608     +
609     +sub starterwebsite {
610     + my $c = shift;
611     +
612     + $c->app->log->info($c->log_req);
613     +
614     + my $modul = $c->render_to_string(inline => "<p># my (\$lang, <b>\$releaseVersion,</b>
615     +
616     +<br># \$c->stash\(\'lang\', \'releaseVer\'
617     +# \'navigation\'</p>");
618     +
619     + $c->stash( modul => $modul, PwdSet => '1', Unsafe => '0' );
620     +
621     +};
622     +
623     +
624     +sub support {
625     + my $c = shift;
626     +
627     + $c->app->log->info($c->log_req);
628     + my $modul = $c->stash('modul');
629     + $modul .= 'Mail result is 1 + 8.';
630     +
631     + $c->stash( modul => $modul, PwdSet => '0', Unsafe => '0' );
632     +
633     + #$c->render('modules/support');
634     +};
635     +
636     +
637     +sub mod_search {
638     + my $c = shift;
639     + my $module = $c->param('module');
640     +
641     + $c->app->log->info($c->log_req);
642     +# my ($lang, $releaseVersion, $copyRight, $PwdSet, $Unsafe, $config) =
643     +# $c->stash('lang', 'releaseVersion', 'copyRight', 'PwdSet', 'Unsafe',
644     +# 'navigation', 'modul', 'config');
645     +
646     + #my $page = $c->schema->resultset('Page')->single({ name => $module });
647     + #$c->app->log->info("module page: '$page'");
648     + #if ($page) {
649     + #$c->render( page => $page );
650     + #}
651     +
652     + my $redirect_url = SrvMngr->get_mod_url($module);
653     + if($redirect_url ne "-1"){
654     + #$c->render(text => "mod_search: $module to $redirect_url");
655     + return $c->redirect_to($redirect_url);
656     + #return $c->redirect_to( url_for($redirect_url) );
657     + }
658     + #$c->render(text => "mod_search: $module to 'welcome'");
659     + return $c->redirect_to('/');
660     +
661     +};
662     +
663     +
664     +1;
665     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Printers.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Printers.pm
666     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Printers.pm 1970-01-01 04:00:00.000000000 +0400
667     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Printers.pm 2019-11-10 19:42:50.000000000 +0400
668     @@ -0,0 +1,370 @@
669     +package SrvMngr::Controller::Printers;
670     +
671     +use strict;
672     +use warnings;
673     +use Mojo::Base 'Mojolicious::Controller';
674     +
675     +use Locale::gettext;
676     +use SrvMngr::I18N;
677     +
678     +use esmith::FormMagick::Panel::printers;
679     +
680     +#our $db = esmith::ConfigDB->open || die "Couldn't open config db";
681     +our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
682     +#our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db";
683     +
684     +
685     +sub main {
686     +
687     + my $c = shift;
688     + $c->app->log->info($c->log_req);
689     +
690     + my %prt_datas = ();
691     + my $title = $c->l('prt_FORM_TITLE');
692     + my $modul = '';
693     +
694     + $prt_datas{'trt'} = 'LIST';
695     +
696     + my @printerDrivers;
697     + if ($adb)
698     + {
699     + @printerDrivers = $adb->printers();
700     + }
701     +
702     + $c->stash( title => $title, modul => $modul, prt_datas => \%prt_datas, printerDrivers => \@printerDrivers );
703     + $c->render(template => 'printers');
704     +
705     +};
706     +
707     +
708     +sub do_display {
709     +
710     + my $c = shift;
711     +
712     + my $rt = $c->current_route;
713     + my $trt = ($c->param('trt') || 'LIST');
714     + my $printer = $c->param('printer') || '';
715     +
716     + $trt = 'DEL' if ( $printer );
717     + $trt = 'ADD' if ( $rt eq 'printeradd' );
718     +
719     + my %prt_datas = ();
720     + my $title = $c->l('prt_FORM_TITLE');
721     + my $modul = '';
722     +
723     + $prt_datas{'trt'} = $trt;
724     +
725     + if ( $trt eq 'ADD' ) {
726     +
727     + # 'locations list' =>
728     + my $localist = "[[ " .
729     + $c->l('prt_LOCAL_PRINTER_0').
730     + " => 'lp0'], [ ".
731     + $c->l('prt_LOCAL_PRINTER_1').
732     + " => 'lp1']]";
733     + # [ $c->l('prt_LOCAL_PRINTER_2') => 'lp2'], [ $c->l('prt_NET_PRINTER') => 'remote' ], [ $c->l('prt_FIRST_USB_PRINTER') => 'usb/lp0'], [ $c->l('prt_SECOND_USB_PRINTER') => 'usb/lp1']]";
734     + my %loclist = (
735     + $c->l('prt_LOCAL_PRINTER_0') => 'lp0',
736     + $c->l('prt_LOCAL_PRINTER_1') => 'lp1',
737     + $c->l('prt_LOCAL_PRINTER_2') => 'lp2',
738     + $c->l('prt_NET_PRINTER') => 'remote',
739     + $c->l('prt_FIRST_USB_PRINTER') => 'usb/lp0',
740     + $c->l('prt_SECOND_USB_PRINTER') => 'usb/lp1',
741     + );
742     + $c->stash( loclist => \%loclist, localist => $localist);
743     + }
744     +
745     + if ( $trt eq 'DEL' ) {
746     +
747     + my $rec = $adb->get($printer);
748     + if ($rec and $rec->prop('type') eq 'printer') {
749     + $prt_datas{printer} = $printer;
750     + $prt_datas{description} = $rec->prop('Description') || '';
751     + }
752     +
753     + }
754     +
755     + if ( $trt eq 'LIST' ) {
756     + my @printerDrivers;
757     + if ($adb)
758     + {
759     + @printerDrivers = $adb->printers();
760     + }
761     + $c->stash( printerDrivers => \@printerDrivers );
762     +
763     + }
764     +
765     + $c->stash( title => $title, modul => $modul, prt_datas => \%prt_datas );
766     + $c->render( template => 'printers' );
767     +
768     +};
769     +
770     +
771     +sub do_update {
772     +
773     + my $c = shift;
774     + $c->app->log->info($c->log_req);
775     +
776     + my $rt = $c->current_route;
777     + my $trt = ($c->param('trt') || 'LIST');
778     +
779     +# if ( $trt =~ /^([A-Z]3)$/ ) {
780     +# $trt = $1;
781     +# } else {
782     +# return $c->l('prt_ERR_INPUT_CODE') . ': ' . $trt;
783     +# }
784     +
785     + my $result = '';
786     +
787     + if ( $trt eq 'ADD' ) {
788     +
789     + my $name = ($c->param('Name') || '');
790     + my $description = ($c->param('Description') || '');
791     + my $location = ($c->param('Location') || '');
792     +
793     + # controls
794     + my $res = validate_printer( $c, $name, $description, $location );
795     + $result .= $res unless $res eq 'OK';
796     +
797     + if ( $location eq 'remote' and ! $result) {
798     + my %prt_datas = ();
799     + my $title = $c->l('prt_FORM_TITLE');
800     + my $modul = '';
801     + $prt_datas{'trt'} = 'NET';
802     + $prt_datas{'name'} = $name;
803     + $prt_datas{'description'} = $description;
804     + $prt_datas{'location'} = $location;
805     + $c->stash( title => $title, modul => $modul, prt_datas => \%prt_datas );
806     + return $c->render( template => 'printers' );
807     + }
808     +
809     + if ( ! $result ) {
810     + $res = new_printer( $c, $name, $description, $location );
811     + #$remoteName, $address );
812     + $result .= $res unless $res eq 'OK';
813     + if ( ! $result ) {
814     + $result = $c->l('prt_CREATED_SUCCESSFULLY') . ' ' . $name;
815     + }
816     + }
817     + }
818     +
819     + if ( $trt eq 'NET' ) {
820     +
821     + my $name = ($c->param('Name') || '');
822     + my $description = ($c->param('Description') || '');
823     + my $location = ($c->param('Location') || '');
824     + my $remoteName = ($c->param ('RemoteName') || '');
825     + my $address = ($c->param ('Address') || '');
826     +
827     + # controls
828     + my $res = validate_network( $c, $location, $remoteName, $address);
829     + $result .= $res unless $res eq 'OK';
830     +
831     + if ( ! $result ) {
832     + $res = new_printer( $c, $name, $description, $location, $remoteName, $address );
833     + $result .= $res unless $res eq 'OK';
834     + if ( ! $result ) {
835     + $result = $c->l('prt_CREATED_SUCCESSFULLY') . ' ' . $name;
836     + }
837     + }
838     + }
839     +
840     + if ( $trt eq 'DEL' ) {
841     +
842     + my $printer = ($c->param ('printer') || '');
843     +
844     + if ($printer =~ /^([a-z][a-z0-9]*)$/) {
845     + $printer = $1;
846     + } else {
847     + $result .= $c->l('prt_ERR_INTERNAL_FAILURE') . ':' . $printer;
848     + }
849     +
850     + my $rec = $adb->get($printer);
851     + $result .= $c->l('prt_ERR_INTERNAL_FAILURE') . ':' . $printer unless ($rec);
852     +
853     + if ( ! $result ) {
854     + my $res = del_printer( $c, $printer );
855     + $result .= $res unless $res eq 'OK';
856     + if ( ! $result ) {
857     + $result = $c->l('prt_DELETED_SUCCESSFULLY') . ' ' . $printer;
858     + }
859     + }
860     + }
861     +
862     + my $title = $c->l('prt_FORM_TITLE');
863     +
864     + $c->stash( title => $title, modul => $result );
865     + $c->render(template => 'module');
866     +
867     +};
868     +
869     +
870     +sub del_printer {
871     +
872     + my ( $c, $printer ) = @_;
873     +
874     + # Update the db config (1)
875     +
876     + my $prop_del = "accounts settype $printer printer-deleted";
877     + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_del ) ) == 0
878     + or return $c->l('prt_ERR_DELETING') . ' ' . $prop_del;
879     +
880     + # Update system
881     +
882     + system ('/bin/sudo', '/sbin/e-smith/signal-event', "printer-delete", $printer) == 0
883     + or return $c->l('prt_ERR_DELETING') . " system " . $printer;
884     +
885     + # Update the db config (2)
886     +
887     + $prop_del = "accounts delete $printer";
888     + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_del ) ) == 0
889     + or return $c->l('prt_ERR_DELETING') . ' ' . $prop_del;
890     +
891     + return 'OK';
892     +}
893     +
894     +
895     +sub validate_printer {
896     +
897     + my ($c, $name, $description, $location, $remoteName, $address ) = @_;
898     +
899     + #------------------------------------------------------------
900     + # Validate parameters and untaint them
901     + #------------------------------------------------------------
902     +
903     + if ($name =~ /^([a-z][a-z0-9]*)$/) {
904     + $name = $1;
905     + } else {
906     + return $c->l('prt_ERR_UNEXPECTED_NAME') . ': ' . $name;
907     + }
908     +
909     + if ($description =~ /^([\'\w\s]+)$/) {
910     + $description = $1;
911     + } else {
912     + return $c->l('prt_ERR_UNEXPECTED_DESC') . ': ' . $description;
913     + }
914     +
915     + if ($location =~ /^(.*)$/) {
916     + $location = $1;
917     + } else {
918     + $location = "lp0";
919     + }
920     +
921     + #------------------------------------------------------------
922     + # Looks good. Find out if this printer has been taken
923     + #------------------------------------------------------------
924     +
925     + my $rec = $adb->get($name);
926     + my $type;
927     + if ($rec and ($type = $rec->prop('type'))) {
928     + return $c->l('prt_ERR_EXISTS') . ' : ' . $name;
929     + }
930     +
931     + return 'OK';
932     +}
933     +
934     +
935     +sub validate_network {
936     +
937     + my ($c, $location, $remoteName, $address ) = @_;
938     +
939     + if ($location eq 'remote') {
940     +
941     + my $msg = hostname_or_ip2 ( $c, $address );
942     + return $msg unless $msg eq 'OK';
943     +
944     + if ($address =~ /^([a-zA-Z0-9\.\-]+)$/) {
945     + $address = $1;
946     + } else {
947     + return $c->l('prt_ERR_INVALID_ADDRESS') . ' : ' . $address;
948     + }
949     +
950     + if ($remoteName =~ /^([^\|]*)$/) {
951     + $remoteName = $1;
952     + } else {
953     + return $c->l('prt_ERR_INVALID_REMOTE_NAME') . ' : ' . $remoteName;
954     + }
955     + }
956     +
957     + return 'OK';
958     +}
959     +
960     +
961     +sub new_printer {
962     +
963     + my ($c, $name, $description, $location, $remoteName, $address ) = @_;
964     +
965     + #------------------------------------------------------------
966     + # Printer name is available! Update printers database and
967     + # singal the create-printer event.
968     + #------------------------------------------------------------
969     +
970     + my $result = '';
971     +
972     + $description =~ s/ /_/g;
973     + my $prop_upd = "accounts set $name printer ";
974     + $prop_upd .= "Description $description Address $address RemoteName $remoteName Location $location";
975     +
976     + # Update the db config
977     + #
978     + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_upd ) ) == 0
979     +# system ( '/bin/sudo', '/sbin/e-smith/db', $prop_upd ) == 0
980     + or return $result = $c->l('prt_ERR_CREATING') . " db config: " . $prop_upd;
981     +
982     + # Update system
983     + if ( ! $result ) {
984     + system ('/bin/sudo', '/sbin/e-smith/signal-event', "printer-create", $name) == 0
985     + or return $result = $c->l('prt_ERR_CREATING') . " signal-event: " . $name;
986     + }
987     +
988     + return 'OK',
989     +}
990     +
991     +
992     +sub hostname_or_ip2 {
993     +
994     + my ($fm, $data) = @_;
995     + if ($data =~ /^[\d\.]+$/) {
996     + if (ip_number2($fm, $data) eq "OK")
997     + {
998     + return "OK";
999     + }
1000     + else
1001     + {
1002     + return $fm->l('prt_MUST_BE_VALID_HOSTNAME_OR_IP');
1003     + }
1004     + }
1005     + elsif ($data =~ /^([a-zA-Z0-9\.\-]+)$/ )
1006     + {
1007     + return "OK";
1008     + }
1009     + else
1010     + {
1011     + return $fm->l('prt_MUST_BE_VALID_HOSTNAME_OR_IP');
1012     + }
1013     +}
1014     +
1015     +
1016     +sub ip_number2 {
1017     + # from CGI::FormMagick::Validator::ip_number($fm, $data)
1018     +
1019     + my ($fm, $data) = @_;
1020     +
1021     + return undef unless defined $data;
1022     +
1023     + return 'FM_IP_NUMBER1' unless $data =~ /^[\d.]+$/;
1024     +
1025     + my @octets = split /\./, $data;
1026     + my $dots = ($data =~ tr/.//);
1027     +
1028     + return 'FM_IP_NUMBER2' unless (scalar @octets == 4 and $dots == 3);
1029     +
1030     + foreach my $octet (@octets) {
1031     + return $fm->l("FM_IP_NUMBER3", {octet => $octet}) if $octet > 255;
1032     + }
1033     +
1034     + return 'OK';
1035     +}
1036     +
1037     +
1038     +1
1039     \ Pas de fin de ligne à la fin du fichier
1040     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Proxy.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Proxy.pm
1041     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Proxy.pm 1970-01-01 04:00:00.000000000 +0400
1042     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Proxy.pm 2019-07-01 18:50:03.000000000 +0400
1043     @@ -0,0 +1,65 @@
1044     +package SrvMngr::Controller::Proxy;
1045     +
1046     +use strict;
1047     +use warnings;
1048     +use Mojo::Base 'Mojolicious::Controller';
1049     +
1050     +use Locale::gettext;
1051     +use SrvMngr::I18N;
1052     +
1053     +our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db";
1054     +
1055     +sub main {
1056     + my $c = shift;
1057     + $c->app->log->info($c->log_req);
1058     +
1059     + my %prx_datas = ();
1060     + my $title = $c->l('prx_TITLE');
1061     + my $modul = $c->render_to_string(inline => $c->l('prx_FIRST_PAGE_DESCRIPTION'));
1062     +
1063     + $prx_datas{'http_proxy_status'} = ($db->get_prop('squid','status')) || 'disabled';
1064     +
1065     + #if (system('/bin/rpm -q e-smith-email > /dev/null') == 0)
1066     + #{
1067     + $prx_datas{'smtp_proxy_status'} = $db->get_prop('qpsmtpd','Proxy') || undef;
1068     + #}
1069     + #(system('/bin/rpm -q e-smith-email > /dev/null') == 0) ?
1070     +
1071     + $c->stash( title => $title, modul => $modul, prx_datas => \%prx_datas );
1072     + $c->render(template => 'proxy');
1073     +};
1074     +
1075     +
1076     +sub do_update {
1077     + my $c = shift;
1078     + $c->app->log->info($c->log_req);
1079     +
1080     + my $http_proxy_status = $c->param('http_proxy_status') || 'disabled';
1081     + my $smtp_proxy_status = $c->param('smtp_proxy_status') || '';
1082     +
1083     + my $result = "";
1084     +
1085     + my $squid = $db->get('squid') or $result = $c->l('prx_ERR_NO_SQUID_REC');
1086     + # smtpd is allowed to not exist, as the relevant packages may not be
1087     + # installed.
1088     + my $smtpd = $db->get('qpsmtpd') || undef;
1089     +
1090     + $squid->set_prop('status', $http_proxy_status);
1091     + $smtpd->set_prop('Proxy', $smtp_proxy_status) if $smtpd;
1092     +
1093     + #
1094     + # Update the system
1095     + #
1096     + ##system("/sbin/e-smith/signal-event proxy-update") == 0
1097     + ##or $result = $c->l('prx_ERR_PROXY_UPDATE_FAILED');
1098     +
1099     + my $title = $c->l('prx_TITLE');
1100     +
1101     + if ( $result eq '' ) { $result = $c->l('prx_SUCCESS')." but system update NOT done" ; }
1102     +
1103     + $c->stash( title => $title, modul => $result );
1104     + $c->render(template => 'module');
1105     +};
1106     +
1107     +
1108     +1;
1109     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Qmailanalog.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Qmailanalog.pm
1110     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Qmailanalog.pm 1970-01-01 04:00:00.000000000 +0400
1111     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Qmailanalog.pm 2019-07-01 23:15:30.000000000 +0400
1112     @@ -0,0 +1,119 @@
1113     +package SrvMngr::Controller::Qmailanalog;
1114     +
1115     +use strict;
1116     +use warnings;
1117     +use Mojo::Base 'Mojolicious::Controller';
1118     +
1119     +use esmith::FormMagick qw(gen_locale_date_string);
1120     +
1121     +use Locale::gettext;
1122     +use SrvMngr::I18N;
1123     +
1124     +sub main {
1125     + my $c = shift;
1126     + $c->app->log->info($c->log_req);
1127     +
1128     + my $title = $c->l('qma_FORM_TITLE');
1129     + my $modul = $c->render_to_string(inline => $c->l('qma_INITIAL_DESC'));
1130     +
1131     + $c->stash( title => $title, modul => $modul );
1132     + $c->render(template => 'qmailanalog');
1133     +};
1134     +
1135     +
1136     +sub do_update {
1137     + my $c = shift;
1138     + $c->app->log->info($c->log_req);
1139     +
1140     + my $result = "";
1141     +
1142     + my $report_type = $c->param('report_type');
1143     +
1144     + if ($report_type =~ /^(\S+)$/)
1145     + {
1146     + $report_type = $1;
1147     + }
1148     + elsif ($report_type =~ /^\s*$/)
1149     + {
1150     + $report_type = "zoverall";
1151     + } else {
1152     + $result = $c->l('INVALID_REPORT_TYPE') . $report_type;
1153     + $report_type = undef;
1154     + }
1155     +
1156     + my $title = $c->l('qma_FORM_TITLE');
1157     +
1158     + $result = $c->render_to_string(inline => generateReport($c, $report_type)) if $report_type;
1159     +
1160     + $c->stash( title => $title, modul => $result );
1161     + $c->render(template => 'module');
1162     +};
1163     +
1164     +
1165     +sub generateReport {
1166     +
1167     + my $c = shift;
1168     + my $report_type = shift;
1169     +
1170     + #------------------------------------------------------------
1171     + # Looks good; go ahead and generate the report.
1172     + #------------------------------------------------------------
1173     +
1174     +# $| = 1;
1175     + my $out = '';
1176     +
1177     + my $now_string = $c->gen_locale_date_string();
1178     + $out .= sprintf("<h3>%s %s </h3>\n", $c->l('REPORT_GENERATED'), $now_string);
1179     +
1180     + if ($report_type =~ /^qmail-q/)
1181     + {
1182     + open(QMAILQUEUEREPORT, "/var/qmail/bin/$report_type |");
1183     +
1184     + # $out .= "<pre>\n";
1185     +
1186     + while (<QMAILQUEUEREPORT>)
1187     + {
1188     + $out .= "while qmaqrp\n";
1189     + }
1190     +
1191     + close QMAILQUEUEREPORT;
1192     + # $out .= "</pre>\n";
1193     +
1194     + $out .= sprintf("<h3>%s </h3>\n",$c->l('END_OF_REPORT'));
1195     + return $out;
1196     + }
1197     +
1198     + chdir "/var/log/qmail";
1199     +
1200     + open(QMAILANALOG,
1201     + "/bin/cat \@* current 2>/dev/null"
1202     + . "| /usr/local/bin/tai64nunix"
1203     + . "| /usr/local/qmailanalog/bin/matchup 5>/dev/null"
1204     + . "| /usr/local/qmailanalog/bin/$report_type |"
1205     + );
1206     +
1207     + #$out .= "<pre>\n";
1208     +
1209     + while (<QMAILANALOG>)
1210     + {
1211     + # Cook any special HTML characters
1212     +
1213     + s/\&/\&amp;/g;
1214     + s/\"/\&quot;/g;
1215     + s/\>/\&gt;/g;
1216     + s/\</\&lt;/g;
1217     +
1218     + $out .= "while qmana\n";;
1219     + }
1220     +
1221     + #print "</pre>\n";
1222     +
1223     + close QMAILANALOG;
1224     +
1225     + $out .= sprintf("<h3>%s </h3>\n",$c->l('END_OF_REPORT'));
1226     + return $out;
1227     +
1228     +}
1229     +
1230     +
1231     +1;
1232     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Quota.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Quota.pm
1233     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Quota.pm 1970-01-01 04:00:00.000000000 +0400
1234     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Quota.pm 2019-11-13 23:43:50.000000000 +0400
1235     @@ -0,0 +1,191 @@
1236     +package SrvMngr::Controller::Quota;
1237     +
1238     +use strict;
1239     +use warnings;
1240     +use Mojo::Base 'Mojolicious::Controller';
1241     +
1242     +use Quota;
1243     +use Locale::gettext;
1244     +use SrvMngr::I18N;
1245     +
1246     +use esmith::FormMagick::Panel::quota;
1247     +
1248     +#our $db = esmith::ConfigDB->open || die "Couldn't open config db";
1249     +our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
1250     +#our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db";
1251     +
1252     +
1253     +sub main {
1254     +
1255     + my $c = shift;
1256     + $c->app->log->info($c->log_req);
1257     +
1258     + my %quo_datas = ();
1259     + my $title = $c->l('quo_FORM_TITLE');
1260     + my $modul = '';
1261     +
1262     + $quo_datas{'trt'} = 'LIST';
1263     +
1264     + my @userAccounts;
1265     + if ($adb)
1266     + {
1267     + @userAccounts = $adb->users();
1268     + }
1269     +
1270     + $c->stash( title => $title, modul => $modul, quo_datas => \%quo_datas, userAccounts => \@userAccounts );
1271     + $c->render(template => 'quota');
1272     +
1273     +};
1274     +
1275     +
1276     +sub do_display {
1277     +
1278     + my $c = shift;
1279     +
1280     + my $rt = $c->current_route;
1281     + my $trt = ($c->param('trt') || 'LIST');
1282     + my $user = $c->param('user') || '';
1283     +
1284     + $trt = 'UPD' if ( $user );
1285     +
1286     + my %quo_datas = ();
1287     + my $title = $c->l('quo_FORM_TITLE');
1288     + my $modul = '';
1289     +
1290     + $quo_datas{'trt'} = $trt;
1291     +
1292     + if ( $trt eq 'UPD' ) {
1293     +
1294     + my $rec = $adb->get($user);
1295     + if ($rec and $rec->prop('type') eq 'user') {
1296     + $quo_datas{user} = $user;
1297     + $quo_datas{userRec} = $rec;
1298     + }
1299     +
1300     + }
1301     +
1302     + #if ( $trt eq 'LIST' ) {
1303     + # my @userAccounts;
1304     + # if ($adb)
1305     + # {
1306     + # @userAccounts = $adb->users();
1307     + # }
1308     + # $c->stash( userAccounts => \@userAccounts );
1309     + #}
1310     +
1311     + $c->stash( title => $title, modul => $modul, quo_datas => \%quo_datas );
1312     + $c->render( template => 'quota' );
1313     +
1314     +};
1315     +
1316     +
1317     +sub do_update {
1318     +
1319     + my $c = shift;
1320     + $c->app->log->info($c->log_req);
1321     +
1322     + my $rt = $c->current_route;
1323     + my $trt = ($c->param('trt') || 'LIST');
1324     +
1325     +# if ( $trt =~ /^([A-Z]3)$/ ) {
1326     +# $trt = $1;
1327     +# } else {
1328     +# return $c->l('quo_ERR_INPUT_CODE') . ': ' . $trt;
1329     +# }
1330     +
1331     + my $result = '';
1332     +
1333     + if ( $trt eq 'UPD' ) {
1334     +
1335     + my $name = ($c->param('Name') || '');
1336     + my $description = ($c->param('Description') || '');
1337     + my $location = ($c->param('Location') || '');
1338     +
1339     + # controls
1340     + my $res = validate_printer( $c, $name, $description, $location );
1341     + $result .= $res unless $res eq 'OK';
1342     +
1343     + if ( ! $result ) {
1344     + $res = new_printer( $c, $name, $description, $location );
1345     + #$remoteName, $address );
1346     + $result .= $res unless $res eq 'OK';
1347     + if ( ! $result ) {
1348     + $result = $c->l('quo_CREATED_SUCCESSFULLY') . ' ' . $name;
1349     + }
1350     + }
1351     + }
1352     +
1353     + my $title = $c->l('quo_FORM_TITLE');
1354     +
1355     + $c->stash( title => $title, modul => $result );
1356     + $c->render(template => 'module');
1357     +
1358     +};
1359     +
1360     +
1361     +sub upd_user {
1362     +
1363     + my ( $c, $user ) = @_;
1364     +
1365     + # Update the db config (1)
1366     +
1367     + my $prop_del = "accounts settype $user user-updated";
1368     + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_del ) ) == 0
1369     + or return $c->l('quo_ERR_DELETING') . ' ' . $prop_del;
1370     +
1371     + # Update system
1372     +
1373     + system ('/bin/sudo', '/sbin/e-smith/signal-event', "user-delete", $user) == 0
1374     + or return $c->l('quo_ERR_DELETING') . " system " . $user;
1375     +
1376     + # Update the db config (2)
1377     +
1378     + $prop_del = "accounts delete $user";
1379     + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_del ) ) == 0
1380     + or return $c->l('quo_ERR_DELETING') . ' ' . $prop_del;
1381     +
1382     + return 'OK';
1383     +}
1384     +
1385     +
1386     +sub validate_printer {
1387     +
1388     + my ($c, $name, $description, $location, $remoteName, $address ) = @_;
1389     +
1390     + #------------------------------------------------------------
1391     + # Validate parameters and untaint them
1392     + #------------------------------------------------------------
1393     +
1394     + if ($name =~ /^([a-z][a-z0-9]*)$/) {
1395     + $name = $1;
1396     + } else {
1397     + return $c->l('quo_ERR_UNEXPECTED_NAME') . ': ' . $name;
1398     + }
1399     +
1400     + if ($description =~ /^([\'\w\s]+)$/) {
1401     + $description = $1;
1402     + } else {
1403     + return $c->l('quo_ERR_UNEXPECTED_DESC') . ': ' . $description;
1404     + }
1405     +
1406     + if ($location =~ /^(.*)$/) {
1407     + $location = $1;
1408     + } else {
1409     + $location = "lp0";
1410     + }
1411     +
1412     + #------------------------------------------------------------
1413     + # Looks good. Find out if this printer has been taken
1414     + #------------------------------------------------------------
1415     +
1416     + my $rec = $adb->get($name);
1417     + my $type;
1418     + if ($rec and ($type = $rec->prop('type'))) {
1419     + return $c->l('quo_ERR_EXISTS') . ' : ' . $name;
1420     + }
1421     +
1422     + return 'OK';
1423     +}
1424     +
1425     +
1426     +1
1427     \ Pas de fin de ligne à la fin du fichier
1428     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Request.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Request.pm
1429     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Request.pm 1970-01-01 04:00:00.000000000 +0400
1430     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Request.pm 2019-06-24 22:53:00.000000000 +0400
1431     @@ -0,0 +1,47 @@
1432     +package SrvMngr::Controller::Request;
1433     +
1434     +use strict;
1435     +use warnings;
1436     +
1437     +use Mojo::Base 'Mojolicious::Controller';
1438     +
1439     +use esmith::AccountsDB qw(open_ro);
1440     +use esmith::ConfigDB qw(open_ro);
1441     +
1442     +#use Locale::gettext;
1443     +#use SrvMngr::I18N;
1444     +
1445     +# retrieve a configuration db record, both simple (DomainName) or complex (InternalIntefrace), given its name
1446     +sub getconfig {
1447     + my $c = shift;
1448     +# $c -> res -> headers -> header('Access-Control-Allow-Origin' => '*');
1449     +
1450     + my $db = esmith::ConfigDB -> open_ro;
1451     + my $key = $c -> param('key');
1452     + my $r = $db -> get($key);
1453     + $c -> render(json => {
1454     + $key => {
1455     + $r -> props
1456     + }
1457     + });
1458     +};
1459     +
1460     +
1461     +# retrieve an accounts db record, given its name
1462     +# we use a relaxed placeholder because keys can have a dot inside
1463     +sub getaccount {
1464     + my $c = shift;
1465     +# $c -> res -> headers -> header('Access-Control-Allow-Origin' => '*');
1466     +
1467     + my $a = esmith::AccountsDB -> open_ro;
1468     + my $key = $c -> param('key');
1469     + my $r = $a -> get($key);
1470     + $c -> render(json => {
1471     + name => $key, props => {
1472     + $r -> props
1473     + }
1474     + });
1475     +};
1476     +
1477     +
1478     +1;
1479     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Review.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Review.pm
1480     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Review.pm 1970-01-01 04:00:00.000000000 +0400
1481     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Review.pm 2019-06-26 17:56:15.000000000 +0400
1482     @@ -0,0 +1,222 @@
1483     +package SrvMngr::Controller::Review;
1484     +
1485     +use strict;
1486     +use warnings;
1487     +
1488     +use Mojo::Base 'Mojolicious::Controller';
1489     +
1490     +use Locale::gettext;
1491     +use SrvMngr::I18N;
1492     +
1493     +#use SrvMngr::Review_sub qw(print_page);
1494     +#use smeserver::Panel::review;
1495     +use esmith::FormMagick::Panel::review;
1496     +
1497     +our $db = esmith::ConfigDB->open_ro || die "Couldn't open config db";
1498     +our $domains = esmith::DomainsDB->open_ro || die "Couldn't open domains";
1499     +our $networks = esmith::NetworksDB->open_ro || die "Couldn't open networks";
1500     +
1501     +
1502     +
1503     +sub main {
1504     + my $c = shift;
1505     + $c->app->log->info($c->log_req);
1506     +
1507     + my $title = $c->l('rvw_FORM_TITLE');
1508     + my $modul = $c->render_to_string(inline => $c->l('rvw_DESCRIPTION'));
1509     + my %rvw_datas = ();
1510     +
1511     + $rvw_datas{'servermode'} = (get_value('','SystemMode' )|| '');
1512     + $rvw_datas{'localip'} = get_value('$c','LocalIP' )
1513     + .'/'.get_value('$c','LocalNetmask');
1514     + $rvw_datas{'publicip'} =
1515     + esmith::FormMagick::Panel::review->get_public_ip_address($c);
1516     + $rvw_datas{'gateway'} =
1517     + $c->render_to_string(inline => print2_gateway_stanza($c));
1518     + $rvw_datas{'serveronly'} =
1519     + $c->render_to_string(inline => print2_serveronly_stanza($c));
1520     + $rvw_datas{'addlocalnetworks'} = get_local_networks($c);
1521     + $rvw_datas{'dhcpserver'} =
1522     + $c->render_to_string(inline => print2_dhcp_stanza($c));
1523     +
1524     + $rvw_datas{'dnsserver'} = (get_value('','LocalIP' )|| '');
1525     + $rvw_datas{'webserver'} = 'www.'.(get_local_domain());
1526     + my $port = $db->get_prop("squid", "TransparentPort") || 3128;
1527     + $rvw_datas{'proxyserver'} = 'proxy.'.get_local_domain().":$port";
1528     + $rvw_datas{'ftpserver'} = 'ftp.'.get_local_domain();
1529     + $rvw_datas{'smtpserver'} = 'mail.'.get_local_domain();
1530     +
1531     + $rvw_datas{'domainname'} = (get_value('','DomainName' )|| '');
1532     + $rvw_datas{'virtualdomains'} =
1533     + $c->render_to_string(inline => gen2_domains($c));
1534     + $rvw_datas{'primarywebsite'} = 'http://www.'.get_value('','DomainName');
1535     + $rvw_datas{'servermanager'} = 'https://'. (get_value('','SystemName') || 'localhost').'/server-manager/';
1536     + $rvw_datas{'usermanager'} = 'https://'. (get_value('','SystemName') || 'localhost').'/user-password/';
1537     + $rvw_datas{'emailaddresses'} =
1538     + $c->render_to_string(inline => gen2_email_addresses($c));
1539     +
1540     + #$c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight},
1541     + #PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe},
1542     + $c->stash( title => $title, modul => $modul, rvw_datas => \%rvw_datas,
1543     + );
1544     +
1545     + $c->render(template => 'review');
1546     +
1547     +}
1548     +
1549     +
1550     +=head2 gen2_email_addresses
1551     +
1552     + Returns a string of the various forms of email addresses that work
1553     + on an SMEServer (mojo v.)
1554     +
1555     +=cut
1556     +
1557     +sub gen2_email_addresses {
1558     + my $c = shift;
1559     +
1560     + my $domain = get_value($c,'DomainName');
1561     + my $useraccount = $c->l("rvw_EMAIL_USERACCOUNT");
1562     + my $firstname = $c->l("rvw_EMAIL_FIRSTNAME");
1563     + my $lastname = $c->l("rvw_EMAIL_LASTNAME");
1564     +
1565     + my $out = "<I>" . $useraccount . "</I>\@" . $domain . "<BR>"
1566     + . "<I>" . $firstname . "</I>.<I>" . $lastname . "</I>\@" . $domain . "<BR>"
1567     + . "<I>" . $firstname . "</I>_<I>" . $lastname . "</I>\@" . $domain . "<BR>";
1568     +
1569     + return $out;
1570     +}
1571     +
1572     +
1573     +=head2 gen2_domains
1574     +
1575     + Returns a string of the domains this SME Server serves or a localized string
1576     + saying "no domains defined" (mojo ver)
1577     +
1578     +=cut
1579     +
1580     +sub gen2_domains {
1581     + my $c = shift;
1582     +
1583     + my @virtual = $domains->get_all_by_prop( type => 'domain');
1584     + my $numvirtual = @virtual;
1585     + if ($numvirtual == 0) {
1586     + $c->localise("NO_VIRTUAL_DOMAINS");
1587     + }
1588     + else {
1589     + my $out = "";
1590     + my $domain;
1591     + foreach $domain (sort @virtual) {
1592     + if ($out ne "") {
1593     + $out .= "<BR>";
1594     + }
1595     + $out .= $domain->key;
1596     + }
1597     + return $out;
1598     + }
1599     +}
1600     +
1601     +
1602     +=head2 get2_local_networks
1603     +
1604     +Return a <br> delimited string of all the networks this SMEServer is
1605     +serving. (mojo ver)
1606     +
1607     +=cut
1608     +
1609     +sub get2_local_networks {
1610     + my $c = shift;
1611     +
1612     + my @nets = $networks->get_all_by_prop('type' => 'network');
1613     +
1614     + my $numNetworks = @nets;
1615     + if ($numNetworks == 0) {
1616     + return $c->l('NO_NETWORKS');
1617     + }
1618     + else {
1619     + my $out = "";
1620     + foreach my $network (sort @nets) {
1621     + if ($out ne "") {
1622     + $out .= "<BR>";
1623     + }
1624     +
1625     + $out .= $network->key."/" . get_net_prop($c, $network->key, 'Mask');
1626     +
1627     + if ( defined get_net_prop($c, $network->key, 'Router') ) {
1628     + $out .= " via " . get_net_prop ($c, $network->key, 'Router');
1629     + }
1630     + }
1631     + return $out;
1632     + }
1633     +
1634     +}
1635     +
1636     +
1637     +
1638     +=head2 print2_gateway_stanza
1639     +
1640     +If this system is a server gateway, show the external ip and gateway ip (mojo ver)
1641     +
1642     +=cut
1643     +
1644     +sub print2_gateway_stanza
1645     +{
1646     + my $c = shift;
1647     + if (get_value($c,'SystemMode') =~ /servergateway/)
1648     + {
1649     + my $ip = get_value($c,'ExternalIP');
1650     + my $static =
1651     + (get_value($c, 'AccessType') eq 'dedicated') &&
1652     + (get_value($c, 'ExternalDHCP') eq 'off') &&
1653     + (get_prop($c, 'pppoe', 'status') eq 'disabled');
1654     + if ($static)
1655     + {
1656     + $ip .= "/".get_value($c,'ExternalNetmask');
1657     + }
1658     + my $out = $c->l('EXTERNAL_IP_ADDRESS_SUBNET_MASK').$ip;
1659     + if ($static)
1660     + {
1661     + $out .= $c->l('GATEWAY').get_value($c,'GatewayIP');
1662     + }
1663     + return $out
1664     + }
1665     +}
1666     +=head2 print2_serveronly_stanza
1667     +
1668     +If this system is a standalone server with net access, show the external
1669     +gateway IP (mojo ver)
1670     +
1671     +=cut
1672     +
1673     +sub print2_serveronly_stanza {
1674     + my $c = shift;
1675     + if ( (get_value($c,'SystemMode') eq 'serveronly') &&
1676     + get_value($c,'AccessType') &&
1677     + (get_value($c,'AccessType') ne "off")) {
1678     + return ( get_value($c,'GatewayIP') );
1679     + }
1680     +
1681     +}
1682     +
1683     +=head2 print2_dhcp_stanza
1684     +
1685     +Prints out the current state of dhcp service (mojo ver)
1686     +
1687     +
1688     +=cut
1689     +
1690     +sub print2_dhcp_stanza {
1691     + my $c = shift;
1692     + my $out = (get_prop($c,'dhcpd','status') || 'disabled' );
1693     +
1694     + if (get_prop($c,'dhcpd', 'status') eq 'enabled') {
1695     + $out .= '<br>'.$c->l('BEGINNING_OF_DHCP_ADDRESS_RANGE');
1696     + $out .= (get_prop($c,'dhcpd','start') || '' ).'<br>';
1697     + $out .= $c->l('END_OF_DHCP_ADDRESS_RANGE');
1698     + $out .= (get_prop($c,'dhcpd','end') || '' );
1699     + }
1700     + return $out;
1701     +}
1702     +
1703     +
1704     +1;
1705     diff -urN 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
1706     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Starterwebsite.pm 1970-01-01 04:00:00.000000000 +0400
1707     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Starterwebsite.pm 2019-06-26 23:41:43.000000000 +0400
1708     @@ -0,0 +1,149 @@
1709     +package SrvMngr::Controller::Starterwebsite;
1710     +
1711     +use strict;
1712     +use warnings;
1713     +use Mojo::Base 'Mojolicious::Controller';
1714     +
1715     +use Locale::gettext;
1716     +use SrvMngr::I18N;
1717     +
1718     +our $db = esmith::ConfigDB->open_ro || die "Couldn't open config db";
1719     +
1720     +sub main {
1721     + my $c = shift;
1722     + $c->app->log->info($c->log_req);
1723     +
1724     + my $title = $c->l('sws_FORM_TITLE');
1725     + my $modul = $c->render_to_string(inline => $c->l('sws_DESCRIPTION'));
1726     +
1727     + $c->stash( title => $title, modul => $modul );
1728     + $c->render(template => 'starterwebsite');
1729     +};
1730     +
1731     +
1732     +sub do_site {
1733     + my $c = shift;
1734     + $c->app->log->info($c->log_req);
1735     +
1736     + my $companyname = $c->param('l_company');
1737     + my $header1 = $c->param('l_header1');
1738     + my $desc1 = $c->param('l_desc1');
1739     + my $header2 = $c->param('l_header2');
1740     + my $desc2 = $c->param('l_desc2');
1741     +
1742     + my $result = "";
1743     +# if ( ( $companyname !~ /[\p{L}]+/ ) || ( $header1 !~ /[\p{L}]+/ ) || ( $desc1 !~ /[\p{L}]+/ ) ) {
1744     + if (($companyname =~ /^\s*$/s) or ($header1 =~ /^\s*$/s) or ($desc1 =~ /^\s*$/s)) {
1745     + $result .= 'Minimum information required !, ';
1746     + }
1747     +
1748     + my $title = $c->l('sws_FORM_TITLE');
1749     +
1750     + if (change2_settings( $c, $companyname, $header1, $desc1, $header2, $desc2 ) != 0) {
1751     + $result .= 'Htm file creation error !!';
1752     + }
1753     +
1754     + if ( $result eq '' ) {
1755     + my $url = "http://www.".$db->get('DomainName')->value();
1756     + my $href = "<a href=\"$url\">$url</a>";
1757     + $result = $c->render_to_string(inline => $c->l('sws_SUCCESS').'<br><br>'.$href);
1758     + }
1759     +
1760     + $c->stash( title => $title, modul => $result );
1761     + $c->render(template => 'module');
1762     +};
1763     +
1764     +
1765     +sub change2_settings {
1766     + my ($c, $companyname, $header1, $desc1, $header2, $desc2) = @_;
1767     +
1768     + my $primary_location = '/home/e-smith/files/ibays/Primary/html/index.htm';
1769     +
1770     + if (! open (WR, ">$primary_location")) { return 1; }
1771     +
1772     + format_page($c, $companyname, $header1, $desc1, $header2, $desc2);
1773     +
1774     + close WR;
1775     +
1776     + esmith::util::chownFile("admin", "shared",
1777     + $primary_location);
1778     + chmod 0640, $primary_location;
1779     + return 0;
1780     +}
1781     +
1782     +sub format_page {
1783     + my ($c, $companyname, $header1, $desc1, $header2, $desc2) = @_;
1784     +
1785     +
1786     + print WR "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n";
1787     + print WR "\n";
1788     + print WR "<HTML>\n";
1789     + print WR "\n";
1790     + print WR "<HEAD>\n";
1791     + print WR "<TITLE>$companyname</TITLE>\n";
1792     + print WR "<META HTTP-EQUIV=\"Expires\" CONTENT=\"0\">\n";
1793     + print WR "</HEAD>\n";
1794     + print WR "\n";
1795     + print WR "<BODY BGCOLOR=\"#FFFFFF\" MARGINWIDTH=\"0\" MARGINHEIGHT=\"0\" LEFTMARGIN=\"0\" TOPMARGIN=\"0\">\n";
1796     + print WR "\n";
1797     + print WR "<TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"10\" WIDTH=\"100%\">\n";
1798     + print WR "\n";
1799     + print WR "<TR>\n";
1800     + print WR "<TD BGCOLOR=\"#290099\" COLSPAN=\"2\"><FONT COLOR=\"#F7E0B5\"><H1>$companyname</H1></FONT></TD>\n";
1801     + print WR "</TR>\n";
1802     + print WR "\n";
1803     + print WR "<TR>\n";
1804     + print WR "<TD BGCOLOR=\"#F7E0B5\" WIDTH=\"15%\">&nbsp;</TD>\n";
1805     + print WR "<TD BGCOLOR=\"#FFFFFF\" WIDTH=\"85%\">\n";
1806     + print WR "\n";
1807     +
1808     + if ($header1 !~ /^\s*$/s)
1809     + {
1810     + print WR "<FONT COLOR=\"#000000\"><H2>$header1</H2></FONT>\n";
1811     + print WR "\n";
1812     + }
1813     +
1814     + if ($desc1 !~ /^\s*$/s)
1815     + {
1816     + $desc1 =~ s/^\s*(.*?)\s*$/$1/s;
1817     + $desc1 =~ s/\r\s*\r/<P>/sg;
1818     +
1819     + print WR "<FONT COLOR=\"#290099\">\n";
1820     + print WR "<P>\n";
1821     + print WR "$desc1\n";
1822     + print WR "</P>\n";
1823     + print WR "</FONT>\n";
1824     + print WR "\n";
1825     + }
1826     +
1827     + if ($header2 !~ /^\s*$/s)
1828     + {
1829     + print WR "<FONT COLOR=\"#000000\"><H2>$header2</H2></FONT>\n";
1830     + print WR "\n";
1831     + }
1832     +
1833     + if ($desc2 !~ /^\s*$/s)
1834     + {
1835     + $desc2 =~ s/^\s*(.*?)\s*$/$1/s;
1836     + $desc2 =~ s/\r\s*\r/<P>/sg;
1837     +
1838     + print WR "<FONT COLOR=\"#290099\">\n";
1839     + print WR "<P>\n";
1840     + print WR "$desc2\n";
1841     + print WR "</P>\n";
1842     + print WR "</FONT>\n";
1843     + print WR "\n";
1844     + }
1845     +
1846     + print WR "\n";
1847     + print WR "</TD>\n";
1848     + print WR "</TR>\n";
1849     + print WR "</TABLE>\n";
1850     + print WR "</BODY>\n";
1851     + print WR "</HTML>\n";
1852     +
1853     + close WR;
1854     +}
1855     +
1856     +
1857     +1;
1858     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Support.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Support.pm
1859     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Support.pm 1970-01-01 04:00:00.000000000 +0400
1860     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Support.pm 2019-06-25 20:41:36.000000000 +0400
1861     @@ -0,0 +1,44 @@
1862     +package SrvMngr::Controller::Support;
1863     +
1864     +use strict;
1865     +use warnings;
1866     +use Mojo::Base 'Mojolicious::Controller';
1867     +
1868     +#use esmith::config;
1869     +#use esmith::NavigationDB;
1870     +use esmith::util;
1871     +#use esmith::I18N;
1872     +
1873     +
1874     +sub display_licenses
1875     +{
1876     + my $lang = shift;
1877     +
1878     + #print "<TR><TD><PRE>\n";
1879     + my $lic = '';
1880     + foreach my $license (esmith::util::getLicenses($lang))
1881     + {
1882     + $lic .= $license . '<br>';
1883     + }
1884     + #print "</PRE></TD></TR>\n";
1885     + return $lic;
1886     +}
1887     +
1888     +sub main {
1889     + my $c = shift;
1890     + $c->app->log->info($c->log_req);
1891     +
1892     + esmith::util::setRealToEffective();
1893     +
1894     + my $title = $c->l('support_FORM_TITLE');
1895     + my $modul = $c->render_to_string(inline => display_licenses($c->session->{lang}));
1896     +
1897     + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight},
1898     + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, navigation => $c->session->{navigation},
1899     + title => $title, modul => $modul);
1900     +
1901     + $c->render(template => 'module');
1902     +};
1903     +
1904     +
1905     +1;
1906     \ Pas de fin de ligne à la fin du fichier
1907     diff -urN 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
1908     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Wbl.pm 1970-01-01 04:00:00.000000000 +0400
1909     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Wbl.pm 2019-07-31 01:04:36.000000000 +0400
1910     @@ -0,0 +1,146 @@
1911     +package SrvMngr::Controller::Wbl;
1912     +
1913     +use strict;
1914     +use warnings;
1915     +use Mojo::Base 'Mojolicious::Controller';
1916     +
1917     +
1918     +use Locale::gettext;
1919     +use SrvMngr::I18N;
1920     +
1921     +####$locale->{namespace} = 'SrvMngr::I18N::Wbl';
1922     +
1923     +#use esmith::FormMagick::Panel::wbl;
1924     +use smeserver::Panel::wblNew;
1925     +
1926     +##our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db";
1927     +
1928     +sub main {
1929     + my $c = shift;
1930     + $c->app->log->info($c->log_req);
1931     +
1932     + my %wbl_datas = ();
1933     + my $title = $c->l('wbl_FORM_TITLE');
1934     + my $modul = $c->l('wbl_WBL_DESCRIPTION');
1935     +
1936     + $wbl_datas{'trt'} = 'CHOICE';
1937     + my @wblList = ( [$c->l('wbl_RBL_LIST') => 'RBL'], [$c->l('wbl_BLACK_LIST') => 'BLACK'], [$c->l('wbl_WHITE_LIST') => 'WHITE'] );
1938     + $c->stash( list => \@wblList );
1939     +
1940     + $c->stash( title => $title, modul => $modul, wbl_datas => \%wbl_datas);
1941     + $c->render(template => 'wbl');
1942     +};
1943     +
1944     +
1945     +sub do_display {
1946     + my $c = shift;
1947     +
1948     + #my $button = $c->param('button');
1949     + my $trt = $c->param('list') || 'CHOICE';
1950     +
1951     + my %wbl_datas = ();
1952     + my $title = $c->l('wbl_FORM_TITLE');
1953     + my $modul = $c->l('wbl_WBL_DESCRIPTION');
1954     +
1955     + $wbl_datas{'trt'} = $trt;
1956     +
1957     + if ( $trt eq 'RBL' ) {
1958     +
1959     + # For RBL List
1960     + # dnsbl - returns 'enabled/disabled
1961     + $wbl_datas{'dnsbl'} = get_dnsbl();
1962     +
1963     + # rhsbl - returns 'enabled/disabled
1964     + $wbl_datas{'rhsbl'} = get_rhsbl();
1965     +
1966     + # uribl - returns 'enabled/disabled
1967     + $wbl_datas{'uribl'} = get_uribl();
1968     +
1969     + # For SBLList List
1970     + my @sbllist = get_sbllist();
1971     + $c->stash( sbllist => \@sbllist );
1972     +
1973     + # For RBLList List
1974     + my @rbllist = get_rbllist();
1975     + $c->stash( rbllist => \@rbllist );
1976     +
1977     + # For URLList List
1978     + my @ubllist = get_ubllist();
1979     + $c->stash( ubllist => \@ubllist );
1980     +
1981     + }
1982     + if ( $trt eq 'BLACK' ) {
1983     +
1984     + # For Black List
1985     + my @badhelo = get_badhelo();
1986     + $c->stash( badhelo => \@badhelo );
1987     +
1988     + my @badmailfrom = get_badmailfrom();
1989     + $c->stash( badmailfrom => \@badmailfrom );
1990     +
1991     + my @blacklistfrom = get_blacklistfrom();
1992     + $c->stash( blacklistfrom => \@blacklistfrom );
1993     +
1994     + }
1995     + if ( $trt eq 'WHITE' ) {
1996     +
1997     + # For WBL List
1998     + my @whitelistsenders = get_whitelistsenders();
1999     + $c->stash( whitelistsenders => \@whitelistsenders );
2000     +
2001     + my @whitelisthelo = get_whitelisthelo();
2002     + $c->stash( whitelisthelo => \@whitelisthelo );
2003     +
2004     + my @whitelisthosts = get_whitelisthosts();
2005     + $c->stash( whitelisthosts => \@whitelisthosts );
2006     +
2007     + my @whitelistfrom = get_whitelistfrom();
2008     + $c->stash( whitelistfrom => \@whitelistfrom );
2009     +
2010     + }
2011     +
2012     + if ( $trt eq 'CHOICE' ) {
2013     + my @wblList = ( [$c->l('wbl_RBL_LIST') => 'RBL'], [$c->l('wbl_BLACK_LIST') => 'BLACK'],
2014     + [$c->l('wbl_WHITE_LIST') => 'WHITE'] );
2015     + $c->stash( list => \@wblList );
2016     +
2017     + }
2018     +
2019     + $c->stash( title => $title, modul => $modul, wbl_datas => \%wbl_datas );
2020     + $c->render( template => 'wbl' );
2021     +
2022     +};
2023     +
2024     +
2025     +sub do_update {
2026     + my $c = shift;
2027     + $c->app->log->info($c->log_req);
2028     +
2029     + my $result = "";
2030     +
2031     + my $trt = ($c->param('trt') || '???');
2032     +
2033     + #### $wbl_datas{'dnsbl'} = get_dnsbl(); etc...
2034     + if ($trt eq 'RBL') {
2035     + $result .= 'RBL: ' . $c->l('wbl_ERROR_UPDATING') unless create_modify_rbl($c) == 0;
2036     + }
2037     + elsif ($trt eq 'BLACK') {
2038     + $result .= 'BLACK: ' . $c->l('wbl_ERROR_UPDATING') unless create_modify_black($c) == 0;
2039     + } elsif ($trt eq 'WHITE') {
2040     + $result .= 'WHITE: ' . $c->l('wbl_ERROR_UPDATING') unless create_modify_white($c) == 0;
2041     + } else {
2042     + $result .= "Undefined form: $trt." . $c->l('wbl_ERROR_UPDATING');
2043     + }
2044     +
2045     + my $title = $c->l('wbl_FORM_TITLE');
2046     +
2047     + if ( $result eq '' ) { $result = $c->l('wbl_SUCCESS') . " but System update NOT done !!!"; }
2048     +
2049     + $c->stash( title => $title, modul => $result );
2050     + $c->render(template => 'module');
2051     +
2052     +};
2053     +
2054     +
2055     +1;
2056     +
2057     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Welcome.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Welcome.pm
2058     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Welcome.pm 1970-01-01 04:00:00.000000000 +0400
2059     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Welcome.pm 2019-06-10 11:46:29.000000000 +0400
2060     @@ -0,0 +1,40 @@
2061     +package SrvMngr::Controller::Welcome;
2062     +
2063     +use strict;
2064     +use warnings;
2065     +
2066     +use Mojo::Base 'Mojolicious::Controller';
2067     +
2068     +use Locale::gettext;
2069     +use SrvMngr::I18N;
2070     +
2071     +
2072     +#page d'accueil
2073     +sub main {
2074     + my $c = shift;
2075     +
2076     + $c->app->log->info("Appel de la page d'accueil.");
2077     + $c->app->log->info($c->log_req);
2078     +
2079     + if (not defined $c->session->{lang}) {
2080     + $c->app->log->info("Init datas in welcome page.");
2081     + my %datas = ();
2082     + %datas = SrvMngr::Model::Main->init_data( %datas );
2083     + $c->session->{lang} = $datas{'lang'};
2084     + $c->session->{copyRight} = $c->l($datas{'copyRight'});
2085     + $c->session->{releaseVersion} = $datas{'releaseVersion'};
2086     + $c->session->{PwdSet} = $datas{'PwdSet'};
2087     + $c->session->{Unsafe} = $datas{'Unsafe'};
2088     + }
2089     +
2090     + my $modul .= ' Welcome result is 10 + 33.';
2091     +
2092     + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight},
2093     + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe},
2094     + modul => $modul);
2095     +
2096     + $c->render(template => 'welcome');
2097     +}
2098     +
2099     +
2100     +1;
2101     \ Pas de fin de ligne à la fin du fichier
2102     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Workgroup.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Workgroup.pm
2103     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Workgroup.pm 1970-01-01 04:00:00.000000000 +0400
2104     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Workgroup.pm 2019-07-24 19:10:57.000000000 +0400
2105     @@ -0,0 +1,106 @@
2106     +package SrvMngr::Controller::Workgroup;
2107     +
2108     +use strict;
2109     +use warnings;
2110     +use Mojo::Base 'Mojolicious::Controller';
2111     +
2112     +use Locale::gettext;
2113     +use SrvMngr::I18N;
2114     +
2115     +use esmith::FormMagick::Panel::workgroup;
2116     +
2117     +our $db = esmith::ConfigDB->open || die "Couldn't open config db";
2118     +#our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db";
2119     +
2120     +sub main {
2121     + my $c = shift;
2122     + $c->app->log->info($c->log_req);
2123     +
2124     + my %wkg_datas = ();
2125     + my $title = $c->l('wkg_FORM_TITLE');
2126     + my $modul = '';
2127     +
2128     + $wkg_datas{'Workgroup'} = ($db->get_prop('smb','Workgroup')) || '';
2129     + $wkg_datas{'ServerName'} = ($db->get_prop('smb','ServerName')) || '';
2130     + $wkg_datas{'ServerRole'} = ($db->get_prop('smb','ServerRole')) || '';
2131     + $wkg_datas{'RoamingProfiles'} = ($db->get_prop('smb','RoamingProfiles')) || '';
2132     +
2133     + $c->stash( title => $title, modul => $modul, wkg_datas => \%wkg_datas );
2134     + $c->render(template => 'workgroup');
2135     +};
2136     +
2137     +
2138     +sub do_update {
2139     + my $c = shift;
2140     + $c->app->log->info($c->log_req);
2141     +
2142     + my $result = "";
2143     +
2144     + my $workgroup = ($c->param('Workgroup') || 'no');
2145     + my $servername = ($c->param('ServerName') || 'WS');
2146     + my $roamingprofiles = ($c->param('RoamingProfiles') || 'no');
2147     + my $serverrole = ($c->param('ServerRole') || 'WS');
2148     +
2149     + # controls
2150     + my $res = validate2_workgroup($c, $workgroup, $servername);
2151     + $result .= $res unless $res eq 'OK';
2152     +
2153     + $res = validate2_servername($c, $servername);
2154     + $result .= $res unless $res eq 'OK';
2155     +
2156     + #$db->get('smb')->set_prop('Workgroup', $workgroup);
2157     + #$db->get('smb')->set_prop('ServerRole', $serverrole);
2158     + #$db->get('smb')->set_prop('ServerName', $servername);
2159     + #$db->get('smb')->set_prop('RoamingProfiles', $roamingprofiles);
2160     +
2161     + my $prop_upd = 'configuration setprop smb ';
2162     + $prop_upd .= "Workgroup $workgroup ServerRole $serverrole ServerName $servername RoamingProfiles $roamingprofiles";
2163     + #
2164     + # Update the db config
2165     + #
2166     +# system ('/bin/sudo', '/sbin/e-smith/db', 'configuration', 'setprop', 'smb', 'Workgroup', $workgroup,
2167     +# 'ServerRole', $serverrole, 'ServerName', $servername, 'RoamingProfiles', $roamingprofiles) == 0
2168     + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_upd ) ) == 0
2169     + or $result = $c->l('ERROR_UPDATING') . " db config: " . $prop_upd;
2170     + #
2171     + # Update the system
2172     + #
2173     + if ($result eq '') {
2174     + system ('/bin/sudo', '/sbin/e-smith/signal-event', 'workgroup-update') == 0
2175     + or $result = $c->l('ERROR_UPDATING') . " system";
2176     + }
2177     +
2178     + my $title = $c->l('wkg_FORM_TITLE');
2179     +
2180     + if ( $result eq '' ) { $result = $c->l('wkg_SUCCESS'); }
2181     +
2182     + $c->stash( title => $title, modul => $result );
2183     + $c->render(template => 'module');
2184     +};
2185     +
2186     +
2187     +sub validate2_servername {
2188     + my $c = shift;
2189     + my $servername = shift;
2190     +
2191     + return ('OK') if ( $servername =~ /^([a-zA-Z][\-\w]*)$/ );
2192     +
2193     + return $c->l('INVALID_SERVERNAME');
2194     +}
2195     +
2196     +
2197     +sub validate2_workgroup {
2198     + my $c = shift;
2199     + my $workgroup = lc(shift);
2200     + my $servername = lc(shift);
2201     +# my $workgroup = $c->l(shift);
2202     +# my $servername = $c->l(shift);
2203     +
2204     + return $c->l('INVALID_WORKGROUP') unless ( $workgroup =~ /^([a-zA-Z0-9][\-\w\.]*)$/ );
2205     + return $c->l('INVALID_WORKGROUP_MATCHES_SERVERNAME') if ( $servername eq $workgroup);
2206     + return ('OK');
2207     +
2208     +}
2209     +
2210     +
2211     +1;
2212     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/de.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/de.pm
2213     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/de.pm 1970-01-01 04:00:00.000000000 +0400
2214     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/de.pm 2019-06-12 12:16:49.000000000 +0400
2215     @@ -0,0 +1,16 @@
2216     +package SrvMngr::I18N::de;
2217     +
2218     +use utf8;
2219     +use Mojo::Base 'SrvMngr::I18N';
2220     +
2221     +our %Lexicon = (
2222     +_AUTO => 1,
2223     +
2224     +YES => 'Ya',
2225     +NO => 'Nein',
2226     +'All rights reserved' => 'Alle Rechte vorbehalten',
2227     +'sws_FORM_TITLE' => 'Schaffen Sie eine Starter-Website',
2228     +
2229     +);
2230     +
2231     +1;
2232     \ Pas de fin de ligne à la fin du fichier
2233     diff -urN 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
2234     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm 1970-01-01 04:00:00.000000000 +0400
2235     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm 2019-11-11 18:25:46.000000000 +0400
2236     @@ -0,0 +1,980 @@
2237     +package SrvMngr::I18N::en;
2238     +
2239     +use utf8;
2240     +use Mojo::Base 'SrvMngr::I18N';
2241     +
2242     +our %Lexicon = (
2243     +#_AUTO => 1,
2244     +
2245     +edit => 'edit',
2246     +del => 'del',
2247     +exit => 'Exit',
2248     +cancel => 'Cancel',
2249     +hello => 'hello',
2250     +'All rights reserved' => 'All Rights Reserved',
2251     +
2252     +'Collaboration' => 'Collaboration',
2253     +'Administration' => 'Administration',
2254     +'Security' => 'Security',
2255     +'Configuration' => 'Configuration',
2256     +'Miscellaneous' => 'Miscellaneous',
2257     +'Your Settings' => 'Your Settings',
2258     +'SAVE' => 'Save',
2259     +'CANCEL' => 'Cancel',
2260     +'ENABLED' => 'Enabled',
2261     +'DISABLED' => 'Disabled',
2262     +'NO' => 'No',
2263     +'YES' => 'Yes',
2264     +'ADD' => 'Add',
2265     +'CREATE' => 'Create',
2266     +'MODIFY' => 'Modify',
2267     +'REMOVE' => 'Remove',
2268     +'COMMENT' => 'Comment',
2269     +'NEXT' => 'Next',
2270     +'SELF' => 'Self',
2271     +'REMOTE' => 'Remote',
2272     +'LOCAL' => 'Local',
2273     +'ACTION' => 'Action',
2274     +'NETWORK' => 'Network',
2275     +'ROUTER' => 'Router',
2276     +'OPERATION_STATUS_REPORT' => 'Operation status report',
2277     +'ACCOUNT' => 'Account',
2278     +'GROUP' => 'Group',
2279     +'DESC_SECTIONBAR' => '<hr class="sectionbar"/>',
2280     +'NO_PIPES_ALLOWED' => 'Pipe symbols (|) are not permitted in this field',
2281     +'ERROR_BELOW' => '
2282     +ERROR: There was an error in the validation of this page. Please
2283     +scroll down and find the specific problem.',
2284     +'ACCESS' => 'Access',
2285     +'ACCOUNT_LOCKED' => 'Account is locked',
2286     +'GROUP_ADD' => 'Add group',
2287     +'NETWORKS_ALLOW_LOCAL' => 'Allow access only from local networks',
2288     +'NETWORKS_ALLOW_PUBLIC' => 'Allow public access (entire Internet)',
2289     +'ERROR_PASSWORD_CHANGE' => '
2290     +An error occurred while attempting to change your password. Please make sure that the old password entered is correct.',
2291     +'BACK' => 'Back',
2292     +'BACKUP' => 'Backup',
2293     +'DESCRIPTION_BRIEF' => 'Brief description',
2294     +'PASSWORD_CHANGE' => 'Change Password',
2295     +'RESET_PASSWORD_TITLE' => 'Reset user password',
2296     +'ACCOUNT_PASSWORD_CHANGE' => 'Change account password',
2297     +'CONTENT' => 'Content',
2298     +'CREATE_GROUP' => 'Create user group',
2299     +'USER_LIST_CURRENT' => 'Current list of users',
2300     +'DESCRIPTION' => 'Description',
2301     +'DESTINATION' => 'Destination',
2302     +'DOMAIN_NAME' => 'Domain name',
2303     +'DOMAIN' => 'Domain',
2304     +'DOMAINS' => 'Domains',
2305     +'DOWNLOAD' => 'Download',
2306     +'ERROR_UPDATING_CONFIGURATION' => 'Error occurred while updating system configuration.',
2307     +'GROUP_MEMBERS' => 'Group Members',
2308     +'GROUP_NAME' => 'Group Name',
2309     +'GROUPS' => 'Groups',
2310     +'IP_ADDRESS' => 'IP Address',
2311     +'IP_ADDRESS_OR_FQDN' => 'IP Address or FQDN',
2312     +'USER_INVALID' => 'Invalid user',
2313     +'LOCATION' => 'Location',
2314     +'MB' => 'Mb',
2315     +'MODIFY_USER_GROUP' => 'Modify user group',
2316     +'NAME' => 'Name',
2317     +'PASSWORD_VERIFY_NEW' => 'New password (verify):',
2318     +'PASSWORD_NEW' => 'New password:',
2319     +'OFF' => 'Off',
2320     +'OK' => 'Ok',
2321     +'PASSWORD_OLD' =>
2322     +'
2323     +Old password:
2324     +',
2325     +'ON' =>
2326     +'
2327     +On
2328     +',
2329     +'PASSWORD' =>
2330     +'
2331     +Password
2332     +',
2333     +'PERFORM' =>
2334     +'
2335     +Perform
2336     +',
2337     +'RECONFIGURE' =>
2338     +'
2339     +Reconfigure
2340     +',
2341     +'REMOVE_USER_GROUP' =>
2342     +'
2343     +Remove user group
2344     +',
2345     +'PASSWORD_RESET' =>
2346     +'
2347     +Reset password
2348     +',
2349     +'RESTORE' =>
2350     +'
2351     +Restore
2352     +',
2353     +'SHUTDOWN' =>
2354     +'
2355     +Shutdown
2356     +',
2357     +'SUCCESS' =>
2358     +'
2359     +Success
2360     +',
2361     +'ACCOUNT_NAME_INVALID' =>
2362     +'
2363     +The account name entered is invalid.
2364     +',
2365     +'ACCOUNT_NAME_INVALID_CHARS' =>
2366     +'
2367     +The account name you entered contained invalid characters.
2368     +',
2369     +'PASSWORD_OLD_INVALID_CHARS' =>
2370     +'
2371     +The old password you entered contained invalid characters.
2372     +',
2373     +'PASSWORD_INVALID_CHARS' =>
2374     +'
2375     +The password you entered contained invalid characters.
2376     +',
2377     +'PASSWORD_VERIFY_ERROR' =>
2378     +'
2379     +The passwords you entered did not match.
2380     +',
2381     +'ACCOUNT_USER_NONE' =>
2382     +'
2383     +There are no user accounts in the system.
2384     +',
2385     +'ACCOUNT_GROUP_NONE' =>
2386     +'
2387     +There are no user groups in the system.
2388     +',
2389     +'ERROR_INVALID_CHARS' =>
2390     +'
2391     +Unexpected characters in description.
2392     +',
2393     +'USER_NAME' =>
2394     +'
2395     +User Name
2396     +',
2397     +'YOUR_ACCOUNT' =>
2398     +'
2399     +Your account:
2400     +',
2401     +'YOUR_ACCOUNT_INVALID' =>
2402     +'The account name entered is invalid.',
2403     +'PASSWORD_CHANGE_SUCCESS' =>
2404     +'
2405     +Your password has been successfully changed.
2406     +',
2407     +'FM_NONBLANK' =>
2408     +'
2409     +This field must not be left blank
2410     +',
2411     +'FM_INTEGER' =>
2412     +'
2413     +This field must contain a positive integer
2414     +',
2415     +'FM_NUMBER' =>
2416     +'
2417     +This field must contain a number
2418     +',
2419     +'FM_WORD' =>
2420     +'
2421     +This field must look like a single word.
2422     +',
2423     +'FM_DATE' =>
2424     +'
2425     +The data entered could not be parsed as a date
2426     +',
2427     +'FM_CREDIT_CARD_NUMBER1' =>
2428     +'
2429     +You must enter a credit card number
2430     +',
2431     +'FM_CREDIT_CARD_NUMBER2' =>
2432     +'
2433     +Credit card numbers shouldn\'t have anything but numbers, spaces or dashes
2434     +',
2435     +'FM_CREDIT_CARD_NUMBER3' =>
2436     +'
2437     +Must be at least 14 characters in length
2438     +',
2439     +'FM_CREDIT_CARD_NUMBER4' =>
2440     +'
2441     +Doesn\'t appear to be a valid credit card number
2442     +',
2443     +'FM_CREDIT_CARD_EXPIRY1' =>
2444     +'
2445     +No expiry date entered.
2446     +',
2447     +'FM_CREDIT_CARD_EXPIRY2' =>
2448     +'
2449     +Expiry date must be in the format MM/YY or MM/YYYY
2450     +',
2451     +'FM_CREDIT_CARD_EXPIRY3' =>
2452     +'
2453     +This expiry date appears to have already passed
2454     +',
2455     +'FM_CREDIT_CARD_EXPIRY4' =>
2456     +'
2457     +This expiry date appears to be too far in the future
2458     +',
2459     +'FM_ISO_COUNTRY_CODE1' =>
2460     +'
2461     +You must provide a country code
2462     +',
2463     +'FM_ISO_COUNTRY_CODE2' =>
2464     +'
2465     +This field does not contain an ISO country code
2466     +',
2467     +'FM_US_STATE' =>
2468     +'
2469     +This doesn\'t appear to be a valid 2-letter US state abbreviation
2470     +',
2471     +'FM_US_ZIPCODE' =>
2472     +'
2473     +US zip codes must contain 5 or 9 numbers
2474     +',
2475     +'FM_MINLENGTH1' =>
2476     +'
2477     +Minimum length has been specified meaninglessly as {$minlength}
2478     +',
2479     +'FM_MINLENGTH2' =>
2480     +'
2481     +This field must be at least {$minlength} characters
2482     +',
2483     +'FM_MAXLENGTH1' =>
2484     +'
2485     +Maximum length has been specified meaninglessly as {$maxlength}
2486     +',
2487     +'FM_MAXLENGTH2' =>
2488     +'
2489     +This field must be no more than {$maxlength} characters
2490     +',
2491     +'FM_EXACTLENGTH1' =>
2492     +'
2493     +You must specify the length for the field.
2494     +',
2495     +'FM_EXACTLENGTH2' =>
2496     +'
2497     +You must specify the exactlength of the field with an integer
2498     +',
2499     +'FM_EXACTLENGTH3' =>
2500     +'
2501     +This field must be exactly {$exactlength} characters
2502     +',
2503     +'FM_LENGTHRANGE1' =>
2504     +'
2505     +You must specify the maximum and minimum length for the field.
2506     +',
2507     +'FM_LENGTHRANGE2' =>
2508     +'
2509     +You must specify the maximum and minimum lengths of the field with an integer
2510     +',
2511     +'FM_LENGTHRANGE3' =>
2512     +'
2513     +This field must be between {$minlength} and {$maxlength} characters
2514     +',
2515     +'FM_URL' =>
2516     +'
2517     +This field must contain a URL starting with http:// or ftp://
2518     +',
2519     +'FM_EMAIL_SIMPLE1' =>
2520     +'
2521     +You must enter an email address.
2522     +',
2523     +'FM_EMAIL_SIMPLE2' =>
2524     +'
2525     +This field doesn\'t look like an RFC822-compliant email address
2526     +',
2527     +'FM_DOMAIN_NAME' =>
2528     +'
2529     +This field doesn\'t look like a valid Internet domain name or hostname.
2530     +',
2531     +'FM_IP_NUMBER1' =>
2532     +'
2533     +This field must contain a valid IP number and can not be left blank.
2534     +',
2535     +'FM_IP_NUMBER2' =>
2536     +'
2537     +Invalid IP address format (expected X.X.X.X)
2538     +',
2539     +'FM_IP_NUMBER3' =>
2540     +'
2541     +{$octet} is more than 255
2542     +',
2543     +'FM_USERNAME' =>
2544     +'
2545     +This field must look like a valid username (3 to 8 letters and numbers)
2546     +',
2547     +'FM_PASSWORD1' =>
2548     +'
2549     +You must provide a password.
2550     +',
2551     +'FM_PASSWORD2' =>
2552     +'
2553     +The password you provided was not a good password.A good password must
2554     +contain all of the following: upper case letter, lower case letter, number,
2555     +non-alphanumeric character, be at least 7 characters long.
2556     +',
2557     +'FM_MAC_ADDRESS1' =>
2558     +'
2559     +You must provide a MAC address.
2560     +',
2561     +'FM_MAC_ADDRESS2' =>
2562     +'
2563     +The MAC address you provided was not valid.
2564     +',
2565     +'FM_ERR_UNEXPECTED_DESC' =>
2566     +'Error: unexpected or missing characters in description',
2567     +
2568     +
2569     +initial_FORM_TITLE => 'Welcome to the server manager',
2570     +initial_FRAMES_BODY => '<p>
2571     + Welcome to SME Server, the leading Linux distribution for
2572     + small and medium enterprises. SME Server is brought to
2573     + you by <A HREF="https://www.koozali.org/" TARGET="_blank">Koozali Foundation, Inc.</A>,
2574     + a non-profit corporation that exists to provide marketing and
2575     + legal support for SME Server.
2576     + </p>
2577     +
2578     + <p>
2579     + SME Server is freely available under the GNU General Public
2580     + License and is only possible through the efforts of the SME
2581     + Server community. However, the availability and quality of SME
2582     + Server is dependent on meeting our expenses, such as hosting
2583     + costs, server hardware, etc.
2584     + </p>
2585     +
2586     +
2587     + <p>
2588     + As such, we ask for a donation to offset costs and fund
2589     + further development.
2590     + </p>
2591     +
2592     + <p>
2593     + a) If you are a school, a church, a non-profit organisation or an
2594     + individual using SME for private purposes, we would appreciate you to
2595     + contribute within your means toward the costs associated with hosting,
2596     + maintenance and development.
2597     + </p>
2598     +
2599     + <p>
2600     + b) If you are a company or an integrator and you are deploying SME in
2601     + the course of your work to generate revenue, we expect you to make a
2602     + donation commensurate with the level of revenue you generate and the
2603     + number of servers your have in the field. Please, help the project
2604     + </p>
2605     +
2606     + <br>
2607     +
2608     + <p>
2609     + <a href="https://wiki.koozali.org/Donate" target="_blank">
2610     + <img src="/server-common/btn_donateCC_LG.gif" alt="https://wiki.koozali.org/Donate"
2611     + align="middle"></a>
2612     + </p>
2613     +
2614     + <br>
2615     +
2616     + <p>
2617     + This software comes with ABSOLUTELY NO WARRANTY.
2618     + Please <A HREF="/server-manager/support/" TARGET="main">click here</A>
2619     + to view detailed support, warranty and licensing information.
2620     + </p>
2621     +
2622     + <p>
2623     + To perform a system administration function, click one of the links in the menu on the left of your screen.
2624     + </p>
2625     +',
2626     +support_FORM_TITLE => 'Support, warranty and licensing information',
2627     +manual_FORM_TITLE => 'Online manual and other documentation',
2628     +manual_DESCRIPTION => '
2629     + <ul>
2630     + <li><a target="new" href="https://wiki.koozali.org/documentation/manual/">
2631     + Online manual</a>
2632     + <li><a target="new" href="https://wiki.koozali.org/documentation/FAQ/">
2633     + FAQs</a>
2634     + </ul>
2635     + <H2>Support and licensing</H2>
2636     + This software is released under the terms listed in the <a href="/server-manager2/support">
2637     + Support and Licensing</a> page.
2638     +',
2639     +
2640     +'sws_FORM_TITLE' => 'Create a starter website',
2641     +'sws_SUCCESS' =>
2642     +'Successfully created starter web site (wrote file index.htm).
2643     + You can visit your new website at the address below:',
2644     +'sws_DESCRIPTION' =>
2645     +'<p>
2646     +To create a simple web page for your company, fill
2647     +in the fields below and click on <b>Create</b>.
2648     +</p>
2649     +<p>
2650     +You can leave any field blank if you do not need it.
2651     +</p>
2652     +<p>
2653     +The text that you enter below will be line wrapped
2654     +for a nicer appearance in your web page. Leave a blank line
2655     +whenever you want to start a new paragraph. If you need
2656     +to force a line break without starting a new paragraph (for
2657     +example after each line of a mailing address), then type
2658     +the four-character sequence
2659     +<blockquote>&lt;BR&gt;</blockquote>
2660     +where you would like each line break.
2661     +</p>
2662     +<p>
2663     +<em>Do not use this option</em>
2664     +if you have already customized your web site, since it will
2665     +overwrite the "index.htm" file in your web site directory.
2666     +</p>
2667     +',
2668     +'sws_LABEL_COMPANYNAME' =>
2669     +'Company name',
2670     +'sws_DESC_HEADER1' =>
2671     +'
2672     +First header, typically used for short phrases such
2673     +as "Leader in the field of textile manufacturing"
2674     +',
2675     +'sws_DESC_TEXT1' =>
2676     +'
2677     +Text following first header, typically used for a
2678     +paragraph of marketing information.
2679     +',
2680     +'sws_DESC_HEADER2' =>
2681     +'
2682     +Second header, typically used for short phrases such
2683     +as "For more information" or "To order our products":
2684     +',
2685     +'sws_DESC_TEXT2' =>
2686     +'
2687     +Text following second header, typically used for contact
2688     +or ordering information:
2689     +',
2690     +'sws_DESC_SUBMIT' =>
2691     +'
2692     +<p>When you create this web page, the file
2693     +"index.htm" will be overwritten
2694     +in your web site directory.</p>
2695     +<p>Do you wish to proceed?</p>
2696     +',
2697     +'sws_Create starter web site' =>
2698     +'Create starter web site',
2699     +
2700     +'bugr_FORM_TITLE' => 'Report a Bug',
2701     +'bugr_DO_NOT_PANIC' => 'Don\'t Panic!',
2702     +'bugr_SME_EXPERIENCE' =>
2703     +'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.',
2704     +'bugr_PLEASE_REPORT_HERE' =>
2705     +'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',
2706     +'bugr_USE_TEMPLATE' =>
2707     +'Please refer to the following link on how to report efficiency a bug and use its template',
2708     +'bugr_FOLLOWING_REPORT_MIGHT_HELP' =>
2709     +'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.',
2710     +'bugr_REPORT_CONTENT' =>
2711     +'The report will contain the following information',
2712     +'bugr_SME_VERSION' =>
2713     +'Koozali SME Server version',
2714     +'bugr_SERVER_MODE' =>
2715     +'Server mode',
2716     +'bugr_KERNEL_AND_ARCH' =>
2717     +'Current running kernel version and architecture',
2718     +'bugr_INSTALLED_RPMS' =>
2719     +'A list of additional RPMs installed on your server',
2720     +'bugr_ALTERED_TEMPLATES' =>
2721     +'A list of SME templates that have been altered on your server from a base install',
2722     +'bugr_ALTERED_EVENTS' =>
2723     +'A list of SME events that have been altered on your server from a base install',
2724     +'bugr_YUM_REPOS' =>
2725     +'A list of additional software repositories configured on your server',
2726     +'bugr_PRIVACY' =>
2727     +'No privacy related data (ie. users, passwords, IP addresses) will be included in the report.',
2728     +'bugr_CREATE_REPORT' =>
2729     +'Create configuration report',
2730     +'bugr_DONATING' =>
2731     +'Have you considered donating?',
2732     +'bugr_AWARE_SME' =>
2733     +'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.',
2734     +'bugr_YOUR_HELP' =>
2735     +'In very much the same way you need us to address your current issue, we need YOUR help to keep this project alive!',
2736     +'bugr_CONSIDER_DONATING' =>
2737     +'Please consider donating to the project by clicking on the image link below:',
2738     +'bugr_THANK_YOU' =>
2739     +'Thank you for your support!',
2740     +'bugr_Download this report' =>
2741     +'Download this report !',
2742     +'bugr_Report a bug' =>
2743     +'Report a bug',
2744     +
2745     +'rvw_FORM_TITLE' =>
2746     +'Review configuration',
2747     +'rvw_DESCRIPTION' =>
2748     +'This report summarizes the networking, server, and domain
2749     +parameters on this server relevant to configuring
2750     +the client computers on your network.You may wish to print this
2751     +page and use it as a reference.
2752     +',
2753     +'rvw_NETWORKING_PARAMS' =>
2754     +'Networking Parameters',
2755     +'rvw_SERVER_MODE' =>
2756     +'Server Mode',
2757     +'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK' =>
2758     +'Local IP address / subnet mask',
2759     +'rvw_EXTERNAL_IP_ADDRESS_SUBNET_MASK' =>
2760     +'External IP address / subnet mask',
2761     +'rvw_GATEWAY' =>
2762     +'Gateway',
2763     +'rvw_ADDITIONAL_LOCAL_NETWORKS' =>
2764     +'Additional local networks',
2765     +'rvw_DHCP_SERVER' =>
2766     +'DHCP server',
2767     +'rvw_BEGINNING_OF_DHCP_ADDRESS_RANGE' =>
2768     +'Beginning of DHCP address range',
2769     +'rvw_END_OF_DHCP_ADDRESS_RANGE' =>
2770     +'End of DHCP address range',
2771     +'rvw_SERVER_NAMES' =>
2772     +'Server names',
2773     +'rvw_DNS_SERVER' =>
2774     +'DNS server',
2775     +'rvw_WEB_SERVER' =>
2776     +'Web server',
2777     +'rvw_PROXY_SERVER' =>
2778     +'Proxy server',
2779     +'rvw_FTP_SERVER' =>
2780     +'FTP server',
2781     +'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' =>
2782     +'SMTP, POP, and IMAP mail servers',
2783     +'rvw_HOSTS' =>
2784     +'Hosts',
2785     +'rvw_DOMAIN_INFORMATION' =>
2786     +'Domain information',
2787     +'rvw_PRIMARY_DOMAIN' =>
2788     +'Primary domain',
2789     +'rvw_VIRTUAL_DOMAINS' =>
2790     +'Virtual domains',
2791     +'rvw_PRIMARY_WEB_SITE' =>
2792     +'Primary web site',
2793     +'rvw_SERVER_MANAGER' =>
2794     +'Server manager',
2795     +'rvw_USER_PASSWORD_PANEL' =>
2796     +'User password panel',
2797     +'rvw_EMAIL_ADDRESSES' =>
2798     +'Email Addresses',
2799     +'rvw_EMAIL_USERACCOUNT' =>
2800     +'useraccount',
2801     +'rvw_EMAIL_FIRSTNAME' =>
2802     +'firstname',
2803     +'rvw_EMAIL_LASTNAME' =>
2804     +'lastname',
2805     +'rvw_NO_VIRTUAL_DOMAINS' =>
2806     +'No virtual domains defined',
2807     +'rvw_NO_NETWORKS' =>
2808     +'No additional networks defined',
2809     +'rvw_INTERNET_VISIBLE_ADDRESS' =>
2810     +'Internet Visible IP Address',
2811     +
2812     +'dir_FORM_TITLE' =>
2813     +'Change LDAP directory settings',
2814     +'dir_LABEL_ROOT' =>
2815     +'Server root',
2816     +'dir_DESCRIPTION' =>
2817     +'
2818     +The LDAP server provides a network-available listing of the user accounts
2819     +and groups on your server, and can be accessed using an LDAP client such as the Address Book feature in Netscape Communicator. Configure your LDAP client with the local IP address of your server, port number 389, and the server root parameter shown below.
2820     +',
2821     +'dir_DESC_DIRECTORY_ACCESS' =>
2822     +' You can control access to your LDAP directory: the private setting allows access only from your local network, and the public setting allows access from anywhere on the Internet. ',
2823     +'dir_DIRECTORY_ACCESS' =>
2824     +'LDAP directory access',
2825     +'dir_DESC_DEPARTMENT' =>
2826     +'
2827     +These fields are the LDAP defaults for your organization.
2828     +Whenever you create a new user account, you will be prompted
2829     +to enter all of these fields (they can be different for each
2830     +user) but the values you set here
2831     +will show up as defaults. This is a convenience to make it
2832     +faster to create user accounts.
2833     +',
2834     +'dir_DEPARTMENT' =>
2835     +'Default department',
2836     +'dir_COMPANY' =>
2837     +'Default company',
2838     +'dir_STREET' =>
2839     +'Default Street address',
2840     +'dir_CITY' =>
2841     +'Default City',
2842     +'dir_PHONENUMBER' =>
2843     +'Default Phone Number',
2844     +'dir_DESC_EXISTING' =>
2845     +'
2846     +You can either leave existing user accounts as they are, using the above defaults only for
2847     +new users, or you can apply the above defaults to all existing users as well.
2848     +',
2849     +'dir_EXISTING' =>
2850     +'Existing users',
2851     +'dir_SUCCESS' =>
2852     +'The new LDAP default settings have been saved.',
2853     +'dir_LEAVE' =>
2854     +'Leave as they are',
2855     +'dir_UPDATE' =>
2856     +'Update with new defaults',
2857     +'dir_Directory' =>
2858     +'Directory',
2859     +
2860     +'prx_TITLE' => 'Proxy settings',
2861     +'prx_FIRST_PAGE_DESCRIPTION' => '
2862     +This page allows configuration of the server\'s
2863     +proxy settings.
2864     +The server includes a transparent proxy and cache for
2865     +HTTP traffic. This is enabled by default, but not enforced
2866     +if the server is in &quot;serveronly&quot; mode.
2867     +If this server is acting as an e-mail server, connections
2868     +from local network clients to external SMTP servers
2869     +will default to being redirected to the local e-mail server.
2870     +',
2871     +'prx_HTTP_PROXY_STATUS_DESCRIPTION' =>
2872     +'
2873     +The server\'s HTTP proxy works to reduce overall uplink usage by
2874     +caching recently-visited pages. It is transparent to web browsers
2875     +using this server as their gateway. Enable or disable this proxy
2876     +with the following toggle.
2877     +',
2878     +'prx_HTTP_PROXY_STATUS_LABEL' => 'HTTP proxy status',
2879     +'prx_SMTP_PROXY_STATUS_DESCRIPTION' =>
2880     +'
2881     +The server\'s transparent SMTP proxy works to reduce virus traffic
2882     +from infected client hosts by forcing all outgoing SMTP traffic
2883     +through this server if set to "enabled".
2884     +If you wish to use an alternate SMTP server, and this server is
2885     +your gateway to it, set this proxy to "disabled". Setting the
2886     +proxy to "blocked" prevents all SMTP traffic to other servers,
2887     +this is the default. The proxy only intercepts/blocks normal smtp
2888     +(port 25) traffic.
2889     +',
2890     +'prx_SMTP_PROXY_STATUS_LABEL' => 'SMTP proxy status',
2891     +'prx_ERR_PROXY_UPDATE_FAILED' => 'ERROR: The proxy-update event returned an error.',
2892     +'prx_ERR_NO_SQUID_REC' => 'ERROR: There is no squid record in the configuration database.',
2893     +'prx_SUCCESS' => 'The new proxy settings were applied successfully.',
2894     +'prx_BLOCKED' => 'Blocked',
2895     +
2896     +'qma_FORM_TITLE' => 'Mail Log File Analysis',
2897     +'qma_INITIAL_DESC' => '
2898     +<P>Analysing the mail system log files can aid both in
2899     +understanding how your system is performing and in
2900     +diagnosing delivery problems. Several different
2901     +reports are available.</P>
2902     +<P>Please note that it may take several minutes to generate
2903     +these reports</P>',
2904     +'qma_REPORT_TYPE' => 'Choose a report type',
2905     +'qma_GENERATE_REPORT' => 'Generate report',
2906     +'qma_LIST_OUTGOING' => 'List outgoing messages and recipients',
2907     +'qma_SUMMARIZE_QUEUE' => 'Summarize status of mail queue',
2908     +'qma_SUCCESSFUL_DELIVERY_DELAY' => 'Successful delivery delay distribution',
2909     +'qma_REASONS_DEFERRAL' => 'Reasons for deferral',
2910     +'qma_REASONS_FAILURE' => 'Reasons for failure',
2911     +'qma_BASIC_STATS' => 'Basic statistics',
2912     +'qma_RECIP_STATS' => 'Recipients statistics',
2913     +'qma_RECIP_HOSTS' => 'Recipient hosts',
2914     +'qma_RECIP_ORDERED' => 'Recipients in best order for mailing lists',
2915     +'qma_SENDER_STATS' => 'Sender statistics',
2916     +'qma_SENDMAIL_STYLE' => 'Sendmail style log',
2917     +'qma_REASONS_SUCCESS' => 'Reasons for success',
2918     +'qma_SENDER_UIDS' => 'Sender uids',
2919     +'qma_INVALID_REPORT_TYPE' => 'Invalid report type: ',
2920     +'qma_REPORT_GENERATED' => 'Report generated: ',
2921     +'qma_END_OF_REPORT' => 'End of Report',
2922     +'qma_Mail log file analysis' => 'Mail log file analysis',
2923     +
2924     +'clm_FORM_TITLE' => 'Antivirus settings',
2925     +'clm_LABEL_FILESYSTEM_SCAN_PERIOD' => 'Scan filesystem',
2926     +'clm_DESC_FILESYSTEM_SCAN_PERIOD' => '
2927     +<h2>General Settings</h2>
2928     +If this option is enabled then the filesystem will be
2929     +scanned for viruses.A report of any found viruses will be
2930     +emailed to the administrator.',
2931     +'clm_LABEL_QUARANTINE' => 'Quarantine infected files',
2932     +'clm_LABEL_CLAM_VERSIONS' => 'ClamAV and db versions',
2933     +'clm_WEEKLY' => 'Weekly',
2934     +'clm_NEVER' => 'Never',
2935     +'clm_DAILY' => 'Daily',
2936     +'clm_SUCCESS' => 'The new clamav antivirus settings have been saved.',
2937     +
2938     +'wkg_FORM_TITLE' => 'Change workgroup settings',
2939     +'wkg_DESC_WORKGROUP' =>
2940     +'
2941     +Enter the name of the Windows workgroup that this server should appear in.
2942     +',
2943     +'wkg_LABEL_WORKGROUP' => 'Windows workgroup',
2944     +'wkg_DESC_SERVERNAME' =>
2945     +'Enter the name that this server should use for
2946     +Windows and Macintosh file sharing.',
2947     +'wkg_LABEL_SERVERNAME' => 'Server Name',
2948     +'wkg_DESC_PDC' =>
2949     +'Should this server act as the workgroup
2950     +and domain controller on your Windows network? You should leave
2951     +this set to <b>No</b> if another server is already performing this
2952     +role on your network.
2953     +',
2954     +'wkg_LABEL_PDC' => 'Workgroup and Domain Controller',
2955     +'wkg_DESC_ROAM' =>
2956     +'
2957     +Should this server support roaming profiles?
2958     +You should leave this set to the default of <b>No</b> unless you have
2959     +experience administering server-based Windows roaming profiles and
2960     +know that this feature is required.
2961     +',
2962     +'wkg_LABEL_ROAM' => 'Roaming profiles',
2963     +'wkg_SUCCESS' => '
2964     +The new workgroup settings have been saved
2965     +',
2966     +'wkg_INVALID_WORKGROUP' =>
2967     +'The workgroup name must begin with a letter (upper or lower
2968     +case), followed by any combination of letters, numbers,
2969     +underscores, periods and hyphens.
2970     +',
2971     +'wkg_INVALID_SERVERNAME' =>
2972     +'The server name must begin with a letter (upper or lower case),
2973     +followed by any combination of letters, numbers, underscores and
2974     +hyphens.
2975     +',
2976     +'wkg_INVALID_WORKGROUP_MATCHES_SERVERNAME' =>
2977     +'The server and workgroup names match, when compared in lower case.
2978     +These values must be different in order for filesharing to be turned on.
2979     +',
2980     +'wkg_Workgroup' => 'Workgroup',
2981     +
2982     +'dat_FORM_TITLE' =>
2983     +'Date and time configuration',
2984     +'dat_INITIAL_DESC' =>
2985     +'
2986     +This is where you configure the date and time of this server. You may use an existing network time server or
2987     +manually set the date and time for your time zone.
2988     +',
2989     +'dat_SET_DATE_TITLE' => 'Set Date and Time',
2990     +'dat_COULD_NOT_OPEN_TZ_FILE' => 'Error: Could not open timezone file for reading: ',
2991     +'dat_JANUARY' => 'January',
2992     +'dat_FEBRUARY' => 'February',
2993     +'dat_MARCH' => 'March',
2994     +'dat_APRIL' => 'April',
2995     +'dat_MAY' => 'May',
2996     +'dat_JUNE' => 'June',
2997     +'dat_JULY' => 'July',
2998     +'dat_AUGUST' => 'August',
2999     +'dat_SEPTEMBER' => 'September',
3000     +'dat_OCTOBER' => 'October',
3001     +'dat_NOVEMBER' => 'November',
3002     +'dat_DECEMBER' => 'December',
3003     +'dat_NEW_M/D/Y' => 'New month/day/year:',
3004     +'dat_NEW_H/M/S' => 'New hour/min/sec:',
3005     +'dat_AM/PM_AND_TZ' => 'AM/PM and time zone:',
3006     +'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.',
3007     +'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.',
3008     +'dat_NTP_DISABLE_DESC' => '
3009     +Choose this option to stop syncronizing the system clock to the NTP
3010     +server.When the NTP service is disabled, you can set the system date
3011     +and time manually from this page.
3012     +',
3013     +'dat_NTP_SERVER' => 'NTP Server',
3014     +'dat_VERIFY_DATE_AND_TIME' => 'Verify date and time',
3015     +'dat_NEW_DATE_AND_TIME' => 'New date and time setting:',
3016     +'dat_SETTING_DATE_AND_TIME' => 'Setting date and time',
3017     +'dat_INVALID_DAY' => 'Error: invalid day of month: ',
3018     +'dat_BETWEEN_1_AND_31' => 'Please choose a day between 1 and 31.',
3019     +'dat_INVALID_YEAR' => 'Error: invalid year: ',
3020     +'dat_FOUR_DIGIT_YEAR' => 'Please choose a four-digit year between 1900 and 2200.',
3021     +'dat_INVALID_HOUR' => 'Error: invalid hour: ',
3022     +'dat_BETWEEN_1_AND_12' => 'Please choose an hour between 1 and 12.',
3023     +'dat_INVALID_MINUTE' => 'Error: invalid minute: ',
3024     +'dat_BETWEEN_0_AND_59' => 'Please choose a minute between 0 and 59.',
3025     +'dat_INVALID_SECOND' => 'Error: invalid second',
3026     +'dat_UPDATING_CLOCK' =>
3027     +'
3028     +System clock is being updated. Please wait for a few seconds,
3029     +then click <A HREF="datetime?page=1&wherenext=Verify" TARGET="main">here</A>
3030     +to verify changes.
3031     +',
3032     +'dat_ERR_SETTING_CLOCK' => 'Error occurred while setting system time and hardware clock.',
3033     +'dat_SERVER_DISABLED' => 'Network time server disabled successfully',
3034     +'dat_SERVER_DISABLED_DESC' => '
3035     +You have disabled this service: The server will rely on its internal
3036     +clock, and <b>will not</b> try to synchronize from a time server.
3037     +',
3038     +'dat_ERR_CHANGING_TS' => 'Error while changing network time server setting',
3039     +'dat_INVALID_NTP_ADDR' => 'Invalid NTP server address: ',
3040     +'dat_SETTINGS_CHANGED' => 'Network time server setting changed successfully',
3041     +'dat_SYNC_WITH' => 'This server is now configured to synchronize periodically
3042     +(via the Internet) with:
3043     +',
3044     +'dat_INVALID_NTP_SERVER' => '
3045     +Invalid NTP server, the server <b>will not</b> try to synchronize
3046     +from a time server.
3047     +',
3048     +'dat_NETWORK_TIME_SERVER' => 'Network Time Server',
3049     +'dat_NTP_CONFIGURE_TITLE' => 'Configure Network Time Server',
3050     +'dat_NTP_ENABLE_TITLE' => 'Enable Network Time Server',
3051     +'dat_NTP_DISABLE_TITLE' => 'Disable Network Time Server',
3052     +'dat_CURRENT_SETTING' => 'Current setting',
3053     +'dat_Date and time' => 'Date and time',
3054     +
3055     +'wbl_SAVE' => 'Save',
3056     +'wbl_PERFORM' => 'Perform',
3057     +'wbl_FORM_TITLE' => 'E-mail WBL',
3058     +'wbl_OPERATION_STATUS_REPORT' => 'Operation status report',
3059     +'wbl_WBL_DESCRIPTION' =>
3060     +'E-mail traffic is scanned and may be blocked due to the various screening methods enabled.
3061     +You may use this panel to define e-mail white/black lists.',
3062     +'wbl_RBL_LIST_DESCRIPTION' => 'RBL\'s List is used to adjust DNSBL and RHSBL.',
3063     +'wbl_RBL_LIST' => 'RBL\'s List',
3064     +'wbl_BLACK_LIST_DESCRIPTION' => 'Black lists are used for rejecting e-mail traffic.',
3065     +'wbl_BLACK_LIST' => 'Black List',
3066     +'wbl_WHITE_LIST_DESCRIPTION' => 'White lists are used for accepting e-mail traffic.',
3067     +'wbl_WHITE_LIST' => 'White List',
3068     +'wbl_BLACK_TITLE' => '
3069     +This server includes built-in support for using the admin defined black lists, badhelo and
3070     + badmailfrom.
3071     +',
3072     +'wbl_DNSBL_DESCRIPTION' => '
3073     +DNSBL is an abbreviation for "DNS blacklist".
3074     +',
3075     +'wbl_DNSBL_LABEL' => 'DNSBL status',
3076     +'wbl_RHSBL_DESCRIPTION' => '
3077     +RHSBL is an abbreviation for "Right Hand Side Blacklist".
3078     +',
3079     +'wbl_RHSBL_LABEL' => 'RHSBL status',
3080     +'wbl_BADHELO_DESCRIPTION' => '
3081     +Check a HELO message delivered from a connecting host.Reject any
3082     +that appear in badhelo during the \'helo\' stage.
3083     +',
3084     +'wbl_BADHELO_LABEL' => 'qpsmtpd badhelo',
3085     +'wbl_BADMAILFROM_DESCRIPTION' => '
3086     +Check envelope sender addresses. Reject any
3087     +that appear (@host or user@host) in badmailfrom during the \'mail\' stage.
3088     +',
3089     +'wbl_BADMAILFROM_LABEL' => 'qmail badmailfrom',
3090     +'wbl_WHITE_TITLE' => 'Use this panel to modify your servers White List settings. All entries will be enabled by default',
3091     +'wbl_RRFH_LABEL' => 'Whitelists status',
3092     +'wbl_WHITELISTHOSTS_DESCRIPTION' => '
3093     +Any IP address listed in whitelisthosts will be exempted
3094     +from any further validation during the \'connect\' stage.
3095     +',
3096     +'wbl_WHITELISTHOSTS_LABEL' => 'qpsmtpd whitelisthosts',
3097     +'wbl_WHITELISTHELO_DESCRIPTION' => '
3098     +be exempted from further validation during the \'helo\' stage.
3099     +',
3100     +'wbl_WHITELISTHELO_LABEL' => 'qpsmtpd whitelisthelo',
3101     +'wbl_WHITELISTSENDERS_DESCRIPTION' => '
3102     +will be exempted from further validation during the \'mail\' stage.
3103     +',
3104     +'wbl_WHITELISTSENDERS_LABEL' => 'qpsmtpd whitelistsenders',
3105     +'wbl_WHITELISTFROM_DESCRIPTION' => '
3106     +will be exempted from spamassassin rejection.
3107     +',
3108     +'wbl_WHITELISTFROM_LABEL' => 'spamassassin whitelist_from',
3109     +'wbl_BLACKLISTFROM_LABEL' => 'spamassassin blacklist_from',
3110     +'wbl_BLACKLISTFROM_DESCRIPTION' => '
3111     +will be rejected by spamassassin.
3112     +',
3113     +'wbl_SBLLIST_LABEL' => 'RHSBL (qpsmtpd SBLList)',
3114     +'wbl_SBLLIST_DESCRIPTION' => 'RHS block list - \'right hand side\' of senders host/domain will be checked against the following servers',
3115     +'wbl_RBLLIST_LABEL' => 'DNSBL Zones (qpsmtpd RBLList)',
3116     +'wbl_RBLLIST_DESCRIPTION' => 'DNS Block List - senders IP address will be checked against the following servers',
3117     + 'wbl_RBL_TITLE' => 'Real-time Blackhole Lists are disabled by default. To help reduce spam you can enable RBLs here.',
3118     +
3119     +'prt_FORM_TITLE' => 'Add or remove printers',
3120     +'prt_INITIAL_BTN' => 'Add printer',
3121     +'prt_INITIAL_DESC' => '<P><A class="button-like" HREF="printers?page=0&Next=Add">Add printer</A></P>',
3122     +'prt_NO_PRINTERS' => 'There are no printers in the system.',
3123     +'prt_CURRENT_LIST' => 'Current List of printers',
3124     +'prt_REMOTE_ADDRESS' => 'Remote address',
3125     +'prt_REMOTE_NAME' => 'Remote name',
3126     +'prt_CREATE_NEW_PRINTER' => 'Create a new printer',
3127     +'prt_CREATE_NEW_DESC' => 'Please choose a unique name for the printer and enter a brief
3128     +description. The printer name should contain only lower-case
3129     +letters and numbers, and should start with a lower-case
3130     +letter. For example "hplaser", "epsonlp", and
3131     +"canonbj" are valid choices, but "HP Laser Jet",
3132     +"Canon BubbleJet", and
3133     +"HP JetDirect Printer" are not.
3134     +Avoid names and descriptions that contain these terms,
3135     +"offline", "disabled", "down", "off", "waiting", "jam",
3136     +"paper", "error" and "responding".
3137     +',
3138     +'prt_PRINTER_NAME' => 'Printer name',
3139     +'prt_LOCAL_PRINTER_0' => 'Local printer port 0 (LPT1)',
3140     +'prt_LOCAL_PRINTER_1' => 'Local printer port 1 (LPT2)',
3141     +'prt_LOCAL_PRINTER_2' => 'Local printer port 2 (LPT3)',
3142     +'prt_NET_PRINTER' => 'Network printer ...',
3143     +'prt_FIRST_USB_PRINTER' => 'First USB attached printer',
3144     +'prt_SECOND_USB_PRINTER' => 'Second USB attached printer',
3145     +'prt_ERR_UNEXPECTED_NAME' => '<P>Error: unexpected characters in printer name.</P>
3146     +<P>The printer name should contain only lower-case
3147     +letters and numbers, and should start with a lower-case
3148     +letter. For example "hplaser", "epsonlp", and
3149     +"canonbj" are valid names.</P>
3150     +',
3151     +'prt_ERR_UNEXPECTED_DESC' => 'Error: unexpected or missing characters in description.
3152     +Did not create new printer.
3153     +',
3154     +'prt_ERR_EXISTS' => 'Error: An account with the same name exists with type: ',
3155     +'prt_ERR_INVALID_ADDRESS' => 'Error: invalid network address. Did not create new printer.',
3156     +'prt_ERR_INVALID_REMOTE_NAME' => 'Error: invalid network printer name. Did not create new printer.',
3157     +'prt_ERR_CREATING' => 'Error occurred while creating printer.',
3158     +'prt_CREATED_SUCCESSFULLY' => 'Successfully created printer: ',
3159     +'prt_CREATE_NETWORK_PRINTER' => 'Create a new network printer',
3160     +'prt_ERR_OPENING_DB' => 'Error occurred while opening accounts database.',
3161     +'prt_CREATE_NETWORK_DESC' => 'Please enter the address and name of the network printer',
3162     +'prt_HOSTNAME_OR_IP' => 'Hostname or IP address of the network printer',
3163     +'prt_REMOTE_NAME_DESC' => 'Network printer name (enter raw if not sure)',
3164     +'prt_REMOVE_PRINTER' => 'Remove printer',
3165     +'prt_ABOUT_TO_REMOVE' => 'You are about to remove the printer: ',
3166     +'prt_SPOOL_FILE_WARNING' => 'All the spool files for this printer will be deleted.',
3167     +'prt_ARE_YOU_SURE' => 'Are you sure you wish to remove this printer?',
3168     +'prt_ERR_INTERNAL_FAILURE' => 'Error: internal failure while removing printer: ',
3169     +'prt_ERR_DELETING' => 'Error occurred while deleting printer.',
3170     +'prt_DELETED_SUCCESSFULLY' => 'Successfully deleted printer: ',
3171     +'prt_MUST_BE_VALID_HOSTNAME_OR_IP' => 'Must be a valid hostname or IP number',
3172     +'prt_Printers' => 'Printers',
3173     +
3174     +'quo_FORM_TITLE' => 'Create, modify, or remove user account quotas',
3175     +'quo_UNABLE_TO_OPEN_ACCOUNTS' => 'Unable to open accounts db',
3176     +'quo_QUOTA_DESC' => '<p>You can set filesystem quotas for users on your system by clicking
3177     +the "Modify" button next to the user you wish to update.
3178     +<p>If the user exceeds the "Limit with grace period", warnings will be
3179     +generated. If this limit is exceeded for longer than a week or if the
3180     +"Absolute limit" is reached, the user will be unable to store any more
3181     +files or receive any more e-mail.
3182     +<p>A setting of \'0\' for either limit disables that limit for the
3183     +corresponding user.
3184     +<p>The disk space for each user includes the user\'s home directory,
3185     +e-mail, and any files owned by the user in information bays.',
3186     +'quo_CURRENT_USAGE_AND_SETTINGS' => 'Current Quota Usage and Settings',
3187     +'quo_LIMIT_WITH_GRACE' => 'Limit with grace period',
3188     +'quo_LIMIT_WITH_GRACE_MB' => 'Limit with grace period (MB)',
3189     +'quo_ABS_LIMIT' => 'Absolute limit',
3190     +'quo_ABS_LIMIT_MB' => 'Absolute limit (MB)',
3191     +'quo_CURRENT_USAGE' => 'Current usage (MB)',
3192     +'quo_COULD_NOT_GET_UID' => 'Could not determine the uid for user: ',
3193     +'quo_ERR_NO_SUCH_ACCT' => 'Error: there is no account named: ',
3194     +'quo_ERR_NOT_A_USER_ACCT' => 'Error: the account is not a user account: ',
3195     +'quo_ACCOUNT_IS_TYPE' => 'It is an account of type: ',
3196     +'quo_MODIFY_USER_TITLE' => 'Modify user quota limits',
3197     +'quo_USER' => 'User: ',
3198     +'quo_CURRENTLY_HAS' => 'currently has: ',
3199     +'quo_FILES' => 'files',
3200     +'quo_OCCUPYING' => 'occupying: ',
3201     +'quo_MEGABYTES' => 'megabytes',
3202     +'quo_INSTRUCTIONS' => 'Enter the quota with optional unit suffix of \'K\' for kilobytes, \'M\' for megabytes,
3203     +\'G\' for gigabytes or \'T\' for terabytes.
3204     +Entries with no suffix are assumed to be in megabytes. A setting of \'0\'
3205     +for either limit disables that limit for the corresponding user.',
3206     +'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.',
3207     +'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.',
3208     +'quo_ERR_HARD_LT_SOFT' => ' Error: absolute limit must be greater than limit with grace time. ',
3209     +'quo_ERR_MODIFYING' => 'Error occurred while modifying user.',
3210     +'quo_SUCCESSFULLY_MODIFIED' => 'Successfully modified quota for user account: ',
3211     +'quo_Quotas' => 'Quotas',
3212     +
3213     +);
3214     +
3215     +
3216     +1;
3217     \ Pas de fin de ligne à la fin du fichier
3218     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/es.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/es.pm
3219     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/es.pm 1970-01-01 04:00:00.000000000 +0400
3220     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/es.pm 2019-06-12 12:17:04.000000000 +0400
3221     @@ -0,0 +1,16 @@
3222     +package SrvMngr::I18N::es;
3223     +
3224     +use utf8;
3225     +use Mojo::Base 'SrvMngr::I18N';
3226     +
3227     +our %Lexicon = (
3228     +_AUTO => 1,
3229     +
3230     +YES => 'Si',
3231     +NO => 'No',
3232     +'All rights reserved' => 'Todos los derechos reservados',
3233     +'sws_FORM_TITLE' => 'Cree un sitio web arrancador',
3234     +
3235     +);
3236     +
3237     +1;
3238     \ Pas de fin de ligne à la fin du fichier
3239     diff -urN 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
3240     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/fr.pm 1970-01-01 04:00:00.000000000 +0400
3241     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/fr.pm 2019-11-11 18:26:39.000000000 +0400
3242     @@ -0,0 +1,678 @@
3243     +package SrvMngr::I18N::fr;
3244     +
3245     +use utf8;
3246     +use Mojo::Base 'SrvMngr::I18N';
3247     +
3248     +our %Lexicon = (
3249     +_AUTO => 1,
3250     +
3251     +YES => 'Oui',
3252     +NO => 'Non',
3253     +edit => 'Modifier',
3254     +del => 'Effacer',
3255     +exit => 'Quitter',
3256     +cancel => 'Annuler',
3257     +hello => 'salut',
3258     +'All rights reserved' => 'Tous droits réservés',
3259     +
3260     +'Collaboration' =>
3261     +'Collaboration',
3262     +'Administration' =>
3263     +'Administration',
3264     +'Security' =>
3265     +'Sécurité',
3266     +'Configuration' =>
3267     +'Configuration',
3268     +'Miscellaneous' =>
3269     +'Divers',
3270     +'Your Settings' =>
3271     +'Vos paramètres',
3272     +'SAVE' =>
3273     +'Enregistrer',
3274     +'CANCEL' =>
3275     +'Annuler',
3276     +'ENABLED' =>
3277     +'Activé',
3278     +'DISABLED' =>
3279     +'Désactivé',
3280     +'NO' =>
3281     +'Non',
3282     +'YES' =>
3283     +'Oui',
3284     +'ADD' =>
3285     +'Ajouter',
3286     +'CREATE' =>
3287     +'Créer',
3288     +'MODIFY' =>
3289     +'Modifier',
3290     +'REMOVE' =>
3291     +'Supprimer',
3292     +'COMMENT' =>
3293     +'Commentaire',
3294     +'NEXT' =>
3295     +'Suivant',
3296     +'SELF' =>
3297     +'Ce serveur',
3298     +'REMOTE' =>
3299     +'Distant',
3300     +'LOCAL' =>
3301     +'Local',
3302     +'ACTION' =>
3303     +'Action',
3304     +'NETWORK' =>
3305     +'Réseau',
3306     +'ROUTER' =>
3307     +'Routeur',
3308     +'OPERATION_STATUS_REPORT' =>
3309     +'Rapport d\'état de l\'opération',
3310     +'ACCOUNT' =>
3311     +'Compte',
3312     +'GROUP' =>
3313     +'Groupe',
3314     +'DESC_SECTIONBAR' =>
3315     +' <hr class="sectionbar"/> ',
3316     +'NO_PIPES_ALLOWED' =>
3317     +'La barre verticale "|" (pipe) n\'est pas autorisée dans ce champ.',
3318     +'ERROR_BELOW' =>
3319     +'ERREUR : Une erreur s\'est produite lors de la validation de cette page. Vous trouverez ci-dessous les raisons de ce problème :',
3320     +'ACCESS' =>
3321     +'Accès',
3322     +'ACCOUNT_LOCKED' =>
3323     +'Le compte est verrouillé',
3324     +'GROUP_ADD' =>
3325     +'Ajouter un groupe',
3326     +'NETWORKS_ALLOW_LOCAL' =>
3327     +'N\'autoriser l\'accès que depuis les réseaux locaux',
3328     +'NETWORKS_ALLOW_PUBLIC' =>
3329     +'Autoriser l\'accès complet (LAN et Internet)',
3330     +'ERROR_PASSWORD_CHANGE' =>
3331     +'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é.',
3332     +'BACK' =>
3333     +'Retour',
3334     +'BACKUP' =>
3335     +'Sauvegarde',
3336     +'DESCRIPTION_BRIEF' =>
3337     +'Brève description',
3338     +'PASSWORD_CHANGE' =>
3339     +'Changer le mot de passe',
3340     +'RESET_PASSWORD_TITLE' =>
3341     +'Réinitialiser le mot de passe de l\'utilisateur',
3342     +'ACCOUNT_PASSWORD_CHANGE' =>
3343     +'Changer le mot de passe du compte',
3344     +'CONTENT' =>
3345     +'Contenu',
3346     +'CREATE_GROUP' =>
3347     +'Créer un groupe d\'utilisateurs',
3348     +'USER_LIST_CURRENT' =>
3349     +'Liste des utilisateurs',
3350     +'DESCRIPTION' =>
3351     +'Description',
3352     +'DESTINATION' =>
3353     +'Destination',
3354     +'DOMAIN_NAME' =>
3355     +'Nom de Domaine',
3356     +'DOMAIN' =>
3357     +'Domaine',
3358     +'DOMAINS' =>
3359     +'Domaines',
3360     +'DOWNLOAD' =>
3361     +'Télécharger',
3362     +'ERROR_UPDATING_CONFIGURATION' =>
3363     +'Une erreur s\'est produite pendant la mise à jour de la configuration du serveur.',
3364     +'GROUP_MEMBERS' =>
3365     +'Membres du groupe',
3366     +'GROUP_NAME' =>
3367     +'Nom du groupe',
3368     +'GROUPS' =>
3369     +'Groupes',
3370     +'IP_ADDRESS' =>
3371     +'Adresse IP',
3372     +'IP_ADDRESS_OR_FQDN' =>
3373     +'Adresse IP ou FQDN',
3374     +'USER_INVALID' =>
3375     +'Utilisateur non autorisé',
3376     +'LOCATION' =>
3377     +'Emplacement',
3378     +'MB' =>
3379     +'Mo',
3380     +'MODIFY_USER_GROUP' =>
3381     +'Modifier le groupe d\'utilisateurs',
3382     +'NAME' =>
3383     +'Nom',
3384     +'PASSWORD_VERIFY_NEW' =>
3385     +'Nouveau mot de passe (vérification)',
3386     +'PASSWORD_NEW' =>
3387     +'Nouveau mot de passe',
3388     +'OFF' =>
3389     +'Désactivé',
3390     +'OK' =>
3391     +'Ok',
3392     +'PASSWORD_OLD' =>
3393     +'Ancien mot de passe',
3394     +'ON' =>
3395     +'Activé',
3396     +'PASSWORD' =>
3397     +'Mot de passe',
3398     +'PERFORM' =>
3399     +'Exécuter',
3400     +'RECONFIGURE' =>
3401     +'Reconfigurer',
3402     +'REMOVE_USER_GROUP' =>
3403     +'Supprimer le groupe d\'utilisateurs',
3404     +'PASSWORD_RESET' =>
3405     +'Réinitialiser le mot de passe',
3406     +'RESTORE' =>
3407     +'Restaurer',
3408     +'SHUTDOWN' =>
3409     +'Arrêter',
3410     +'SUCCESS' =>
3411     +'Opération réussie',
3412     +'ACCOUNT_NAME_INVALID' =>
3413     +'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.',
3414     +'ACCOUNT_NAME_INVALID_CHARS' =>
3415     +'Le nom d\'utilisateur que vous avez tapé contient des caractères non valides.',
3416     +'PASSWORD_OLD_INVALID_CHARS' =>
3417     +'L\'ancien mot de passe que vous avez tapé contient des caractères non valides.',
3418     +'PASSWORD_INVALID_CHARS' =>
3419     +'Le mot de passe que vous avez tapé contient des caractères non valides.',
3420     +'PASSWORD_VERIFY_ERROR' =>
3421     +'Les mots de passe ne concordent pas.',
3422     +'ACCOUNT_USER_NONE' =>
3423     +'Aucun compte utilisateur n\'a été défini dans le système.',
3424     +'ACCOUNT_GROUP_NONE' =>
3425     +'Il n\'y a aucun groupe d\'utilisateurs défini dans le système.',
3426     +'ERROR_INVALID_CHARS' =>
3427     +'Caractères inattendus dans la description.',
3428     +'USER_NAME' =>
3429     +'Nom d\'utilisateur',
3430     +'YOUR_ACCOUNT' =>
3431     +'Votre compte utilisateur:',
3432     +'YOUR_ACCOUNT_INVALID' =>
3433     +'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.',
3434     +'PASSWORD_CHANGE_SUCCESS' =>
3435     +'Le mot de passe a été modifié avec succès.',
3436     +'FM_NONBLANK' =>
3437     +'Ce champ ne doit pas être vide.',
3438     +'FM_INTEGER' =>
3439     +'Ce champ doit contenir un entier positif.',
3440     +'FM_NUMBER' =>
3441     +'Ce champ doit contenir un nombre.',
3442     +'FM_WORD' =>
3443     +'Ce champ doit être composé d\'un seul mot.',
3444     +'FM_DATE' =>
3445     +'La valeur tapée ne correspond pas à une date.',
3446     +'FM_CREDIT_CARD_NUMBER1' =>
3447     +'Vous devez taper un numéro de carte de paiement.',
3448     +'FM_CREDIT_CARD_NUMBER2' =>
3449     +'Le numéro de carte de paiement ne doit contenir que des nombres, des espaces ou des tirets.',
3450     +'FM_CREDIT_CARD_NUMBER3' =>
3451     +'Il doit être composé d\'au moins 14 caractères.',
3452     +'FM_CREDIT_CARD_NUMBER4' =>
3453     +'Il ne semble pas correspondre à un numéro valide de carte de paiement.',
3454     +'FM_CREDIT_CARD_EXPIRY1' =>
3455     +'Aucune date d\'expiration n\'a été tapée.',
3456     +'FM_CREDIT_CARD_EXPIRY2' =>
3457     +'La date d\'expiration doit être tapée sous la forme MM/AA ou MM/AAAA.',
3458     +'FM_CREDIT_CARD_EXPIRY3' =>
3459     +'La date d\'expiration a déjà expirée.',
3460     +'FM_CREDIT_CARD_EXPIRY4' =>
3461     +'La date d\'expiration semble trop éloignée dans le futur.',
3462     +'FM_ISO_COUNTRY_CODE1' =>
3463     +'Vous devez taper un code de région.',
3464     +'FM_ISO_COUNTRY_CODE2' =>
3465     +'Ce champ ne contient pas de code ISO de région valide.',
3466     +'FM_US_STATE' =>
3467     +'Cette abréviation en deux lettres d\'état américain n\'est pas valide.',
3468     +'FM_US_ZIPCODE' =>
3469     +'Les codes postaux américains doivent contenir 5 ou 9 chiffres.',
3470     +'FM_MINLENGTH1' =>
3471     +'La longueur minimale a été définie arbitrairement à {$minlength} caractères.',
3472     +'FM_MINLENGTH2' =>
3473     +'Ce champ doit contenir au minimum {$minlength} caractères.',
3474     +'FM_MAXLENGTH1' =>
3475     +'La longueur maximale a été définie arbitrairement à {$maxlength} caractères.',
3476     +'FM_MAXLENGTH2' =>
3477     +'Ce champ doit ne doit pas dépasser {$maxlength} caractères.',
3478     +'FM_EXACTLENGTH1' =>
3479     +'Vous devez définir la longueur de ce champ.',
3480     +'FM_EXACTLENGTH2' =>
3481     +'Vous devez définir la longueur exacte de ce champ avec un entier.',
3482     +'FM_EXACTLENGTH3' =>
3483     +'Ce champ doit faire exactement {$exactlength} caractères.',
3484     +'FM_LENGTHRANGE1' =>
3485     +'Vous devez définir les longueurs maximale et minimale de ce champ.',
3486     +'FM_LENGTHRANGE2' =>
3487     +'Vous devez définir les longueurs maximale et minimale de ce champ avec des entiers.',
3488     +'FM_LENGTHRANGE3' =>
3489     +'La longueur de ce champ doit être comprise entre {$minlength} et {$maxlength} caractères.',
3490     +'FM_URL' =>
3491     +'Ce champ doit contenir une URL commençant par http:// ou ftp://',
3492     +'FM_EMAIL_SIMPLE1' =>
3493     +'Vous devez taper une adresse de courriel.',
3494     +'FM_EMAIL_SIMPLE2' =>
3495     +'Ce champ ne semble pas respecter le format RFC822 des adresses de courriel.',
3496     +'FM_DOMAIN_NAME' =>
3497     +'Ce champ ne semble pas contenir de nom de domaine Internet ou d\'hôte valide.',
3498     +'FM_IP_NUMBER1' =>
3499     +'Ce champ doit contenir une adresse IP valide et ne doit pas être vide.',
3500     +'FM_IP_NUMBER2' =>
3501     +'Format d\'adresse IP incorrect (X.X.X.X attendu)',
3502     +'FM_IP_NUMBER3' =>
3503     +'La valeur {$octet} dépasse 255.',
3504     +'FM_USERNAME' =>
3505     +'Ce champ doit contenir un nom d\'utilisateur valide (3 à 8 lettres et chiffres).',
3506     +'FM_PASSWORD1' =>
3507     +'Vous devez taper un mot de passe.',
3508     +'FM_PASSWORD2' =>
3509     +'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.',
3510     +'FM_MAC_ADDRESS1' =>
3511     +'Vous devez taper une adresse Ethernet.',
3512     +'FM_MAC_ADDRESS2' =>
3513     +'L\'adresse Ethernet que vous avez tapé n\'est pas valide.',
3514     +'FM_ERR_UNEXPECTED_DESC' =>
3515     +'ERREUR : caractères invalides ou manquants dans la description.',
3516     +
3517     +
3518     +initial_FORM_TITLE => 'Bienvenue dans le gestionnaire du serveur',
3519     +initial_FRAMES_BODY => '
3520     +<p>Bienvenue dans SME Server, la distribution Linux dédiée aux petites et moyennes entreprises. SME Server est mis à votre disposition par <A HREF="https://www.koozali.org/" TARGET="_blank">Koozali Foundation, Inc.</A>, organisation à but non lucratif dont l\'objectif est d\'assurer la promotion, le support et l\'existence légale de SME Server.</p> <p>SME Server est gratuitement exploitable, selon les termes de la Licence "GNU General Public License", et n\'existe que grâce aux efforts de la communauté formée autour de SME Server. Toutefois, la disponibilité et la qualité de SME Server dépendent de notre capacité à régler nos dépenses telles que les coûts liés à l\'hébergement, au serveur matériel, etc.</p> <p>De ce fait, nous demandons une petite contribution financière afin de couvrir nos dépenses et d\'assurer les développements à venir.<p> <p><b>Veuillez aller sur <A HREF="https://wiki.koozali.org/Donate" TARGET="_blank">https://wiki.koozali.org/Donate</A> pour effectuer votre donation.</b></p> <p>Ce système d\'exploitation ne dispose d\'AUCUNE GARANTIE. Veuillez <a href="/server-manager/support/" target="main">cliquer ici</a> pour afficher les informations détaillées concernant le support technique, la garantie et la licence d\'exploitation.</p> <p>Pour effectuer une tâche d\'administration du système, cliquez sur l\'un des liens dans le menu situé à la gauche de votre écran.</p>
3521     +',
3522     +support_FORM_TITLE => 'Informations sur le support technique, la garantie et la licence d\'exploitation',
3523     +
3524     +manual_FORM_TITLE => 'Documentation et manuel en ligne',
3525     +manual_DESCRIPTION => '
3526     +<ul> <li><a target="new" href="https://wiki.koozali.org/documentation/manual/">Manuel en ligne</a>
3527     +<li><a target="new" href="https://wiki.koozali.org/documentation/FAQ/">Questions fréquemment posées (FAQs)</a>
3528     +</ul>
3529     +<H2>Support technique et license d\'exploitation</H2>
3530     +Ce système d\'exploitation est soumis aux règles décrites dans la page consacrée au
3531     + <a href="/server-manager2/support">support technique et à la license d\'exploitation</a>.',
3532     +'Online manual' => 'Manuel en ligne',
3533     +
3534     +sws_FORM_TITLE => 'Création d\'un premier site Web',
3535     +'sws_FORM_TITLE' =>
3536     +'Création d\'un premier site Web',
3537     +'sws_SUCCESS' =>
3538     +'Création réussie de votre premier site Web (écriture du fichier index.htm). Vous pouvez voir ce nouveau site Web à l\'adresse suivante :',
3539     +'sws_DESCRIPTION' =>
3540     +' <p>Pour créer une page Web simple pour votre organisation, remplissez les champs ci-dessous et cliquez sur le bouton "Créer".</p> <p>Vous pouvez laisser n\'importe lequel de ces champs vide si vous n\'en avez pas l\'utilité.</p> <p>Le texte que vous taperez ci-dessous s\'affichera avec des retours à la ligne automatiques pour que la page Web soit conforme à ce que vous tapez. Laissez une ligne vide chaque fois que vous voulez commencer un nouveau paragraphe. Si vous avez besoin d\'imposer un retour à la ligne sans commencer un nouveau paragraphe (par exemple, après chaque ligne d\'une adresse), alors tapez la séquence de quatre caractères : <blockquote>&lt;BR&gt;</blockquote> où vous souhaitez avoir le saut de ligne.</p> <p><b>N\'utilisez pas cette fonctionnalité</b> si vous avez déjà personnalisé votre site Web, car elle écrasera le contenu du fichier "index.htm" de votre site primaire.</p> ',
3541     +'sws_LABEL_COMPANYNAME' =>
3542     +'Nom de votre organisation',
3543     +'sws_DESC_HEADER1' =>
3544     +'Le premier en-tête est généralement utilisé pour des phrases courtes comme "Leader dans le domaine de la fabrication textile" :',
3545     +'sws_DESC_TEXT1' =>
3546     +'Le texte qui suit le premier en-tête est généralement utilisé pour décrire votre organisation de façon détaillée :',
3547     +'sws_DESC_HEADER2' =>
3548     +'Le deuxième en-tête est généralement utilisé pour des phrases courtes comme "Pour de plus amples informations" ou "Pour commander nos produits" :',
3549     +'sws_DESC_TEXT2' =>
3550     +'Le texte qui suit le deuxième en-tête est généralement utilisé pour fournir les informations relatives au contact ou à la commande :',
3551     +'sws_DESC_SUBMIT' =>
3552     +' <p>Lorsque vous créerez cette page Web, le fichier "index.htm" sera écrasé dans le répertoire de votre site primaire.</p> <p><b>Voulez-vous continuer ?</b></p> ',
3553     +'sws_Create starter web site' =>
3554     +'Votre premier site Web',
3555     +
3556     +'bugr_FORM_TITLE' =>
3557     +'Rapporter un bogue',
3558     +'bugr_DO_NOT_PANIC' =>
3559     +'Ne paniquez pas !',
3560     +'bugr_SME_EXPERIENCE' =>
3561     +'Il n\'y a malheureusement aucun logiciel sans bogues, et vous en avez probablement rencontré un avec votre Serveur SME pour consulter cette page.',
3562     +'bugr_PLEASE_REPORT_HERE' =>
3563     +'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 à ',
3564     +'bugr_USE_TEMPLATE' =>
3565     +'Merci de vous référer à ce lien sur comment rapporter efficacement un bogue et utilisez le comme un gabarit ',
3566     +'bugr_FOLLOWING_REPORT_MIGHT_HELP' =>
3567     +'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.',
3568     +'bugr_REPORT_CONTENT' =>
3569     +'Le rapport contiendra les informations suivantes ',
3570     +'bugr_SME_VERSION' =>
3571     +'Version du Serveur Koozali SME',
3572     +'bugr_SERVER_MODE' =>
3573     +'Mode d’installation du serveur',
3574     +'bugr_KERNEL_AND_ARCH' =>
3575     +'Version chargée du kernel et architecture',
3576     +'bugr_INSTALLED_RPMS' =>
3577     +'Une liste des RPMs additionnels installés sur votre serveur',
3578     +'bugr_ALTERED_TEMPLATES' =>
3579     +'Une liste des gabarits SME qui ont été altérés sur votre serveur par rapport à une installation de base',
3580     +'bugr_ALTERED_EVENTS' =>
3581     +'Une liste des événements SME qui ont été altérés sur votre serveur par rapport à une installation de base',
3582     +'bugr_YUM_REPOS' =>
3583     +'Une liste des dépôts logiciels qui ont été configurés sur votre serveur',
3584     +'bugr_PRIVACY' =>
3585     +'Aucune donnée compromettant votre vie privée n\'est incluse (comme vos utilisateurs, mots de passe ou adresses IP). ',
3586     +'bugr_CREATE_REPORT' =>
3587     +'Créer un rapport de configuration',
3588     +'bugr_DONATING' =>
3589     +'Avez-vous considéré faire une donation ?',
3590     +'bugr_AWARE_SME' =>
3591     +'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.',
3592     +'bugr_YOUR_HELP' =>
3593     +'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!',
3594     +'bugr_CONSIDER_DONATING' =>
3595     +'Merci de faire un don pour le projet en cliquant sur l\'image ci-dessous :',
3596     +'bugr_THANK_YOU' =>
3597     +'Merci pour votre soutien !',
3598     +'bugr_Download this report' =>
3599     +'Télécharger ce rapport !',
3600     +'bugr_Report a bug' =>
3601     +'Rapporter un bogue',
3602     +
3603     +'rvw_FORM_TITLE' =>
3604     +'Vérification de la configuration',
3605     +'rvw_DESCRIPTION' =>
3606     +'Ce rapport établit une liste sommaire des paramètres de configuration du réseau, du serveur et des domaines pour ce serveur, pour tout ce qui a trait à la configuration des ordinateurs clients de votre réseau. Vous pouvez imprimer cette page et l\'utiliser comme document de référence.',
3607     +'rvw_NETWORKING_PARAMS' =>
3608     +'Paramètres réseau',
3609     +'rvw_SERVER_MODE' =>
3610     +'Mode de fonctionnement',
3611     +'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK' =>
3612     +'Adresse IP locale / masque de sous-réseau',
3613     +'rvw_EXTERNAL_IP_ADDRESS_SUBNET_MASK' =>
3614     +'Adresse IP externe / masque de sous-réseau',
3615     +'rvw_GATEWAY' =>
3616     +'Passerelle',
3617     +'rvw_ADDITIONAL_LOCAL_NETWORKS' =>
3618     +'Réseaux locaux supplémentaires',
3619     +'rvw_DHCP_SERVER' =>
3620     +'Serveur DHCP',
3621     +'rvw_BEGINNING_OF_DHCP_ADDRESS_RANGE' =>
3622     +'Début de la plage d\'allocation DHCP d\'adresses',
3623     +'rvw_END_OF_DHCP_ADDRESS_RANGE' =>
3624     +'Fin de la plage d\'allocation DHCP d\'adresses',
3625     +'rvw_SERVER_NAMES' =>
3626     +'Adresses du serveur',
3627     +'rvw_DNS_SERVER' =>
3628     +'Serveur DNS',
3629     +'rvw_WEB_SERVER' =>
3630     +'Serveur Web',
3631     +'rvw_PROXY_SERVER' =>
3632     +'Serveur proxy',
3633     +'rvw_FTP_SERVER' =>
3634     +'Serveur FTP',
3635     +'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' =>
3636     +'Serveurs de messagerie électronique SMTP, POP et IMAP',
3637     +'rvw_HOSTS' =>
3638     +'Hôtes',
3639     +'rvw_DOMAIN_INFORMATION' =>
3640     +'Informations sur les domaines',
3641     +'rvw_PRIMARY_DOMAIN' =>
3642     +'Domaine primaire',
3643     +'rvw_VIRTUAL_DOMAINS' =>
3644     +'Domaines virtuels',
3645     +'rvw_PRIMARY_WEB_SITE' =>
3646     +'Site Web primaire',
3647     +'rvw_SERVER_MANAGER' =>
3648     +'Gestionnaire du serveur',
3649     +'rvw_USER_PASSWORD_PANEL' =>
3650     +'Gestionnaire des mots de passe utilisateur',
3651     +'rvw_EMAIL_ADDRESSES' =>
3652     +'Adresses de courriel',
3653     +'rvw_EMAIL_USERACCOUNT' =>
3654     +'Compte utilisateur',
3655     +'rvw_EMAIL_FIRSTNAME' =>
3656     +'Prénom',
3657     +'rvw_EMAIL_LASTNAME' =>
3658     +'Nom',
3659     +'rvw_NO_VIRTUAL_DOMAINS' =>
3660     +'Aucun domaine virtuel défini',
3661     +'rvw_NO_NETWORKS' =>
3662     +'Aucun réseau supplémentaire défini',
3663     +'rvw_INTERNET_VISIBLE_ADDRESS' =>
3664     +'Adresse IP Internet visible',
3665     +
3666     +'dir_FORM_TITLE' =>
3667     +'Configuration des paramètres de l\'annuaire LDAP',
3668     +'dir_LABEL_ROOT' =>
3669     +'Racine du serveur',
3670     +'dir_DESCRIPTION' =>
3671     +'Le serveur LDAP fournit une liste des comptes utilisateur et des groupes de votre serveur. Ces informations sont disponibles sur le réseau et accessibles à l\'aide d\'un client LDAP tel que le Carnet d\'adresses de Netscape Communicator. Configurez votre client LDAP avec l\'adresse IP locale de votre serveur, le numéro de port 389 et le paramètre de racine du serveur indiqué ci-dessous :',
3672     +'dir_DESC_DIRECTORY_ACCESS' =>
3673     +'Vous pouvez contrôler l\'accès à votre annuaire LDAP : le paramètre "Privé" n\'autorise l\'accès qu\'à partir de votre réseau local et le paramètre "Public" permet l\'accès de n\'importe où sur Internet.',
3674     +'dir_DIRECTORY_ACCESS' =>
3675     +'Accès à l\'annuaire LDAP',
3676     +'dir_DESC_DEPARTMENT' =>
3677     +'Ces champs sont les valeurs LDAP par défaut pour votre organisation. Chaque fois que vous créez un nouveau compte utilisateur, vous avez la possibilité de taper une valeur dans chacun de ces champs (lesquels peuvent être différents selon les utilisateurs), mais les valeurs que vous définissez ici s\'afficheront en tant que valeurs par défaut. Ceci vous permet donc de créer plus rapidement des comptes utilisateur.',
3678     +'dir_DEPARTMENT' =>
3679     +'Service par défaut',
3680     +'dir_COMPANY' =>
3681     +'Société par défaut',
3682     +'dir_STREET' =>
3683     +'Adresse par défaut',
3684     +'dir_CITY' =>
3685     +'Ville par défaut',
3686     +'dir_PHONENUMBER' =>
3687     +'Numéro de téléphone par défaut',
3688     +'dir_DESC_EXISTING' =>
3689     +'Vous pouvez soit laisser tels quels les comptes utilisateur et n\'utiliser les valeurs par défaut ci-dessus que pour les nouveaux utilisateurs, soit appliquer les valeurs par défaut ci-dessus à tous les utilisateurs existants.',
3690     +'dir_EXISTING' =>
3691     +'Utilisateurs existants',
3692     +'dir_SUCCESS' =>
3693     +'Les nouveaux paramètres LDAP ont été enregistrés avec succès.',
3694     +'dir_LEAVE' =>
3695     +'Les laisser tels quels',
3696     +'dir_UPDATE' =>
3697     +'Les mettre à jour avec les nouvelles valeurs par défaut.',
3698     +'dir_Directory' =>
3699     +'Annuaire LDAP',
3700     +
3701     +'prx_TITLE' => 'Services Proxy',
3702     +'prx_FIRST_PAGE_DESCRIPTION' =>
3703     +'Cette page va vous permettre de définir le fonctionnement des services Proxy. Votre serveur intègre un Proxy transparent et un cache pour le trafic HTTP. Il est activé par défaut sauf dans le cas où le serveur est configuré en mode "Serveur uniquement". Si ce serveur est utilisé comme serveur de messagerie, les requêtes des hôtes du réseau local à destination des serveurs SMTP externes seront redirigées par défaut vers ce serveur.',
3704     +'prx_HTTP_PROXY_STATUS_DESCRIPTION' =>
3705     +'Le service Proxy HTTP permet de réduire votre consommation de bande passante en mettant en cache les pages récemment visitées. Il est transparent vis à vis des navigateurs qui utilisent ce serveur comme passerelle. Vous pouvez activer ou désactiver ce Proxy avec le commutateur suivant :',
3706     +'prx_HTTP_PROXY_STATUS_LABEL' => 'État du service Proxy HTTP',
3707     +'prx_SMTP_PROXY_STATUS_DESCRIPTION' =>
3708     +'Le service Proxy SMTP transparent permet de réduire le trafic lié aux virus à partir des hôtes infectés en forçant tout le trafic SMTP sortant à traverser ce serveur. Si vous souhaitez utiliser un autre serveur SMTP, et que ce serveur est votre passerelle vers celui-ci, désactivez ce Proxy. Régler ce proxy à "bloqué" empêche tout trafic vers d\'autres serveurs, c\'est le réglage par défaut. Le proxy intercepte/bloque seulement le trafic SMTP normal (port 25).',
3709     +'prx_SMTP_PROXY_STATUS_LABEL' => 'État du service Proxy SMTP',
3710     +'prx_ERR_PROXY_UPDATE_FAILED' => 'ERREUR : la mise à jour du service Proxy a retourné une erreur.',
3711     +'prx_ERR_NO_SQUID_REC' => 'ERREUR : le service squid n\'est pas défini dans la base de données de configuration.',
3712     +'prx_SUCCESS' => 'Les nouveaux paramètres du service Proxy ont été appliqués avec succès.',
3713     +'prx_BLOCKED' => 'Bloqué',
3714     +
3715     +'qma_FORM_TITLE' => 'Analyse des journaux de messagerie',
3716     +'qma_INITIAL_DESC' => ' <p>L\'analyse des fichiers du journal de messagerie peut vous aider à comprendre le fonctionnement de votre système et à diagnostiquer des problèmes liés à la messagerie. Plusieurs rapports différents sont disponibles.</p> <p>Veuillez noter que la génération de ces rapports peut prendre plusieurs minutes.</p> ',
3717     +'qma_REPORT_TYPE' => 'Type de rapport',
3718     +'qma_GENERATE_REPORT' => 'Générer le rapport',
3719     +'qma_LIST_OUTGOING' => 'Dresser la liste des courriels sortants et des destinataires',
3720     +'qma_SUMMARIZE_QUEUE' => 'Résumer l\'état de la file d\'attente des courriels',
3721     +'qma_SUCCESSFUL_DELIVERY_DELAY' => 'Envois réussis de courriels avec délais de diffusion',
3722     +'qma_REASONS_DEFERRAL' => 'Raisons du report',
3723     +'qma_REASONS_FAILURE' => 'Raisons de l\'échec',
3724     +'qma_BASIC_STATS' => 'Statistiques de base',
3725     +'qma_RECIP_STATS' => 'Statistiques relatives aux destinataires',
3726     +'qma_RECIP_HOSTS' => 'Hôtes de destination',
3727     +'qma_RECIP_ORDERED' => 'Destinataires triés pour les listes d\'envoi',
3728     +'qma_SENDER_STATS' => 'Statistiques relatives à l\'expéditeur',
3729     +'qma_SENDMAIL_STYLE' => 'Journal au format "sendmail"',
3730     +'qma_REASONS_SUCCESS' => 'Raisons du succès',
3731     +'qma_SENDER_UIDS' => 'UIDs des expéditeurs',
3732     +'qma_INVALID_REPORT_TYPE' => 'Type de rapport non valide :',
3733     +'qma_REPORT_GENERATED' => 'Rapport généré le',
3734     +'qma_END_OF_REPORT' => 'Fin du rapport.',
3735     +'qma_Mail log file analysis' => 'Journaux de messagerie',
3736     +
3737     +'clm_FORM_TITLE' => 'Configuration de l\'antivirus',
3738     +'clm_LABEL_FILESYSTEM_SCAN_PERIOD' => 'Vérifier l\'intégralité du système de fichier',
3739     +'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. ',
3740     +'clm_LABEL_QUARANTINE' => 'Mise en quarantaine des fichiers infectés',
3741     +'clm_LABEL_CLAM_VERSIONS' => 'Versions de ClamAV et de sa base de définitions virales',
3742     +'clm_WEEKLY' => 'Chaque semaine',
3743     +'clm_NEVER' => 'Jamais',
3744     +'clm_DAILY' => 'Chaque jour',
3745     +'clm_SUCCESS' => 'Les nouveaux paramètres de l\'antivirus ClamAV ont été sauvegardés.',
3746     +
3747     +'wkg_FORM_TITLE' => 'Configuration des paramètres du groupe de travail ou du domaine Windows',
3748     +'wkg_DESC_WORKGROUP' => ' Tapez le nom du <b>groupe de travail ou du domaine Windows</b> dans lequel ce serveur doit apparaître. ',
3749     +'wkg_LABEL_WORKGROUP' => 'Groupe de travail ou domaine Windows',
3750     +'wkg_DESC_SERVERNAME' => 'Tapez le nom que ce serveur doit utiliser pour le partage de fichiers Windows et Macintosh.',
3751     +'wkg_LABEL_SERVERNAME' => 'Nom du serveur',
3752     +'wkg_DESC_PDC' =>
3753     +' Ce serveur doit-il fonctionner comme contrôleur de domaine sur votre réseau Windows ? Vous devriez conserver la valeur "<b>Non</b>" si un autre serveur a déjà ce rôle sur votre réseau. ',
3754     +'wkg_LABEL_PDC' => 'Contrôleur du domaine Windows',
3755     +'wkg_DESC_ROAM' => ' Ce serveur doit-il prendre en charge les profils d\'utilisateurs itinérants ? Vous devriez conserver la valeur par défaut "<b>Non</b>", à moins que vous ne sachiez comment administrer les profils d\'utilisateurs itinérants sur un serveur Windows et si vous avez un besoin avéré de cette fonctionnalité. ',
3756     +'wkg_LABEL_ROAM' => 'Profils d\'utilisateurs itinérants',
3757     +'wkg_SUCCESS' => 'Les nouveaux paramètres de groupe de travail ont été enregistrés.',
3758     +'wkg_INVALID_WORKGROUP' => 'Le nom du groupe de travail doit commencer par une lettre (majuscule ou minuscule), suivie d\'une combinaison de lettres, de chiffres, de traits de soulignement, de points et de traits d\'union.',
3759     +'wkg_INVALID_SERVERNAME' => 'Le nom du serveur doit commencer par une lettre (majuscule ou minuscule), suivie d\'une combinaison de lettres, de chiffres, de traits de soulignement et de traits d\'union.',
3760     +'wkg_INVALID_WORKGROUP_MATCHES_SERVERNAME' => 'En minuscules, le nom du serveur correspond à celui du groupe de travail. Ces valeurs doivent être différentes pour pouvoir activer le partage de fichiers.',
3761     +'wkg_Workgroup' => 'Groupe de travail',
3762     +
3763     +'dat_FORM_TITLE' => 'Configuration de la date et de l\'heure',
3764     +'dat_INITIAL_DESC' => 'Vous pouvez configurer sur cette page la date et l\'heure de ce serveur. Vous avez la possibilité d\'utiliser un serveur de temps (protocole NTP ou Network Time Protocol) existant ou de régler manuellement la date et l\'heure en fonction de votre fuseau horaire.',
3765     +'dat_SET_DATE_TITLE' => 'Régler la date et l\'heure',
3766     +'dat_COULD_NOT_OPEN_TZ_FILE' => 'ERREUR : Impossible d\'ouvrir en lecture le fichier de fuseau horaire :',
3767     +'dat_JANUARY' => 'Janvier',
3768     +'dat_FEBRUARY' => 'Février',
3769     +'dat_MARCH' => 'Mars',
3770     +'dat_APRIL' => 'Avril',
3771     +'dat_MAY' => 'Mai',
3772     +'dat_JUNE' => 'Juin',
3773     +'dat_JULY' => 'Juillet',
3774     +'dat_AUGUST' => 'Août',
3775     +'dat_SEPTEMBER' => 'Septembre',
3776     +'dat_OCTOBER' => 'Octobre',
3777     +'dat_NOVEMBER' => 'Novembre',
3778     +'dat_DECEMBER' => 'Décembre',
3779     +'dat_NEW_M/D/Y' => 'Nouvelle date (mois/jour/an)',
3780     +'dat_NEW_H/M/S' => 'Nouvelle heure (heure/min/sec)',
3781     +'dat_AM/PM_AND_TZ' => 'AM/PM et fuseau horaire',
3782     +'dat_NTP_ENABLE_DESC' => 'Le serveur peut synchroniser périodiquement l\'horloge système avec un serveur de temps (protocole NTP ou Network Time Protocol). Si vous sélectionnez cette option, veuillez taper ci-dessous le nom d\'hôte ou l\'adresse IP du serveur NTP.',
3783     +'dat_NTP_CONFIGURE_DESC' => 'Le serveur synchronise périodiquement l\'horloge système avec le serveur de temps (protocole NTP ou Network Time Protocol) indiqué ci-dessous. Pour synchroniser l\'heure avec un serveur NTP différent, veuillez taper un autre nom d\'hôte ou une autre adresse IP dans le champ ci-dessous.',
3784     +'dat_NTP_DISABLE_DESC' => 'Sélectionnez cette option pour cesser de synchroniser l\'horloge système avec le serveur NTP. Lorsque le service NTP est désactivé, vous pouvez régler manuellement l\'heure et la date du système à partir de cette page.',
3785     +'dat_NTP_SERVER' => 'Serveur NTP',
3786     +'dat_VERIFY_DATE_AND_TIME' => 'Vérifier la date et l\'heure',
3787     +'dat_NEW_DATE_AND_TIME' => 'Nouveau réglage de la date et de l\'heure :',
3788     +'dat_SETTING_DATE_AND_TIME' => 'Réglage de la date et de l\'heure',
3789     +'dat_INVALID_DAY' => 'ERREUR : jour du mois non valide :',
3790     +'dat_BETWEEN_1_AND_31' => 'Choisissez un jour entre 1 et 31.',
3791     +'dat_INVALID_YEAR' => 'ERREUR : année non valide :',
3792     +'dat_FOUR_DIGIT_YEAR' => 'Choisissez une année sur 4 chiffres entre 1900 et 2200.',
3793     +'dat_INVALID_HOUR' => 'ERREUR : heure non valide :',
3794     +'dat_BETWEEN_1_AND_12' => 'Choisissez une heure entre 1 et 12.',
3795     +'dat_INVALID_MINUTE' => 'ERREUR : minute non valide :',
3796     +'dat_BETWEEN_0_AND_59' => 'Choisissez une minute entre 0 et 59.',
3797     +'dat_INVALID_SECOND' => 'ERREUR : seconde non valide.',
3798     +'dat_UPDATING_CLOCK' => ' L\'horloge système est en train d\'être mise à jour. Attendez quelques secondes, puis cliquez <a href="datetime?page=1&wherenext=Verify" target="main">ici</a> pour vérifier les changements. ',
3799     +'dat_ERR_SETTING_CLOCK' => 'Une erreur s\'est produite pendant la mise à jour de l\'heure système et de l\'horloge matérielle.',
3800     +'dat_SERVER_DISABLED' => 'Serveur de temps désactivé avec succès.',
3801     +'dat_SERVER_DISABLED_DESC' => ' Vous avez désactivé ce service. Le serveur se fiera à son horloge interne et <b>n\'essaiera pas</b> de se synchroniser à un serveur de temps. ',
3802     +'dat_ERR_CHANGING_TS' => 'Une erreur s\'est produite pendant la modification du serveur de temps.',
3803     +'dat_INVALID_NTP_ADDR' => 'ERREUR : adresse du serveur de temps non valide :',
3804     +'dat_SETTINGS_CHANGED' => 'Modification du serveur de temps effectuée avec succès.',
3805     +'dat_SYNC_WITH' => 'Ce serveur est maintenant configuré pour se synchroniser périodiquement avec :',
3806     +'dat_INVALID_NTP_SERVER' => ' Serveur de temps non valide. Le serveur <b>n\'essaiera pas</b> de synchroniser son horloge à partir d\'un serveur de temps. ',
3807     +'dat_NETWORK_TIME_SERVER' => 'Serveur de temps',
3808     +'dat_NTP_CONFIGURE_TITLE' => 'Configurer le serveur de temps',
3809     +'dat_NTP_ENABLE_TITLE' => 'Activer un serveur de temps',
3810     +'dat_NTP_DISABLE_TITLE' => 'Désactiver le serveur de temps',
3811     +'dat_CURRENT_SETTING' => 'Réglage actuel',
3812     +'dat_Date and time' => 'Date et heure',
3813     +
3814     +'wbl_SAVE' => 'Sauvegarder',
3815     +'wbl_PERFORM' => 'Exécuter',
3816     +'wbl_FORM_TITLE' => 'WBL courriel',
3817     +'wbl_OPERATION_STATUS_REPORT' => 'Rapport d\'état de l\'opération',
3818     +'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.',
3819     +'wbl_RBL_LIST_DESCRIPTION' => 'La liste RBL est utilisée pour ajuster DNSBL et RHSBL.',
3820     +'wbl_RBL_LIST' => 'Liste RBL',
3821     +'wbl_BLACK_LIST_DESCRIPTION' => 'Les listes noires sont utilisées pour refuser le trafic de courriels.',
3822     +'wbl_BLACK_LIST' => 'Liste noire',
3823     +'wbl_WHITE_LIST_DESCRIPTION' => 'Les listes blanches sont utilisées pour accepter le trafic de courriels.',
3824     +'wbl_WHITE_LIST' => 'Liste blanche',
3825     +'wbl_BLACK_TITLE' => 'Ce serveur inclus un support intégré permettant à l\'administrateur de définir des listes noires, badhelo et badmailfrom.',
3826     +'wbl_DNSBL_DESCRIPTION' => 'DNSBL est une abréviation Anglaise pour "Liste noire DNS".',
3827     +'wbl_DNSBL_LABEL' => 'Statut DNSBL',
3828     +'wbl_RHSBL_DESCRIPTION' => 'RHSBL est une abréviation pour "Right Hand Side Blacklist".',
3829     +'wbl_RHSBL_LABEL' => 'Rapport d\'état de RHSBL',
3830     +'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\'.',
3831     +'wbl_BADHELO_LABEL' => 'qpsmtpd badhelo',
3832     +'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\'',
3833     +'wbl_BADMAILFROM_LABEL' => 'qmail \'badmailfrom\'',
3834     +'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',
3835     +'wbl_RRFH_LABEL' => 'État des listes blanches',
3836     +'wbl_WHITELISTHOSTS_DESCRIPTION' => 'Toute IP présente dans whitelisthosts sera exemptée de toutes validations supplémentaires pendant la phase \'connexion\'',
3837     +'wbl_WHITELISTHOSTS_LABEL' => 'Qpsmtpd whitelisthosts',
3838     +'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\'',
3839     +'wbl_WHITELISTHELO_LABEL' => 'qpsmtpd whitelisthelo',
3840     +'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\'.',
3841     +'wbl_WHITELISTSENDERS_LABEL' => 'qpsmtpd whitelistsenders',
3842     +'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.',
3843     +'wbl_WHITELISTFROM_LABEL' => 'spamassassin whitelist_from',
3844     +'wbl_BLACKLISTFROM_LABEL' => 'spamassassin blacklist_from',
3845     +'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.',
3846     +'wbl_SBLLIST_LABEL' => 'RHSBL (qpsmtpd SBLList)',
3847     +'wbl_SBLLIST_DESCRIPTION' => 'Liste de blocage RHS - (Right Hand Side) des expéditeurs hôte / domaine sera vérifié contre les serveurs suivants',
3848     +'wbl_RBLLIST_LABEL' => 'DNSBL Zones (qpsmtpd RBLList)',
3849     +'wbl_RBLLIST_DESCRIPTION' => 'Liste de bloquage DNS -L\'adresse IP des expéditeurs sera vérifiée à partir des serveurs suivants.',
3850     + '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.',
3851     +
3852     +'prt_FORM_TITLE' => 'Gestion des imprimantes',
3853     +'prt_INITIAL_BTN' => 'Ajouter une imprimante',
3854     +'prt_INITIAL_DESC' => ' <p><a class="button-like" HREF="printers?page=0&Next=Add">Ajouter une imprimante</a></p> ',
3855     +'prt_NO_PRINTERS' => 'Aucune imprimante n\'a été définie dans le système.',
3856     +'prt_CURRENT_LIST' => 'Liste actuelle des imprimantes',
3857     +'prt_REMOTE_ADDRESS' => 'Adresse distante',
3858     +'prt_REMOTE_NAME' => 'Nom distant',
3859     +'prt_CREATE_NEW_PRINTER' => 'Créer une nouvelle imprimante',
3860     +'prt_CREATE_NEW_DESC' => 'Veuillez choisir un nom unique pour l\'imprimante et taper une brève description. Le nom de l\'imprimante doit commencer par une lettre minuscule et ne contenir que des lettres minuscules et des chiffres. Par exemple, "hplaser", "epsonlp" et "canonbj" sont des noms valides, mais pas "HP LaserJet", "Canon BubbleJet" ni "HP JetDirect Printer".',
3861     +'prt_PRINTER_NAME' => 'Nom de l\'imprimante',
3862     +'prt_LOCAL_PRINTER_0' => 'Imprimante locale, port 0 (LPT1)',
3863     +'prt_LOCAL_PRINTER_1' => 'Imprimante locale, port 1 (LPT2)',
3864     +'prt_LOCAL_PRINTER_2' => 'Imprimante locale, port 2 (LPT3)',
3865     +'prt_NET_PRINTER' => 'Imprimante réseau...',
3866     +'prt_FIRST_USB_PRINTER' => 'Première imprimante raccordée à un port USB',
3867     +'prt_SECOND_USB_PRINTER' => 'Seconde imprimante raccordée à un port USB',
3868     +'prt_ERR_UNEXPECTED_NAME' => ' <p>ERREUR : caractères inattendus dans le nom de l\'imprimante.</p> <p>Le nom de l\'imprimante doit commencer par une lettre minuscule et ne contenir que des lettres minuscules et des chiffres. Par exemple, "hplaser", "epsonlp" et "canonbj" sont des noms valides.</p> ',
3869     +'prt_ERR_UNEXPECTED_DESC' => 'ERREUR : caractères inattendus ou manquants dans la description. L\'imprimante n\'a pas été créée.',
3870     +'prt_ERR_EXISTS' => 'ERREUR : un compte existe déjà sous ce nom avec le type',
3871     +'prt_ERR_INVALID_ADDRESS' => 'ERREUR : l\'adresse réseau n\'est pas valide. L\'imprimante n\'a pas été créée.',
3872     +'prt_ERR_INVALID_REMOTE_NAME' => 'ERREUR : le nom de l\'imprimante réseau n\'est pas valide. L\'imprimante n\'a pas été créée.',
3873     +'prt_ERR_CREATING' => 'Une erreur est survenue lors de la création de l\'imprimante.',
3874     +'prt_CREATED_SUCCESSFULLY' => 'L\'imprimante a été créée avec succès.',
3875     +'prt_CREATE_NETWORK_PRINTER' => 'Créer une nouvelle imprimante réseau',
3876     +'prt_ERR_OPENING_DB' => 'Une erreur est survenue lors de l\'ouverture de la base de données de comptes.',
3877     +'prt_CREATE_NETWORK_DESC' => 'Veuillez taper l\'adresse et le nom de l\'imprimante réseau :',
3878     +'prt_HOSTNAME_OR_IP' => 'Nom d\'hôte ou adresse IP de l\'imprimante réseau',
3879     +'prt_REMOTE_NAME_DESC' => ' Nom de l\'imprimante réseau (tapez "raw" en cas d\'incertitude) ',
3880     +'prt_REMOVE_PRINTER' => 'Supprimer l\'imprimante',
3881     +'prt_ABOUT_TO_REMOVE' => 'Vous êtes sur le point de supprimer l\'imprimante',
3882     +'prt_SPOOL_FILE_WARNING' => 'La file d\'impression de cette imprimante va être supprimée.',
3883     +'prt_ARE_YOU_SURE' => 'Voulez-vous vraiment supprimer cette imprimante ?',
3884     +'prt_ERR_INTERNAL_FAILURE' => 'ERREUR : une erreur s\'est produite lors de la suppression de l\'imprimante.',
3885     +'prt_ERR_DELETING' => 'Erreur pendant la suppression de l\'imprimante.',
3886     +'prt_DELETED_SUCCESSFULLY' => 'Imprimante supprimée avec succès.',
3887     +'prt_MUST_BE_VALID_HOSTNAME_OR_IP' => 'La valeur doit être un nom d\'hôte ou une adresse IP valide',
3888     +'prt_Printers' => 'Imprimantes',
3889     +
3890     +'quo_FORM_TITLE' => 'Gestion des quotas pour les comptes utilisateur',
3891     +'quo_UNABLE_TO_OPEN_ACCOUNTS' => 'Impossible d\'ouvrir la base de données des comptes.',
3892     +'quo_QUOTA_DESC' => ' <p>Vous pouvez définir des quotas d\'espace disque sur le système de fichiers pour les utilisateurs de votre système en cliquant sur le bouton "Modifier", à côté de l\'utilisateur à mettre à jour.</p> <p>Si l\'utilisateur dépasse la "limite avec période de grâce", des avertissements lui seront envoyés. Si cette limite est dépassée pendant plus d\'une semaine ou si la "limite absolue" est atteinte, l\'utilisateur ne pourra plus stocker d\'autres fichiers ni recevoir d\'autres courriels.</p> <p>La valeur "0" pour l\'une ou l\'autre des limites désactive cette limite pour l\'utilisateur correspondant.</p> <p>L\'espace disque utilisé par l\'utilisateur comprend son répertoire personnel, ses courriels, ainsi que tous les fichiers dont il est propriétaire dans les différentes i-bays.</p> ',
3893     +'quo_CURRENT_USAGE_AND_SETTINGS' => 'Utilisation et paramètres actuels des quotas',
3894     +'quo_LIMIT_WITH_GRACE' => 'Limite avec période de grâce',
3895     +'quo_LIMIT_WITH_GRACE_MB' => 'Limite avec période de grâce (Mo)',
3896     +'quo_ABS_LIMIT' => 'Limite absolue',
3897     +'quo_ABS_LIMIT_MB' => 'Limite absolue (Mo)',
3898     +'quo_CURRENT_USAGE' => 'Utilisation actuelle (Mo)',
3899     +'quo_COULD_NOT_GET_UID' => 'Impossible de déterminer l\'UID de l\'utilisateur',
3900     +'quo_ERR_NO_SUCH_ACCT' => 'ERREUR : il n\'existe pas de compte avec le nom',
3901     +'quo_ERR_NOT_A_USER_ACCT' => 'ERREUR : ce n\'est pas un compte utilisateur',
3902     +'quo_ACCOUNT_IS_TYPE' => 'C\'est un compte de type',
3903     +'quo_MODIFY_USER_TITLE' => 'Modifier les limites de quotas utilisateur',
3904     +'quo_USER' => 'L\'utilisateur',
3905     +'quo_CURRENTLY_HAS' => 'utilise actuellement',
3906     +'quo_FILES' => 'fichiers',
3907     +'quo_OCCUPYING' => 'qui occupent',
3908     +'quo_MEGABYTES' => 'Megaoctets.',
3909     +'quo_INSTRUCTIONS' => 'Tapez le quota sous la forme d\'un entier auquel vous pouvez ajouter le suffixe unitaire "K" pour kilooctet, "M" pour mégaoctet, "G" pour gigaoctet ou "T" pour teraboctet . Si aucun suffixe n\'est entré, l\'unité par défaut sera le mégaoctet. Si l\'une des limites est définie à "0", cette limite sera désactivée pour l\'utilisateur correspondant.',
3910     +'quo_SOFT_VAL_MUST_BE_NUMBER' => 'ERREUR : la limite avec période de grâce doit être un entier, suivi éventuellement par l\'un des suffixes unitaire K, M , G ou T.',
3911     +'quo_HARD_VAL_MUST_BE_NUMBER' => 'ERREUR : la limite absolue doit être un entier, suivi éventuellement par l\'un des suffixes unitaire K, M , G ou T.',
3912     +'quo_ERR_HARD_LT_SOFT' => 'ERREUR : la limite absolue doit être supérieure ou égale à la limite avec période de grâce.',
3913     +'quo_ERR_MODIFYING' => 'Une erreur s\'est produite lors de la modification de l\'utilisateur.',
3914     +'quo_SUCCESSFULLY_MODIFIED' => 'Modification réussie du quota pour compte utilisateur',
3915     +'quo_Quotas' => 'Quotas',
3916     +
3917     +);
3918     +
3919     +
3920     +1;
3921     \ Pas de fin de ligne à la fin du fichier
3922     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Wbl/fr.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Wbl/fr.pm
3923     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Wbl/fr.pm 1970-01-01 04:00:00.000000000 +0400
3924     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Wbl/fr.pm 2019-07-31 00:42:58.000000000 +0400
3925     @@ -0,0 +1,49 @@
3926     +package SrvMngr::I18N::Wbl::fr;
3927     +
3928     +use utf8;
3929     +use Mojo::Base 'SrvMngr::I18N';
3930     +
3931     +my %general = ();
3932     +my %wbl = (
3933     +'wbl_SAVE' => 'Sauvegarder',
3934     +'wbl_PERFORM' => 'Exécuter',
3935     +'wbl_FORM_TITLE' => 'WBL courriel',
3936     +'wbl_OPERATION_STATUS_REPORT' => 'Rapport d\'état de l\'opération',
3937     +'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.',
3938     +'wbl_RBL_LIST_DESCRIPTION' => 'La liste RBL est utilisée pour ajuster DNSBL et RHSBL.',
3939     +'wbl_RBL_LIST' => 'Liste RBL',
3940     +'wbl_BLACK_LIST_DESCRIPTION' => 'Les listes noires sont utilisées pour refuser le trafic de courriels.',
3941     +'wbl_BLACK_LIST' => 'Liste noire',
3942     +'wbl_WHITE_LIST_DESCRIPTION' => 'Les listes blanches sont utilisées pour accepter le trafic de courriels.',
3943     +'wbl_WHITE_LIST' => 'Liste blanche',
3944     +'wbl_BLACK_TITLE' => 'Ce serveur inclus un support intégré permettant à l\'administrateur de définir des listes noires, badhelo et badmailfrom.',
3945     +'wbl_DNSBL_DESCRIPTION' => 'DNSBL est une abréviation Anglaise pour "Liste noire DNS".',
3946     +'wbl_DNSBL_LABEL' => 'Statut DNSBL',
3947     +'wbl_RHSBL_DESCRIPTION' => 'RHSBL est une abréviation pour "Right Hand Side Blacklist".',
3948     +'wbl_RHSBL_LABEL' => 'Rapport d\'état de RHSBL',
3949     +'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\'.',
3950     +'wbl_BADHELO_LABEL' => 'qpsmtpd badhelo',
3951     +'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\'',
3952     +'wbl_BADMAILFROM_LABEL' => 'qmail \'badmailfrom\'',
3953     +'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',
3954     +'wbl_RRFH_LABEL' => 'État des listes blanches',
3955     +'wbl_WHITELISTHOSTS_DESCRIPTION' => 'Toute IP présente dans whitelisthosts sera exemptée de toutes validations supplémentaires pendant la phase \'connexion\'',
3956     +'wbl_WHITELISTHOSTS_LABEL' => 'Qpsmtpd whitelisthosts',
3957     +'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\'',
3958     +'wbl_WHITELISTHELO_LABEL' => 'qpsmtpd whitelisthelo',
3959     +'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\'.',
3960     +'wbl_WHITELISTSENDERS_LABEL' => 'qpsmtpd whitelistsenders',
3961     +'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.',
3962     +'wbl_WHITELISTFROM_LABEL' => 'spamassassin whitelist_from',
3963     +'wbl_BLACKLISTFROM_LABEL' => 'spamassassin blacklist_from',
3964     +'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.',
3965     +'wbl_SBLLIST_LABEL' => 'RHSBL (qpsmtpd SBLList)',
3966     +'wbl_SBLLIST_DESCRIPTION' => 'Liste de blocage RHS - (Right Hand Side) des expéditeurs hôte / domaine sera vérifié contre les serveurs suivants',
3967     +'wbl_RBLLIST_LABEL' => 'DNSBL Zones (qpsmtpd RBLList)',
3968     +'wbl_RBLLIST_DESCRIPTION' => 'Liste de bloquage DNS -L\'adresse IP des expéditeurs sera vérifiée à partir des serveurs suivants.',
3969     + '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.',
3970     +);
3971     +
3972     +our %Lexicon = ( %general, %wbl);
3973     +
3974     +1;
3975     \ Pas de fin de ligne à la fin du fichier
3976     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Wbl/general.fr smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Wbl/general.fr
3977     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Wbl/general.fr 1970-01-01 04:00:00.000000000 +0400
3978     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/Wbl/general.fr 2019-07-31 00:37:23.000000000 +0400
3979     @@ -0,0 +1,268 @@
3980     +our %Lexicon = (
3981     +_AUTO => 1,
3982     +
3983     +YES => 'Oui',
3984     +NO => 'Non',
3985     +edit => 'Modifier',
3986     +del => 'Effacer',
3987     +exit => 'Quitter',
3988     +cancel => 'Annuler',
3989     +hello => 'salut',
3990     +'All rights reserved' => 'Tous droits réservés',
3991     +
3992     +'Collaboration' =>
3993     +'Collaboration',
3994     +'Administration' =>
3995     +'Administration',
3996     +'Security' =>
3997     +'Sécurité',
3998     +'Configuration' =>
3999     +'Configuration',
4000     +'Miscellaneous' =>
4001     +'Divers',
4002     +'Your Settings' =>
4003     +'Vos paramètres',
4004     +'SAVE' =>
4005     +'Enregistrer',
4006     +'CANCEL' =>
4007     +'Annuler',
4008     +'ENABLED' =>
4009     +'Activé',
4010     +'DISABLED' =>
4011     +'Désactivé',
4012     +'NO' =>
4013     +'Non',
4014     +'YES' =>
4015     +'Oui',
4016     +'ADD' =>
4017     +'Ajouter',
4018     +'CREATE' =>
4019     +'Créer',
4020     +'MODIFY' =>
4021     +'Modifier',
4022     +'REMOVE' =>
4023     +'Supprimer',
4024     +'COMMENT' =>
4025     +'Commentaire',
4026     +'NEXT' =>
4027     +'Suivant',
4028     +'SELF' =>
4029     +'Ce serveur',
4030     +'REMOTE' =>
4031     +'Distant',
4032     +'LOCAL' =>
4033     +'Local',
4034     +'ACTION' =>
4035     +'Action',
4036     +'NETWORK' =>
4037     +'Réseau',
4038     +'ROUTER' =>
4039     +'Routeur',
4040     +'OPERATION_STATUS_REPORT' =>
4041     +'Rapport d\'état de l\'opération',
4042     +'ACCOUNT' =>
4043     +'Compte',
4044     +'GROUP' =>
4045     +'Groupe',
4046     +'DESC_SECTIONBAR' =>
4047     +' <hr class="sectionbar"/> ',
4048     +'NO_PIPES_ALLOWED' =>
4049     +'La barre verticale "|" (pipe) n\'est pas autorisée dans ce champ.',
4050     +'ERROR_BELOW' =>
4051     +'ERREUR : Une erreur s\'est produite lors de la validation de cette page. Vous trouverez ci-dessous les raisons de ce problème :',
4052     +'ACCESS' =>
4053     +'Accès',
4054     +'ACCOUNT_LOCKED' =>
4055     +'Le compte est verrouillé',
4056     +'GROUP_ADD' =>
4057     +'Ajouter un groupe',
4058     +'NETWORKS_ALLOW_LOCAL' =>
4059     +'N\'autoriser l\'accès que depuis les réseaux locaux',
4060     +'NETWORKS_ALLOW_PUBLIC' =>
4061     +'Autoriser l\'accès complet (LAN et Internet)',
4062     +'ERROR_PASSWORD_CHANGE' =>
4063     +'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é.',
4064     +'BACK' =>
4065     +'Retour',
4066     +'BACKUP' =>
4067     +'Sauvegarde',
4068     +'DESCRIPTION_BRIEF' =>
4069     +'Brève description',
4070     +'PASSWORD_CHANGE' =>
4071     +'Changer le mot de passe',
4072     +'RESET_PASSWORD_TITLE' =>
4073     +'Réinitialiser le mot de passe de l\'utilisateur',
4074     +'ACCOUNT_PASSWORD_CHANGE' =>
4075     +'Changer le mot de passe du compte',
4076     +'CONTENT' =>
4077     +'Contenu',
4078     +'CREATE_GROUP' =>
4079     +'Créer un groupe d\'utilisateurs',
4080     +'USER_LIST_CURRENT' =>
4081     +'Liste des utilisateurs',
4082     +'DESCRIPTION' =>
4083     +'Description',
4084     +'DESTINATION' =>
4085     +'Destination',
4086     +'DOMAIN_NAME' =>
4087     +'Nom de Domaine',
4088     +'DOMAIN' =>
4089     +'Domaine',
4090     +'DOMAINS' =>
4091     +'Domaines',
4092     +'DOWNLOAD' =>
4093     +'Télécharger',
4094     +'ERROR_UPDATING_CONFIGURATION' =>
4095     +'Une erreur s\'est produite pendant la mise à jour de la configuration du serveur.',
4096     +'GROUP_MEMBERS' =>
4097     +'Membres du groupe',
4098     +'GROUP_NAME' =>
4099     +'Nom du groupe',
4100     +'GROUPS' =>
4101     +'Groupes',
4102     +'IP_ADDRESS' =>
4103     +'Adresse IP',
4104     +'IP_ADDRESS_OR_FQDN' =>
4105     +'Adresse IP ou FQDN',
4106     +'USER_INVALID' =>
4107     +'Utilisateur non autorisé',
4108     +'LOCATION' =>
4109     +'Emplacement',
4110     +'MB' =>
4111     +'Mo',
4112     +'MODIFY_USER_GROUP' =>
4113     +'Modifier le groupe d\'utilisateurs',
4114     +'NAME' =>
4115     +'Nom',
4116     +'PASSWORD_VERIFY_NEW' =>
4117     +'Nouveau mot de passe (vérification)',
4118     +'PASSWORD_NEW' =>
4119     +'Nouveau mot de passe',
4120     +'OFF' =>
4121     +'Désactivé',
4122     +'OK' =>
4123     +'Ok',
4124     +'PASSWORD_OLD' =>
4125     +'Ancien mot de passe',
4126     +'ON' =>
4127     +'Activé',
4128     +'PASSWORD' =>
4129     +'Mot de passe',
4130     +'PERFORM' =>
4131     +'Exécuter',
4132     +'RECONFIGURE' =>
4133     +'Reconfigurer',
4134     +'REMOVE_USER_GROUP' =>
4135     +'Supprimer le groupe d\'utilisateurs',
4136     +'PASSWORD_RESET' =>
4137     +'Réinitialiser le mot de passe',
4138     +'RESTORE' =>
4139     +'Restaurer',
4140     +'SHUTDOWN' =>
4141     +'Arrêter',
4142     +'SUCCESS' =>
4143     +'Opération réussie',
4144     +'ACCOUNT_NAME_INVALID' =>
4145     +'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.',
4146     +'ACCOUNT_NAME_INVALID_CHARS' =>
4147     +'Le nom d\'utilisateur que vous avez tapé contient des caractères non valides.',
4148     +'PASSWORD_OLD_INVALID_CHARS' =>
4149     +'L\'ancien mot de passe que vous avez tapé contient des caractères non valides.',
4150     +'PASSWORD_INVALID_CHARS' =>
4151     +'Le mot de passe que vous avez tapé contient des caractères non valides.',
4152     +'PASSWORD_VERIFY_ERROR' =>
4153     +'Les mots de passe ne concordent pas.',
4154     +'ACCOUNT_USER_NONE' =>
4155     +'Aucun compte utilisateur n\'a été défini dans le système.',
4156     +'ACCOUNT_GROUP_NONE' =>
4157     +'Il n\'y a aucun groupe d\'utilisateurs défini dans le système.',
4158     +'ERROR_INVALID_CHARS' =>
4159     +'Caractères inattendus dans la description.',
4160     +'USER_NAME' =>
4161     +'Nom d\'utilisateur',
4162     +'YOUR_ACCOUNT' =>
4163     +'Votre compte utilisateur:',
4164     +'YOUR_ACCOUNT_INVALID' =>
4165     +'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.',
4166     +'PASSWORD_CHANGE_SUCCESS' =>
4167     +'Le mot de passe a été modifié avec succès.',
4168     +'FM_NONBLANK' =>
4169     +'Ce champ ne doit pas être vide.',
4170     +'FM_INTEGER' =>
4171     +'Ce champ doit contenir un entier positif.',
4172     +'FM_NUMBER' =>
4173     +'Ce champ doit contenir un nombre.',
4174     +'FM_WORD' =>
4175     +'Ce champ doit être composé d\'un seul mot.',
4176     +'FM_DATE' =>
4177     +'La valeur tapée ne correspond pas à une date.',
4178     +'FM_CREDIT_CARD_NUMBER1' =>
4179     +'Vous devez taper un numéro de carte de paiement.',
4180     +'FM_CREDIT_CARD_NUMBER2' =>
4181     +'Le numéro de carte de paiement ne doit contenir que des nombres, des espaces ou des tirets.',
4182     +'FM_CREDIT_CARD_NUMBER3' =>
4183     +'Il doit être composé d\'au moins 14 caractères.',
4184     +'FM_CREDIT_CARD_NUMBER4' =>
4185     +'Il ne semble pas correspondre à un numéro valide de carte de paiement.',
4186     +'FM_CREDIT_CARD_EXPIRY1' =>
4187     +'Aucune date d\'expiration n\'a été tapée.',
4188     +'FM_CREDIT_CARD_EXPIRY2' =>
4189     +'La date d\'expiration doit être tapée sous la forme MM/AA ou MM/AAAA.',
4190     +'FM_CREDIT_CARD_EXPIRY3' =>
4191     +'La date d\'expiration a déjà expirée.',
4192     +'FM_CREDIT_CARD_EXPIRY4' =>
4193     +'La date d\'expiration semble trop éloignée dans le futur.',
4194     +'FM_ISO_COUNTRY_CODE1' =>
4195     +'Vous devez taper un code de région.',
4196     +'FM_ISO_COUNTRY_CODE2' =>
4197     +'Ce champ ne contient pas de code ISO de région valide.',
4198     +'FM_US_STATE' =>
4199     +'Cette abréviation en deux lettres d\'état américain n\'est pas valide.',
4200     +'FM_US_ZIPCODE' =>
4201     +'Les codes postaux américains doivent contenir 5 ou 9 chiffres.',
4202     +'FM_MINLENGTH1' =>
4203     +'La longueur minimale a été définie arbitrairement à {$minlength} caractères.',
4204     +'FM_MINLENGTH2' =>
4205     +'Ce champ doit contenir au minimum {$minlength} caractères.',
4206     +'FM_MAXLENGTH1' =>
4207     +'La longueur maximale a été définie arbitrairement à {$maxlength} caractères.',
4208     +'FM_MAXLENGTH2' =>
4209     +'Ce champ doit ne doit pas dépasser {$maxlength} caractères.',
4210     +'FM_EXACTLENGTH1' =>
4211     +'Vous devez définir la longueur de ce champ.',
4212     +'FM_EXACTLENGTH2' =>
4213     +'Vous devez définir la longueur exacte de ce champ avec un entier.',
4214     +'FM_EXACTLENGTH3' =>
4215     +'Ce champ doit faire exactement {$exactlength} caractères.',
4216     +'FM_LENGTHRANGE1' =>
4217     +'Vous devez définir les longueurs maximale et minimale de ce champ.',
4218     +'FM_LENGTHRANGE2' =>
4219     +'Vous devez définir les longueurs maximale et minimale de ce champ avec des entiers.',
4220     +'FM_LENGTHRANGE3' =>
4221     +'La longueur de ce champ doit être comprise entre {$minlength} et {$maxlength} caractères.',
4222     +'FM_URL' =>
4223     +'Ce champ doit contenir une URL commençant par http:// ou ftp://',
4224     +'FM_EMAIL_SIMPLE1' =>
4225     +'Vous devez taper une adresse de courriel.',
4226     +'FM_EMAIL_SIMPLE2' =>
4227     +'Ce champ ne semble pas respecter le format RFC822 des adresses de courriel.',
4228     +'FM_DOMAIN_NAME' =>
4229     +'Ce champ ne semble pas contenir de nom de domaine Internet ou d\'hôte valide.',
4230     +'FM_IP_NUMBER1' =>
4231     +'Ce champ doit contenir une adresse IP valide et ne doit pas être vide.',
4232     +'FM_IP_NUMBER2' =>
4233     +'Format d\'adresse IP incorrect (X.X.X.X attendu)',
4234     +'FM_IP_NUMBER3' =>
4235     +'La valeur {$octet} dépasse 255.',
4236     +'FM_USERNAME' =>
4237     +'Ce champ doit contenir un nom d\'utilisateur valide (3 à 8 lettres et chiffres).',
4238     +'FM_PASSWORD1' =>
4239     +'Vous devez taper un mot de passe.',
4240     +'FM_PASSWORD2' =>
4241     +'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.',
4242     +'FM_MAC_ADDRESS1' =>
4243     +'Vous devez taper une adresse Ethernet.',
4244     +'FM_MAC_ADDRESS2' =>
4245     +'L\'adresse Ethernet que vous avez tapé n\'est pas valide.',
4246     +'FM_ERR_UNEXPECTED_DESC' =>
4247     +'ERREUR : caractères invalides ou manquants dans la description.',
4248     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N.pm
4249     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N.pm 1970-01-01 04:00:00.000000000 +0400
4250     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N.pm 2019-11-14 19:54:26.000000000 +0400
4251     @@ -0,0 +1,10 @@
4252     +#!/usr/bin/perl -wT
4253     +
4254     +package SrvMngr::I18N;
4255     +
4256     +use strict;
4257     +use warnings;
4258     +use utf8;
4259     +use parent 'Locale::Maketext';
4260     +
4261     +1;
4262     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Model/Main.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Model/Main.pm
4263     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Model/Main.pm 1970-01-01 04:00:00.000000000 +0400
4264     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Model/Main.pm 2019-06-12 12:40:48.000000000 +0400
4265     @@ -0,0 +1,36 @@
4266     +package SrvMngr::Model::Main;
4267     +
4268     +use strict;
4269     +use warnings;
4270     +use utf8;
4271     +
4272     +use esmith::DB;
4273     +use esmith::ConfigDB;
4274     +
4275     +my %datas = (
4276     + 'lang' => 'en',
4277     + 'releaseVersion' => '',
4278     + 'copyRight' => '',
4279     + 'navigation' => 'N a v i g a t i o n',
4280     + 'modul' => 'Modul 89 +/- 11',
4281     + 'PwdSet' => '0',
4282     + 'Unsafe' => '0',
4283     +);
4284     +
4285     +
4286     +
4287     +sub init_data {
4288     + my %datas = ();
4289     +
4290     + my $lang = (split(/,/, $ENV{"HTTP_ACCEPT_LANGUAGE"}))[0];
4291     + ## convert xx_XX lang format to xx-xx
4292     + ($datas{'lang'} = lc($lang)) =~ s/_/-/;
4293     + my $DB = esmith::ConfigDB->open_ro() or die("can't open Config DB test");
4294     + my $sysconfig = $DB->get("sysconfig");
4295     + $datas{'releaseVersion'} = $sysconfig->prop("ReleaseVersion") || '??';
4296     + $datas{'copyRight'} = 'All rights reserved';
4297     + $datas{'PwdSet'} = ($DB->get('PasswordSet')->value eq "yes") || '0' ;
4298     + $datas{'Unsafe'} = ($DB->get('bootstrap-console') and $DB->get('bootstrap-console')->prop('Run') eq 'yes') ||
4299     + ($DB->get('UnsavedChanges') and $DB->get('UnsavedChanges')->value eq 'yes');
4300     + return( %datas );
4301     +}
4302     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Navigation.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Navigation.pm
4303     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Navigation.pm 1970-01-01 04:00:00.000000000 +0400
4304     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Navigation.pm 2019-11-18 18:18:20.000000000 +0400
4305     @@ -0,0 +1,355 @@
4306     +#!/usr/bin/perl -wT
4307     +
4308     +package SrvMngr::Navigation;
4309     +
4310     +use strict;
4311     +use warnings;
4312     +
4313     +use esmith::cgi;
4314     +use esmith::config;
4315     +use esmith::NavigationDB;
4316     +use esmith::util;
4317     +use esmith::I18N;
4318     +
4319     + # Clear PATH and related environment variables so that calls to
4320     + # external programs do not cause results to be tainted. See
4321     + # "perlsec" manual page for details.
4322     +
4323     +# $ENV {'PATH'} = '';
4324     +# $ENV {'SHELL'} = '/bin/bash';
4325     +# delete $ENV {'ENV'};
4326     +
4327     +esmith::util::setRealToEffective ();
4328     +
4329     +# Use the one script for navigation and noframes
4330     +my $NO_FRAMES = ($0 =~ /noframes/);
4331     +
4332     +
4333     +#------------------------------------------------------
4334     +# subroutine to determine which group a user belongs to
4335     +#------------------------------------------------------
4336     +
4337     +sub determineGroup
4338     +{
4339     + my ($user) = shift;
4340     +
4341     + # Group file for authentication
4342     + my $group_file = '/etc/group';
4343     + open ( GF, $group_file )
4344     + or die "Cannot open group file: $group_file: $!\n";
4345     +
4346     + # list of groups this user belongs to
4347     + my @groupList;
4348     + while (<GF>)
4349     + {
4350     + if (/[:,]$user\b/)
4351     + {
4352     + my ($groupName, undef) = split(/:/);
4353     + push @groupList, $groupName;
4354     + }
4355     + }
4356     + close GF;
4357     + return @groupList;
4358     +}
4359     +
4360     +#------------------------------------------------------------
4361     +# subroutine to display navigation bar
4362     +#------------------------------------------------------------
4363     +
4364     +sub showNavigation ()
4365     +{
4366     + my $q = shift;
4367     + #my $c = shift;
4368     + my $config = shift;
4369     + my $navigation = "";
4370     +
4371     + # Use this variable throughout to keep track of files
4372     + # list of just the files
4373     + my $c = "1";
4374     + my @files = ();
4375     + my %files_hash = ();
4376     + my @panel_group = "admin";
4377     +# my @panel_group = $ENV{'REMOTE_USER'} eq "admin" ?
4378     +# ("admin") : determineGroup($ENV{'REMOTE_USER'});
4379     +
4380     + #-----------------------------------------------------
4381     + # Determine the directory where the functions are kept
4382     + #-----------------------------------------------------
4383     +
4384     + my $navigation_ignore =
4385     + "(\.\.?|navigation|noframes|online-manual|(internal|pleasewait)(-.*)?)";
4386     +
4387     + my $cgidir = 'nowhere';
4388     + if ($panel_group[0] eq 'admin')
4389     + {
4390     + $cgidir = '/etc/e-smith/web/panels/manager/cgi-bin/';
4391     +
4392     + if (opendir (DIR, $cgidir))
4393     + {
4394     + @files = grep (!/^${navigation_ignore}$/,
4395     + readdir (DIR));
4396     + closedir (DIR);
4397     + }
4398     + else
4399     + {
4400     + warn "Can't open directory $cgidir\n";
4401     + }
4402     +
4403     + foreach my $file (@files)
4404     + {
4405     + next if (-d "$cgidir/$file");
4406     + $files_hash{$file} = $cgidir;
4407     + }
4408     +
4409     + }
4410     + else
4411     + {
4412     + foreach my $panel (@panel_group)
4413     + {
4414     + $cgidir = "/etc/e-smith/web/panels/manager/$panel/cgi-bin";
4415     +
4416     + if (opendir (DIR, $cgidir))
4417     + {
4418     + @files = grep (!/^${navigation_ignore}$/,
4419     + readdir (DIR));
4420     + closedir (DIR);
4421     + foreach my $file (@files)
4422     + {
4423     + next if (-d "$cgidir/$file");
4424     + $files_hash{$file} = $cgidir;
4425     + }
4426     + }
4427     + else
4428     + {
4429     + warn "Can't open directory $cgidir\n";
4430     + }
4431     + }
4432     + }
4433     +
4434     + #--------------------------------------------------
4435     + # For each script, extract the description and category
4436     + # information. Build up an associative array mapping headings
4437     + # to heading structures. Each heading structure contains the
4438     + # total weight for the heading, the number of times the heading
4439     + # has been encountered, and another associative array mapping
4440     + # descriptions to description structures. Each description
4441     + # structure contains the filename of the particular cgi script
4442     + # and a weight.
4443     + #--------------------------------------------------
4444     + my %nav = ();
4445     +
4446     + use constant NAVIGATIONDIR => '/home/e-smith/db/navigation';
4447     + use constant WEBFUNCTIONS => '/etc/e-smith/web/functions';
4448     +
4449     + my $i18n = new esmith::I18N;
4450     +
4451     + my $language = $i18n->preferredLanguage( $ENV{HTTP_ACCEPT_LANGUAGE} );
4452     +
4453     + my $navinfo = NAVIGATIONDIR . "/navigation.$language";
4454     +
4455     + my $navdb = esmith::NavigationDB->open_ro( $navinfo ) or
4456     + die "Couldn't open $navinfo\n";
4457     +
4458     + # Check the navdb for anything with a UrlPath, which means that it doesn't
4459     + # have a cgi file to be picked up by the above code. Ideally, only pages
4460     + # that exist should be in the db, but that's not the case. Anything
4461     + # without a cgi file will have to remove themselves on uninstall from the
4462     + # navigation dbs.
4463     + foreach my $rec ($navdb->get_all)
4464     + {
4465     + if ($rec->prop('UrlPath'))
4466     + {
4467     + $files_hash{$rec->{key}} = $cgidir;
4468     + }
4469     + }
4470     +
4471     + foreach my $file (keys %files_hash)
4472     + {
4473     + my $heading = 'Unknown';
4474     + my $description = $file;
4475     + my $headingWeight = 99999;
4476     + my $descriptionWeight = 99999;
4477     + my $urlpath = '';
4478     +
4479     + my $rec = $navdb->get($file);
4480     +
4481     + if (defined $rec)
4482     + {
4483     + $heading = $rec->prop('Heading');
4484     + $description = $rec->prop('Description');
4485     + $headingWeight = $rec->prop('HeadingWeight');
4486     + $descriptionWeight = $rec->prop('DescriptionWeight');
4487     + $urlpath = $rec->prop('UrlPath') || '';
4488     + }
4489     +
4490     + #--------------------------------------------------
4491     + # add heading, description and weight information to data structure
4492     + #--------------------------------------------------
4493     +
4494     + unless (exists $nav {$heading})
4495     + {
4496     + $nav {$heading} = { COUNT => 0, WEIGHT => 0, DESCRIPTIONS => [] };
4497     + }
4498     +
4499     + $nav {$heading} {'COUNT'} ++;
4500     + $nav {$heading} {'WEIGHT'} += $headingWeight;
4501     +
4502     + # Check for manager panel, and assign the appropriate
4503     + # cgi-bin prefix for the links.
4504     + # Grab the last 2 directories by splitting for '/'s and
4505     + # then concatenating the last 2
4506     + # probably a better way, but I don't know it.
4507     + my @filename = split /\//, $files_hash{$file};
4508     +
4509     + #### mabmodif new version of module exists
4510     + my $path = (SrvMngr->get_mod_url($file) ne '-1') ?
4511     + "2" :
4512     + ###### mabmodif
4513     + ($cgidir eq '/etc/e-smith/web/panels/manager/cgi-bin/') ?
4514     + "/$filename[scalar @filename - 1]" :
4515     + "/$filename[scalar @filename - 2]/$filename[scalar @filename - 1]";
4516     + push @{ $nav {$heading} {'DESCRIPTIONS'} },
4517     + { DESCRIPTION => $description,
4518     + WEIGHT => $descriptionWeight,
4519     + FILENAME => $urlpath ? $urlpath : "$path/$file",
4520     + CGIPATH => $path
4521     + };
4522     + }
4523     +
4524     + #--------------------------------------------------
4525     + # generate list of headings sorted by average weight
4526     + #--------------------------------------------------
4527     +
4528     + #
4529     + # generate script .js
4530     + #
4531     + open(SCR, "> $config->{navigation_script_file}")
4532     + or die "access file error: \'$config->{navigation_script_file}\'\n$!";
4533     +
4534     + printf SCR '
4535     + //
4536     + // Do N O T modify this file : it is automatically generated !
4537     + //
4538     + //This swap the class of the selected item.
4539     + function swapClass() {
4540     + var i,x,tB,j=0,tA=new Array(),arg=swapClass.arguments;
4541     + if(document.getElementsByTagName){for(i=4;i<arg.length;i++){tB=document.getElementsByTagName(arg[i]);
4542     + for(x=0;x<tB.length;x++){tA[j]=tB[x];j++;}}for(i=0;i<tA.length;i++){
4543     + if(tA[i].className){if(tA[i].id==arg[1]){if(arg[0]==1){
4544     + tA[i].className=(tA[i].className==arg[3])?arg[2]:arg[3];}else{tA[i].className=arg[2];}
4545     + }else if(arg[0]==1 && arg[1]==\'none\'){if(tA[i].className==arg[2] || tA[i].className==arg[3]){
4546     + tA[i].className=(tA[i].className==arg[3])?arg[2]:arg[3];}
4547     + }else if(tA[i].className==arg[2]){tA[i].className=arg[3];}}}}}
4548     + ';
4549     + printf SCR "
4550     + //This swap the class of the selected item.
4551     + function swapClasses() {
4552     + var arg=swapClasses.arguments;
4553     + swapClass(0,'none','item-current','item','a');
4554     + swapClass(0,'none','warn-current','warn','a');
4555     + swapClass(0,arg[0],'item-current','item','a');
4556     + //swapClass(0,'none','item-current accent','item accent','a');
4557     + //swapClass(0,'none','warn-current accent','warn accent','a');
4558     + //swapClass(0,arg[0],'item-current accent','item accent','a');
4559     + }
4560     +
4561     + // End script hiding -->
4562     + ";
4563     +
4564     + close SCR;
4565     +
4566     + #
4567     + # generate navigation div part
4568     + #
4569     +
4570     + open(DIV, "> $config->{navigation_div_file}")
4571     + or die "access file error: \'$config->{navigation_div_file}\'\n$!";
4572     +
4573     + # enable utf8 binmode so new translations work
4574     + binmode DIV, ":utf8";
4575     +
4576     + printf DIV "<!-- ";
4577     + printf DIV "\n!! Do N O T modify this file : it is automatically generated !!";
4578     + printf DIV "\n-->";
4579     +
4580     + #printf DIV "<!-- ";
4581     +
4582     + if ( $NO_FRAMES )
4583     + {
4584     +# esmith::cgi::genNoframesHeader ($q);
4585     + }
4586     + else
4587     + {
4588     +#### esmith::cgi::genNavigationHeader ($q, undef);
4589     + printf DIV "\n <div id=\"navigat\">\n";
4590     +## printf DIV "\n <script type='text/javascript' src='$config->{navigation_script_file}'></script>";
4591     +## printf DIV "\n <script type='text/javascript' src='<%= $share_dir %>$config->{navigation_script_file}'></script>";
4592     +
4593     + }
4594     +
4595     + foreach my $h (sort {
4596     + ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'}) <=>
4597     + ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav)
4598     + {
4599     + if ( $NO_FRAMES )
4600     + {
4601     + printf DIV $q->h2 ($h);
4602     + }
4603     + else
4604     + {
4605     + printf DIV "\n <div class='section'> $h </div>";
4606     +# printf DIV "\n", $q->Tr ($q->td({class => "section"},$q->span({class => "section"}, $h)));
4607     + }
4608     +
4609     + #--------------------------------------------------
4610     + # generate list of descriptions sorted by weight
4611     + #--------------------------------------------------
4612     + printf DIV "<ul>\n" if ( $NO_FRAMES );
4613     +
4614     + foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav {$h}{'DESCRIPTIONS'}})
4615     + {
4616     + my ($target, $classNew) = ( $_->{'FILENAME'} =~ m/^2\// ) ?
4617     + ('_self',' class=\' accent\'') :
4618     + ('main','') ;
4619     +
4620     + my $href = '/server-manager' . $_->{'FILENAME'};
4621     + if ( $NO_FRAMES )
4622     + {
4623     + printf DIV $q->li ($q->a ({href => "$href?noframes=1"}, $_->{'DESCRIPTION'}));
4624     + }
4625     + else
4626     + {
4627     + printf DIV "\n <div class='menu-cell'><a class='item' $classNew target='$target' " .
4628     + "onclick=\"swapClasses('sme$c')\" id='sme$c' href='$href'>" .
4629     + "$_->{'DESCRIPTION'}</a></div>";
4630     +# printf DIV "\n<div class='menu-cell'><a class='item' target='main' " .
4631     +# "onclick='swapClasses('sme$c')' href='$href' id='sme$c'>" .
4632     +# "$_->{'DESCRIPTION'}</a></div>";
4633     +
4634     +# printf DIV "\n",$q->Tr(
4635     +# $q->td ({-class => "menu-cell"},
4636     +# $q->a ({-id => "sme$c",
4637     +# -class => "item",
4638     +# -onClick => "swapClasses('sme$c')",
4639     +# href => $href,
4640     +# target => 'main'},
4641     +# $_->{'DESCRIPTION'})
4642     +# ));
4643     + }
4644     + $c++;
4645     +
4646     + }
4647     +
4648     + printf DIV "</ul>\n" if ($NO_FRAMES);
4649     + }
4650     +
4651     + unless ( $NO_FRAMES )
4652     + {
4653     +### esmith::cgi::genNavigationFooter ($q);
4654     + }
4655     + print DIV "\n </div>";
4656     +# print DIV "\n -->";
4657     + close DIV
4658     +}
4659     +
4660     +1;
4661     diff -urN 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
4662     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr.pm 1970-01-01 04:00:00.000000000 +0400
4663     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr.pm 2019-11-14 19:48:27.000000000 +0400
4664     @@ -0,0 +1,71 @@
4665     +#!/usr/bin/perl -wT
4666     +
4667     +package SrvMngr;
4668     +
4669     +use strict;
4670     +use warnings;
4671     +
4672     +use Mojolicious::Lite;
4673     +
4674     +#has description => 'server manager 2 : mojolicious app';
4675     +#has usage => 'called via apache server cgi mode';
4676     +
4677     +use utf8;
4678     +
4679     +use SrvMngr::Navigation;
4680     +use SrvMngr::I18N;
4681     +use SrvMngr::Model::Main;
4682     +
4683     +
4684     +my $config = plugin( 'Config' => { files => './conf/srvmngr.conf' });
4685     +
4686     +#startcgi();
4687     +
4688     +
4689     +sub startup{
4690     + # once at daemon launch !
4691     + # not used if CGI call
4692     +}
4693     +
4694     +
4695     +sub startsess{
4696     + my $c = shift;
4697     +
4698     + app->log->info("Init datas in page.");
4699     + my %datas = ();
4700     + %datas = SrvMngr::Model::Main->init_data( %datas );
4701     + $c->session->{lang} = $datas{'lang'};
4702     + $c->session->{copyRight} = $c->l($datas{'copyRight'});
4703     + $c->session->{releaseVersion} = $datas{'releaseVersion'};
4704     + $c->session->{PwdSet} = $datas{'PwdSet'};
4705     + $c->session->{Unsafe} = $datas{'Unsafe'};
4706     + $c->languages($datas{'lang'});
4707     + app->log->info("Session started: $datas{'lang'}");
4708     +}
4709     +
4710     +
4711     +app->helper(log_req => sub {
4712     + my $c = shift;
4713     + my $mess = shift;
4714     + my $method = $c->req->method;
4715     + my $url = $c->req->url;
4716     + my $version = $c->req->version;
4717     + my $ip = $c->tx->remote_address;
4718     + return "Request received => $method $url HTTP/$version from $ip -- $mess";
4719     +});
4720     +
4721     +
4722     +sub get_mod_url{
4723     + my $c = shift;
4724     + my $module = shift;
4725     +
4726     + # test if module exists
4727     + my $module_file = $config->{modules_dir} . '/' . ucfirst($module) . '.pm';
4728     + if ( -e $module_file){
4729     + return "/$module";
4730     + }
4731     + return -1;
4732     +}
4733     +
4734     +
4735     +1;
4736     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/log/development.log smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/log/development.log
4737     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/log/development.log 1970-01-01 04:00:00.000000000 +0400
4738     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/log/development.log 2019-12-16 20:24:05.303000000 +0400
4739     @@ -0,0 +1 @@
4740     +development.log
4741     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/log/production.log smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/log/production.log
4742     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/log/production.log 1970-01-01 04:00:00.000000000 +0400
4743     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/log/production.log 2019-12-16 20:24:12.103000000 +0400
4744     @@ -0,0 +1 @@
4745     +production.log
4746     diff -urN 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
4747     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl 1970-01-01 04:00:00.000000000 +0400
4748     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl 2019-11-14 20:09:59.000000000 +0400
4749     @@ -0,0 +1,129 @@
4750     +#! /usr/bin/perl
4751     +#-wT
4752     +
4753     +# mojo server-manager2 (sandbox) mab974 2019
4754     +
4755     +use strict;
4756     +use warnings;
4757     +use utf8;
4758     +
4759     +#BEGIN { $ENV{MOJO_I18N_DEBUG} = 1};
4760     +
4761     +use Mojolicious::Lite;
4762     +
4763     +#use Data::Dumper;
4764     +
4765     +use FindBin;
4766     +use lib "$FindBin::Bin/lib";
4767     +use lib "$FindBin::Bin/../lib";
4768     +use lib "$FindBin::Bin/../cgi-bin/srvmngr/lib";
4769     +
4770     +my $config = plugin 'Config';
4771     +
4772     +use SrvMngr;
4773     +
4774     +plugin 'TagHelpers';
4775     +
4776     +use SrvMngr::I18N;
4777     +my $locale = plugin I18N => {namespace => 'SrvMngr::I18N', default => 'en'};
4778     +
4779     +
4780     +my $VERSION = '0.0.1';
4781     +#app->mode('production');
4782     +app->mode('development');
4783     +
4784     +app->secrets( $config->{'secrets'} );
4785     +app->sessions->cookie_name('srvmngr');
4786     +app->sessions->default_expiration('1800');
4787     +##app->session(expires => 1) # in logout;
4788     +
4789     +# Replace the default paths
4790     +app->renderer->paths([app->home->rel_file('themes/default/templates')]);
4791     +app->static->paths([app->home->rel_file('themes/default/public')]);
4792     +
4793     +if ($config->{theme} ne 'default') {
4794     + # Put the new theme first
4795     + my $theme = app->home->rel_file('themes/'.$config->{theme});
4796     + unshift @{app->renderer->paths}, $theme.'/templates' if -d $theme.'/templates';
4797     + unshift @{app->static->paths}, $theme.'/public' if -d $theme.'/public';
4798     +}
4799     +app->log->info("Current theme : ${app->renderer->paths}[0] & ${app->static->paths}[0]");
4800     +
4801     +my %datas = (
4802     + 'lang' => 'en',
4803     + 'releaseVersion' => 'rv',
4804     + 'copyRight' => 'cp',
4805     + 'PwdSet' => '1',
4806     + 'Unsafe' => '0',
4807     +);
4808     +
4809     +SrvMngr::Navigation->showNavigation($config) if ($config->{navigation_has_changed} == 1);
4810     +
4811     +%datas = SrvMngr::Model::Main->init_data( %datas );
4812     +
4813     +my $right = app->l("$datas{copyRight}");
4814     +app->log->info("Session started: $datas{lang} $right");
4815     +
4816     +#my $lang = $datas{'lang'};
4817     +#my $releaseVersion = $datas{releaseVersion};
4818     +#my $PwdSet = $datas{'PwdSet'};
4819     +#my $Unsafe = $datas{'Unsafe'};
4820     +
4821     +
4822     +my $r = app->routes;
4823     +$r->namespaces(['SrvMngr::Controller']);
4824     +$r->get('/')->to('initial#main')->name('initial');
4825     +$r->get('/bugreport')->to('bugreport#main')->name('bugreport');
4826     +$r->post('/bugreport')->to('bugreport#do_report')->name('bugreport2');
4827     +$r->get('/clamav')->to('clamav#main')->name('clamav');
4828     +$r->post('/clamav')->to('clamav#do_update')->name('clamav2');
4829     +$r->get('/datetime')->to('datetime#main')->name('datetime');
4830     +$r->post('/datetime')->to('datetime#do_update')->name('datetime2');
4831     +$r->get('/directory')->to('directory#main')->name('directory');
4832     +$r->post('/directory')->to('directory#do_update')->name('directory2');
4833     +$r->get('/logout')->to('main#logout')->name('logout');
4834     +$r->get('/manual')->to('manual#main')->name('manual');
4835     +$r->get('/printers')->to('printers#main')->name('printers');
4836     +$r->post('/printers')->to('printers#do_display')->name('printeradd');
4837     +$r->get('/printers2')->to('printers#do_update')->name('printernet');
4838     +$r->post('/printers2')->to('printers#do_update')->name('printerupd');
4839     +#$r->post('/printers3')->to('printers#do_update')->name('printernet');
4840     +#$r->get('/printers/:printer' => {printer => qr/^([a-z][a-z0-9]*)$/})->to('printers#do_display')->name('printerdel');
4841     +$r->get('/printdel')->to('printers#do_display')->name('printerdel');
4842     +$r->post('/printdel')->to('printers#do_update')->name('printerdel2');
4843     +$r->get('/proxy')->to('proxy#main')->name('proxy');
4844     +$r->post('/proxy')->to('proxy#do_update')->name('proxy2');
4845     +$r->get('/qmailanalog')->to('qmailanalog#main')->name('qmailanalog');
4846     +$r->post('/qmailanalog')->to('qmailanalog#do_update')->name('qmailanalog2');
4847     +$r->get('/quota')->to('quota#main')->name('quota');
4848     +$r->get('/quotaupd')->to('quota#do_display')->name('quotalist');
4849     +$r->post('/quotaupd')->to('quota#do_update')->name('quotaupd');
4850     +$r->get('/review')->to('review#main')->name('review');
4851     +$r->get('/starterwebsite')->to('starterwebsite#main')->name('starterwebsite');
4852     +$r->post('/starterwebsite')->to('starterwebsite#do_site')->name('starterwebsite2');
4853     +$r->get('/support')->to('support#main')->name('support');
4854     +$r->get('/wbl')->to('wbl#main')->name('wbl');
4855     +$r->post('/wbl')->to('wbl#do_display')->name('wbldis');
4856     +$r->post('/wbl2')->to('wbl#do_update')->name('wblupd');
4857     +$r->get('/welcome')->to('welcome#main')->name('welcome');
4858     +$r->get('/workgroup')->to('workgroup#main')->name('workgroup');
4859     +$r->post('/workgroup')->to('workgroup#do_update')->name('workgroup2');
4860     +$r->get('/getconfig/:key' => {key => qr/[a-z0-9]{2,32}/})->to('request#getconfig')->name('getrequest');
4861     +$r->get('/getaccount/:key' => {key => qr/[a-z0-9]{2,32}/})->to('request#getaccount')->name('getaccount');
4862     +$r->get('/:module' => {module => qr/[a-z0-9]{2,32}/})->to('modsearch#main')->name('module_search');
4863     +#my $mod = any('/modules')->to('modules#default');
4864     +#$mod->get('/:module' => {module => qr/[a-z0-9]{2,32}/})->to('#mod_search')->name('module_search2');
4865     +$r->any('/*whatever' => {whatever => ''})->to('main#whatever')->name('whatever');
4866     +
4867     +
4868     +app->helper(log_req => sub {
4869     + my $c = shift;
4870     + my $method = $c->req->method;
4871     + my $url = $c->req->url;
4872     + my $version = $c->req->version;
4873     + my $ip = $c->tx->remote_address;
4874     + return "Requete recue => $method $url HTTP/$version depuis $ip";
4875     +});
4876     +
4877     +
4878     +app->start();
4879     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/t/srvmngr.t smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/t/srvmngr.t
4880     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/t/srvmngr.t 1970-01-01 04:00:00.000000000 +0400
4881     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/t/srvmngr.t 2019-12-16 14:00:28.000000000 +0400
4882     @@ -0,0 +1,19 @@
4883     +use Test::More tests => 3;
4884     +use Test::Mojo;
4885     +
4886     +# TO BE DONE !!!!
4887     +
4888     +# FindBin permet de trouver le script de l'appli
4889     +use FindBin;
4890     +
4891     +$ENV{MOJO_HOME} = "$FindBin::Bin/../";
4892     +require "$ENV{MOJO_HOME}/srvmngr.pl";
4893     +
4894     +# tests declaration
4895     +
4896     +my $t = Test::Mojo->new;
4897     +$t->ua->max_redirects(1);
4898     +
4899     +$t->get_ok('/profile')
4900     + ->status_is(200)
4901     + ->text_like('html body' => qr/Welcome/);
4902     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/css/styles.css smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/css/styles.css
4903     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/css/styles.css 1970-01-01 04:00:00.000000000 +0400
4904     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/css/styles.css 2019-11-16 19:28:44.000000000 +0400
4905     @@ -0,0 +1,157 @@
4906     +/* srvmngr - css de base */
4907     +body{
4908     + background-color: #FFF;
4909     +}
4910     +
4911     +#container{
4912     + max-width: 100%;
4913     + position: relative;
4914     + margin: auto;
4915     +}
4916     +
4917     +#navigation{
4918     + width: 190px;
4919     + position: absolute;
4920     + margin-left: 0px;
4921     + padding: 5px;
4922     + background-color: #E8F3E1;
4923     + height: 600px;
4924     + overflow: auto;
4925     +}
4926     +
4927     +#main{
4928     + margin-left: 195px;
4929     + padding: 10px;
4930     +}
4931     +
4932     +#central{
4933     + margin-left: 0px;
4934     + padding: 5px;
4935     +}
4936     +
4937     +#footer{
4938     + margin-left: 0px;
4939     + padding: 5px;
4940     +}
4941     +
4942     +#header {
4943     + background: #bee6a2;
4944     +}
4945     +
4946     +#header h1, a:link, a:visited {
4947     + color: black;
4948     + text-decoration: none;
4949     +/* contribs.org styling */
4950     +}
4951     +
4952     +.sme-error {
4953     + color: red;
4954     + background-color: #ffffff;
4955     + border-width: 1px;
4956     + border-style: solid;
4957     + border-color: red ;
4958     + padding: 2px;
4959     + margin-left: 20px;
4960     + margin-right: 20px;
4961     + margin-top:0px;
4962     + margin-bottom:0px;
4963     +}
4964     +
4965     +a.accent {
4966     + color: brown;
4967     +}
4968     +
4969     +#footer img {
4970     + float: right;
4971     + position: fixed;
4972     + margin-left: 40%;
4973     +}
4974     +
4975     +span.label {
4976     + font-weight: bold;
4977     + width: 20%;
4978     +}
4979     +
4980     +span.data {
4981     + padding: 2px;
4982     + font-weight: bold;
4983     + margin-left: 25%;
4984     + background-color: lightblue;
4985     +}
4986     +
4987     +span.data2 {
4988     + padding: 2px;
4989     + font-weight: bold;
4990     + background-color: lightblue;
4991     +}
4992     +
4993     +input.action {
4994     + margin-left: 450px;
4995     + color: green;
4996     + background-color: lightgreen;
4997     +}
4998     +#modul.desc {
4999     + padding: 3px;
5000     + background-color: grey;
5001     +}
5002     +/* #modul form .input */
5003     +[type = 'text'] {
5004     + margin-left: 5px;
5005     + background-color: lightblue;
5006     +}
5007     +
5008     +.a, .return {
5009     + color: #661866;
5010     + font-weight: bold;
5011     +}
5012     +
5013     +.section {
5014     + line-height: 20px;
5015     +}
5016     +.a, .item {
5017     + line-height: 15px;
5018     +}
5019     +
5020     +#module {
5021     + height: 600px;
5022     + overflow: auto;
5023     +}
5024     +
5025     +#h2l1 {
5026     + height: 40px;
5027     + width: 100%;
5028     +}
5029     +#h2e11 {
5030     + width: 70%;
5031     + float: left;
5032     +}
5033     +#h2e12 {
5034     + background-color: #C0E7A6;
5035     + float: left;
5036     + text-align: right;
5037     +}
5038     +
5039     +#h2l2 {
5040     +/* background-color: #A8F9E7;*/
5041     + border-top: solid white 3px;
5042     + border-bottom: solid white 2px;
5043     + height: 14px;
5044     + width: 100%;
5045     + padding: 1px;
5046     +}
5047     +
5048     +#h2e21 {
5049     + float: left;
5050     + width: 70%;
5051     +}
5052     +
5053     +#h2e22,#h2e23 {
5054     + float: left;
5055     + width: 10%;
5056     + text-align: center;
5057     +}
5058     +
5059     +/*#h2e23 {
5060     + float: right;
5061     + width: 15%;
5062     +}*/
5063     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/index.html smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/index.html
5064     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/index.html 1970-01-01 04:00:00.000000000 +0400
5065     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/index.html 2019-05-20 17:03:20.000000000 +0400
5066     @@ -0,0 +1,9 @@
5067     +<!--DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"-->
5068     +
5069     +<HTML>
5070     +
5071     +<HEAD><TITLE>Mojo under construction</TITLE></HEAD>
5072     +
5073     +<BODY BGCOLOR="#FFFFFF"><H1>This web app is under construction</H1></BODY>
5074     +
5075     +</HTML>
5076     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/js/navigation.js smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/js/navigation.js
5077     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/js/navigation.js 1970-01-01 04:00:00.000000000 +0400
5078     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/js/navigation.js 2019-11-16 19:12:58.000000000 +0400
5079     @@ -0,0 +1,25 @@
5080     +
5081     + //
5082     + // Do N O T modify this file : it is automatically generated !
5083     + //
5084     + //This swap the class of the selected item.
5085     + function swapClass() {
5086     + var i,x,tB,j=0,tA=new Array(),arg=swapClass.arguments;
5087     + if(document.getElementsByTagName){for(i=4;i<arg.length;i++){tB=document.getElementsByTagName(arg[i]);
5088     + for(x=0;x<tB.length;x++){tA[j]=tB[x];j++;}}for(i=0;i<tA.length;i++){
5089     + if(tA[i].className){if(tA[i].id==arg[1]){if(arg[0]==1){
5090     + tA[i].className=(tA[i].className==arg[3])?arg[2]:arg[3];}else{tA[i].className=arg[2];}
5091     + }else if(arg[0]==1 && arg[1]=='none'){if(tA[i].className==arg[2] || tA[i].className==arg[3]){
5092     + tA[i].className=(tA[i].className==arg[3])?arg[2]:arg[3];}
5093     + }else if(tA[i].className==arg[2]){tA[i].className=arg[3];}}}}}
5094     +
5095     + //This swap the class of the selected item.
5096     + function swapClasses() {
5097     + var arg=swapClasses.arguments;
5098     + swapClass(0,'none','item-current','item','a');
5099     + swapClass(0,'none','warn-current','warn','a');
5100     + swapClass(0,arg[0],'item-current','item','a');
5101     + }
5102     +
5103     + // End script hiding -->
5104     +
5105     \ Pas de fin de ligne à la fin du fichier
5106     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/bugreport.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/bugreport.html.ep
5107     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/bugreport.html.ep 1970-01-01 04:00:00.000000000 +0400
5108     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/bugreport.html.ep 2019-10-22 23:57:55.000000000 +0400
5109     @@ -0,0 +1,69 @@
5110     +% layout 'default', title => 'Sme server 2 - Bug report';
5111     +
5112     +% content_for 'module' => begin
5113     +<div id="module">
5114     + <p> <%= $c->current_route %></p><br>
5115     + <h1><%= $title %></h1>
5116     +
5117     + <!--br><%= $modul %><br-->
5118     +<p>
5119     +<p><b>
5120     +%=l ('bugr_DO_NOT_PANIC')
5121     +</b></p>
5122     +<p>
5123     +%=l ('bugr_SME_EXPERIENCE')
5124     +</p><p>
5125     +%=l ('bugr_PLEASE_REPORT_HERE')
5126     +</p><p>
5127     +%=l ('bugr_USE_TEMPLATE')
5128     +</p><p>
5129     +%=l ('bugr_FOLLOWING_REPORT_MIGHT_HELP')
5130     +</p><p>
5131     +%=l ('bugr_REPORT_CONTENT')
5132     +<br><ul><li>
5133     +%=l ('bugr_SME_VERSION')
5134     +</li><li>
5135     +%=l ('bugr_SERVER_MODE')
5136     +</li><li>
5137     +%=l ('bugr_KERNEL_AND_ARCH')
5138     +</li><li>
5139     +%=l ('bugr_INSTALLED_RPMS')
5140     +</li><li>
5141     +%=l ('bugr_ALTERED_TEMPLATES')
5142     +</li><li>
5143     +%=l ('bugr_ALTERED_EVENTS')
5144     +</li><li>
5145     +%=l ('bugr_YUM_REPOS')
5146     +</li><br></ul>
5147     +%=l ('bugr_PRIVACY')
5148     +</p><p>
5149     +<% my $btn = l('bugr_CREATE_REPORT'); %>
5150     +
5151     +%= form_for 'bugreport' => (method => 'POST') => begin
5152     + %= submit_button "$btn", class => 'action'
5153     +% end
5154     +
5155     +</p><p><b>
5156     +%=l ('bugr_DONATING')
5157     +</b><br><br>
5158     +%=l ('bugr_AWARE_SME')
5159     +<br><br><b>
5160     +%=l ('bugr_YOUR_HELP')
5161     +</b><br><br>
5162     +%=l ('bugr_CONSIDER_DONATING')
5163     +<br><br>
5164     +<%= link_to 'https://wiki.koozali.org/Donate' => begin %>
5165     +%= image 'images/btn_donateCC_LG.gif'
5166     +<% end %>
5167     +<br>
5168     +%=l ('bugr_THANK_YOU')
5169     +</p>
5170     +<!--
5171     +%=l ('bugr_Download this report')
5172     +%=l (' a bug')
5173     +-->
5174     + <p>
5175     + %= link_to Back => '/'
5176     + </p>
5177     +</div>
5178     +%end
5179     \ Pas de fin de ligne à la fin du fichier
5180     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/clamav.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/clamav.html.ep
5181     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/clamav.html.ep 1970-01-01 04:00:00.000000000 +0400
5182     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/clamav.html.ep 2019-10-22 23:56:10.000000000 +0400
5183     @@ -0,0 +1,47 @@
5184     +% layout 'default', title => "Sme server 2 - clamav", share_dir => './';
5185     +
5186     +% content_for 'module' => begin
5187     +<div id="module">
5188     + %if ($config->{debug} == 1) {
5189     + <p>(DBG)route: <%= $c->current_route %><br>
5190     + (DBG)FsS stat: <%= $clm_datas->{FilesystemScan}%> <br>
5191     + (DBG)Quar stat: <%=$clm_datas->{Quarantine} %>
5192     + </p>
5193     + %}
5194     + <h1><%= $title %></h1>
5195     + <br>
5196     + <%= $modul %>
5197     + <% my $btn = l('SAVE'); %>
5198     +
5199     + %= form_for 'clamav' => (method => 'POST') => begin
5200     + <p>
5201     + <!--% =l 'clm_DESC_FILESYSTEM_SCAN_PERIOD'-->
5202     + <br>
5203     + <span class=label>
5204     + %=l 'clm_LABEL_FILESYSTEM_SCAN_PERIOD'
5205     + </span><span class=data>
5206     + % param 'FilesystemScan' => $clm_datas->{FilesystemScan} unless param 'FilesystemScan';
5207     + %= select_field 'FilesystemScan' => [[ (l 'clm_DAILY') => 'daily'], [ (l 'clm_NEVER') => 'disabled'], [ (l 'clm_WEEKLY') => 'weekly']], class => 'input'
5208     + </span>
5209     + </p>
5210     + <p>
5211     + <span class=label>
5212     + %=l 'clm_LABEL_QUARANTINE'
5213     + </span><span class=data>
5214     + % param 'Quarantine' => $clm_datas->{Quarantine} unless param 'Quarantine';
5215     + %= select_field 'Quarantine' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input'
5216     + <br>
5217     + </span>
5218     + </p>
5219     + <p>
5220     + <span class=label>
5221     + %=l 'clm_LABEL_CLAM_VERSIONS'
5222     + </span><span class=data>
5223     + %= $clm_datas->{clam_versions}
5224     + <br>
5225     + </span>
5226     + </p>
5227     + %= submit_button "$btn", class => 'action'
5228     + % end
5229     +</div>
5230     +%end
5231     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/datetime.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/datetime.html.ep
5232     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/datetime.html.ep 1970-01-01 04:00:00.000000000 +0400
5233     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/datetime.html.ep 2019-10-22 23:54:35.000000000 +0400
5234     @@ -0,0 +1,116 @@
5235     +% layout 'default', title => "Sme server 2 - datetime", share_dir => './';
5236     +
5237     +% content_for 'end' => begin
5238     + <div id="end" class="sme-copyrightbar">
5239     + content_end
5240     + </div>
5241     +% end
5242     +
5243     +% content_for 'module' => begin
5244     +<div id="module">
5245     +
5246     + %if ($config->{debug} == 1) {
5247     + <p>
5248     + (DBG)route: <%= $c->current_route %><br>
5249     + (DBG)ntp: <%= $dat_datas->{ntpstatus}%><br>
5250     + (DBG)svr: <%= $dat_datas->{ntpserver}%><br>
5251     + </p>
5252     + %}
5253     +
5254     + <!--h1>< % = l('dat_FORM_TITLE') % ></h1>
5255     + < %= l('dat_INITIAL_DESC') % -->
5256     + <h1><%= $title %></h1>
5257     + <br>
5258     + <%= $modul %>
5259     + <% my $btn = l('SAVE'); %>
5260     +
5261     + %= form_for 'datetime' => (method => 'POST') => begin
5262     + <p>
5263     + % param 'ntpstatus' => $dat_datas->{ntpstatus} unless param 'ntpstatus';
5264     + % param 'old_ntpstatus' => $dat_datas->{ntpstatus} unless param 'ntpstatus';
5265     + %= hidden_field 'old_ntpstatus'
5266     + %= radio_button ntpstatus => 'enabled'
5267     + <span class=label>
5268     + %=l 'dat_NTP_CONFIGURE_TITLE'
5269     + </span>
5270     + <br>
5271     + % if ($dat_datas->{ntpstatus} eq 'disabled') {
5272     +
5273     + %=l 'dat_NTP_ENABLE_DESC'
5274     + <br>
5275     + </p>
5276     + % } else {
5277     + %=l 'dat_NTP_CONFIGURE_DESC'
5278     + <br><br>
5279     + %=l 'dat_CURRENT_SETTING'
5280     + <span class=data>
5281     + %= $dat_datas->{now_string}
5282     + </span>
5283     + <br>
5284     + <span class=label>
5285     + %=l 'dat_NTP_SERVER'
5286     + </span><span class=data2>
5287     + %= text_field 'ntpServer' => $dat_datas->{ntpserver}, class => 'input'
5288     + </span>
5289     + </p>
5290     + % }
5291     + <p>
5292     + %= radio_button ntpstatus => 'disabled'
5293     + <span class=label>
5294     + %=l 'dat_NTP_DISABLE_TITLE'
5295     + </span>
5296     +
5297     + % if ($dat_datas->{ntpstatus} eq 'enabled') {
5298     +
5299     + <br><BR>
5300     + %=l 'dat_NTP_DISABLE_DESC'
5301     + </p>
5302     + % } else {
5303     + <br>
5304     + </p>
5305     + <p>
5306     + %=l 'dat_CURRENT_SETTING'
5307     + <span class=data2>
5308     + %= $dat_datas->{now_string}
5309     + </span>
5310     + <br>
5311     + <span class=label>
5312     + %=l 'dat_NEW_M/D/Y'
5313     + </span><span class=data2>
5314     + %= text_field 'month' => $dat_datas->{month}, class => 'input'
5315     + <!-- $q->popup_menu (-name => 'month', -values => [ 1..12 ],
5316     + -default => $monthdefault, -labels => \%monthlabels), -->
5317     + </span><span class=data2>
5318     + %= text_field 'day' => $dat_datas->{day}, class => 'input'
5319     + </span><span class=data2>
5320     + %= text_field 'year' => $dat_datas->{year}, class => 'input'
5321     + </span>
5322     + <br>
5323     + <span class=label>
5324     + %=l 'dat_NEW_H/M/S'
5325     + </span><span class=data2>
5326     + %= text_field 'hour' => $dat_datas->{hour}, class => 'input'
5327     + </span><span class=data2>
5328     + %= text_field 'minute' => $dat_datas->{minute}, class => 'input'
5329     + </span><span class=data2>
5330     + %= text_field 'second' => $dat_datas->{second}, class => 'input'
5331     + </span>
5332     + <br>
5333     + <span class=label>
5334     + %=l 'dat_AM/PM_AND_TZ'
5335     + </span><span class=data2>
5336     + %= select_field 'ampm' => [[AM => 'am'],[PM => 'pm']], class => 'input'
5337     + </span><span class=data2>
5338     + %= text_field 'timezone' => $dat_datas->{timezone}, class => 'input'
5339     + <!-- $q->popup_menu (-name => 'timezone', -values => \@zones,
5340     + -default => $timezonedefault))), -->
5341     + </span>
5342     + </p>
5343     + % }
5344     + <p>
5345     + <br>
5346     + %= submit_button "$btn", class => 'action'
5347     + </p>
5348     + % end
5349     +</div>
5350     +%end
5351     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/default.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/default.html.ep
5352     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/default.html.ep 1970-01-01 04:00:00.000000000 +0400
5353     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/default.html.ep 2019-06-11 21:15:24.000000000 +0400
5354     @@ -0,0 +1,39 @@
5355     +% layout 'default', title => 'Sme server 2 - Support', share_dir => './';
5356     +
5357     +% content_for 'head' => begin
5358     + %= include 'partials/_head'
5359     +% end
5360     +
5361     +% content_for 'header' => begin
5362     + %= include 'partials/_header'
5363     +% end
5364     +
5365     +% content_for 'info' => begin
5366     + %= include 'partials/_info'
5367     +% end
5368     +
5369     +% content_for 'navigation' => begin
5370     + %= include 'partials/_navig'
5371     +% end
5372     +
5373     +% content_for 'footer' => begin
5374     + %= include 'partials/_footer'
5375     +% end
5376     +
5377     +% content_for 'end' => begin
5378     + <div id="end" class="sme-copyrightbar">
5379     + content_end
5380     + </div>
5381     +% end
5382     +
5383     +% content_for 'module' => begin
5384     +<div id="module">
5385     + <p><%= $title %></p><br>
5386     + <br>
5387     + <%= $modul %>
5388     + <br>
5389     + <p>
5390     + %= link_to Initial => '/'
5391     + </p>
5392     +</div>
5393     +%end
5394     \ Pas de fin de ligne à la fin du fichier
5395     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/directory.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/directory.html.ep
5396     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/directory.html.ep 1970-01-01 04:00:00.000000000 +0400
5397     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/directory.html.ep 2019-10-22 23:55:20.000000000 +0400
5398     @@ -0,0 +1,88 @@
5399     +% layout 'default', title => "Sme server 2 - directory", share_dir => './';
5400     +
5401     +% content_for 'module' => begin
5402     +<div id="module">
5403     +
5404     + %if ($config->{debug} == 1) {
5405     + <p>
5406     + (DBG)route: <%= $c->current_route %><br>
5407     + (DBG)dir. access: <%= $dir_datas->{access}%><br>
5408     + </p>
5409     + %}
5410     +
5411     + <h3><%= $title %></h3>
5412     + <br>
5413     + <%= $modul %>
5414     + <% my $btn = l('SAVE');
5415     + %>
5416     +
5417     +
5418     + %= form_for 'directory' => (method => 'POST') => begin
5419     + <br>
5420     + <p>
5421     + <span class=label>
5422     + %= l('dir_LABEL_ROOT'), class => 'label'
5423     + </span> <span class=data>
5424     + %= $dir_datas->{root}, class => 'data'
5425     + </span>
5426     + </p>
5427     + <p>
5428     + %=l 'dir_DESC_DIRECTORY_ACCESS', class => 'desc'
5429     + <br>
5430     + <span class=label>
5431     + %=l 'dir_DIRECTORY_ACCESS', class => 'label'
5432     + </span><span class=data>
5433     + % param 'access' => $dir_datas->{access} unless param 'access';
5434     + %= select_field 'access' => [[ (l 'NETWORKS_ALLOW_LOCAL') => 'private'], [ (l 'NETWORKS_ALLOW_PUBLIC') => 'public']], class => 'input', id => 'access'
5435     + </span>
5436     + </p>
5437     + <p>
5438     + %=l 'dir_DESC_DEPARTMENT', class => 'desc'
5439     + <br><br>
5440     + <span class=label>
5441     + %=l 'dir_DEPARTMENT', class => 'label'
5442     + </span><span class=data>
5443     + %= text_field 'department' => $dir_datas->{department}, class => 'input'
5444     + </span>
5445     + </p>
5446     + <span class=label>
5447     + %=l 'dir_COMPANY', class => 'label'
5448     + </span><span class=data>
5449     + %= text_field 'company', $dir_datas->{company}, class => 'input'
5450     + </span>
5451     + </p>
5452     + <span class=label>
5453     + %=l 'dir_STREET', class => 'label'
5454     + </span><span class=data>
5455     + %= text_field 'street' => $dir_datas->{street}, class => 'input'
5456     + </span>
5457     + </p>
5458     + <span class=label>
5459     + %=l 'dir_CITY', class => 'label'
5460     + </span><span class=data>
5461     + %= text_field 'city', $dir_datas->{city}, class => 'input'
5462     + </span>
5463     + </p>
5464     + <span class=label>
5465     + %=l 'dir_PHONENUMBER', class => 'label'
5466     + </span><span class=data>
5467     + %= text_field 'phonenumber', $dir_datas->{phonenumber}, class => 'input'
5468     + </span>
5469     + </p>
5470     + <p>
5471     + %=l 'dir_DESC_EXISTING', class => 'desc'
5472     + <br><br>
5473     + <span class=label>
5474     + %=l 'dir_EXISTING', class => 'label'
5475     + </span><span class=data>
5476     + %= select_field 'existing'=> [[ (l 'dir_LEAVE') => 'leave'], [ (l 'dir_UPDATE') => 'update' ]], class => 'input'
5477     + </span>
5478     + </p>
5479     + <p>
5480     + <br>
5481     + %= submit_button "$btn", class => 'action'
5482     + </p>
5483     + % end
5484     +
5485     +</div>
5486     +%end
5487     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/exception_development.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/exception_development.html.ep
5488     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/exception_development.html.ep 1970-01-01 04:00:00.000000000 +0400
5489     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/exception_development.html.ep 2019-06-11 21:15:50.000000000 +0400
5490     @@ -0,0 +1,45 @@
5491     +% layout 'default', title => 'Sme server 2 - Error D', share_dir => '';
5492     +
5493     +% content_for 'head' => begin
5494     + %= include 'partials/_head'
5495     +% end
5496     +
5497     +% content_for 'header' => begin
5498     + %= include 'partials/_header'
5499     +% end
5500     +< !--
5501     +% content_for 'info' => begin
5502     + <!--%= include 'partials/_info'-->
5503     +% end
5504     +-- >
5505     +% content_for 'navigation' => begin
5506     + %= include 'partials/_navig'
5507     +% end
5508     +
5509     +< !--
5510     +% content_for 'footer' => begin
5511     + <!--%= include 'partials/_footer'-->
5512     +% end
5513     +-- >
5514     +
5515     +% content_for 'end' => begin
5516     + <div id="end" class="sme-copyrightbar">
5517     + content_end
5518     + </div>
5519     +% end
5520     +
5521     +% content_for 'module' => begin
5522     +<div id="central" class="sme-error">
5523     + <p><br>dev<br> Oups !!!
5524     + The page you were requesting
5525     + "<%= $self->req->url->path || '/' %>"
5526     + caused en exception !!
5527     + <br>dev<br>
5528     + </p>
5529     + <p>
5530     + %= link_to Back => '/'
5531     + </p>
5532     +
5533     +</div>
5534     +
5535     +% end
5536     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/initial.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/initial.html.ep
5537     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/initial.html.ep 1970-01-01 04:00:00.000000000 +0400
5538     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/initial.html.ep 2019-10-22 23:53:00.000000000 +0400
5539     @@ -0,0 +1,11 @@
5540     +% layout 'default', title => 'Sme server 2 - Initial', share_dir => '';
5541     +
5542     +% content_for 'module' => begin
5543     +<div id="central">
5544     + <h3><!-- % $c->l('initial_FORM_TITLE') %-->
5545     + <%= $title %></h3>
5546     + <br>
5547     + <br> <%= $modul %><br>
5548     +</div>
5549     +
5550     +% end
5551     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/layouts/default.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/layouts/default.html.ep
5552     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/layouts/default.html.ep 1970-01-01 04:00:00.000000000 +0400
5553     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/layouts/default.html.ep 2019-12-12 12:15:56.000000000 +0400
5554     @@ -0,0 +1,35 @@
5555     +<!DOCTYPE html
5556     + PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
5557     + "http://www.w3.org/TR/html4/loose.dtd">
5558     +<html>
5559     +
5560     +<head>
5561     +<title><%= $title %></title>
5562     + <link rev="made" href="mailto:bugs%40koozali.org">
5563     + <meta name="copyright" content="(head.tmpl)Copyright 2003-2004 Mitel Corporation">
5564     + <link rel="stylesheet" type="text/css" media="all" href='css/sme_core.css'>
5565     + <link rel="stylesheet" type="text/css" media="all" href='css/sme_main.css'>
5566     + <link rel="stylesheet" type="text/css" media="all" href='css/sme_menu.css'>
5567     + <link rel="stylesheet" type="text/css" media="all" href='css/styles.css'>
5568     + %= include 'partials/_head'
5569     +</head>
5570     +
5571     +<body>
5572     + <div id="header">
5573     + %= include 'partials/_header'
5574     + </div>
5575     +
5576     + %= include 'partials/_info'
5577     +
5578     + <div id="container">
5579     + <div id="navigation" class="col-md-3">
5580     + %= include 'partials/_navig'
5581     + </div>
5582     + <div id="main" class="col-md-9">
5583     + %= content 'module'
5584     + %= include 'partials/_footer'
5585     + </div>
5586     + </div>
5587     +
5588     +</body>
5589     +</html>
5590     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/manual.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/manual.html.ep
5591     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/manual.html.ep 1970-01-01 04:00:00.000000000 +0400
5592     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/manual.html.ep 2019-06-11 21:03:23.000000000 +0400
5593     @@ -0,0 +1,38 @@
5594     +% layout 'default', title => 'Sme server 2 - Manual', share_dir => '';
5595     +
5596     +% content_for 'head' => begin
5597     + %= include 'partials/_head'
5598     +% end
5599     +
5600     +% content_for 'header' => begin
5601     + %= include 'partials/_header'
5602     +% end
5603     +
5604     +% content_for 'info' => begin
5605     + %= include 'partials/_info'
5606     +% end
5607     +
5608     +% content_for 'navigation' => begin
5609     + %= include 'partials/_navig'
5610     +% end
5611     +
5612     +% content_for 'footer' => begin
5613     + %= include 'partials/_footer'
5614     +% end
5615     +
5616     +% content_for 'end' => begin
5617     + <div id="end" class="sme-copyrightbar">
5618     + content_end
5619     + </div>
5620     +% end
5621     +
5622     +% content_for 'module' => begin
5623     +<div id="central">
5624     + <p><h3> <%= $title %> </h3></p>
5625     + <%= $modul %><br>
5626     + <p>
5627     + %= link_to Initial => '/'
5628     + </p>
5629     +</div>
5630     +
5631     +% end
5632     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/module.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/module.html.ep
5633     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/module.html.ep 1970-01-01 04:00:00.000000000 +0400
5634     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/module.html.ep 2019-06-26 20:51:39.000000000 +0400
5635     @@ -0,0 +1,36 @@
5636     +% layout 'default', title => "Sme server 2 - module", share_dir => './';
5637     +
5638     +% content_for 'head' => begin
5639     + %= include 'partials/_head'
5640     +% end
5641     +
5642     +% content_for 'header' => begin
5643     + %= include 'partials/_header'
5644     +% end
5645     +
5646     +% content_for 'info' => begin
5647     + %= include 'partials/_info'
5648     +% end
5649     +
5650     +% content_for 'navigation' => begin
5651     + %= include 'partials/_navig'
5652     +% end
5653     +
5654     +% content_for 'footer' => begin
5655     + %= include 'partials/_footer'
5656     +% end
5657     +
5658     +% content_for 'end' => begin
5659     + <div id="end" class="sme-copyrightbar">
5660     + content_end
5661     + </div>
5662     +% end
5663     +
5664     +% content_for 'module' => begin
5665     +<div id="module">
5666     + <p> <%= $c->current_route %></p><br>
5667     + <h3><%= $title %></h3>
5668     + <%= $modul %>
5669     + <br>
5670     +</div>
5671     +%end
5672     \ Pas de fin de ligne à la fin du fichier
5673     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/not_found.development.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/not_found.development.html.ep
5674     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/not_found.development.html.ep 1970-01-01 04:00:00.000000000 +0400
5675     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/not_found.development.html.ep 2019-06-11 21:09:28.000000000 +0400
5676     @@ -0,0 +1,43 @@
5677     +% layout 'default', title => 'Sme server 2 - Error D', share_dir => '';
5678     +
5679     +% content_for 'head' => begin
5680     + %= include 'partials/_head'
5681     +% end
5682     +
5683     +% content_for 'header' => begin
5684     + %= include 'partials/_header'
5685     +% end
5686     +< !--
5687     +% content_for 'info' => begin
5688     + <!--%= include 'partials/_info'-->
5689     +% end
5690     +-- >
5691     +% content_for 'navigation' => begin
5692     + %= include 'partials/_navig'
5693     +% end
5694     +
5695     +< !--
5696     +% content_for 'footer' => begin
5697     + <!--%= include 'partials/_footer'-->
5698     +% end
5699     +-- >
5700     +
5701     +% content_for 'end' => begin
5702     + <div id="end" class="sme-copyrightbar">
5703     + content_end
5704     + </div>
5705     +% end
5706     +
5707     +% content_for 'module' => begin
5708     +<div id="central" class="sme-error">
5709     + <p><br>dev<br> Oups !!!
5710     + The page you were requesting
5711     + "<%= $self->req->url->path || '/' %>"
5712     + could not be found.
5713     + <br>dev<br>
5714     + %= link_to Initial => '/'
5715     + </p>
5716     +
5717     +</div>
5718     +
5719     +% end
5720     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/not_found.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/not_found.html.ep
5721     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/not_found.html.ep 1970-01-01 04:00:00.000000000 +0400
5722     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/not_found.html.ep 2019-06-11 21:08:59.000000000 +0400
5723     @@ -0,0 +1,10 @@
5724     +% layout 'default', title => 'Sme server 2 - Error P', share_dir => '';
5725     +<div id="central">
5726     + <p><br><br>
5727     + The page you were requesting
5728     + "<%= $self->req->url->path || '/' %>"
5729     + could not be found.
5730     + <br><br>
5731     + %= link_to Welcome => '/'
5732     + </p>
5733     +</div>
5734     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_footer.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_footer.html.ep
5735     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_footer.html.ep 1970-01-01 04:00:00.000000000 +0400
5736     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_footer.html.ep 2019-10-24 23:35:58.000000000 +0400
5737     @@ -0,0 +1,9 @@
5738     +<div id="footer">
5739     +<HR class="sme-copyrightbar">
5740     +<font class="sme-copyright">
5741     +SME Server <%= session 'releaseVersion' %> - <%= session 'lang' %><BR>
5742     +Copyright 1999-2006 Mitel Corporation<BR>
5743     +<%= session 'copyRight' %>
5744     +<BR>Copyright (c) 2013-2016 Koozali Foundation Inc.<BR>
5745     +</FONT>
5746     +</div>
5747     diff -urN 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
5748     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_header.html.ep 1970-01-01 04:00:00.000000000 +0400
5749     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_header.html.ep 2019-06-12 11:48:35.000000000 +0400
5750     @@ -0,0 +1,26 @@
5751     +<div id="header2" class="hd2">
5752     + <div id="h2l1">
5753     + <div id="h2e11">
5754     + <img src="images/smeserver_logo.jpg" height="40" alt="SME Server">
5755     + </div>
5756     + <div id="h2e12"><h4><a href="/server-manager2/">Server Manager II</a></h4>
5757     + </div>
5758     + </div>
5759     +
5760     + <div id="h2l2" class="infobar">
5761     + <div id="h2e21">
5762     + <b>admin@diore.koukoun.com</b>
5763     + </div>
5764     + <!--
5765     + <a target="main" href=
5766     + "< %= link_to ? => '/manual' % >"
5767     + > &nbsp;&nbsp;<b> ? </b>&nbsp;&nbsp;</a>&nbsp;</div>
5768     + -->
5769     + <div id="h2e22">
5770     + <a target="_parent" href="/server-manager2/manual">&nbsp;&nbsp;<b> ? </b>&nbsp;&nbsp;</a>&nbsp;
5771     + </div>
5772     + <div id="h2e23">
5773     + <a target="_parent" href="/server-manager2/logout"><b>Logout</b></a>&nbsp;
5774     + </div>
5775     + </div>
5776     +</div>
5777     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_head.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_head.html.ep
5778     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_head.html.ep 1970-01-01 04:00:00.000000000 +0400
5779     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_head.html.ep 2019-06-12 00:02:49.000000000 +0400
5780     @@ -0,0 +1 @@
5781     + <script type="text/javascript" src="js/navigation.js"></script>
5782     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_info.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_info.html.ep
5783     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_info.html.ep 1970-01-01 04:00:00.000000000 +0400
5784     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_info.html.ep 2019-06-26 13:29:59.000000000 +0400
5785     @@ -0,0 +1,11 @@
5786     +<div id="info">
5787     + <% if (! $c->session->{PwdSet} ) { %>
5788     + <div class="sme-error"><h5>
5789     + Warning: you have not yet changed the default system password.</h5></div>
5790     + <% } %>
5791     + <% if ( $c->session->{Unsafe} ) { %>
5792     + <div class="sme-error"><h5>
5793     + Warning: a reconfigure and reboot is required before proceeding! Failure to do so now
5794     + may leave your system in an unknown state!</h5></div>
5795     + <% } %>
5796     +</div>
5797     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_module.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_module.html.ep
5798     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_module.html.ep 1970-01-01 04:00:00.000000000 +0400
5799     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_module.html.ep 2019-06-11 21:07:28.000000000 +0400
5800     @@ -0,0 +1,42 @@
5801     +% layout 'default', title => 'Sme server 2 - Support', share_dir => '../';
5802     +
5803     +% content_for 'head' => begin
5804     + %= include 'partials/_head'
5805     +% end
5806     +
5807     +% content_for 'header' => begin
5808     + %= include 'partials/_header'
5809     +% end
5810     +
5811     +% content_for 'info' => begin
5812     + %= include 'partials/_info'
5813     +% end
5814     +
5815     +% content_for 'navigation' => begin
5816     + < %= $navigation % >
5817     + %= include 'partials/_navig'
5818     +% end
5819     +
5820     +% content_for 'footer' => begin
5821     + %= include 'partials/_footer'
5822     +% end
5823     +
5824     +% content_for 'end' => begin
5825     + <div id="end" class="sme-copyrightbar">
5826     + content_end
5827     + </div>
5828     +% end
5829     +
5830     +<div id="module">
5831     + <p> < %= $title % ></p><br>
5832     + <%= $modul %><br>
5833     +Et eu humo modo paratus quadrum turpis validus. Abico appellatio augue qui refero valetudo vereor. Augue diam eu genitus ille letalis nobis typicus veniam.
5834     +
5835     +Dignissim dolus loquor lucidus probo proprius tation torqueo. Abluo luptatum quidem. Acsi aliquip eu ex iaceo natu populus quae scisco si.
5836     +
5837     +Aliquam autem blandit decet in jus loquor quidne saluto te. Eu meus voco wisi. Abico defui euismod huic jumentum lobortis mos vulpes. Causa eros feugiat hendrerit illum luctus nimis quidem valetudo. Elit ex obruo tation usitas vero. Abigo dolus hendrerit huic iriure jumentum letalis lobortis melior nulla. Blandit causa immitto iriure metuo nutus pagus ut voco.
5838     + <br>
5839     + <p>
5840     + %= link_to Welcome => '/'
5841     + </p>
5842     +</div>
5843     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_navig.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_navig.html.ep
5844     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_navig.html.ep 1970-01-01 04:00:00.000000000 +0400
5845     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_navig.html.ep 2019-11-16 19:12:58.000000000 +0400
5846     @@ -0,0 +1,40 @@
5847     +<!--
5848     +!! Do N O T modify this file : it is automatically generated !!
5849     +-->
5850     + <div id="navigat">
5851     +
5852     + <div class='section'> Collaboration </div>
5853     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme1')" id='sme1' href='/server-manager/cgi-bin/useraccounts'>Users</a></div>
5854     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme2')" id='sme2' href='/server-manager/cgi-bin/groups'>Groups</a></div>
5855     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme3')" id='sme3' href='/server-manager2/quota'>Quotas</a></div>
5856     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme4')" id='sme4' href='/server-manager/cgi-bin/pseudonyms'>Pseudonyms</a></div>
5857     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme5')" id='sme5' href='/server-manager/cgi-bin/ibays'>Information bays</a></div>
5858     + <div class='section'> Administration </div>
5859     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme6')" id='sme6' href='/server-manager/cgi-bin/backup'>Backup or restore</a></div>
5860     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme7')" id='sme7' href='/server-manager/cgi-bin/viewlogfiles'>View log files</a></div>
5861     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme8')" id='sme8' href='/server-manager2/qmailanalog'>Mail log file analysis</a></div>
5862     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme9')" id='sme9' href='/server-manager/cgi-bin/reboot'>Reboot or shutdown</a></div>
5863     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme10')" id='sme10' href='/server-manager/cgi-bin/xt_geoip'>GeoIP IP filtering</a></div>
5864     + <div class='section'> Security </div>
5865     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme11')" id='sme11' href='/server-manager/cgi-bin/remoteaccess'>Remote access</a></div>
5866     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme12')" id='sme12' href='/server-manager/cgi-bin/localnetworks'>Local networks</a></div>
5867     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme13')" id='sme13' href='/server-manager/cgi-bin/portforwarding'>Port forwarding</a></div>
5868     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme14')" id='sme14' href='/server-manager2/proxy'>Proxy settings</a></div>
5869     + <div class='section'> Configuration </div>
5870     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme15')" id='sme15' href='/server-manager/cgi-bin/yum'>Software installer</a></div>
5871     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme16')" id='sme16' href='/server-manager2/datetime'>Date and time</a></div>
5872     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme17')" id='sme17' href='/server-manager2/workgroup'>Workgroup</a></div>
5873     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme18')" id='sme18' href='/server-manager2/directory'>Directory</a></div>
5874     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme19')" id='sme19' href='/server-manager2/printers'>Printers</a></div>
5875     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme20')" id='sme20' href='/server-manager/cgi-bin/hostentries'>Hostnames and addresses</a></div>
5876     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme21')" id='sme21' href='/server-manager/cgi-bin/domains'>Domains</a></div>
5877     + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme22')" id='sme22' href='/server-manager/cgi-bin/emailsettings'>E-mail</a></div>
5878     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme23')" id='sme23' href='/server-manager2/clamav'>Antivirus (ClamAV)</a></div>
5879     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme24')" id='sme24' href='/server-manager2/review'>Review configuration</a></div>
5880     + <div class='section'> Miscellaneous </div>
5881     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme25')" id='sme25' href='/server-manager2/support'>Support and licensing</a></div>
5882     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme26')" id='sme26' href='/server-manager2/starterwebsite'>Create starter web site</a></div>
5883     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme27')" id='sme27' href='/server-manager2/bugreport'>Report a bug</a></div>
5884     + <div class='section'> Unknown </div>
5885     + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme28')" id='sme28' href='/server-manager2/wbl'>wbl</a></div>
5886     + </div>
5887     \ Pas de fin de ligne à la fin du fichier
5888     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_add.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_add.html.ep
5889     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_add.html.ep 1970-01-01 04:00:00.000000000 +0400
5890     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_add.html.ep 2019-11-10 23:29:30.000000000 +0400
5891     @@ -0,0 +1,51 @@
5892     +<div id='prt_add'>
5893     +
5894     + % my $btn = l('ADD');
5895     +
5896     + %= form_for '/printers2' => (method => 'POST') => begin
5897     + <p>
5898     + <h2>
5899     + %=l 'prt_CREATE_NEW_PRINTER'
5900     + </h2>
5901     + <br><br>
5902     + %=l 'prt_CREATE_NEW_DESC'
5903     + </p>
5904     +
5905     + <p>
5906     + <span class=label>
5907     + %=l 'prt_PRINTER_NAME', class => 'label'
5908     + </span><span class=data>
5909     + %= text_field 'Name', class => 'input'
5910     + </span>
5911     + </p>
5912     +
5913     + <p>
5914     + <span class=label>
5915     + %=l 'DESCRIPTION_BRIEF', class => 'label'
5916     + </span><span class=data>
5917     + %= text_field 'Description', class => 'input'
5918     + </span>
5919     + </p>
5920     +
5921     + <p>
5922     + <span class=label>
5923     + %=l 'LOCATION', class => 'label'
5924     + </span><span class=data>
5925     + %= select_field 'Location' => [[ (l 'prt_LOCAL_PRINTER_0') => 'lp0'], [ l('prt_LOCAL_PRINTER_1') => 'lp1'], [l('prt_LOCAL_PRINTER_2') => 'lp2'], [ l('prt_NET_PRINTER') => 'remote' ], [l('prt_FIRST_USB_PRINTER') => 'usb/lp0'], [l('prt_SECOND_USB_PRINTER') => 'usb/lp1']], class => 'input'
5926     + <!-- param 'location' => $prt_datas->{location} unless param 'location';
5927     + -->
5928     + </span><span class=data>
5929     + select_field 'location2' => %$loclist, class => 'input'
5930     + </span>
5931     + </p>
5932     +
5933     + <p>
5934     + <br><br>
5935     + %= submit_button "$btn", class => 'action'
5936     + </p>
5937     +
5938     + %= hidden_field 'trt' => $prt_datas->{trt}
5939     +
5940     + % end
5941     +
5942     +</div>
5943     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_del.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_del.html.ep
5944     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_del.html.ep 1970-01-01 04:00:00.000000000 +0400
5945     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_del.html.ep 2019-11-09 23:58:55.000000000 +0400
5946     @@ -0,0 +1,32 @@
5947     +<div id='prt_del'>
5948     +
5949     +
5950     + % my $btn = l('REMOVE');
5951     + %= form_for '/printers2' => (method => 'POST') => begin
5952     + <p>
5953     + <h2>
5954     + %=l 'prt_REMOVE_PRINTER'
5955     + </h2>
5956     + <br><br>
5957     +
5958     + <%=l 'prt_ABOUT_TO_REMOVE'%> <%=$prt_datas->{printer}%>
5959     + (<%=$prt_datas->{description}%>)
5960     + <br>
5961     +
5962     + %=l 'prt_SPOOL_FILE_WARNING'
5963     + <br>
5964     +
5965     + %=l 'prt_ARE_YOU_SURE'
5966     + </p>
5967     +
5968     + <p>
5969     + <br>
5970     + %= submit_button "$btn", class => 'action'
5971     + </p>
5972     +
5973     + %= hidden_field 'trt' => $prt_datas->{trt}
5974     + %= hidden_field 'printer' => $prt_datas->{printer}
5975     +
5976     + % end
5977     +
5978     +</div>
5979     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_list.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_list.html.ep
5980     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_list.html.ep 1970-01-01 04:00:00.000000000 +0400
5981     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_list.html.ep 2019-12-16 18:52:34.919000000 +0400
5982     @@ -0,0 +1,71 @@
5983     +<div id='prt_list'>
5984     +
5985     +
5986     + % my $btn = l('prt_INITIAL_BTN');
5987     +
5988     + %= form_for '/printers' => (method => 'POST') => begin
5989     +
5990     + <p>
5991     + <br>
5992     + %= submit_button "$btn", class => 'action'
5993     + </p>
5994     +
5995     + <p>
5996     + <h2>
5997     + %=l 'prt_CURRENT_LIST'
5998     + </h2>
5999     + <br><br>
6000     + % my $numPrinters = @$printerDrivers;
6001     + % if ($numPrinters == 0){
6002     + %=l 'prt_NO_PRINTERS'
6003     + % } else {
6004     + <table class="sme-border"><tbody>
6005     + <tr>
6006     + <th class='sme-border'>
6007     + %=l 'NAME'
6008     + </th>
6009     + <th class='sme-border'>
6010     + %=l 'DESCRIPTION'
6011     + </th>
6012     + <th class='sme-border'>
6013     + %=l 'LOCATION'
6014     + </th>
6015     + <th class='sme-border'>
6016     + %=l 'prt_REMOTE_ADDRESS'
6017     + </th>
6018     + <th class='sme-border'>
6019     + %=l 'prt_REMOTE_NAME'
6020     + </th>
6021     + <th class='sme-border'>
6022     + %=l 'ACTION'
6023     + </th>
6024     + </tr>
6025     + % foreach my $printer (sort @$printerDrivers)
6026     + % {
6027     + % my $address = ($printer->prop('Location') eq 'remote')
6028     + % ? $printer->prop('Address') : 'N/A';
6029     + % my $remoteName = ($printer->prop('Location') eq 'remote')
6030     + % ? $printer->prop('RemoteName') : 'N/A';
6031     + % $remoteName = 'raw' unless ($remoteName);
6032     + <tr>
6033     + %= t td => (class => 'sme-border') => $printer->key
6034     + %= t td => (class => 'sme-border') => $printer->prop('Description')
6035     + %= t td => (class => 'sme-border') => $printer->prop('Location')
6036     + %= t td => (class => 'sme-border') => $address
6037     + %= t td => (class => 'sme-border') => $remoteName
6038     + <!-- = t td => link_to l 'REMOVE' => url_for("/printers/delete/$printer->key")
6039     + <td><a href="/server-manager2/printdel/<%= $printer->key%>"><%=l 'REMOVE'%></a></td>
6040     + -->
6041     + <td class='sme-border'><a href="printdel?trt=DEL&printer=<%= $printer->key%>"><%=l 'REMOVE'%></a></td>
6042     + </tr>
6043     + % }
6044     + </tbody>
6045     + </table>
6046     + <%} %>
6047     + </p>
6048     +
6049     + %= hidden_field 'trt' => $prt_datas->{trt}
6050     +
6051     + % end
6052     +
6053     +</div>
6054     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_net.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_net.html.ep
6055     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_net.html.ep 1970-01-01 04:00:00.000000000 +0400
6056     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_net.html.ep 2019-11-10 00:45:21.000000000 +0400
6057     @@ -0,0 +1,46 @@
6058     +<div id='prt_net'>
6059     +
6060     + % my $btn = l('ADD');
6061     +
6062     + %= form_for '/printers2' => (method => 'POST') => begin
6063     + <p>
6064     + <h2>
6065     + %=l 'prt_CREATE_NETWORK_PRINTER'
6066     + </h2>
6067     +
6068     + <br><br>
6069     + %=l 'prt_CREATE_NETWORK_DESC'
6070     + </p>
6071     +
6072     + <p>
6073     + <span class=label>
6074     + %=l 'prt_HOSTNAME_OR_IP', class => 'label'
6075     + </span><span class=data>
6076     + %= text_field 'Address', class => 'input'
6077     + </span>
6078     + </p>
6079     +
6080     + <p>
6081     + <span class=label>
6082     + %=l 'prt_REMOTE_NAME_DESC', class => 'label'
6083     + </span><span class=data>
6084     + %= text_field 'RemoteName' => 'raw', class => 'input'
6085     + </span>
6086     + </p>
6087     +
6088     + < field id="address" type="text" validation="hostname_or_ip" >
6089     + < field id="remoteName" type="text" value="raw" validation="nonblank" >
6090     +
6091     + <p>
6092     + <br><br>
6093     + %= submit_button "$btn", class => 'action'
6094     + </p>
6095     +
6096     + %= hidden_field 'trt' => $prt_datas->{trt}
6097     + %= hidden_field 'Name' => $prt_datas->{name}
6098     + %= hidden_field 'Description' => $prt_datas->{description}
6099     + %= hidden_field 'Location' => $prt_datas->{location}
6100     +
6101     + % end
6102     +
6103     +</div>
6104     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_quo_list.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_quo_list.html.ep
6105     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_quo_list.html.ep 1970-01-01 04:00:00.000000000 +0400
6106     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_quo_list.html.ep 2019-11-14 14:13:49.000000000 +0400
6107     @@ -0,0 +1,69 @@
6108     +<div id='quo_list'>
6109     +
6110     + <p>
6111     + % my $modul = $c->render_to_string(inline => $c->l('quo_QUOTA_DESC'));
6112     + %= $modul
6113     +
6114     + <h3>
6115     + %=l 'quo_CURRENT_USAGE_AND_SETTINGS'
6116     + </h3>
6117     +
6118     + <br>
6119     + % my $numUsers = @$userAccounts;
6120     + % if ($numUsers == 0){
6121     + %=l 'quo_ACCOUNT_USER_NONE'
6122     + % } else {
6123     +
6124     + % my $limit = l('quo_LIMIT_WITH_GRACE_MB'); $limit =~ s#(graceX)#<br>$1#;
6125     + % my $absolute = l('quo_ABS_LIMIT_MB'); $absolute =~ s#(limitX)#<br>$1#;
6126     + % my $current = l('quo_CURRENT_USAGE'); $current =~ s#(usageX)#<br>$1#;
6127     +
6128     + <table class="sme-border"><tbody>
6129     + <tr>
6130     + <th class='sme-border'>
6131     + %=l 'ACCOUNT'
6132     + </th>
6133     + <th class='sme-border'>
6134     + %=l 'USER_NAME'
6135     + </th>
6136     + <th class='sme-border'>
6137     + %= $limit
6138     + </th>
6139     + <th class='sme-border'>
6140     + %= $absolute
6141     + </th>
6142     + <th class='sme-border'>
6143     + %= $current
6144     + </th>
6145     + <th class='sme-border'>
6146     + %=l 'ACTION'
6147     + </th>
6148     + </tr>
6149     +
6150     + % foreach my $user (sort @$userAccounts)
6151     + % {
6152     + % my $uid = getpwnam($user->key);
6153     + % unless ($uid) {
6154     + % warn($self->localise('COULD_NOT_GET_UID'),$user->key);
6155     + % next;
6156     + % }
6157     + % my $name = $user->prop("FirstName")." ".$user->prop("LastName");
6158     + % my $dev = Quota::getqcarg('/home/e-smith/files');
6159     + % my ($bc, $bs, $bh, $bt, $ic, $is, $ih, $it) = Quota::query($dev, $uid);
6160     + <tr>
6161     + %= t td => (class => 'sme-border') => $user->key
6162     + %= t td => (class => 'sme-border') => $name
6163     + %= t td => (class => 'sme-border') => sprintf("%.2f", $bs / 1024 )
6164     + %= t td => (class => 'sme-border') => sprintf("%.2f", $bh / 1024 )
6165     + %= t td => (class => 'sme-border') => sprintf("%.2f", $bc / 1024 )
6166     + <td class='sme-border'><a href="quotaupd?trt=UPD&user=<%= $user->key%>"><%=l 'MODIFY'%></a></td>
6167     + </tr>
6168     + % }
6169     + </tbody>
6170     + </table>
6171     + <%} %>
6172     + </p>
6173     +
6174     + %= hidden_field 'trt' => $quo_datas->{trt}
6175     +
6176     +</div>
6177     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_quo_upd.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_quo_upd.html.ep
6178     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_quo_upd.html.ep 1970-01-01 04:00:00.000000000 +0400
6179     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_quo_upd.html.ep 2019-11-14 14:12:20.000000000 +0400
6180     @@ -0,0 +1,98 @@
6181     +<div id='quo_upd'>
6182     +
6183     + % my $btn = l('SAVE');
6184     +
6185     + %= form_for '/quota2' => (method => 'POST') => begin
6186     + <p>
6187     + <h2>
6188     + %=l 'quo_MODIFY_USER_TITLE'
6189     + </h2>
6190     + </p>
6191     +
6192     + % my $userid = $quo_datas->{user};
6193     + % my $user = $quo_datas->{userRec};
6194     +<!--
6195     + for my $user @$userAccounts
6196     + {
6197     + unless ( $user->key eq $userid) {
6198     + warn(l('USER_DIFFERENT'),$user->key);
6199     + next;
6200     + }
6201     + }
6202     +-->
6203     + % my $uid = getpwnam($user->key);
6204     + % unless ($uid) {
6205     + % warn(l('COULD_NOT_GET_UID'),$user->key);
6206     + % next;
6207     + % }
6208     +
6209     + % my $name = $user->prop("FirstName") . " " . $user->prop("LastName");
6210     + % my $dev = Quota::getqcarg('/home/e-smith/files');
6211     + % my ($bc, $bs, $bh, $bt, $ic, $is, $ih, $it) = Quota::query($dev, $uid);
6212     +
6213     + <p>
6214     + %=l 'quo_USER'
6215     + %= "$name (\"$userid\")"
6216     + %=l 'quo_CURRENTLY_HAS'
6217     + %= $ic
6218     + %=l 'quo_FILES'
6219     + %=l 'quo_OCCUPYING'
6220     + %= $bc
6221     + %=l 'quo_MEGABYTES'
6222     + </p>
6223     +
6224     + <p>
6225     + %=l 'quo_INSTRUCTIONS'
6226     + </p>
6227     +
6228     + <p>
6229     + <span class=label>
6230     + %=l 'quo_USER', class => 'label'
6231     + </span><span class=data>
6232     + %= $name, class => 'input'
6233     + </span>
6234     + </p>
6235     +
6236     + <p>
6237     + <span class=label>
6238     + %=l 'quo_LIMIT_WITH_GRACE', class => 'label'
6239     + </span><span class=data>
6240     + %= text_field 'Soft', class => 'input'
6241     + </span>
6242     + </p>
6243     +
6244     + <p>
6245     + <span class=label>
6246     + %=l 'quo_ABS_LIMIT', class => 'label'
6247     + </span><span class=data>
6248     + %= text_field 'Hard', class => 'input'
6249     + </span>
6250     + </p>
6251     +
6252     + <p>
6253     + <br><br>
6254     + %= submit_button "$btn", class => 'action'
6255     + </p>
6256     +
6257     + %= hidden_field 'trt' => $quo_datas->{trt}
6258     +
6259     + % end
6260     +
6261     +</div>
6262     +
6263     +<!--
6264     + $q->Tr (esmith::cgi::genCell ($q, $self->localise("USER_NAME")),
6265     + esmith::cgi::genCell ($q, $name)),
6266     + $q->Tr (esmith::cgi::genCell ($q, $self->localise('LIMIT_WITH_GRACE')),
6267     + esmith::cgi::genCell ($q,
6268     + $q->textfield (-name => 'soft',
6269     + -override => 1,
6270     + -default => $self->toBestUnit($bs),
6271     + -size => 12))),
6272     + $q->Tr (esmith::cgi::genCell ($q, $self->localise('ABS_LIMIT')),
6273     + esmith::cgi::genCell ($q,
6274     + $q->textfield (-name => 'hard',
6275     + -override => 1,
6276     + -default => $self->toBestUnit($bh),
6277     + -size => 12))));
6278     +-->
6279     \ Pas de fin de ligne à la fin du fichier
6280     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_black.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_black.html.ep
6281     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_black.html.ep 1970-01-01 04:00:00.000000000 +0400
6282     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_black.html.ep 2019-07-09 23:43:39.000000000 +0400
6283     @@ -0,0 +1,55 @@
6284     +<div>
6285     +
6286     + <% my $btn = l('SAVE'); %>
6287     + %= form_for 'wbl2' => (method => 'POST') => begin
6288     +
6289     + %= hidden_field 'trt' => $wbl_datas->{trt}
6290     +
6291     + %=l 'wbl_BLACK_TITLE'
6292     +
6293     + <p>
6294     + %=l 'wbl_BADHELO_DESCRIPTION'
6295     + <br><br>
6296     + <span class=label>
6297     + %=l 'wbl_BADHELO_LABEL'
6298     + </span><span class=data2>
6299     + %= text_area 'badhelo' => (cols => 40) => begin
6300     + % for (@{ stash('badhelo') }) {
6301     + %= $_
6302     + %}
6303     + %end
6304     + </span>
6305     + </p>
6306     +<br>
6307     + <p>
6308     + %=l 'wbl_BADMAILFROM_DESCRIPTION'
6309     + <br><br>
6310     + <span class=label>
6311     + %=l 'wbl_BADMAILFROM_LABEL'
6312     + </span><span class=data2>
6313     + %= text_area 'badmailfrom' => (cols => 40) => begin
6314     + % for (@{ stash('badmailfrom') }) {
6315     + %= $_
6316     + % }
6317     + %end
6318     + </span>
6319     + </p>
6320     +<br>
6321     + <p>
6322     + %=l 'wbl_BLACKLISTFROM_DESCRIPTION'
6323     + <br><br>
6324     + <span class=label>
6325     + %=l 'wbl_BLACKLISTFROM_LABEL'
6326     + </span><span class=data2>
6327     + %= text_area 'blacklistfrom' => (cols => 40) => begin
6328     + % for (@{ stash('blacklistfrom') }) {
6329     + %= $_
6330     + % }
6331     + %end
6332     + </span>
6333     + </p>
6334     +<br>
6335     + %= submit_button "$btn", class => 'action'
6336     + %end
6337     +
6338     +</div>
6339     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_choice.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_choice.html.ep
6340     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_choice.html.ep 1970-01-01 04:00:00.000000000 +0400
6341     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_choice.html.ep 2019-07-09 17:00:45.000000000 +0400
6342     @@ -0,0 +1,29 @@
6343     +<div id='wbl_choice'>
6344     +
6345     + <% my $btn = l('NEXT'); %>
6346     + %= form_for 'wbl' => (method => 'POST') => begin
6347     + <p>
6348     + <span class=label>
6349     + %=l 'wbl_RBL_LIST_DESCRIPTION'
6350     + </span>
6351     + <br>
6352     +
6353     + <span class=label>
6354     + %=l 'wbl_BLACK_LIST_DESCRIPTION'
6355     + </span><span class=data>
6356     + % param 'list' => $wbl_datas->{list} unless param 'list';
6357     + %= select_field 'list' => [ @{ stash('list') }], class => 'input'
6358     + </span>
6359     + <br>
6360     +
6361     + <span class=label>
6362     + %=l 'wbl_WHITE_LIST_DESCRIPTION'
6363     + </span>
6364     + </p>
6365     +
6366     + <p>
6367     + <br>
6368     + %= submit_button "$btn", class => 'action'
6369     + </p>
6370     + %end
6371     +</div>
6372     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_rbl.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_rbl.html.ep
6373     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_rbl.html.ep 1970-01-01 04:00:00.000000000 +0400
6374     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_rbl.html.ep 2019-07-09 21:15:17.000000000 +0400
6375     @@ -0,0 +1,61 @@
6376     +<div>
6377     +
6378     + <% my $btn = l('SAVE'); %>
6379     + %= form_for 'wbl2' => (method => 'POST') => begin
6380     +
6381     + %= hidden_field 'trt' => $wbl_datas->{trt}
6382     +
6383     + <p>
6384     + %=l 'wbl_DNSBL_DESCRIPTION'
6385     + <br>
6386     + <span class=label>
6387     + %=l 'wbl_DNSBL_LABEL'
6388     + </span><span class=data2>
6389     + % param 'dnsbl' => $wbl_datas->{dnsbl} unless param 'dnsbl';
6390     + %= select_field 'dnsbl' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input'
6391     + </span>
6392     + </p>
6393     +
6394     + <p>
6395     + %=l 'wbl_RBLLIST_DESCRIPTION'
6396     + <br><br>
6397     + <span class=label>
6398     + %=l 'wbl_RBLLIST_LABEL'
6399     + </span><span class=data2>
6400     + %= text_area 'rbllist' => (cols => 40) => begin
6401     + % for (@{ stash('rbllist') }) {
6402     + %= $_
6403     + %}
6404     + %end
6405     + </span>
6406     + </p>
6407     +<br>
6408     + <p>
6409     + %=l 'wbl_RHSBL_DESCRIPTION'
6410     + <br>
6411     + <span class=label>
6412     + %=l 'wbl_RHSBL_LABEL'
6413     + </span><span class=data2>
6414     + % param 'rhsbl' => $wbl_datas->{rhsbl} unless param 'rhsbl';
6415     + %= select_field 'rhsbl' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input'
6416     + </span>
6417     + </p>
6418     +
6419     + <p>
6420     + %=l 'wbl_SBLLIST_DESCRIPTION'
6421     + <br><br>
6422     + <span class=label>
6423     + %=l 'wbl_SBLLIST_LABEL'
6424     + </span><span class=data2>
6425     + %= text_area 'sbllist' => (cols => 40) => begin
6426     + % for (@{ stash('sbllist') }) {
6427     + %= $_
6428     + % }
6429     + %end
6430     + </span>
6431     + </p>
6432     +<br>
6433     + %= submit_button "$btn", class => 'action'
6434     + %end
6435     +
6436     +</div>
6437     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_white.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_white.html.ep
6438     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_white.html.ep 1970-01-01 04:00:00.000000000 +0400
6439     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_wbl_white.html.ep 2019-07-09 23:39:39.000000000 +0400
6440     @@ -0,0 +1,69 @@
6441     +<div>
6442     +
6443     + <% my $btn = l('SAVE'); %>
6444     + %= form_for 'wbl2' => (method => 'POST') => begin
6445     +
6446     + %= hidden_field 'trt' => $wbl_datas->{trt}
6447     +
6448     + %=l 'wbl_WHITE_TITLE'
6449     +
6450     + <p>
6451     + %=l 'wbl_WHITELISTHOSTS_DESCRIPTION'
6452     + <br><br>
6453     + <span class=label>
6454     + %=l 'wbl_WHITELISTHOSTS_LABEL'
6455     + </span><span class=data2>
6456     + %= text_area 'whitelisthosts' => (cols => 40) => begin
6457     + % for (@{ stash('whitelisthosts') }) {
6458     + %= $_
6459     + %}
6460     + %end
6461     + </span>
6462     + </p>
6463     +<br>
6464     + <p>
6465     + %=l 'wbl_WHITELISTHELO_DESCRIPTION'
6466     + <br><br>
6467     + <span class=label>
6468     + %=l 'wbl_WHITELISTHELO_LABEL'
6469     + </span><span class=data2>
6470     + %= text_area 'whitelisthelo' => (cols => 40) => begin
6471     + % for (@{ stash('whitelisthelo') }) {
6472     + %= $_
6473     + % }
6474     + %end
6475     + </span>
6476     + </p>
6477     +<br>
6478     + <p>
6479     + %=l 'wbl_WHITELISTSENDERS_DESCRIPTION'
6480     + <br><br>
6481     + <span class=label>
6482     + %=l 'wbl_WHITELISTSENDERS_LABEL'
6483     + </span><span class=data2>
6484     + %= text_area 'whitelistsenders' => (cols => 40) => begin
6485     + % for (@{ stash('whitelistsenders') }) {
6486     + %= $_
6487     + % }
6488     + %end
6489     + </span>
6490     + </p>
6491     +<br>
6492     + <p>
6493     + %=l 'wbl_WHITELISTFROM_DESCRIPTION'
6494     + <br><br>
6495     + <span class=label>
6496     + %=l 'wbl_WHITELISTFROM_LABEL'
6497     + </span><span class=data2>
6498     + %= text_area 'whitelistfrom' => (cols => 40) => begin
6499     + % for (@{ stash('whitelistfrom') }) {
6500     + %= $_
6501     + % }
6502     + %end
6503     + </span>
6504     + </p>
6505     +<br>
6506     + %= submit_button "$btn", class => 'action'
6507     + %end
6508     +
6509     +</div>
6510     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/printers.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/printers.html.ep
6511     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/printers.html.ep 1970-01-01 04:00:00.000000000 +0400
6512     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/printers.html.ep 2019-11-07 20:22:07.000000000 +0400
6513     @@ -0,0 +1,29 @@
6514     +% layout 'default', title => "Sme server 2 - printers", share_dir => './';
6515     +
6516     +% content_for 'module' => begin
6517     +<div id="module">
6518     +
6519     + % if ($config->{debug} == 1) {
6520     + <p>
6521     + (DBG)route: <%= $c->current_route %><br>
6522     + (DBG)trt: <%= $prt_datas->{trt} %><br>
6523     + </p>
6524     + % }
6525     +
6526     + <h1><%= $title%></h1>
6527     +
6528     + %= $modul
6529     +
6530     + % if ($prt_datas->{trt} eq 'ADD') {
6531     + %= include 'partials/_prt_add'
6532     + %} elsif ($prt_datas->{trt} eq 'DEL') {
6533     + %= include 'partials/_prt_del'
6534     + %} elsif ($prt_datas->{trt} eq 'NET') {
6535     + %= include 'partials/_prt_net'
6536     + %} else {
6537     + %= include 'partials/_prt_list'
6538     + %}
6539     +
6540     +</div>
6541     +%end
6542     +
6543     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/proxy.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/proxy.html.ep
6544     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/proxy.html.ep 1970-01-01 04:00:00.000000000 +0400
6545     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/proxy.html.ep 2019-10-22 23:54:05.000000000 +0400
6546     @@ -0,0 +1,43 @@
6547     +% layout 'default', title => "Sme server 2 - proxy", share_dir => './';
6548     +
6549     +% content_for 'module' => begin
6550     +<div id="module">
6551     + %if ($config->{debug} == 1) {
6552     + <p>(DBG)route: <%= $c->current_route %><br>
6553     + (DBG)ht stat: <%= $prx_datas->{http_proxy_status}%> <br>
6554     + (DBG)sm stat: <%=$prx_datas->{smtp_proxy_status} %>
6555     + </p>
6556     + %}
6557     + <h3><%= $title %></h3>
6558     + <br>
6559     + <%= $modul %>
6560     + <% my $btn = l('SAVE'); %>
6561     +
6562     + %= form_for 'proxy' => (method => 'POST') => begin
6563     + <p>
6564     + %=l 'prx_HTTP_PROXY_STATUS_DESCRIPTION'
6565     + <br><br>
6566     + <span class=label>
6567     + %=l 'prx_HTTP_PROXY_STATUS_LABEL'
6568     + </span><span class=data>
6569     + % param 'http_proxy_status' => $prx_datas->{http_proxy_status} unless param 'http_proxy_status';
6570     + %= select_field 'http_proxy_status' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input', id => 'htproxstat'
6571     + </span>
6572     + </p>
6573     + %if ( $prx_datas->{smtp_proxy_status} ) {
6574     + <p>
6575     + %=l 'prx_SMTP_PROXY_STATUS_DESCRIPTION'
6576     + <br><br>
6577     + <span class=label>
6578     + %=l 'prx_SMTP_PROXY_STATUS_LABEL'
6579     + </span><span class=data>
6580     + % param 'smtp_proxy_status' => $prx_datas->{smtp_proxy_status} unless param 'smtp_proxy_status';
6581     + %= select_field 'smtp_proxy_status' => [[ (l 'ENABLED') => 'transparent'], [ (l 'DISABLED') => 'disabled'], [ (l 'prx_BLOCKED') => 'blocked']], class => 'input', id => 'smproxstat', default => $prx_datas->{smtp_proxy_status}
6582     + <br><br>
6583     + </span>
6584     + </p>
6585     + %}
6586     + %= submit_button "$btn", class => 'action'
6587     + % end
6588     +</div>
6589     +%end
6590     \ Pas de fin de ligne à la fin du fichier
6591     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/qmailanalog.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/qmailanalog.html.ep
6592     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/qmailanalog.html.ep 1970-01-01 04:00:00.000000000 +0400
6593     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/qmailanalog.html.ep 2019-10-22 23:53:36.000000000 +0400
6594     @@ -0,0 +1,27 @@
6595     +% layout 'default', title => "Sme server 2 - qmailanalog", share_dir => './';
6596     +
6597     +% content_for 'module' => begin
6598     +<div id="module">
6599     + %if ($config->{debug} == 1) {
6600     + <p>
6601     + (DBG)route: <%= $c->current_route %><br>
6602     + </p>
6603     + %}
6604     + <h1><%= $title %></h1>
6605     + <br>
6606     + <%= $modul %>
6607     + <% my $btn = l('GENERATE_REPORT'); %>
6608     +
6609     + %= form_for 'qmailanalog' => (method => 'POST') => begin
6610     + <p>
6611     + <span class=label>
6612     + %=l 'qma_REPORT_TYPE'
6613     + </span><span class=data>
6614     + <!-- (to be sorted) param 'report_type' => =l 'qma_BASIC_STATS' -->
6615     + %= select_field 'report_type' => [[ (l 'qma_LIST_OUTGOING') => 'qmail-qread' ],[ (l 'qma_SUMMARIZE_QUEUE') => 'qmail-qstat' ],[ (l 'qma_SUCCESSFUL_DELIVERY_DELAY') => 'zddist' ],[ (l 'qma_REASONS_DEFERRAL') => 'zdeferrals' ],[ (l 'qma_REASONS_FAILURE') => 'zfailures' ],[ (l 'qma_BASIC_STATS') => 'zoverall' ],[ (l 'qma_RECIP_STATS') => 'zrecipients' ],[ (l 'qma_RECIP_HOSTS') => 'zrhosts' ],[ (l 'qma_RECIP_ORDERED') => 'zrxdelay' ],[ (l 'qma_SENDER_STATS') => 'zsenders' ],[ (l 'qma_SENDMAIL_STYLE') => 'zsendmail' ],[ (l 'qma_REASONS_SUCCESS') => 'zsuccesses' ],[ (l 'qma_SENDER_UIDS') => 'zsuids' ]]
6616     + </span>
6617     + </p>
6618     + %= submit_button "$btn", class => 'action'
6619     + % end
6620     +</div>
6621     +%end
6622     \ Pas de fin de ligne à la fin du fichier
6623     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/quota.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/quota.html.ep
6624     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/quota.html.ep 1970-01-01 04:00:00.000000000 +0400
6625     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/quota.html.ep 2019-11-13 12:18:20.000000000 +0400
6626     @@ -0,0 +1,25 @@
6627     +% layout 'default', title => "Sme server 2 - quota", share_dir => './';
6628     +
6629     +% content_for 'module' => begin
6630     +<div id="module">
6631     +
6632     + % if ($config->{debug} == 1) {
6633     + <p>
6634     + (DBG)route: <%= $c->current_route %><br>
6635     + (DBG)trt: <%= $quo_datas->{trt} %><br>
6636     + </p>
6637     + % }
6638     +
6639     + <h1><%= $title%></h1>
6640     +
6641     + %= $modul
6642     +
6643     + % if ($quo_datas->{trt} eq 'UPD') {
6644     + %= include 'partials/_quo_upd'
6645     + %} else {
6646     + %= include 'partials/_quo_list'
6647     + %}
6648     +
6649     +</div>
6650     +%end
6651     +
6652     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/review.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/review.html.ep
6653     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/review.html.ep 1970-01-01 04:00:00.000000000 +0400
6654     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/review.html.ep 2019-10-22 23:56:40.000000000 +0400
6655     @@ -0,0 +1,165 @@
6656     +% layout 'default', title => 'Sme server 2 - Review', share_dir => '';
6657     +
6658     +% content_for 'module' => begin
6659     +<div id="central">
6660     + <p><h3> <%= $title %> </h3></p>
6661     + <%= $modul %><br><br>
6662     +
6663     + %= form_for 'review' => begin
6664     + <b>
6665     + %=l 'rvw_NETWORKING_PARAMS'
6666     + </b><br><br>
6667     +
6668     + <b>
6669     + %=l 'rvw_SERVER_MODE'
6670     + </b>
6671     + %= $rvw_datas->{servermode}
6672     + <br>
6673     +
6674     + <b>
6675     + %=l 'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK'
6676     + </b>
6677     + %= $rvw_datas->{localip}
6678     + <br>
6679     +
6680     + % if ( $rvw_datas->{publicip} ) {
6681     + <b>
6682     + %=l 'rvw_INTERNET_VISIBLE_ADDRESS'
6683     + </b>
6684     + %= $rvw_datas->{publicip}
6685     + <br>
6686     + % }
6687     +
6688     + <b>
6689     + %=l 'rvw_GATEWAY'
6690     + </b>
6691     + %= $rvw_datas->{gateway}
6692     + %= $rvw_datas->{serveronly}
6693     + <br>
6694     +
6695     + <b>
6696     + %=l 'rvw_ADDITIONAL_LOCAL_NETWORKS'
6697     + </b>
6698     + %= $rvw_datas->{addlocalnetworks}
6699     + <br>
6700     +
6701     + <b>
6702     + %=l 'rvw_DHCP_SERVER'
6703     + </b>
6704     + %= $rvw_datas->{dhcpserver}
6705     + <br>
6706     + <br><br>
6707     + <b>
6708     + %=l 'rvw_SERVER_NAMES'
6709     + </b><br><br>
6710     +
6711     + <b>
6712     + %=l 'rvw_DNS_SERVER'
6713     + </b>
6714     + %= $rvw_datas->{dnsserver}
6715     + <br>
6716     +
6717     + <b>
6718     + %=l 'rvw_WEB_SERVER'
6719     + </b>
6720     + %= $rvw_datas->{webserver}
6721     + <br>
6722     +
6723     + <b>
6724     + %=l 'rvw_PROXY_SERVER'
6725     + </b>
6726     + %= $rvw_datas->{proxyserver}
6727     + <br>
6728     +
6729     + <b>
6730     + %=l 'rvw_FTP_SERVER'
6731     + </b>
6732     + %= $rvw_datas->{ftpserver}
6733     + <br>
6734     +
6735     + <b>
6736     + %=l 'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS'
6737     + </b>
6738     + %= $rvw_datas->{smtpserver}
6739     + <br>
6740     +
6741     + <br><br>
6742     + <b>
6743     + %=l 'rvw_DOMAIN_INFORMATION'
6744     + </b><br><br>
6745     +
6746     + <b>
6747     + %=l 'rvw_PRIMARY_DOMAIN'
6748     + </b>
6749     + %= $rvw_datas->{domainname}
6750     + <br>
6751     +
6752     + <b>
6753     + %=l 'rvw_VIRTUAL_DOMAINS'
6754     + </b>
6755     + %= $rvw_datas->{virtualdomains}
6756     + <br>
6757     +
6758     + <b>
6759     + %=l 'rvw_PRIMARY_WEB_SITE'
6760     + </b>
6761     + %= $rvw_datas->{primarywebsite}
6762     + <br>
6763     +
6764     + <b>
6765     + %=l 'rvw_SERVER_MANAGER'
6766     + </b>
6767     + %= $rvw_datas->{servermanager}
6768     + <br>
6769     +
6770     + <b>
6771     + %=l 'rvw_USER_PASSWORD_PANEL'
6772     + </b>
6773     + %= $rvw_datas->{usermanager}
6774     + <br>
6775     +
6776     + <b>
6777     + %=l 'rvw_EMAIL_ADDRESSES'
6778     + </b>
6779     + %= $rvw_datas->{emailaddresses}
6780     + <br>
6781     +
6782     + % end
6783     +
6784     +</div>
6785     +
6786     +% end
6787     +
6788     +<!--
6789     +
6790     + print_row($self,'LOCAL_IP_ADDRESS_SUBNET_MASK', get_value($self,'LocalIP').'/'.get_value($self,'LocalNetmask') );
6791     + my $publicIP = $self->get_public_ip_address;
6792     + if ($publicIP)
6793     + {
6794     + $self->print_row('INTERNET_VISIBLE_ADDRESS', $publicIP);
6795     + }
6796     +
6797     + print_gateway_stanza($self);
6798     + print_serveronly_stanza($self);
6799     + print_row($self,'ADDITIONAL_LOCAL_NETWORKS', get_local_networks($self) );
6800     + print_dhcp_stanza($self);
6801     +
6802     + print_header($self, 'SERVER_NAMES' );
6803     + print_row($self,'DNS_SERVER', get_value('','LocalIP') );
6804     + print_row($self,'WEB_SERVER', 'www.'.get_local_domain() );
6805     +
6806     + my $port = $db->get_prop("squid", "TransparentPort") || 3128;
6807     + print_row($self,'PROXY_SERVER', 'proxy.'.get_local_domain().":$port" );
6808     +
6809     + print_row($self,'FTP_SERVER', 'ftp.'.get_local_domain() );
6810     + print_row($self,'SMTP_POP_AND_IMAP_MAIL_SERVERS', 'mail.'.get_local_domain() );
6811     + print_row($self,'VIRTUAL_DOMAINS', gen_domains($self));
6812     + print_row($self,'PRIMARY_WEB_SITE', 'http://www.'.get_value('','DomainName') );
6813     + print_row($self,'MITEL_NETWORKS_SME_SERVER_MANAGER',
6814     + 'https://'. (get_value('','SystemName') || 'localhost').'/server-manager/' );
6815     + print_row($self,'MITEL_NETWORKS_SME_SERVER_USER_PASSWORD_PANEL',
6816     + 'https://'. (get_value($self,'SystemName') || 'localhost').'/user-password/' );
6817     + print_row($self,'EMAIL_ADDRESSES', gen_email_addresses($self) );
6818     +
6819     +
6820     +-->
6821     \ Pas de fin de ligne à la fin du fichier
6822     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/starterwebsite.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/starterwebsite.html.ep
6823     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/starterwebsite.html.ep 1970-01-01 04:00:00.000000000 +0400
6824     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/starterwebsite.html.ep 2019-10-22 23:57:28.000000000 +0400
6825     @@ -0,0 +1,41 @@
6826     +% layout 'default', title => 'Sme server 2 - Starter website', share_dir => './';
6827     +
6828     +% content_for 'module' => begin
6829     +<div id="module">
6830     + <p>Starter website</p><br>
6831     + <br>
6832     + <h3><%= $title %></h3>
6833     + <br><%= $modul %><br>
6834     + <br>
6835     + <% my $btn = l('CREATE');
6836     + %>
6837     + %= form_for 'starterwebsite' => (method => 'POST') => begin
6838     + <b>
6839     + %= label_for l_company => begin
6840     + %= l('sws_LABEL_COMPANYNAME')
6841     + % end
6842     + </b>
6843     + %= text_field 'l_company', class => 'input'
6844     + <br><br>
6845     + %=l 'sws_DESC_HEADER1'
6846     + <br>
6847     + %= text_field 'l_header1', class => 'input'
6848     + <br>
6849     + %=l 'sws_DESC_TEXT1'
6850     + <br>
6851     + %= text_area 'l_desc1', cols => 40, class => 'input'
6852     + <br><br>
6853     + %=l 'sws_DESC_HEADER2'
6854     + %= text_field 'l_header2', class => 'input'
6855     + <br>
6856     + %=l 'sws_DESC_TEXT2'
6857     + <br>
6858     + %= text_area 'l_desc2', cols => 40, class => 'input'
6859     + <br>
6860     + %=l 'sws_DESC_SUBMIT'
6861     + <br><br>
6862     + %= submit_button "$btn", class => 'action'
6863     + % end
6864     +
6865     +</div>
6866     +%end
6867     \ Pas de fin de ligne à la fin du fichier
6868     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/support.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/support.html.ep
6869     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/support.html.ep 1970-01-01 04:00:00.000000000 +0400
6870     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/support.html.ep 2019-10-22 23:57:04.000000000 +0400
6871     @@ -0,0 +1,10 @@
6872     +% layout 'default', title => 'Sme server 2 - Support', share_dir => './';
6873     +
6874     +% content_for 'module' => begin
6875     +<div id="module">
6876     + <p> < %= $title % ></p>
6877     + <br>
6878     + <%= $modul %>
6879     + <br>
6880     +</div>
6881     +%end
6882     \ Pas de fin de ligne à la fin du fichier
6883     diff -urN 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
6884     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/wbl.html.ep 1970-01-01 04:00:00.000000000 +0400
6885     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/wbl.html.ep 2019-10-22 23:58:22.000000000 +0400
6886     @@ -0,0 +1,30 @@
6887     +% layout 'default', title => "Sme server 2 - workgroup", share_dir => './';
6888     +
6889     +% content_for 'module' => begin
6890     +<div id="module">
6891     +
6892     + %if ($config->{debug} == 1) {
6893     + <p>
6894     + (DBG)route: <%= $c->current_route %><br>
6895     + (DBG)trt: <%= $wbl_datas->{trt}%><br>
6896     + </p>
6897     + %}
6898     +
6899     + <h1><%= $title %></h1>
6900     + <br>
6901     + <%= $modul %>
6902     +
6903     + % if ($wbl_datas->{trt} eq 'RBL') {
6904     + %= include 'partials/_wbl_rbl'
6905     + %} elsif ($wbl_datas->{trt} eq 'BLACK') {
6906     + %= include 'partials/_wbl_black'
6907     + %} elsif ($wbl_datas->{trt} eq 'WHITE') {
6908     + %= include 'partials/_wbl_white'
6909     + %} else {
6910     + %= include 'partials/_wbl_choice'
6911     +
6912     + %}
6913     +
6914     +</div>
6915     +%end
6916     +
6917     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/welcome.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/welcome.html.ep
6918     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/welcome.html.ep 1970-01-01 04:00:00.000000000 +0400
6919     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/welcome.html.ep 2019-06-11 21:10:40.000000000 +0400
6920     @@ -0,0 +1,57 @@
6921     +% layout 'default', title => 'Sme server 2 - IndexT', share_dir => '';
6922     +
6923     +% content_for 'head' => begin
6924     + %= include 'partials/_head'
6925     +% end
6926     +
6927     +% content_for 'header' => begin
6928     + %= include 'partials/_header'
6929     +% end
6930     +
6931     +% content_for 'info' => begin
6932     + %= include 'partials/_info'
6933     +% end
6934     +
6935     +% content_for 'navigation' => begin
6936     + %= include 'partials/_navig'
6937     +% end
6938     +
6939     +% content_for 'footer' => begin
6940     + %= include 'partials/_footer'
6941     +% end
6942     +
6943     +% content_for 'end' => begin
6944     + <div id="end" class="sme-copyrightbar">
6945     + content_end
6946     + </div>
6947     +% end
6948     +
6949     +% content_for 'module' => begin
6950     +<div id="central">
6951     + <p>Index on line - Welcome page<br>
6952     + </p>
6953     + <p>
6954     +Cogo diam enim ibidem paulatim pertineo velit. Comis patria pertineo secundum. Aliquip laoreet quibus zelus. Gravis incassum interdico iustum lucidus neo os paratus. Autem causa haero pneum similis sudo vindico. Iusto molior neque oppeto. Ideo minim nibh refoveo veniam vereor virtus. Appellatio pala scisco.
6955     +
6956     +Caecus esse exputo ideo laoreet valde. Appellatio feugiat haero jus lucidus tum valetudo vulputate. Amet illum imputo volutpat. Acsi adipiscing brevitas facilisi illum laoreet lobortis lucidus sagaciter uxor. Defui dolor hos luptatum quadrum saluto verto vicis wisi.
6957     +
6958     +Acsi ideo pagus ymo. Ea jugis lobortis nimis utrum veniam vereor. Aliquip amet autem gilvus hos iaceo loquor natu pagus refoveo. Adipiscing laoreet probo tation tum vero. Enim minim ymo. Dolore imputo iusto iustum lobortis meus molior vulputate. Dolor immitto iustum jumentum olim pagus saluto uxor zelus. Capto commodo eu euismod. Duis ille nunc premo quidem tamen ulciscor wisi.
6959     +
6960     +Abdo abico damnum dolor et facilisi incassum melior populus saepius. Commodo conventio ex exputo pagus quae valetudo. Eligo jumentum lobortis suscipit tamen torqueo validus venio voco. Letalis molior tego tincidunt tum. Bene iriure melior natu obruo os te voco. Ea oppeto refoveo tum. Consectetuer dolus ut.
6961     +
6962     +Abdo abigo aptent commoveo inhibeo molior nibh plaga pneum zelus. Conventio genitus neo nulla patria pneum saluto velit voco. Abigo defui dolore humo nulla nunc. Autem commodo erat gemino nisl olim pecus ratis tego. Fere luctus nunc sit. Bene humo imputo paulatim suscipit. Aliquam diam dolor feugiat gravis imputo lucidus modo nulla obruo. Ea macto melior neo qui ratis velit.
6963     + </p>
6964     + <p>
6965     + %= link_to Initial => '/'
6966     + </p>
6967     + <p>
6968     + %= link_to Manual => '/manual'
6969     + </p>
6970     + <p>
6971     + %= link_to Welcome => '/welcome'
6972     + <!--a href="/server-manager2/index.cgi/">Welcome</a>
6973     + <a href="<%= url_for 'index' %>">Accueil</a -->.
6974     + </p>
6975     +</div>
6976     +
6977     +% end
6978     \ Pas de fin de ligne à la fin du fichier
6979     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/whatever.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/whatever.html.ep
6980     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/whatever.html.ep 1970-01-01 04:00:00.000000000 +0400
6981     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/whatever.html.ep 2019-06-11 21:12:24.000000000 +0400
6982     @@ -0,0 +1,44 @@
6983     +% layout 'default', title => 'Sme server 2 - Whatever D', share_dir => './';
6984     +
6985     +% content_for 'head' => begin
6986     + %= include 'partials/_head'
6987     +% end
6988     +
6989     +% content_for 'header' => begin
6990     + %= include 'partials/_header'
6991     +% end
6992     +< !--
6993     +% content_for 'info' => begin
6994     + <!--%= include 'partials/_info'-->
6995     +% end
6996     +-- >
6997     +% content_for 'navigation' => begin
6998     + %= include 'partials/_navig'
6999     +% end
7000     +
7001     +< !--
7002     +% content_for 'footer' => begin
7003     + <!--%= include 'partials/_footer'-->
7004     +% end
7005     +-- >
7006     +
7007     +% content_for 'end' => begin
7008     + <div id="end" class="sme-copyrightbar">
7009     + content_end
7010     + </div>
7011     +% end
7012     +
7013     +% content_for 'module' => begin
7014     +<div id="central" class="sme-error">
7015     + <p><br>dev<br> What else !!!
7016     + The page you were requesting
7017     + "<%= $self->req->url->path || '/' %>"
7018     + could not be found.
7019     + <br>dev<br>
7020     + </p>
7021     + <p>
7022     + %= link_to Welcome => '/'
7023     + </p>
7024     +</div>
7025     +
7026     +% end
7027     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/workgroup.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/workgroup.html.ep
7028     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/workgroup.html.ep 1970-01-01 04:00:00.000000000 +0400
7029     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/workgroup.html.ep 2019-10-22 23:46:32.000000000 +0400
7030     @@ -0,0 +1,66 @@
7031     +% layout 'default', title => "Sme server 2 - workgroup", share_dir => './';
7032     +
7033     +% content_for 'module' => begin
7034     +<div id="module">
7035     +
7036     + %if ($config->{debug} == 1) {
7037     + <p>
7038     + (DBG)route: <%= $c->current_route %><br>
7039     + (DBG)pdc: <%= $wkg_datas->{ServerRole}%><br>
7040     + (DBG)roam: <%= $wkg_datas->{RoamingProfiles}%><br>
7041     + </p>
7042     + %}
7043     +
7044     + <h1><%= $title %></h1>
7045     + <br>
7046     + <%= $modul %>
7047     + <% my $btn = l('SAVE');
7048     + %>
7049     +
7050     + %= form_for 'workgroup' => (method => 'POST') => begin
7051     + <p>
7052     + %=l 'wkg_DESC_WORKGROUP', class => 'desc'
7053     + <br><br>
7054     + <span class=label>
7055     + %=l 'wkg_LABEL_WORKGROUP', class => 'label'
7056     + </span><span class=data>
7057     + %= text_field 'Workgroup' => $wkg_datas->{Workgroup}, class => 'input'
7058     + </span>
7059     + </p>
7060     + <p>
7061     + %=l 'wkg_DESC_SERVERNAME', class => 'desc'
7062     + <br><br>
7063     + <span class=label>
7064     + %=l 'wkg_LABEL_SERVERNAME', class => 'label'
7065     + </span><span class=data>
7066     + %= text_field 'ServerName' => $wkg_datas->{ServerName}, class => 'input'
7067     + </span>
7068     + </p>
7069     + <p>
7070     + %=l 'wkg_DESC_PDC', class => 'desc'
7071     + <br>
7072     + <span class=label>
7073     + %=l 'wkg_LABEL_PDC', class => 'label'
7074     + </span><span class=data>
7075     + % param 'ServerRole' => $wkg_datas->{ServerRole} unless param 'ServerRole';
7076     + %= select_field 'ServerRole' => [[ (l 'YES') => 'PDC'], [ (l 'NO') => 'WS']], class => 'input'
7077     + </span>
7078     + </p>
7079     + <p>
7080     + %=l 'wkg_DESC_ROAM', class => 'desc'
7081     + <br>
7082     + <span class=label>
7083     + %=l 'wkg_LABEL_ROAM', class => 'label'
7084     + </span><span class=data>
7085     + % param 'RoamingProfiles' => $wkg_datas->{RoamingProfiles} unless param 'RoamingProfiles';
7086     + %= select_field 'RoamingProfiles' => [[ (l 'YES') => 'yes'], [ (l 'NO') => 'no']], class => 'input'
7087     + </span>
7088     + </p>
7089     + <p>
7090     + <br>
7091     + %= submit_button "$btn", class => 'action'
7092     + </p>
7093     + % end
7094     +
7095     +</div>
7096     +%end
7097     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/perso/public/index.html smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/perso/public/index.html
7098     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/perso/public/index.html 1970-01-01 04:00:00.000000000 +0400
7099     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/perso/public/index.html 2019-12-15 22:53:12.000000000 +0400
7100     @@ -0,0 +1,9 @@
7101     +<!--DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"-->
7102     +
7103     +<HTML>
7104     +
7105     +<HEAD><TITLE>Mojo under construction</TITLE></HEAD>
7106     +
7107     +<BODY BGCOLOR="#FFFFFF"><H1>This web app is under construction</H1><H2>(theme perso)</H2></BODY>
7108     +
7109     +</HTML>
7110     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/perso/templates/layouts/default.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/perso/templates/layouts/default.html.ep
7111     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/perso/templates/layouts/default.html.ep 1970-01-01 04:00:00.000000000 +0400
7112     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/perso/templates/layouts/default.html.ep 2019-12-15 22:54:28.000000000 +0400
7113     @@ -0,0 +1,35 @@
7114     +<!DOCTYPE html
7115     + PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
7116     + "http://www.w3.org/TR/html4/loose.dtd">
7117     +<html>
7118     +
7119     +<head>
7120     +<title><%= $title %></title>
7121     + <link rev="made" href="mailto:bugs%40koozali.org">
7122     + <meta name="copyright" content="(head.tmpl)Copyright 2003-2004 Mitel Corporation">
7123     + <link rel="stylesheet" type="text/css" media="all" href='css/sme_core.css'>
7124     + <link rel="stylesheet" type="text/css" media="all" href='css/sme_main.css'>
7125     + <!-- link rel="stylesheet" type="text/css" media="all" href='css/sme_menu.css' -->
7126     + <link rel="stylesheet" type="text/css" media="all" href='css/styles.css'>
7127     + %= include 'partials/_head'
7128     +</head>
7129     +
7130     +<body>
7131     + <div id="header">
7132     + %= include 'partials/_header'
7133     + </div>
7134     +
7135     + %= include 'partials/_info'
7136     +
7137     + <div id="container">
7138     + <div id="navigation" class="col-md-3">
7139     + %= include 'partials/_navig'
7140     + </div>
7141     + <div id="main" class="col-md-9">
7142     + %= content 'module'
7143     + %= include 'partials/_footer'
7144     + </div>
7145     + </div>
7146     +
7147     +</body>
7148     +</html>
7149     diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/html/index.cgi smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/html/index.cgi
7150     --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/html/index.cgi 1970-01-01 04:00:00.000000000 +0400
7151     +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/html/index.cgi 2019-11-14 20:04:00.000000000 +0400
7152     @@ -0,0 +1,6 @@
7153     +#! /usr/bin/perl
7154     +#-wT
7155     +
7156     +exec("perl ./srvmngr.pl") if chdir "../cgi-bin/srvmngr";
7157     +
7158     +#exec("perl -T ./srvmngr.pl");

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