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 --- 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 +++ 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 @@ -1,10 +1,9 @@ - ScriptAlias /server-manager2/noframes /etc/e-smith/web/panels/manager2/cgi-bin/noframes -ScriptAlias /server-manager2/support /etc/e-smith/web/panels/manager2/cgi-bin/support +#ScriptAlias /server-manager2/support /etc/e-smith/web/panels/manager2/cgi-bin/support ScriptAlias /server-manager2/navigation /etc/e-smith/web/panels/manager2/cgi-bin/navigation # smeserver manager 2 panel ScriptAlias /server-manager2/cgi-bin /etc/e-smith/web/panels/manager2/cgi-bin -Alias /server-manager2 /etc/e-smith/web/panels/manager2/html +Alias /server-manager2 /etc/e-smith/web/panels/manager2/html/index.cgi 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 --- 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 +++ 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 @@ -0,0 +1,12 @@ +{ + secrets => ['new sessionsLeYTmFPhw3q', 'for validation QrPTZhWJmqCjyGZmguK'], + theme => 'default', +# theme => 'perso', +# navigation_script_file => "js/navigation.js", +# navigation_div_file => "themes/default/templates/partials/_navig.html.ep", + navigation_script_file => "themes/default/public/js/navigation.js", + navigation_div_file => "themes/default/templates/partials/_navig.html.ep", + navigation_has_changed => 0, + modules_dir => "lib/SrvMngr/Controller", + debug => 1, +} 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 --- 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 +++ 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 @@ -0,0 +1 @@ +#accounts 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 --- 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 +++ 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 @@ -0,0 +1 @@ +#configuration 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 --- 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 +++ 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 @@ -0,0 +1,8 @@ +# DO NOT MODIFY THIS FILE. +# This file is automatically maintained by the Mitel Networks SME Server +# configuration software. Manually editing this file may put your +# system in an unknown state. +# +# updated: Sun Nov 3 23:52:17 2019 +wbl.global=list| aa@toto|Black| @toto2|White| @zaza2|White| bibi@kabo2|White|bb@zaza|Black|bibik@kabo|Black +wbl.global_to=list 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 --- 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 +++ 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 @@ -0,0 +1,11 @@ +# DO NOT MODIFY THIS FILE. +# This file is automatically maintained by the Mitel Networks SME Server +# configuration software. Manually editing this file may put your +# system in an unknown state. +# +# updated: Sun Nov 3 23:52:17 2019 +badhelo=list| ayo|Black| bibi|Black| jabo|Black +badmailfrom=list| @toto|Black| @zaza|Black| bibi@kabo|Black +whitelisthelo=list| ayo|White| bibi|White| jabo|White +whitelisthosts=list| 1.2.3.4|White| 11.22.33.44|White| 15.24.13.26|White +whitelistsenders=list| @toto|White| @zaza|White| bibi@kabo|White 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 --- 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 +++ 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 @@ -0,0 +1,2 @@ +all files stored in directory : +-> /usr/share/perl5/vendor_perl/smeserver/Panel ? 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 --- 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 +++ 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 @@ -0,0 +1,49 @@ +package SrvMngr::Controller::Bugreport; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + + +sub main { + my $c = shift; + + $c->app->log->info($c->log_req); + + #my $i18n = $c->stash('i18n'); + #$i18n->{'namespace'} = 'SrvMngr::I18N::Bugreport'; + #$i18n->namesp(); + + my $title = $c->l('bugr_FORM_TITLE'); + my $modul = $c->render_to_string( inline => $c->l('bugr_DESCRIPTION')); + + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight}, + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, navigation => $c->session->{navigation}, + title => $title, modul => $modul); + + $c->render(template => 'bugreport'); +}; + + +sub do_report { + my $c = shift; + + $c->app->log->info($c->log_req); + + my $title = $c->l('bugr_FORM_TITLE'); + my $modul = $c->render_to_string( 'Bug report generation
(to be done !!)'); +# my $modul = $c->render_to_string( inline => $c->l('bugr_DESCRIPTION')); + + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight}, + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, navigation => $c->session->{navigation}, + title => $title, modul => $modul); + + $c->render(template => 'module'); +}; + + +1; + 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 --- 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 +++ 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 @@ -0,0 +1,112 @@ +package SrvMngr::Controller::Clamav; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + +#package esmith::FormMagick::Panel::clamav; + +our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db"; + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my %clm_datas = (); + my $title = $c->l('clm_FORM_TITLE'); + my $modul = $c->render_to_string(inline => $c->l('clm_DESC_FILESYSTEM_SCAN_PERIOD')); + +# $clm_datas{'FilesystemScan'} = get_prop('clamav','FilesystemScan') || 'disabled'; +# $clm_datas{'Quarantine'} = get_prop('clamav','Quarantine') || 'disabled'; + $clm_datas{'FilesystemScan'} = ($db->get_prop('clamav','FilesystemScan')) || 'disabled'; + $clm_datas{'Quarantine'} = ($db->get_prop('clamav','Quarantine')) || 'disabled'; + + $clm_datas{'clam_versions'} = get_clam_versions(); +# value="get_prop('clamav','HTTPProxyServer')"> +# value="get_prop('clamav','HTTPProxyPort')"> +# value="get_prop('clamav','HTTPProxyUsername')"> +# value="get_prop('clamav','HTTPProxyPassword')"> + + $c->stash( title => $title, modul => $modul, clm_datas => \%clm_datas ); + $c->render(template => 'clamav'); +}; + + +sub do_update { + my $c = shift; + $c->app->log->info($c->log_req); + + my $http_clamav_status = $c->param('http_clamav_status') || 'disabled'; + my $smtp_clamav_status = $c->param('smtp_clamav_status') || ''; + + my $result = ""; + +# $squid->set_prop('status', $http_clamav_status); +# $smtpd->set_prop('Clamav', $smtp_clamav_status); + change_settings($c); + + # + # Update the system + # + #system("/sbin/e-smith/signal-event clamav-update") == 0 + # or $result = $c->l('clm_ERROR_UPDATING_CONFIGURATION'); + + my $title = $c->l('clm_FORM_TITLE'); + + if ( $result eq '' ) { $result = $c->l('clm_SUCCESS')." but system update NOT done" ; } + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); +}; + + +sub change_settings { + my $c = shift; + + my $status = $c->param('status'); + + my $FilesystemScan = ( $c->param('FilesystemScan') || 'disabled' ); + my $Quarantine = ( $c->param('Quarantine') || 'disabled' ); + + my $DatabaseMirror = ( $c->param('DatabaseMirror') || 'db.us.clamav.net' ); + my $UpdateOfficeHrs = ( $c->param('UpdateOfficeHrs') || 'disabled' ); + my $UpdateNonOfficeHrs = ( $c->param('UpdateNonOfficeHrs') || 'disabled' ); + my $UpdateWeekend = ( $c->param('UpdateWeekend') || 'disabled' ); + + my $HTTPProxyServer = ( $c->param('HTTPProxyServer') || '' ); + my $HTTPProxyPort = ( $c->param('HTTPProxyPort') || '' ); + my $HTTPProxyUsername = ( $c->param('HTTPProxyUsername') || '' ); + my $HTTPProxyPassword = ( $c->param('HTTPProxyPassword') || '' ); + + my $clamav = $db->get('clamav') || $db->new_record('clamav', {type=>'service'}); + $status ||= $clamav->prop('status'); + + $clamav->merge_props( + status => $status, + FilesystemScan => $FilesystemScan, + Quarantine => $Quarantine, + DatabaseMirror => $DatabaseMirror, + UpdateOfficeHrs => $UpdateOfficeHrs, + UpdateNonOfficeHrs => $UpdateNonOfficeHrs, + UpdateWeekend => $UpdateWeekend, + HTTPProxyServer => $HTTPProxyServer, + HTTPProxyPort => $HTTPProxyPort, + HTTPProxyUsername => $HTTPProxyUsername, + HTTPProxyPassword => $HTTPProxyPassword, + ); + + +} + +sub get_clam_versions +{ + my $version = `/usr/bin/freshclam -V`; + chomp $version; + $version =~ s/^ClamAV //; + + return $version; +} +1; 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 --- 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 +++ 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 @@ -0,0 +1,78 @@ +package SrvMngr::Controller::Datetime; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + +use esmith::FormMagick; +#use esmith::FormMagick::Panel::datetime; + +our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db"; + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my %dat_datas = (); + my $title = $c->l('dat_FORM_TITLE'); + my $modul = $c->l('dat_INITIAL_DESC'); + +# more complicated for ntpstatus + $dat_datas{'ntpstatus'} = ($db->get_prop('ntpd','status')) || ''; + $dat_datas{'ntpserver'} = ($db->get_prop('ntpd','NTPServer')) || ''; + $dat_datas{'now_string'} = esmith::FormMagick->gen_locale_date_string(); + + $c->stash( title => $title, modul => $modul, dat_datas => \%dat_datas ); + $c->render(template => 'datetime'); +}; + + +sub do_update { + my $c = shift; + $c->app->log->info($c->log_req); + + my %dat_datas = (); + my $title = $c->l('dat_FORM_TITLE'); + my $result = ""; + + my $old_ntpstatus = $c->param('old_ntpstatus'); + $dat_datas{'ntpstatus'} = $c->param('ntpstatus'); + if ($dat_datas{'ntpstatus'} ne $old_ntpstatus) { + my $modul = $c->l('dat_INITIAL_DESC'); + $dat_datas{'ntpserver'} = ($db->get_prop('ntpd','NTPServer')) || ''; + $dat_datas{'now_string'} = esmith::FormMagick->gen_locale_date_string(); + + $c->stash( title => $title, modul => $modul, dat_datas => \%dat_datas ); + $c->render(template => 'datetime'); + } + + if ($dat_datas{'ntpstatus'} eq 'enabled') { + $dat_datas{'ntpserver'} = $c->param('ntpserver'); + $db->get('ntpd')->set_prop('NTPServer', $dat_datas{'ntpserver'}); + } else { + #my $servername = ($c->param('ServerName') || 'WS'); + } + # controls + + #$db->get('smb')->set_prop('Workgroup', $workgroup); + #$db->get('smb')->set_prop('ServerName', $servername); + + # + # Update the system + # + ##system ("/sbin/e-smith/signal-event datetime-update") == 0 + ##or $result = $c->l('ERROR_UPDATING'); + + + if ( $result eq '' ) { $result = $c->l('dat_SUCCESS') . " but System update NOT done !!!"; } + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); + +}; + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,87 @@ +package SrvMngr::Controller::Directory; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; +#use esmith::util qw(ldapBase); +use esmith::FormMagick::Panel::directory; + +our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db"; + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my %dir_datas = (); + my $title = $c->l('dir_FORM_TITLE'); + my $modul = $c->render_to_string(inline => $c->l('dir_DESCRIPTION')); + + $dir_datas{'root'} = get_ldap_base(); + + $dir_datas{'access'} = ($db->get_prop('ldap','access')) || 'private'; + $dir_datas{'department'} = ($db->get_prop('ldap','defaultDepartment')) || ''; + $dir_datas{'company'} = ($db->get_prop('ldap','defaultCompany')) || ''; + $dir_datas{'street'} = ($db->get_prop('ldap','defaultStreet')) || ''; + $dir_datas{'city'} = ($db->get_prop('ldap','defaultCity')) || ''; + $dir_datas{'phonenumber'} = ($db->get_prop('ldap','defaultPhoneNumber')) || ''; + + $c->stash( title => $title, modul => $modul, dir_datas => \%dir_datas ); + $c->render(template => 'directory'); +}; + + +sub do_update { + my $c = shift; + $c->app->log->info($c->log_req); + + my $access = $c->param('access'); + my $department = $c->param('department'); + my $company = $c->param('company'); + my $street = $c->param('street'); + my $city = $c->param('city'); + my $phonenumber = $c->param('phonenumber'); + my $existing = $c->param('existing'); + + my $result = ""; + + $db->get('ldap')->set_prop('access', $access); + $db->get('ldap')->set_prop('defaultDepartment', $department); + $db->get('ldap')->set_prop('defaultCompany', $company); + $db->get('ldap')->set_prop('defaultStreet', $street); + $db->get('ldap')->set_prop('defaultCity', $city); + $db->get('ldap')->set_prop('defaultPhoneNumber', $phonenumber); + + if ($existing eq 'update') { + # my $ac =esmith::AccountsDB->open('conf/test/accounts'); + my $ac = esmith::AccountsDB->open('conf/test/accounts') || die "Couldn't open accounts db"; + my @users = $ac->users(); + + foreach my $user (@users) { + $user->set_prop('Phone', $phonenumber); + $user->set_prop('Company', $company); + $user->set_prop('Dept', $department); + $user->set_prop('City', $city); + $user->set_prop('Street', $street); + } + } + # + # Update the system + # + + system ("/sbin/e-smith/signal-event ldap-update") == 0 + or $result = $c->l('ERROR_UPDATING_CONFIGURATION'); + + my $title = $c->l('dir_FORM_TITLE'); + + if ( $result eq '' ) { $result = $c->l('dir_SUCCESS') . " but System update NOT done !!!"; } + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); + +}; + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,43 @@ +package SrvMngr::Controller::Initial; + +use strict; +use warnings; + +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + + +sub main { + my $c = shift; + + $c->app->log->info($c->log_req); + #SrvMngr->startsess(); + if (not defined $c->session->{lang}) { + $c->app->log->info("Init datas in welcome page."); + my %datas = (); + %datas = SrvMngr::Model::Main->init_data( %datas ); + $c->session->{lang} = $datas{'lang'}; + $c->session->{copyRight} = $c->l($datas{'copyRight'}); + $c->session->{releaseVersion} = $datas{'releaseVersion'}; + $c->session->{PwdSet} = $datas{'PwdSet'}; + $c->session->{Unsafe} = $datas{'Unsafe'}; + $c->languages($datas{'lang'}); + + } + + my $title = $c->l('initial_FORM_TITLE'); + my $modul = $c->render_to_string(inline => $c->l('initial_FRAMES_BODY')); + + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight}, + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, + title => $title, modul => $modul); + + + $c->render(template => 'initial'); + +} + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,37 @@ +package SrvMngr::Controller::Main; + +use strict; +use warnings; + +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + + +sub whatever { + my $c = shift; + my $whatever = $c->param('whatever'); + $c->app->log->info($c->log_req); + + my $modul .= 'Mail result is 11 + 54.'; + + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight}, + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, + modul => $modul); + + $c->render(text => "whatever: /$whatever did not match.", status => 404); +}; + + +sub logout { + my $c = shift; + $c->app->log->info($c->log_req); + + $c->session(expires => 1); + + return $c->redirect_to($c->url_for('/cgi-bin/logout')); +}; + + +1; \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,27 @@ +package SrvMngr::Controller::Manual; + +use strict; +use warnings; + +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my $title = $c->l('manual_FORM_TITLE'); + my $modul = $c->render_to_string(inline => $c->l('manual_DESCRIPTION')); + + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight}, + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, + title => $title, modul => $modul); + + $c->render(template => 'manual'); +} + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,34 @@ +package SrvMngr::Controller::Modsearch; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + +#use esmith::config; +#use esmith::NavigationDB; +#use esmith::util; +#use esmith::I18N; + + +sub main { + my $c = shift; + my $module = $c->param('module'); + + $c->app->log->info($c->log_req); + + my $redirect_url = SrvMngr->get_mod_url($module); + if($redirect_url ne "-1"){ + #$c->render(text => "mod_search: $module to $redirect_url"); + return $c->redirect_to($redirect_url); + #return $c->redirect_to( url_for($redirect_url) ); + } + $c->flash(message => "$module module NOT FOUND !"); + return $c->redirect_to('//'); + +}; + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,85 @@ +package SrvMngr::Controller::Modules; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + +#use esmith::config; +#use esmith::NavigationDB; +#use esmith::util; +#use esmith::I18N; + +sub bugreport { + my $c = shift; + + $c->app->log->info($c->log_req); + + my $modul = $c->render_to_string( inline => "

# my (\$lang, \$releaseVersion, +
# \$c->stash\(\'lang\', \'releaseVer\' +# \'navigation\'

"); + + + $c->stash( modul => $modul, PwdSet => '1', Unsafe => '0' ); + +}; + + +sub starterwebsite { + my $c = shift; + + $c->app->log->info($c->log_req); + + my $modul = $c->render_to_string(inline => "

# my (\$lang, \$releaseVersion, + +
# \$c->stash\(\'lang\', \'releaseVer\' +# \'navigation\'

"); + + $c->stash( modul => $modul, PwdSet => '1', Unsafe => '0' ); + +}; + + +sub support { + my $c = shift; + + $c->app->log->info($c->log_req); + my $modul = $c->stash('modul'); + $modul .= 'Mail result is 1 + 8.'; + + $c->stash( modul => $modul, PwdSet => '0', Unsafe => '0' ); + + #$c->render('modules/support'); +}; + + +sub mod_search { + my $c = shift; + my $module = $c->param('module'); + + $c->app->log->info($c->log_req); +# my ($lang, $releaseVersion, $copyRight, $PwdSet, $Unsafe, $config) = +# $c->stash('lang', 'releaseVersion', 'copyRight', 'PwdSet', 'Unsafe', +# 'navigation', 'modul', 'config'); + + #my $page = $c->schema->resultset('Page')->single({ name => $module }); + #$c->app->log->info("module page: '$page'"); + #if ($page) { + #$c->render( page => $page ); + #} + + my $redirect_url = SrvMngr->get_mod_url($module); + if($redirect_url ne "-1"){ + #$c->render(text => "mod_search: $module to $redirect_url"); + return $c->redirect_to($redirect_url); + #return $c->redirect_to( url_for($redirect_url) ); + } + #$c->render(text => "mod_search: $module to 'welcome'"); + return $c->redirect_to('/'); + +}; + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,370 @@ +package SrvMngr::Controller::Printers; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + +use esmith::FormMagick::Panel::printers; + +#our $db = esmith::ConfigDB->open || die "Couldn't open config db"; +our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; +#our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db"; + + +sub main { + + my $c = shift; + $c->app->log->info($c->log_req); + + my %prt_datas = (); + my $title = $c->l('prt_FORM_TITLE'); + my $modul = ''; + + $prt_datas{'trt'} = 'LIST'; + + my @printerDrivers; + if ($adb) + { + @printerDrivers = $adb->printers(); + } + + $c->stash( title => $title, modul => $modul, prt_datas => \%prt_datas, printerDrivers => \@printerDrivers ); + $c->render(template => 'printers'); + +}; + + +sub do_display { + + my $c = shift; + + my $rt = $c->current_route; + my $trt = ($c->param('trt') || 'LIST'); + my $printer = $c->param('printer') || ''; + + $trt = 'DEL' if ( $printer ); + $trt = 'ADD' if ( $rt eq 'printeradd' ); + + my %prt_datas = (); + my $title = $c->l('prt_FORM_TITLE'); + my $modul = ''; + + $prt_datas{'trt'} = $trt; + + if ( $trt eq 'ADD' ) { + + # 'locations list' => + my $localist = "[[ " . + $c->l('prt_LOCAL_PRINTER_0'). + " => 'lp0'], [ ". + $c->l('prt_LOCAL_PRINTER_1'). + " => 'lp1']]"; + # [ $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']]"; + my %loclist = ( + $c->l('prt_LOCAL_PRINTER_0') => 'lp0', + $c->l('prt_LOCAL_PRINTER_1') => 'lp1', + $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', + ); + $c->stash( loclist => \%loclist, localist => $localist); + } + + if ( $trt eq 'DEL' ) { + + my $rec = $adb->get($printer); + if ($rec and $rec->prop('type') eq 'printer') { + $prt_datas{printer} = $printer; + $prt_datas{description} = $rec->prop('Description') || ''; + } + + } + + if ( $trt eq 'LIST' ) { + my @printerDrivers; + if ($adb) + { + @printerDrivers = $adb->printers(); + } + $c->stash( printerDrivers => \@printerDrivers ); + + } + + $c->stash( title => $title, modul => $modul, prt_datas => \%prt_datas ); + $c->render( template => 'printers' ); + +}; + + +sub do_update { + + my $c = shift; + $c->app->log->info($c->log_req); + + my $rt = $c->current_route; + my $trt = ($c->param('trt') || 'LIST'); + +# if ( $trt =~ /^([A-Z]3)$/ ) { +# $trt = $1; +# } else { +# return $c->l('prt_ERR_INPUT_CODE') . ': ' . $trt; +# } + + my $result = ''; + + if ( $trt eq 'ADD' ) { + + my $name = ($c->param('Name') || ''); + my $description = ($c->param('Description') || ''); + my $location = ($c->param('Location') || ''); + + # controls + my $res = validate_printer( $c, $name, $description, $location ); + $result .= $res unless $res eq 'OK'; + + if ( $location eq 'remote' and ! $result) { + my %prt_datas = (); + my $title = $c->l('prt_FORM_TITLE'); + my $modul = ''; + $prt_datas{'trt'} = 'NET'; + $prt_datas{'name'} = $name; + $prt_datas{'description'} = $description; + $prt_datas{'location'} = $location; + $c->stash( title => $title, modul => $modul, prt_datas => \%prt_datas ); + return $c->render( template => 'printers' ); + } + + if ( ! $result ) { + $res = new_printer( $c, $name, $description, $location ); + #$remoteName, $address ); + $result .= $res unless $res eq 'OK'; + if ( ! $result ) { + $result = $c->l('prt_CREATED_SUCCESSFULLY') . ' ' . $name; + } + } + } + + if ( $trt eq 'NET' ) { + + my $name = ($c->param('Name') || ''); + my $description = ($c->param('Description') || ''); + my $location = ($c->param('Location') || ''); + my $remoteName = ($c->param ('RemoteName') || ''); + my $address = ($c->param ('Address') || ''); + + # controls + my $res = validate_network( $c, $location, $remoteName, $address); + $result .= $res unless $res eq 'OK'; + + if ( ! $result ) { + $res = new_printer( $c, $name, $description, $location, $remoteName, $address ); + $result .= $res unless $res eq 'OK'; + if ( ! $result ) { + $result = $c->l('prt_CREATED_SUCCESSFULLY') . ' ' . $name; + } + } + } + + if ( $trt eq 'DEL' ) { + + my $printer = ($c->param ('printer') || ''); + + if ($printer =~ /^([a-z][a-z0-9]*)$/) { + $printer = $1; + } else { + $result .= $c->l('prt_ERR_INTERNAL_FAILURE') . ':' . $printer; + } + + my $rec = $adb->get($printer); + $result .= $c->l('prt_ERR_INTERNAL_FAILURE') . ':' . $printer unless ($rec); + + if ( ! $result ) { + my $res = del_printer( $c, $printer ); + $result .= $res unless $res eq 'OK'; + if ( ! $result ) { + $result = $c->l('prt_DELETED_SUCCESSFULLY') . ' ' . $printer; + } + } + } + + my $title = $c->l('prt_FORM_TITLE'); + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); + +}; + + +sub del_printer { + + my ( $c, $printer ) = @_; + + # Update the db config (1) + + my $prop_del = "accounts settype $printer printer-deleted"; + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_del ) ) == 0 + or return $c->l('prt_ERR_DELETING') . ' ' . $prop_del; + + # Update system + + system ('/bin/sudo', '/sbin/e-smith/signal-event', "printer-delete", $printer) == 0 + or return $c->l('prt_ERR_DELETING') . " system " . $printer; + + # Update the db config (2) + + $prop_del = "accounts delete $printer"; + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_del ) ) == 0 + or return $c->l('prt_ERR_DELETING') . ' ' . $prop_del; + + return 'OK'; +} + + +sub validate_printer { + + my ($c, $name, $description, $location, $remoteName, $address ) = @_; + + #------------------------------------------------------------ + # Validate parameters and untaint them + #------------------------------------------------------------ + + if ($name =~ /^([a-z][a-z0-9]*)$/) { + $name = $1; + } else { + return $c->l('prt_ERR_UNEXPECTED_NAME') . ': ' . $name; + } + + if ($description =~ /^([\'\w\s]+)$/) { + $description = $1; + } else { + return $c->l('prt_ERR_UNEXPECTED_DESC') . ': ' . $description; + } + + if ($location =~ /^(.*)$/) { + $location = $1; + } else { + $location = "lp0"; + } + + #------------------------------------------------------------ + # Looks good. Find out if this printer has been taken + #------------------------------------------------------------ + + my $rec = $adb->get($name); + my $type; + if ($rec and ($type = $rec->prop('type'))) { + return $c->l('prt_ERR_EXISTS') . ' : ' . $name; + } + + return 'OK'; +} + + +sub validate_network { + + my ($c, $location, $remoteName, $address ) = @_; + + if ($location eq 'remote') { + + my $msg = hostname_or_ip2 ( $c, $address ); + return $msg unless $msg eq 'OK'; + + if ($address =~ /^([a-zA-Z0-9\.\-]+)$/) { + $address = $1; + } else { + return $c->l('prt_ERR_INVALID_ADDRESS') . ' : ' . $address; + } + + if ($remoteName =~ /^([^\|]*)$/) { + $remoteName = $1; + } else { + return $c->l('prt_ERR_INVALID_REMOTE_NAME') . ' : ' . $remoteName; + } + } + + return 'OK'; +} + + +sub new_printer { + + my ($c, $name, $description, $location, $remoteName, $address ) = @_; + + #------------------------------------------------------------ + # Printer name is available! Update printers database and + # singal the create-printer event. + #------------------------------------------------------------ + + my $result = ''; + + $description =~ s/ /_/g; + my $prop_upd = "accounts set $name printer "; + $prop_upd .= "Description $description Address $address RemoteName $remoteName Location $location"; + + # Update the db config + # + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_upd ) ) == 0 +# system ( '/bin/sudo', '/sbin/e-smith/db', $prop_upd ) == 0 + or return $result = $c->l('prt_ERR_CREATING') . " db config: " . $prop_upd; + + # Update system + if ( ! $result ) { + system ('/bin/sudo', '/sbin/e-smith/signal-event', "printer-create", $name) == 0 + or return $result = $c->l('prt_ERR_CREATING') . " signal-event: " . $name; + } + + return 'OK', +} + + +sub hostname_or_ip2 { + + my ($fm, $data) = @_; + if ($data =~ /^[\d\.]+$/) { + if (ip_number2($fm, $data) eq "OK") + { + return "OK"; + } + else + { + return $fm->l('prt_MUST_BE_VALID_HOSTNAME_OR_IP'); + } + } + elsif ($data =~ /^([a-zA-Z0-9\.\-]+)$/ ) + { + return "OK"; + } + else + { + return $fm->l('prt_MUST_BE_VALID_HOSTNAME_OR_IP'); + } +} + + +sub ip_number2 { + # from CGI::FormMagick::Validator::ip_number($fm, $data) + + my ($fm, $data) = @_; + + return undef unless defined $data; + + return 'FM_IP_NUMBER1' unless $data =~ /^[\d.]+$/; + + my @octets = split /\./, $data; + my $dots = ($data =~ tr/.//); + + return 'FM_IP_NUMBER2' unless (scalar @octets == 4 and $dots == 3); + + foreach my $octet (@octets) { + return $fm->l("FM_IP_NUMBER3", {octet => $octet}) if $octet > 255; + } + + return 'OK'; +} + + +1 \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,65 @@ +package SrvMngr::Controller::Proxy; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + +our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db"; + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my %prx_datas = (); + my $title = $c->l('prx_TITLE'); + my $modul = $c->render_to_string(inline => $c->l('prx_FIRST_PAGE_DESCRIPTION')); + + $prx_datas{'http_proxy_status'} = ($db->get_prop('squid','status')) || 'disabled'; + + #if (system('/bin/rpm -q e-smith-email > /dev/null') == 0) + #{ + $prx_datas{'smtp_proxy_status'} = $db->get_prop('qpsmtpd','Proxy') || undef; + #} + #(system('/bin/rpm -q e-smith-email > /dev/null') == 0) ? + + $c->stash( title => $title, modul => $modul, prx_datas => \%prx_datas ); + $c->render(template => 'proxy'); +}; + + +sub do_update { + my $c = shift; + $c->app->log->info($c->log_req); + + my $http_proxy_status = $c->param('http_proxy_status') || 'disabled'; + my $smtp_proxy_status = $c->param('smtp_proxy_status') || ''; + + my $result = ""; + + my $squid = $db->get('squid') or $result = $c->l('prx_ERR_NO_SQUID_REC'); + # smtpd is allowed to not exist, as the relevant packages may not be + # installed. + my $smtpd = $db->get('qpsmtpd') || undef; + + $squid->set_prop('status', $http_proxy_status); + $smtpd->set_prop('Proxy', $smtp_proxy_status) if $smtpd; + + # + # Update the system + # + ##system("/sbin/e-smith/signal-event proxy-update") == 0 + ##or $result = $c->l('prx_ERR_PROXY_UPDATE_FAILED'); + + my $title = $c->l('prx_TITLE'); + + if ( $result eq '' ) { $result = $c->l('prx_SUCCESS')." but system update NOT done" ; } + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); +}; + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,119 @@ +package SrvMngr::Controller::Qmailanalog; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use esmith::FormMagick qw(gen_locale_date_string); + +use Locale::gettext; +use SrvMngr::I18N; + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my $title = $c->l('qma_FORM_TITLE'); + my $modul = $c->render_to_string(inline => $c->l('qma_INITIAL_DESC')); + + $c->stash( title => $title, modul => $modul ); + $c->render(template => 'qmailanalog'); +}; + + +sub do_update { + my $c = shift; + $c->app->log->info($c->log_req); + + my $result = ""; + + my $report_type = $c->param('report_type'); + + if ($report_type =~ /^(\S+)$/) + { + $report_type = $1; + } + elsif ($report_type =~ /^\s*$/) + { + $report_type = "zoverall"; + } else { + $result = $c->l('INVALID_REPORT_TYPE') . $report_type; + $report_type = undef; + } + + my $title = $c->l('qma_FORM_TITLE'); + + $result = $c->render_to_string(inline => generateReport($c, $report_type)) if $report_type; + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); +}; + + +sub generateReport { + + my $c = shift; + my $report_type = shift; + + #------------------------------------------------------------ + # Looks good; go ahead and generate the report. + #------------------------------------------------------------ + +# $| = 1; + my $out = ''; + + my $now_string = $c->gen_locale_date_string(); + $out .= sprintf("

%s %s

\n", $c->l('REPORT_GENERATED'), $now_string); + + if ($report_type =~ /^qmail-q/) + { + open(QMAILQUEUEREPORT, "/var/qmail/bin/$report_type |"); + + # $out .= "
\n";
+
+		while ()
+		{
+			$out .= "while qmaqrp\n";
+		}
+
+		close QMAILQUEUEREPORT;
+	#	$out .= "
\n"; + + $out .= sprintf("

%s

\n",$c->l('END_OF_REPORT')); + return $out; + } + + chdir "/var/log/qmail"; + + open(QMAILANALOG, + "/bin/cat \@* current 2>/dev/null" + . "| /usr/local/bin/tai64nunix" + . "| /usr/local/qmailanalog/bin/matchup 5>/dev/null" + . "| /usr/local/qmailanalog/bin/$report_type |" + ); + + #$out .= "
\n";
+
+	while ()
+	{
+		# Cook any special HTML characters
+
+		s/\&/\&/g;
+		s/\"/\"/g;
+		s/\>/\>/g;
+		s/\\n";
+
+	close QMAILANALOG;
+
+	$out .= sprintf("

%s

\n",$c->l('END_OF_REPORT')); + return $out; + +} + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,191 @@ +package SrvMngr::Controller::Quota; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Quota; +use Locale::gettext; +use SrvMngr::I18N; + +use esmith::FormMagick::Panel::quota; + +#our $db = esmith::ConfigDB->open || die "Couldn't open config db"; +our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; +#our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db"; + + +sub main { + + my $c = shift; + $c->app->log->info($c->log_req); + + my %quo_datas = (); + my $title = $c->l('quo_FORM_TITLE'); + my $modul = ''; + + $quo_datas{'trt'} = 'LIST'; + + my @userAccounts; + if ($adb) + { + @userAccounts = $adb->users(); + } + + $c->stash( title => $title, modul => $modul, quo_datas => \%quo_datas, userAccounts => \@userAccounts ); + $c->render(template => 'quota'); + +}; + + +sub do_display { + + my $c = shift; + + my $rt = $c->current_route; + my $trt = ($c->param('trt') || 'LIST'); + my $user = $c->param('user') || ''; + + $trt = 'UPD' if ( $user ); + + my %quo_datas = (); + my $title = $c->l('quo_FORM_TITLE'); + my $modul = ''; + + $quo_datas{'trt'} = $trt; + + if ( $trt eq 'UPD' ) { + + my $rec = $adb->get($user); + if ($rec and $rec->prop('type') eq 'user') { + $quo_datas{user} = $user; + $quo_datas{userRec} = $rec; + } + + } + + #if ( $trt eq 'LIST' ) { + # my @userAccounts; + # if ($adb) + # { + # @userAccounts = $adb->users(); + # } + # $c->stash( userAccounts => \@userAccounts ); + #} + + $c->stash( title => $title, modul => $modul, quo_datas => \%quo_datas ); + $c->render( template => 'quota' ); + +}; + + +sub do_update { + + my $c = shift; + $c->app->log->info($c->log_req); + + my $rt = $c->current_route; + my $trt = ($c->param('trt') || 'LIST'); + +# if ( $trt =~ /^([A-Z]3)$/ ) { +# $trt = $1; +# } else { +# return $c->l('quo_ERR_INPUT_CODE') . ': ' . $trt; +# } + + my $result = ''; + + if ( $trt eq 'UPD' ) { + + my $name = ($c->param('Name') || ''); + my $description = ($c->param('Description') || ''); + my $location = ($c->param('Location') || ''); + + # controls + my $res = validate_printer( $c, $name, $description, $location ); + $result .= $res unless $res eq 'OK'; + + if ( ! $result ) { + $res = new_printer( $c, $name, $description, $location ); + #$remoteName, $address ); + $result .= $res unless $res eq 'OK'; + if ( ! $result ) { + $result = $c->l('quo_CREATED_SUCCESSFULLY') . ' ' . $name; + } + } + } + + my $title = $c->l('quo_FORM_TITLE'); + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); + +}; + + +sub upd_user { + + my ( $c, $user ) = @_; + + # Update the db config (1) + + my $prop_del = "accounts settype $user user-updated"; + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_del ) ) == 0 + or return $c->l('quo_ERR_DELETING') . ' ' . $prop_del; + + # Update system + + system ('/bin/sudo', '/sbin/e-smith/signal-event', "user-delete", $user) == 0 + or return $c->l('quo_ERR_DELETING') . " system " . $user; + + # Update the db config (2) + + $prop_del = "accounts delete $user"; + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_del ) ) == 0 + or return $c->l('quo_ERR_DELETING') . ' ' . $prop_del; + + return 'OK'; +} + + +sub validate_printer { + + my ($c, $name, $description, $location, $remoteName, $address ) = @_; + + #------------------------------------------------------------ + # Validate parameters and untaint them + #------------------------------------------------------------ + + if ($name =~ /^([a-z][a-z0-9]*)$/) { + $name = $1; + } else { + return $c->l('quo_ERR_UNEXPECTED_NAME') . ': ' . $name; + } + + if ($description =~ /^([\'\w\s]+)$/) { + $description = $1; + } else { + return $c->l('quo_ERR_UNEXPECTED_DESC') . ': ' . $description; + } + + if ($location =~ /^(.*)$/) { + $location = $1; + } else { + $location = "lp0"; + } + + #------------------------------------------------------------ + # Looks good. Find out if this printer has been taken + #------------------------------------------------------------ + + my $rec = $adb->get($name); + my $type; + if ($rec and ($type = $rec->prop('type'))) { + return $c->l('quo_ERR_EXISTS') . ' : ' . $name; + } + + return 'OK'; +} + + +1 \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,47 @@ +package SrvMngr::Controller::Request; + +use strict; +use warnings; + +use Mojo::Base 'Mojolicious::Controller'; + +use esmith::AccountsDB qw(open_ro); +use esmith::ConfigDB qw(open_ro); + +#use Locale::gettext; +#use SrvMngr::I18N; + +# retrieve a configuration db record, both simple (DomainName) or complex (InternalIntefrace), given its name +sub getconfig { + my $c = shift; +# $c -> res -> headers -> header('Access-Control-Allow-Origin' => '*'); + + my $db = esmith::ConfigDB -> open_ro; + my $key = $c -> param('key'); + my $r = $db -> get($key); + $c -> render(json => { + $key => { + $r -> props + } + }); +}; + + +# retrieve an accounts db record, given its name +# we use a relaxed placeholder because keys can have a dot inside +sub getaccount { + my $c = shift; +# $c -> res -> headers -> header('Access-Control-Allow-Origin' => '*'); + + my $a = esmith::AccountsDB -> open_ro; + my $key = $c -> param('key'); + my $r = $a -> get($key); + $c -> render(json => { + name => $key, props => { + $r -> props + } + }); +}; + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,222 @@ +package SrvMngr::Controller::Review; + +use strict; +use warnings; + +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + +#use SrvMngr::Review_sub qw(print_page); +#use smeserver::Panel::review; +use esmith::FormMagick::Panel::review; + +our $db = esmith::ConfigDB->open_ro || die "Couldn't open config db"; +our $domains = esmith::DomainsDB->open_ro || die "Couldn't open domains"; +our $networks = esmith::NetworksDB->open_ro || die "Couldn't open networks"; + + + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my $title = $c->l('rvw_FORM_TITLE'); + my $modul = $c->render_to_string(inline => $c->l('rvw_DESCRIPTION')); + my %rvw_datas = (); + + $rvw_datas{'servermode'} = (get_value('','SystemMode' )|| ''); + $rvw_datas{'localip'} = get_value('$c','LocalIP' ) + .'/'.get_value('$c','LocalNetmask'); + $rvw_datas{'publicip'} = + esmith::FormMagick::Panel::review->get_public_ip_address($c); + $rvw_datas{'gateway'} = + $c->render_to_string(inline => print2_gateway_stanza($c)); + $rvw_datas{'serveronly'} = + $c->render_to_string(inline => print2_serveronly_stanza($c)); + $rvw_datas{'addlocalnetworks'} = get_local_networks($c); + $rvw_datas{'dhcpserver'} = + $c->render_to_string(inline => print2_dhcp_stanza($c)); + + $rvw_datas{'dnsserver'} = (get_value('','LocalIP' )|| ''); + $rvw_datas{'webserver'} = 'www.'.(get_local_domain()); + my $port = $db->get_prop("squid", "TransparentPort") || 3128; + $rvw_datas{'proxyserver'} = 'proxy.'.get_local_domain().":$port"; + $rvw_datas{'ftpserver'} = 'ftp.'.get_local_domain(); + $rvw_datas{'smtpserver'} = 'mail.'.get_local_domain(); + + $rvw_datas{'domainname'} = (get_value('','DomainName' )|| ''); + $rvw_datas{'virtualdomains'} = + $c->render_to_string(inline => gen2_domains($c)); + $rvw_datas{'primarywebsite'} = 'http://www.'.get_value('','DomainName'); + $rvw_datas{'servermanager'} = 'https://'. (get_value('','SystemName') || 'localhost').'/server-manager/'; + $rvw_datas{'usermanager'} = 'https://'. (get_value('','SystemName') || 'localhost').'/user-password/'; + $rvw_datas{'emailaddresses'} = + $c->render_to_string(inline => gen2_email_addresses($c)); + + #$c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight}, + #PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, + $c->stash( title => $title, modul => $modul, rvw_datas => \%rvw_datas, + ); + + $c->render(template => 'review'); + +} + + +=head2 gen2_email_addresses + + Returns a string of the various forms of email addresses that work + on an SMEServer (mojo v.) + +=cut + +sub gen2_email_addresses { + my $c = shift; + + my $domain = get_value($c,'DomainName'); + my $useraccount = $c->l("rvw_EMAIL_USERACCOUNT"); + my $firstname = $c->l("rvw_EMAIL_FIRSTNAME"); + my $lastname = $c->l("rvw_EMAIL_LASTNAME"); + + my $out = "" . $useraccount . "\@" . $domain . "
" + . "" . $firstname . "." . $lastname . "\@" . $domain . "
" + . "" . $firstname . "_" . $lastname . "\@" . $domain . "
"; + + return $out; +} + + +=head2 gen2_domains + + Returns a string of the domains this SME Server serves or a localized string + saying "no domains defined" (mojo ver) + +=cut + +sub gen2_domains { + my $c = shift; + + my @virtual = $domains->get_all_by_prop( type => 'domain'); + my $numvirtual = @virtual; + if ($numvirtual == 0) { + $c->localise("NO_VIRTUAL_DOMAINS"); + } + else { + my $out = ""; + my $domain; + foreach $domain (sort @virtual) { + if ($out ne "") { + $out .= "
"; + } + $out .= $domain->key; + } + return $out; + } +} + + +=head2 get2_local_networks + +Return a
delimited string of all the networks this SMEServer is +serving. (mojo ver) + +=cut + +sub get2_local_networks { + my $c = shift; + + my @nets = $networks->get_all_by_prop('type' => 'network'); + + my $numNetworks = @nets; + if ($numNetworks == 0) { + return $c->l('NO_NETWORKS'); + } + else { + my $out = ""; + foreach my $network (sort @nets) { + if ($out ne "") { + $out .= "
"; + } + + $out .= $network->key."/" . get_net_prop($c, $network->key, 'Mask'); + + if ( defined get_net_prop($c, $network->key, 'Router') ) { + $out .= " via " . get_net_prop ($c, $network->key, 'Router'); + } + } + return $out; + } + +} + + + +=head2 print2_gateway_stanza + +If this system is a server gateway, show the external ip and gateway ip (mojo ver) + +=cut + +sub print2_gateway_stanza +{ + my $c = shift; + if (get_value($c,'SystemMode') =~ /servergateway/) + { + my $ip = get_value($c,'ExternalIP'); + my $static = + (get_value($c, 'AccessType') eq 'dedicated') && + (get_value($c, 'ExternalDHCP') eq 'off') && + (get_prop($c, 'pppoe', 'status') eq 'disabled'); + if ($static) + { + $ip .= "/".get_value($c,'ExternalNetmask'); + } + my $out = $c->l('EXTERNAL_IP_ADDRESS_SUBNET_MASK').$ip; + if ($static) + { + $out .= $c->l('GATEWAY').get_value($c,'GatewayIP'); + } + return $out + } +} +=head2 print2_serveronly_stanza + +If this system is a standalone server with net access, show the external +gateway IP (mojo ver) + +=cut + +sub print2_serveronly_stanza { + my $c = shift; + if ( (get_value($c,'SystemMode') eq 'serveronly') && + get_value($c,'AccessType') && + (get_value($c,'AccessType') ne "off")) { + return ( get_value($c,'GatewayIP') ); + } + +} + +=head2 print2_dhcp_stanza + +Prints out the current state of dhcp service (mojo ver) + + +=cut + +sub print2_dhcp_stanza { + my $c = shift; + my $out = (get_prop($c,'dhcpd','status') || 'disabled' ); + + if (get_prop($c,'dhcpd', 'status') eq 'enabled') { + $out .= '
'.$c->l('BEGINNING_OF_DHCP_ADDRESS_RANGE'); + $out .= (get_prop($c,'dhcpd','start') || '' ).'
'; + $out .= $c->l('END_OF_DHCP_ADDRESS_RANGE'); + $out .= (get_prop($c,'dhcpd','end') || '' ); + } + return $out; +} + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,149 @@ +package SrvMngr::Controller::Starterwebsite; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + +our $db = esmith::ConfigDB->open_ro || die "Couldn't open config db"; + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my $title = $c->l('sws_FORM_TITLE'); + my $modul = $c->render_to_string(inline => $c->l('sws_DESCRIPTION')); + + $c->stash( title => $title, modul => $modul ); + $c->render(template => 'starterwebsite'); +}; + + +sub do_site { + my $c = shift; + $c->app->log->info($c->log_req); + + my $companyname = $c->param('l_company'); + my $header1 = $c->param('l_header1'); + my $desc1 = $c->param('l_desc1'); + my $header2 = $c->param('l_header2'); + my $desc2 = $c->param('l_desc2'); + + my $result = ""; +# if ( ( $companyname !~ /[\p{L}]+/ ) || ( $header1 !~ /[\p{L}]+/ ) || ( $desc1 !~ /[\p{L}]+/ ) ) { + if (($companyname =~ /^\s*$/s) or ($header1 =~ /^\s*$/s) or ($desc1 =~ /^\s*$/s)) { + $result .= 'Minimum information required !, '; + } + + my $title = $c->l('sws_FORM_TITLE'); + + if (change2_settings( $c, $companyname, $header1, $desc1, $header2, $desc2 ) != 0) { + $result .= 'Htm file creation error !!'; + } + + if ( $result eq '' ) { + my $url = "http://www.".$db->get('DomainName')->value(); + my $href = "$url"; + $result = $c->render_to_string(inline => $c->l('sws_SUCCESS').'

'.$href); + } + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); +}; + + +sub change2_settings { + my ($c, $companyname, $header1, $desc1, $header2, $desc2) = @_; + + my $primary_location = '/home/e-smith/files/ibays/Primary/html/index.htm'; + + if (! open (WR, ">$primary_location")) { return 1; } + + format_page($c, $companyname, $header1, $desc1, $header2, $desc2); + + close WR; + + esmith::util::chownFile("admin", "shared", + $primary_location); + chmod 0640, $primary_location; + return 0; +} + +sub format_page { + my ($c, $companyname, $header1, $desc1, $header2, $desc2) = @_; + + + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "$companyname\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "\n"; + print WR "

$companyname

 \n"; + print WR "\n"; + + if ($header1 !~ /^\s*$/s) + { + print WR "

$header1

\n"; + print WR "\n"; + } + + if ($desc1 !~ /^\s*$/s) + { + $desc1 =~ s/^\s*(.*?)\s*$/$1/s; + $desc1 =~ s/\r\s*\r/

/sg; + + print WR "\n"; + print WR "

\n"; + print WR "$desc1\n"; + print WR "

\n"; + print WR "\n"; + print WR "\n"; + } + + if ($header2 !~ /^\s*$/s) + { + print WR "

$header2

\n"; + print WR "\n"; + } + + if ($desc2 !~ /^\s*$/s) + { + $desc2 =~ s/^\s*(.*?)\s*$/$1/s; + $desc2 =~ s/\r\s*\r/

/sg; + + print WR "\n"; + print WR "

\n"; + print WR "$desc2\n"; + print WR "

\n"; + print WR "\n"; + print WR "\n"; + } + + print WR "\n"; + print WR "
\n"; + print WR "\n"; + print WR "\n"; + + close WR; +} + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,44 @@ +package SrvMngr::Controller::Support; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +#use esmith::config; +#use esmith::NavigationDB; +use esmith::util; +#use esmith::I18N; + + +sub display_licenses +{ + my $lang = shift; + + #print "
\n";
+	my $lic = '';
+	foreach my $license (esmith::util::getLicenses($lang))
+	{
+		$lic .= $license . '
'; + } + #print "
\n"; + return $lic; +} + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + esmith::util::setRealToEffective(); + + my $title = $c->l('support_FORM_TITLE'); + my $modul = $c->render_to_string(inline => display_licenses($c->session->{lang})); + + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight}, + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, navigation => $c->session->{navigation}, + title => $title, modul => $modul); + + $c->render(template => 'module'); +}; + + +1; \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,146 @@ +package SrvMngr::Controller::Wbl; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + + +use Locale::gettext; +use SrvMngr::I18N; + +####$locale->{namespace} = 'SrvMngr::I18N::Wbl'; + +#use esmith::FormMagick::Panel::wbl; +use smeserver::Panel::wblNew; + +##our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db"; + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my %wbl_datas = (); + my $title = $c->l('wbl_FORM_TITLE'); + my $modul = $c->l('wbl_WBL_DESCRIPTION'); + + $wbl_datas{'trt'} = 'CHOICE'; + my @wblList = ( [$c->l('wbl_RBL_LIST') => 'RBL'], [$c->l('wbl_BLACK_LIST') => 'BLACK'], [$c->l('wbl_WHITE_LIST') => 'WHITE'] ); + $c->stash( list => \@wblList ); + + $c->stash( title => $title, modul => $modul, wbl_datas => \%wbl_datas); + $c->render(template => 'wbl'); +}; + + +sub do_display { + my $c = shift; + + #my $button = $c->param('button'); + my $trt = $c->param('list') || 'CHOICE'; + + my %wbl_datas = (); + my $title = $c->l('wbl_FORM_TITLE'); + my $modul = $c->l('wbl_WBL_DESCRIPTION'); + + $wbl_datas{'trt'} = $trt; + + if ( $trt eq 'RBL' ) { + + # For RBL List + # dnsbl - returns 'enabled/disabled + $wbl_datas{'dnsbl'} = get_dnsbl(); + + # rhsbl - returns 'enabled/disabled + $wbl_datas{'rhsbl'} = get_rhsbl(); + + # uribl - returns 'enabled/disabled + $wbl_datas{'uribl'} = get_uribl(); + + # For SBLList List + my @sbllist = get_sbllist(); + $c->stash( sbllist => \@sbllist ); + + # For RBLList List + my @rbllist = get_rbllist(); + $c->stash( rbllist => \@rbllist ); + + # For URLList List + my @ubllist = get_ubllist(); + $c->stash( ubllist => \@ubllist ); + + } + if ( $trt eq 'BLACK' ) { + + # For Black List + my @badhelo = get_badhelo(); + $c->stash( badhelo => \@badhelo ); + + my @badmailfrom = get_badmailfrom(); + $c->stash( badmailfrom => \@badmailfrom ); + + my @blacklistfrom = get_blacklistfrom(); + $c->stash( blacklistfrom => \@blacklistfrom ); + + } + if ( $trt eq 'WHITE' ) { + + # For WBL List + my @whitelistsenders = get_whitelistsenders(); + $c->stash( whitelistsenders => \@whitelistsenders ); + + my @whitelisthelo = get_whitelisthelo(); + $c->stash( whitelisthelo => \@whitelisthelo ); + + my @whitelisthosts = get_whitelisthosts(); + $c->stash( whitelisthosts => \@whitelisthosts ); + + my @whitelistfrom = get_whitelistfrom(); + $c->stash( whitelistfrom => \@whitelistfrom ); + + } + + if ( $trt eq 'CHOICE' ) { + my @wblList = ( [$c->l('wbl_RBL_LIST') => 'RBL'], [$c->l('wbl_BLACK_LIST') => 'BLACK'], + [$c->l('wbl_WHITE_LIST') => 'WHITE'] ); + $c->stash( list => \@wblList ); + + } + + $c->stash( title => $title, modul => $modul, wbl_datas => \%wbl_datas ); + $c->render( template => 'wbl' ); + +}; + + +sub do_update { + my $c = shift; + $c->app->log->info($c->log_req); + + my $result = ""; + + my $trt = ($c->param('trt') || '???'); + + #### $wbl_datas{'dnsbl'} = get_dnsbl(); etc... + if ($trt eq 'RBL') { + $result .= 'RBL: ' . $c->l('wbl_ERROR_UPDATING') unless create_modify_rbl($c) == 0; + } + elsif ($trt eq 'BLACK') { + $result .= 'BLACK: ' . $c->l('wbl_ERROR_UPDATING') unless create_modify_black($c) == 0; + } elsif ($trt eq 'WHITE') { + $result .= 'WHITE: ' . $c->l('wbl_ERROR_UPDATING') unless create_modify_white($c) == 0; + } else { + $result .= "Undefined form: $trt." . $c->l('wbl_ERROR_UPDATING'); + } + + my $title = $c->l('wbl_FORM_TITLE'); + + if ( $result eq '' ) { $result = $c->l('wbl_SUCCESS') . " but System update NOT done !!!"; } + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); + +}; + + +1; + 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 --- 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 +++ 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 @@ -0,0 +1,40 @@ +package SrvMngr::Controller::Welcome; + +use strict; +use warnings; + +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + + +#page d'accueil +sub main { + my $c = shift; + + $c->app->log->info("Appel de la page d'accueil."); + $c->app->log->info($c->log_req); + + if (not defined $c->session->{lang}) { + $c->app->log->info("Init datas in welcome page."); + my %datas = (); + %datas = SrvMngr::Model::Main->init_data( %datas ); + $c->session->{lang} = $datas{'lang'}; + $c->session->{copyRight} = $c->l($datas{'copyRight'}); + $c->session->{releaseVersion} = $datas{'releaseVersion'}; + $c->session->{PwdSet} = $datas{'PwdSet'}; + $c->session->{Unsafe} = $datas{'Unsafe'}; + } + + my $modul .= ' Welcome result is 10 + 33.'; + + $c->stash( releaseVersion => $c->session->{releaseVersion}, copyRight => $c->session->{copyRight}, + PwdSet => $c->session->{PwdSet}, Unsafe => $c->session->{Unsafe}, + modul => $modul); + + $c->render(template => 'welcome'); +} + + +1; \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,106 @@ +package SrvMngr::Controller::Workgroup; + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use Locale::gettext; +use SrvMngr::I18N; + +use esmith::FormMagick::Panel::workgroup; + +our $db = esmith::ConfigDB->open || die "Couldn't open config db"; +#our $db = esmith::ConfigDB->open('conf/test/configuration') || die "Couldn't open config db"; + +sub main { + my $c = shift; + $c->app->log->info($c->log_req); + + my %wkg_datas = (); + my $title = $c->l('wkg_FORM_TITLE'); + my $modul = ''; + + $wkg_datas{'Workgroup'} = ($db->get_prop('smb','Workgroup')) || ''; + $wkg_datas{'ServerName'} = ($db->get_prop('smb','ServerName')) || ''; + $wkg_datas{'ServerRole'} = ($db->get_prop('smb','ServerRole')) || ''; + $wkg_datas{'RoamingProfiles'} = ($db->get_prop('smb','RoamingProfiles')) || ''; + + $c->stash( title => $title, modul => $modul, wkg_datas => \%wkg_datas ); + $c->render(template => 'workgroup'); +}; + + +sub do_update { + my $c = shift; + $c->app->log->info($c->log_req); + + my $result = ""; + + my $workgroup = ($c->param('Workgroup') || 'no'); + my $servername = ($c->param('ServerName') || 'WS'); + my $roamingprofiles = ($c->param('RoamingProfiles') || 'no'); + my $serverrole = ($c->param('ServerRole') || 'WS'); + + # controls + my $res = validate2_workgroup($c, $workgroup, $servername); + $result .= $res unless $res eq 'OK'; + + $res = validate2_servername($c, $servername); + $result .= $res unless $res eq 'OK'; + + #$db->get('smb')->set_prop('Workgroup', $workgroup); + #$db->get('smb')->set_prop('ServerRole', $serverrole); + #$db->get('smb')->set_prop('ServerName', $servername); + #$db->get('smb')->set_prop('RoamingProfiles', $roamingprofiles); + + my $prop_upd = 'configuration setprop smb '; + $prop_upd .= "Workgroup $workgroup ServerRole $serverrole ServerName $servername RoamingProfiles $roamingprofiles"; + # + # Update the db config + # +# system ('/bin/sudo', '/sbin/e-smith/db', 'configuration', 'setprop', 'smb', 'Workgroup', $workgroup, +# 'ServerRole', $serverrole, 'ServerName', $servername, 'RoamingProfiles', $roamingprofiles) == 0 + system ( '/bin/sudo', '/sbin/e-smith/db', split( / /, $prop_upd ) ) == 0 + or $result = $c->l('ERROR_UPDATING') . " db config: " . $prop_upd; + # + # Update the system + # + if ($result eq '') { + system ('/bin/sudo', '/sbin/e-smith/signal-event', 'workgroup-update') == 0 + or $result = $c->l('ERROR_UPDATING') . " system"; + } + + my $title = $c->l('wkg_FORM_TITLE'); + + if ( $result eq '' ) { $result = $c->l('wkg_SUCCESS'); } + + $c->stash( title => $title, modul => $result ); + $c->render(template => 'module'); +}; + + +sub validate2_servername { + my $c = shift; + my $servername = shift; + + return ('OK') if ( $servername =~ /^([a-zA-Z][\-\w]*)$/ ); + + return $c->l('INVALID_SERVERNAME'); +} + + +sub validate2_workgroup { + my $c = shift; + my $workgroup = lc(shift); + my $servername = lc(shift); +# my $workgroup = $c->l(shift); +# my $servername = $c->l(shift); + + return $c->l('INVALID_WORKGROUP') unless ( $workgroup =~ /^([a-zA-Z0-9][\-\w\.]*)$/ ); + return $c->l('INVALID_WORKGROUP_MATCHES_SERVERNAME') if ( $servername eq $workgroup); + return ('OK'); + +} + + +1; 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 --- 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 +++ 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 @@ -0,0 +1,16 @@ +package SrvMngr::I18N::de; + +use utf8; +use Mojo::Base 'SrvMngr::I18N'; + +our %Lexicon = ( +_AUTO => 1, + +YES => 'Ya', +NO => 'Nein', +'All rights reserved' => 'Alle Rechte vorbehalten', +'sws_FORM_TITLE' => 'Schaffen Sie eine Starter-Website', + +); + +1; \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,980 @@ +package SrvMngr::I18N::en; + +use utf8; +use Mojo::Base 'SrvMngr::I18N'; + +our %Lexicon = ( +#_AUTO => 1, + +edit => 'edit', +del => 'del', +exit => 'Exit', +cancel => 'Cancel', +hello => 'hello', +'All rights reserved' => 'All Rights Reserved', + +'Collaboration' => 'Collaboration', +'Administration' => 'Administration', +'Security' => 'Security', +'Configuration' => 'Configuration', +'Miscellaneous' => 'Miscellaneous', +'Your Settings' => 'Your Settings', +'SAVE' => 'Save', +'CANCEL' => 'Cancel', +'ENABLED' => 'Enabled', +'DISABLED' => 'Disabled', +'NO' => 'No', +'YES' => 'Yes', +'ADD' => 'Add', +'CREATE' => 'Create', +'MODIFY' => 'Modify', +'REMOVE' => 'Remove', +'COMMENT' => 'Comment', +'NEXT' => 'Next', +'SELF' => 'Self', +'REMOTE' => 'Remote', +'LOCAL' => 'Local', +'ACTION' => 'Action', +'NETWORK' => 'Network', +'ROUTER' => 'Router', +'OPERATION_STATUS_REPORT' => 'Operation status report', +'ACCOUNT' => 'Account', +'GROUP' => 'Group', +'DESC_SECTIONBAR' => '
', +'NO_PIPES_ALLOWED' => 'Pipe symbols (|) are not permitted in this field', +'ERROR_BELOW' => ' +ERROR: There was an error in the validation of this page. Please +scroll down and find the specific problem.', +'ACCESS' => 'Access', +'ACCOUNT_LOCKED' => 'Account is locked', +'GROUP_ADD' => 'Add group', +'NETWORKS_ALLOW_LOCAL' => 'Allow access only from local networks', +'NETWORKS_ALLOW_PUBLIC' => 'Allow public access (entire Internet)', +'ERROR_PASSWORD_CHANGE' => ' +An error occurred while attempting to change your password. Please make sure that the old password entered is correct.', +'BACK' => 'Back', +'BACKUP' => 'Backup', +'DESCRIPTION_BRIEF' => 'Brief description', +'PASSWORD_CHANGE' => 'Change Password', +'RESET_PASSWORD_TITLE' => 'Reset user password', +'ACCOUNT_PASSWORD_CHANGE' => 'Change account password', +'CONTENT' => 'Content', +'CREATE_GROUP' => 'Create user group', +'USER_LIST_CURRENT' => 'Current list of users', +'DESCRIPTION' => 'Description', +'DESTINATION' => 'Destination', +'DOMAIN_NAME' => 'Domain name', +'DOMAIN' => 'Domain', +'DOMAINS' => 'Domains', +'DOWNLOAD' => 'Download', +'ERROR_UPDATING_CONFIGURATION' => 'Error occurred while updating system configuration.', +'GROUP_MEMBERS' => 'Group Members', +'GROUP_NAME' => 'Group Name', +'GROUPS' => 'Groups', +'IP_ADDRESS' => 'IP Address', +'IP_ADDRESS_OR_FQDN' => 'IP Address or FQDN', +'USER_INVALID' => 'Invalid user', +'LOCATION' => 'Location', +'MB' => 'Mb', +'MODIFY_USER_GROUP' => 'Modify user group', +'NAME' => 'Name', +'PASSWORD_VERIFY_NEW' => 'New password (verify):', +'PASSWORD_NEW' => 'New password:', +'OFF' => 'Off', +'OK' => 'Ok', +'PASSWORD_OLD' => +' +Old password: +', +'ON' => +' +On +', +'PASSWORD' => +' +Password +', +'PERFORM' => +' +Perform +', +'RECONFIGURE' => +' +Reconfigure +', +'REMOVE_USER_GROUP' => +' +Remove user group +', +'PASSWORD_RESET' => +' +Reset password +', +'RESTORE' => +' +Restore +', +'SHUTDOWN' => +' +Shutdown +', +'SUCCESS' => +' +Success +', +'ACCOUNT_NAME_INVALID' => +' +The account name entered is invalid. +', +'ACCOUNT_NAME_INVALID_CHARS' => +' +The account name you entered contained invalid characters. +', +'PASSWORD_OLD_INVALID_CHARS' => +' +The old password you entered contained invalid characters. +', +'PASSWORD_INVALID_CHARS' => +' +The password you entered contained invalid characters. +', +'PASSWORD_VERIFY_ERROR' => +' +The passwords you entered did not match. +', +'ACCOUNT_USER_NONE' => +' +There are no user accounts in the system. +', +'ACCOUNT_GROUP_NONE' => +' +There are no user groups in the system. +', +'ERROR_INVALID_CHARS' => +' +Unexpected characters in description. +', +'USER_NAME' => +' +User Name +', +'YOUR_ACCOUNT' => +' +Your account: +', +'YOUR_ACCOUNT_INVALID' => +'The account name entered is invalid.', +'PASSWORD_CHANGE_SUCCESS' => +' +Your password has been successfully changed. +', +'FM_NONBLANK' => +' +This field must not be left blank +', +'FM_INTEGER' => +' +This field must contain a positive integer +', +'FM_NUMBER' => +' +This field must contain a number +', +'FM_WORD' => +' +This field must look like a single word. +', +'FM_DATE' => +' +The data entered could not be parsed as a date +', +'FM_CREDIT_CARD_NUMBER1' => +' +You must enter a credit card number +', +'FM_CREDIT_CARD_NUMBER2' => +' +Credit card numbers shouldn\'t have anything but numbers, spaces or dashes +', +'FM_CREDIT_CARD_NUMBER3' => +' +Must be at least 14 characters in length +', +'FM_CREDIT_CARD_NUMBER4' => +' +Doesn\'t appear to be a valid credit card number +', +'FM_CREDIT_CARD_EXPIRY1' => +' +No expiry date entered. +', +'FM_CREDIT_CARD_EXPIRY2' => +' +Expiry date must be in the format MM/YY or MM/YYYY +', +'FM_CREDIT_CARD_EXPIRY3' => +' +This expiry date appears to have already passed +', +'FM_CREDIT_CARD_EXPIRY4' => +' +This expiry date appears to be too far in the future +', +'FM_ISO_COUNTRY_CODE1' => +' +You must provide a country code +', +'FM_ISO_COUNTRY_CODE2' => +' +This field does not contain an ISO country code +', +'FM_US_STATE' => +' +This doesn\'t appear to be a valid 2-letter US state abbreviation +', +'FM_US_ZIPCODE' => +' +US zip codes must contain 5 or 9 numbers +', +'FM_MINLENGTH1' => +' +Minimum length has been specified meaninglessly as {$minlength} +', +'FM_MINLENGTH2' => +' +This field must be at least {$minlength} characters +', +'FM_MAXLENGTH1' => +' +Maximum length has been specified meaninglessly as {$maxlength} +', +'FM_MAXLENGTH2' => +' +This field must be no more than {$maxlength} characters +', +'FM_EXACTLENGTH1' => +' +You must specify the length for the field. +', +'FM_EXACTLENGTH2' => +' +You must specify the exactlength of the field with an integer +', +'FM_EXACTLENGTH3' => +' +This field must be exactly {$exactlength} characters +', +'FM_LENGTHRANGE1' => +' +You must specify the maximum and minimum length for the field. +', +'FM_LENGTHRANGE2' => +' +You must specify the maximum and minimum lengths of the field with an integer +', +'FM_LENGTHRANGE3' => +' +This field must be between {$minlength} and {$maxlength} characters +', +'FM_URL' => +' +This field must contain a URL starting with http:// or ftp:// +', +'FM_EMAIL_SIMPLE1' => +' +You must enter an email address. +', +'FM_EMAIL_SIMPLE2' => +' +This field doesn\'t look like an RFC822-compliant email address +', +'FM_DOMAIN_NAME' => +' +This field doesn\'t look like a valid Internet domain name or hostname. +', +'FM_IP_NUMBER1' => +' +This field must contain a valid IP number and can not be left blank. +', +'FM_IP_NUMBER2' => +' +Invalid IP address format (expected X.X.X.X) +', +'FM_IP_NUMBER3' => +' +{$octet} is more than 255 +', +'FM_USERNAME' => +' +This field must look like a valid username (3 to 8 letters and numbers) +', +'FM_PASSWORD1' => +' +You must provide a password. +', +'FM_PASSWORD2' => +' +The password you provided was not a good password.A good password must +contain all of the following: upper case letter, lower case letter, number, +non-alphanumeric character, be at least 7 characters long. +', +'FM_MAC_ADDRESS1' => +' +You must provide a MAC address. +', +'FM_MAC_ADDRESS2' => +' +The MAC address you provided was not valid. +', +'FM_ERR_UNEXPECTED_DESC' => +'Error: unexpected or missing characters in description', + + +initial_FORM_TITLE => 'Welcome to the server manager', +initial_FRAMES_BODY => '

+ Welcome to SME Server, the leading Linux distribution for + small and medium enterprises. SME Server is brought to + you by Koozali Foundation, Inc., + a non-profit corporation that exists to provide marketing and + legal support for SME Server. +

+ +

+ SME Server is freely available under the GNU General Public + License and is only possible through the efforts of the SME + Server community. However, the availability and quality of SME + Server is dependent on meeting our expenses, such as hosting + costs, server hardware, etc. +

+ + +

+ As such, we ask for a donation to offset costs and fund + further development. +

+ +

+ a) If you are a school, a church, a non-profit organisation or an + individual using SME for private purposes, we would appreciate you to + contribute within your means toward the costs associated with hosting, + maintenance and development. +

+ +

+ b) If you are a company or an integrator and you are deploying SME in + the course of your work to generate revenue, we expect you to make a + donation commensurate with the level of revenue you generate and the + number of servers your have in the field. Please, help the project +

+ +
+ +

+ + https://wiki.koozali.org/Donate +

+ +
+ +

+ This software comes with ABSOLUTELY NO WARRANTY. + Please click here + to view detailed support, warranty and licensing information. +

+ +

+ To perform a system administration function, click one of the links in the menu on the left of your screen. +

+', +support_FORM_TITLE => 'Support, warranty and licensing information', +manual_FORM_TITLE => 'Online manual and other documentation', +manual_DESCRIPTION => ' + +

Support and licensing

+ This software is released under the terms listed in the + Support and Licensing page. +', + +'sws_FORM_TITLE' => 'Create a starter website', +'sws_SUCCESS' => +'Successfully created starter web site (wrote file index.htm). + You can visit your new website at the address below:', +'sws_DESCRIPTION' => +'

+To create a simple web page for your company, fill +in the fields below and click on Create. +

+

+You can leave any field blank if you do not need it. +

+

+The text that you enter below will be line wrapped +for a nicer appearance in your web page. Leave a blank line +whenever you want to start a new paragraph. If you need +to force a line break without starting a new paragraph (for +example after each line of a mailing address), then type +the four-character sequence +

<BR>
+where you would like each line break. +

+

+Do not use this option +if you have already customized your web site, since it will +overwrite the "index.htm" file in your web site directory. +

+', +'sws_LABEL_COMPANYNAME' => +'Company name', +'sws_DESC_HEADER1' => +' +First header, typically used for short phrases such +as "Leader in the field of textile manufacturing" +', +'sws_DESC_TEXT1' => +' +Text following first header, typically used for a +paragraph of marketing information. +', +'sws_DESC_HEADER2' => +' +Second header, typically used for short phrases such +as "For more information" or "To order our products": +', +'sws_DESC_TEXT2' => +' +Text following second header, typically used for contact +or ordering information: +', +'sws_DESC_SUBMIT' => +' +

When you create this web page, the file +"index.htm" will be overwritten +in your web site directory.

+

Do you wish to proceed?

+', +'sws_Create starter web site' => +'Create starter web site', + +'bugr_FORM_TITLE' => 'Report a Bug', +'bugr_DO_NOT_PANIC' => 'Don\'t Panic!', +'bugr_SME_EXPERIENCE' => +'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.', +'bugr_PLEASE_REPORT_HERE' => +'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', +'bugr_USE_TEMPLATE' => +'Please refer to the following link on how to report efficiency a bug and use its template', +'bugr_FOLLOWING_REPORT_MIGHT_HELP' => +'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.', +'bugr_REPORT_CONTENT' => +'The report will contain the following information', +'bugr_SME_VERSION' => +'Koozali SME Server version', +'bugr_SERVER_MODE' => +'Server mode', +'bugr_KERNEL_AND_ARCH' => +'Current running kernel version and architecture', +'bugr_INSTALLED_RPMS' => +'A list of additional RPMs installed on your server', +'bugr_ALTERED_TEMPLATES' => +'A list of SME templates that have been altered on your server from a base install', +'bugr_ALTERED_EVENTS' => +'A list of SME events that have been altered on your server from a base install', +'bugr_YUM_REPOS' => +'A list of additional software repositories configured on your server', +'bugr_PRIVACY' => +'No privacy related data (ie. users, passwords, IP addresses) will be included in the report.', +'bugr_CREATE_REPORT' => +'Create configuration report', +'bugr_DONATING' => +'Have you considered donating?', +'bugr_AWARE_SME' => +'You are probaly aware that SME server is developed and supported by a collaborative community of volunteers from all over the world. While SME server is free to download and use, maintaining the infrastructure behind the project (eg. hosting the forums and wiki, providing repositories and build servers etc.) costs real money in the real world.', +'bugr_YOUR_HELP' => +'In very much the same way you need us to address your current issue, we need YOUR help to keep this project alive!', +'bugr_CONSIDER_DONATING' => +'Please consider donating to the project by clicking on the image link below:', +'bugr_THANK_YOU' => +'Thank you for your support!', +'bugr_Download this report' => +'Download this report !', +'bugr_Report a bug' => +'Report a bug', + +'rvw_FORM_TITLE' => +'Review configuration', +'rvw_DESCRIPTION' => +'This report summarizes the networking, server, and domain +parameters on this server relevant to configuring +the client computers on your network.You may wish to print this +page and use it as a reference. +', +'rvw_NETWORKING_PARAMS' => +'Networking Parameters', +'rvw_SERVER_MODE' => +'Server Mode', +'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK' => +'Local IP address / subnet mask', +'rvw_EXTERNAL_IP_ADDRESS_SUBNET_MASK' => +'External IP address / subnet mask', +'rvw_GATEWAY' => +'Gateway', +'rvw_ADDITIONAL_LOCAL_NETWORKS' => +'Additional local networks', +'rvw_DHCP_SERVER' => +'DHCP server', +'rvw_BEGINNING_OF_DHCP_ADDRESS_RANGE' => +'Beginning of DHCP address range', +'rvw_END_OF_DHCP_ADDRESS_RANGE' => +'End of DHCP address range', +'rvw_SERVER_NAMES' => +'Server names', +'rvw_DNS_SERVER' => +'DNS server', +'rvw_WEB_SERVER' => +'Web server', +'rvw_PROXY_SERVER' => +'Proxy server', +'rvw_FTP_SERVER' => +'FTP server', +'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' => +'SMTP, POP, and IMAP mail servers', +'rvw_HOSTS' => +'Hosts', +'rvw_DOMAIN_INFORMATION' => +'Domain information', +'rvw_PRIMARY_DOMAIN' => +'Primary domain', +'rvw_VIRTUAL_DOMAINS' => +'Virtual domains', +'rvw_PRIMARY_WEB_SITE' => +'Primary web site', +'rvw_SERVER_MANAGER' => +'Server manager', +'rvw_USER_PASSWORD_PANEL' => +'User password panel', +'rvw_EMAIL_ADDRESSES' => +'Email Addresses', +'rvw_EMAIL_USERACCOUNT' => +'useraccount', +'rvw_EMAIL_FIRSTNAME' => +'firstname', +'rvw_EMAIL_LASTNAME' => +'lastname', +'rvw_NO_VIRTUAL_DOMAINS' => +'No virtual domains defined', +'rvw_NO_NETWORKS' => +'No additional networks defined', +'rvw_INTERNET_VISIBLE_ADDRESS' => +'Internet Visible IP Address', + +'dir_FORM_TITLE' => +'Change LDAP directory settings', +'dir_LABEL_ROOT' => +'Server root', +'dir_DESCRIPTION' => +' +The LDAP server provides a network-available listing of the user accounts +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. +', +'dir_DESC_DIRECTORY_ACCESS' => +' 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. ', +'dir_DIRECTORY_ACCESS' => +'LDAP directory access', +'dir_DESC_DEPARTMENT' => +' +These fields are the LDAP defaults for your organization. +Whenever you create a new user account, you will be prompted +to enter all of these fields (they can be different for each +user) but the values you set here +will show up as defaults. This is a convenience to make it +faster to create user accounts. +', +'dir_DEPARTMENT' => +'Default department', +'dir_COMPANY' => +'Default company', +'dir_STREET' => +'Default Street address', +'dir_CITY' => +'Default City', +'dir_PHONENUMBER' => +'Default Phone Number', +'dir_DESC_EXISTING' => +' +You can either leave existing user accounts as they are, using the above defaults only for +new users, or you can apply the above defaults to all existing users as well. +', +'dir_EXISTING' => +'Existing users', +'dir_SUCCESS' => +'The new LDAP default settings have been saved.', +'dir_LEAVE' => +'Leave as they are', +'dir_UPDATE' => +'Update with new defaults', +'dir_Directory' => +'Directory', + +'prx_TITLE' => 'Proxy settings', +'prx_FIRST_PAGE_DESCRIPTION' => ' +This page allows configuration of the server\'s +proxy settings. +The server includes a transparent proxy and cache for +HTTP traffic. This is enabled by default, but not enforced +if the server is in "serveronly" mode. +If this server is acting as an e-mail server, connections +from local network clients to external SMTP servers +will default to being redirected to the local e-mail server. +', +'prx_HTTP_PROXY_STATUS_DESCRIPTION' => +' +The server\'s HTTP proxy works to reduce overall uplink usage by +caching recently-visited pages. It is transparent to web browsers +using this server as their gateway. Enable or disable this proxy +with the following toggle. +', +'prx_HTTP_PROXY_STATUS_LABEL' => 'HTTP proxy status', +'prx_SMTP_PROXY_STATUS_DESCRIPTION' => +' +The server\'s transparent SMTP proxy works to reduce virus traffic +from infected client hosts by forcing all outgoing SMTP traffic +through this server if set to "enabled". +If you wish to use an alternate SMTP server, and this server is +your gateway to it, set this proxy to "disabled". Setting the +proxy to "blocked" prevents all SMTP traffic to other servers, +this is the default. The proxy only intercepts/blocks normal smtp +(port 25) traffic. +', +'prx_SMTP_PROXY_STATUS_LABEL' => 'SMTP proxy status', +'prx_ERR_PROXY_UPDATE_FAILED' => 'ERROR: The proxy-update event returned an error.', +'prx_ERR_NO_SQUID_REC' => 'ERROR: There is no squid record in the configuration database.', +'prx_SUCCESS' => 'The new proxy settings were applied successfully.', +'prx_BLOCKED' => 'Blocked', + +'qma_FORM_TITLE' => 'Mail Log File Analysis', +'qma_INITIAL_DESC' => ' +

Analysing the mail system log files can aid both in +understanding how your system is performing and in +diagnosing delivery problems. Several different +reports are available.

+

Please note that it may take several minutes to generate +these reports

', +'qma_REPORT_TYPE' => 'Choose a report type', +'qma_GENERATE_REPORT' => 'Generate report', +'qma_LIST_OUTGOING' => 'List outgoing messages and recipients', +'qma_SUMMARIZE_QUEUE' => 'Summarize status of mail queue', +'qma_SUCCESSFUL_DELIVERY_DELAY' => 'Successful delivery delay distribution', +'qma_REASONS_DEFERRAL' => 'Reasons for deferral', +'qma_REASONS_FAILURE' => 'Reasons for failure', +'qma_BASIC_STATS' => 'Basic statistics', +'qma_RECIP_STATS' => 'Recipients statistics', +'qma_RECIP_HOSTS' => 'Recipient hosts', +'qma_RECIP_ORDERED' => 'Recipients in best order for mailing lists', +'qma_SENDER_STATS' => 'Sender statistics', +'qma_SENDMAIL_STYLE' => 'Sendmail style log', +'qma_REASONS_SUCCESS' => 'Reasons for success', +'qma_SENDER_UIDS' => 'Sender uids', +'qma_INVALID_REPORT_TYPE' => 'Invalid report type: ', +'qma_REPORT_GENERATED' => 'Report generated: ', +'qma_END_OF_REPORT' => 'End of Report', +'qma_Mail log file analysis' => 'Mail log file analysis', + +'clm_FORM_TITLE' => 'Antivirus settings', +'clm_LABEL_FILESYSTEM_SCAN_PERIOD' => 'Scan filesystem', +'clm_DESC_FILESYSTEM_SCAN_PERIOD' => ' +

General Settings

+If this option is enabled then the filesystem will be +scanned for viruses.A report of any found viruses will be +emailed to the administrator.', +'clm_LABEL_QUARANTINE' => 'Quarantine infected files', +'clm_LABEL_CLAM_VERSIONS' => 'ClamAV and db versions', +'clm_WEEKLY' => 'Weekly', +'clm_NEVER' => 'Never', +'clm_DAILY' => 'Daily', +'clm_SUCCESS' => 'The new clamav antivirus settings have been saved.', + +'wkg_FORM_TITLE' => 'Change workgroup settings', +'wkg_DESC_WORKGROUP' => +' +Enter the name of the Windows workgroup that this server should appear in. +', +'wkg_LABEL_WORKGROUP' => 'Windows workgroup', +'wkg_DESC_SERVERNAME' => +'Enter the name that this server should use for +Windows and Macintosh file sharing.', +'wkg_LABEL_SERVERNAME' => 'Server Name', +'wkg_DESC_PDC' => +'Should this server act as the workgroup +and domain controller on your Windows network? You should leave +this set to No if another server is already performing this +role on your network. +', +'wkg_LABEL_PDC' => 'Workgroup and Domain Controller', +'wkg_DESC_ROAM' => +' +Should this server support roaming profiles? +You should leave this set to the default of No unless you have +experience administering server-based Windows roaming profiles and +know that this feature is required. +', +'wkg_LABEL_ROAM' => 'Roaming profiles', +'wkg_SUCCESS' => ' +The new workgroup settings have been saved +', +'wkg_INVALID_WORKGROUP' => +'The workgroup name must begin with a letter (upper or lower +case), followed by any combination of letters, numbers, +underscores, periods and hyphens. +', +'wkg_INVALID_SERVERNAME' => +'The server name must begin with a letter (upper or lower case), +followed by any combination of letters, numbers, underscores and +hyphens. +', +'wkg_INVALID_WORKGROUP_MATCHES_SERVERNAME' => +'The server and workgroup names match, when compared in lower case. +These values must be different in order for filesharing to be turned on. +', +'wkg_Workgroup' => 'Workgroup', + +'dat_FORM_TITLE' => +'Date and time configuration', +'dat_INITIAL_DESC' => +' +This is where you configure the date and time of this server. You may use an existing network time server or +manually set the date and time for your time zone. +', +'dat_SET_DATE_TITLE' => 'Set Date and Time', +'dat_COULD_NOT_OPEN_TZ_FILE' => 'Error: Could not open timezone file for reading: ', +'dat_JANUARY' => 'January', +'dat_FEBRUARY' => 'February', +'dat_MARCH' => 'March', +'dat_APRIL' => 'April', +'dat_MAY' => 'May', +'dat_JUNE' => 'June', +'dat_JULY' => 'July', +'dat_AUGUST' => 'August', +'dat_SEPTEMBER' => 'September', +'dat_OCTOBER' => 'October', +'dat_NOVEMBER' => 'November', +'dat_DECEMBER' => 'December', +'dat_NEW_M/D/Y' => 'New month/day/year:', +'dat_NEW_H/M/S' => 'New hour/min/sec:', +'dat_AM/PM_AND_TZ' => 'AM/PM and time zone:', +'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.', +'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.', +'dat_NTP_DISABLE_DESC' => ' +Choose this option to stop syncronizing the system clock to the NTP +server.When the NTP service is disabled, you can set the system date +and time manually from this page. +', +'dat_NTP_SERVER' => 'NTP Server', +'dat_VERIFY_DATE_AND_TIME' => 'Verify date and time', +'dat_NEW_DATE_AND_TIME' => 'New date and time setting:', +'dat_SETTING_DATE_AND_TIME' => 'Setting date and time', +'dat_INVALID_DAY' => 'Error: invalid day of month: ', +'dat_BETWEEN_1_AND_31' => 'Please choose a day between 1 and 31.', +'dat_INVALID_YEAR' => 'Error: invalid year: ', +'dat_FOUR_DIGIT_YEAR' => 'Please choose a four-digit year between 1900 and 2200.', +'dat_INVALID_HOUR' => 'Error: invalid hour: ', +'dat_BETWEEN_1_AND_12' => 'Please choose an hour between 1 and 12.', +'dat_INVALID_MINUTE' => 'Error: invalid minute: ', +'dat_BETWEEN_0_AND_59' => 'Please choose a minute between 0 and 59.', +'dat_INVALID_SECOND' => 'Error: invalid second', +'dat_UPDATING_CLOCK' => +' +System clock is being updated. Please wait for a few seconds, +then click here +to verify changes. +', +'dat_ERR_SETTING_CLOCK' => 'Error occurred while setting system time and hardware clock.', +'dat_SERVER_DISABLED' => 'Network time server disabled successfully', +'dat_SERVER_DISABLED_DESC' => ' +You have disabled this service: The server will rely on its internal +clock, and will not try to synchronize from a time server. +', +'dat_ERR_CHANGING_TS' => 'Error while changing network time server setting', +'dat_INVALID_NTP_ADDR' => 'Invalid NTP server address: ', +'dat_SETTINGS_CHANGED' => 'Network time server setting changed successfully', +'dat_SYNC_WITH' => 'This server is now configured to synchronize periodically +(via the Internet) with: +', +'dat_INVALID_NTP_SERVER' => ' +Invalid NTP server, the server will not try to synchronize +from a time server. +', +'dat_NETWORK_TIME_SERVER' => 'Network Time Server', +'dat_NTP_CONFIGURE_TITLE' => 'Configure Network Time Server', +'dat_NTP_ENABLE_TITLE' => 'Enable Network Time Server', +'dat_NTP_DISABLE_TITLE' => 'Disable Network Time Server', +'dat_CURRENT_SETTING' => 'Current setting', +'dat_Date and time' => 'Date and time', + +'wbl_SAVE' => 'Save', +'wbl_PERFORM' => 'Perform', +'wbl_FORM_TITLE' => 'E-mail WBL', +'wbl_OPERATION_STATUS_REPORT' => 'Operation status report', +'wbl_WBL_DESCRIPTION' => +'E-mail traffic is scanned and may be blocked due to the various screening methods enabled. +You may use this panel to define e-mail white/black lists.', +'wbl_RBL_LIST_DESCRIPTION' => 'RBL\'s List is used to adjust DNSBL and RHSBL.', +'wbl_RBL_LIST' => 'RBL\'s List', +'wbl_BLACK_LIST_DESCRIPTION' => 'Black lists are used for rejecting e-mail traffic.', +'wbl_BLACK_LIST' => 'Black List', +'wbl_WHITE_LIST_DESCRIPTION' => 'White lists are used for accepting e-mail traffic.', +'wbl_WHITE_LIST' => 'White List', +'wbl_BLACK_TITLE' => ' +This server includes built-in support for using the admin defined black lists, badhelo and + badmailfrom. +', +'wbl_DNSBL_DESCRIPTION' => ' +DNSBL is an abbreviation for "DNS blacklist". +', +'wbl_DNSBL_LABEL' => 'DNSBL status', +'wbl_RHSBL_DESCRIPTION' => ' +RHSBL is an abbreviation for "Right Hand Side Blacklist". +', +'wbl_RHSBL_LABEL' => 'RHSBL status', +'wbl_BADHELO_DESCRIPTION' => ' +Check a HELO message delivered from a connecting host.Reject any +that appear in badhelo during the \'helo\' stage. +', +'wbl_BADHELO_LABEL' => 'qpsmtpd badhelo', +'wbl_BADMAILFROM_DESCRIPTION' => ' +Check envelope sender addresses. Reject any +that appear (@host or user@host) in badmailfrom during the \'mail\' stage. +', +'wbl_BADMAILFROM_LABEL' => 'qmail badmailfrom', +'wbl_WHITE_TITLE' => 'Use this panel to modify your servers White List settings. All entries will be enabled by default', +'wbl_RRFH_LABEL' => 'Whitelists status', +'wbl_WHITELISTHOSTS_DESCRIPTION' => ' +Any IP address listed in whitelisthosts will be exempted +from any further validation during the \'connect\' stage. +', +'wbl_WHITELISTHOSTS_LABEL' => 'qpsmtpd whitelisthosts', +'wbl_WHITELISTHELO_DESCRIPTION' => ' +be exempted from further validation during the \'helo\' stage. +', +'wbl_WHITELISTHELO_LABEL' => 'qpsmtpd whitelisthelo', +'wbl_WHITELISTSENDERS_DESCRIPTION' => ' +will be exempted from further validation during the \'mail\' stage. +', +'wbl_WHITELISTSENDERS_LABEL' => 'qpsmtpd whitelistsenders', +'wbl_WHITELISTFROM_DESCRIPTION' => ' +will be exempted from spamassassin rejection. +', +'wbl_WHITELISTFROM_LABEL' => 'spamassassin whitelist_from', +'wbl_BLACKLISTFROM_LABEL' => 'spamassassin blacklist_from', +'wbl_BLACKLISTFROM_DESCRIPTION' => ' +will be rejected by spamassassin. +', +'wbl_SBLLIST_LABEL' => 'RHSBL (qpsmtpd SBLList)', +'wbl_SBLLIST_DESCRIPTION' => 'RHS block list - \'right hand side\' of senders host/domain will be checked against the following servers', +'wbl_RBLLIST_LABEL' => 'DNSBL Zones (qpsmtpd RBLList)', +'wbl_RBLLIST_DESCRIPTION' => 'DNS Block List - senders IP address will be checked against the following servers', + 'wbl_RBL_TITLE' => 'Real-time Blackhole Lists are disabled by default. To help reduce spam you can enable RBLs here.', + +'prt_FORM_TITLE' => 'Add or remove printers', +'prt_INITIAL_BTN' => 'Add printer', +'prt_INITIAL_DESC' => '

Add printer

', +'prt_NO_PRINTERS' => 'There are no printers in the system.', +'prt_CURRENT_LIST' => 'Current List of printers', +'prt_REMOTE_ADDRESS' => 'Remote address', +'prt_REMOTE_NAME' => 'Remote name', +'prt_CREATE_NEW_PRINTER' => 'Create a new printer', +'prt_CREATE_NEW_DESC' => 'Please choose a unique name for the printer and enter a brief +description. The printer name should contain only lower-case +letters and numbers, and should start with a lower-case +letter. For example "hplaser", "epsonlp", and +"canonbj" are valid choices, but "HP Laser Jet", +"Canon BubbleJet", and +"HP JetDirect Printer" are not. +Avoid names and descriptions that contain these terms, +"offline", "disabled", "down", "off", "waiting", "jam", +"paper", "error" and "responding". +', +'prt_PRINTER_NAME' => 'Printer name', +'prt_LOCAL_PRINTER_0' => 'Local printer port 0 (LPT1)', +'prt_LOCAL_PRINTER_1' => 'Local printer port 1 (LPT2)', +'prt_LOCAL_PRINTER_2' => 'Local printer port 2 (LPT3)', +'prt_NET_PRINTER' => 'Network printer ...', +'prt_FIRST_USB_PRINTER' => 'First USB attached printer', +'prt_SECOND_USB_PRINTER' => 'Second USB attached printer', +'prt_ERR_UNEXPECTED_NAME' => '

Error: unexpected characters in printer name.

+

The printer name should contain only lower-case +letters and numbers, and should start with a lower-case +letter. For example "hplaser", "epsonlp", and +"canonbj" are valid names.

+', +'prt_ERR_UNEXPECTED_DESC' => 'Error: unexpected or missing characters in description. +Did not create new printer. +', +'prt_ERR_EXISTS' => 'Error: An account with the same name exists with type: ', +'prt_ERR_INVALID_ADDRESS' => 'Error: invalid network address. Did not create new printer.', +'prt_ERR_INVALID_REMOTE_NAME' => 'Error: invalid network printer name. Did not create new printer.', +'prt_ERR_CREATING' => 'Error occurred while creating printer.', +'prt_CREATED_SUCCESSFULLY' => 'Successfully created printer: ', +'prt_CREATE_NETWORK_PRINTER' => 'Create a new network printer', +'prt_ERR_OPENING_DB' => 'Error occurred while opening accounts database.', +'prt_CREATE_NETWORK_DESC' => 'Please enter the address and name of the network printer', +'prt_HOSTNAME_OR_IP' => 'Hostname or IP address of the network printer', +'prt_REMOTE_NAME_DESC' => 'Network printer name (enter raw if not sure)', +'prt_REMOVE_PRINTER' => 'Remove printer', +'prt_ABOUT_TO_REMOVE' => 'You are about to remove the printer: ', +'prt_SPOOL_FILE_WARNING' => 'All the spool files for this printer will be deleted.', +'prt_ARE_YOU_SURE' => 'Are you sure you wish to remove this printer?', +'prt_ERR_INTERNAL_FAILURE' => 'Error: internal failure while removing printer: ', +'prt_ERR_DELETING' => 'Error occurred while deleting printer.', +'prt_DELETED_SUCCESSFULLY' => 'Successfully deleted printer: ', +'prt_MUST_BE_VALID_HOSTNAME_OR_IP' => 'Must be a valid hostname or IP number', +'prt_Printers' => 'Printers', + +'quo_FORM_TITLE' => 'Create, modify, or remove user account quotas', +'quo_UNABLE_TO_OPEN_ACCOUNTS' => 'Unable to open accounts db', +'quo_QUOTA_DESC' => '

You can set filesystem quotas for users on your system by clicking +the "Modify" button next to the user you wish to update. +

If the user exceeds the "Limit with grace period", warnings will be +generated. If this limit is exceeded for longer than a week or if the +"Absolute limit" is reached, the user will be unable to store any more +files or receive any more e-mail. +

A setting of \'0\' for either limit disables that limit for the +corresponding user. +

The disk space for each user includes the user\'s home directory, +e-mail, and any files owned by the user in information bays.', +'quo_CURRENT_USAGE_AND_SETTINGS' => 'Current Quota Usage and Settings', +'quo_LIMIT_WITH_GRACE' => 'Limit with grace period', +'quo_LIMIT_WITH_GRACE_MB' => 'Limit with grace period (MB)', +'quo_ABS_LIMIT' => 'Absolute limit', +'quo_ABS_LIMIT_MB' => 'Absolute limit (MB)', +'quo_CURRENT_USAGE' => 'Current usage (MB)', +'quo_COULD_NOT_GET_UID' => 'Could not determine the uid for user: ', +'quo_ERR_NO_SUCH_ACCT' => 'Error: there is no account named: ', +'quo_ERR_NOT_A_USER_ACCT' => 'Error: the account is not a user account: ', +'quo_ACCOUNT_IS_TYPE' => 'It is an account of type: ', +'quo_MODIFY_USER_TITLE' => 'Modify user quota limits', +'quo_USER' => 'User: ', +'quo_CURRENTLY_HAS' => 'currently has: ', +'quo_FILES' => 'files', +'quo_OCCUPYING' => 'occupying: ', +'quo_MEGABYTES' => 'megabytes', +'quo_INSTRUCTIONS' => 'Enter the quota with optional unit suffix of \'K\' for kilobytes, \'M\' for megabytes, +\'G\' for gigabytes or \'T\' for terabytes. +Entries with no suffix are assumed to be in megabytes. A setting of \'0\' +for either limit disables that limit for the corresponding user.', +'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.', +'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.', +'quo_ERR_HARD_LT_SOFT' => ' Error: absolute limit must be greater than limit with grace time. ', +'quo_ERR_MODIFYING' => 'Error occurred while modifying user.', +'quo_SUCCESSFULLY_MODIFIED' => 'Successfully modified quota for user account: ', +'quo_Quotas' => 'Quotas', + +); + + +1; \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,16 @@ +package SrvMngr::I18N::es; + +use utf8; +use Mojo::Base 'SrvMngr::I18N'; + +our %Lexicon = ( +_AUTO => 1, + +YES => 'Si', +NO => 'No', +'All rights reserved' => 'Todos los derechos reservados', +'sws_FORM_TITLE' => 'Cree un sitio web arrancador', + +); + +1; \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,678 @@ +package SrvMngr::I18N::fr; + +use utf8; +use Mojo::Base 'SrvMngr::I18N'; + +our %Lexicon = ( +_AUTO => 1, + +YES => 'Oui', +NO => 'Non', +edit => 'Modifier', +del => 'Effacer', +exit => 'Quitter', +cancel => 'Annuler', +hello => 'salut', +'All rights reserved' => 'Tous droits réservés', + +'Collaboration' => +'Collaboration', +'Administration' => +'Administration', +'Security' => +'Sécurité', +'Configuration' => +'Configuration', +'Miscellaneous' => +'Divers', +'Your Settings' => +'Vos paramètres', +'SAVE' => +'Enregistrer', +'CANCEL' => +'Annuler', +'ENABLED' => +'Activé', +'DISABLED' => +'Désactivé', +'NO' => +'Non', +'YES' => +'Oui', +'ADD' => +'Ajouter', +'CREATE' => +'Créer', +'MODIFY' => +'Modifier', +'REMOVE' => +'Supprimer', +'COMMENT' => +'Commentaire', +'NEXT' => +'Suivant', +'SELF' => +'Ce serveur', +'REMOTE' => +'Distant', +'LOCAL' => +'Local', +'ACTION' => +'Action', +'NETWORK' => +'Réseau', +'ROUTER' => +'Routeur', +'OPERATION_STATUS_REPORT' => +'Rapport d\'état de l\'opération', +'ACCOUNT' => +'Compte', +'GROUP' => +'Groupe', +'DESC_SECTIONBAR' => +'


', +'NO_PIPES_ALLOWED' => +'La barre verticale "|" (pipe) n\'est pas autorisée dans ce champ.', +'ERROR_BELOW' => +'ERREUR : Une erreur s\'est produite lors de la validation de cette page. Vous trouverez ci-dessous les raisons de ce problème :', +'ACCESS' => +'Accès', +'ACCOUNT_LOCKED' => +'Le compte est verrouillé', +'GROUP_ADD' => +'Ajouter un groupe', +'NETWORKS_ALLOW_LOCAL' => +'N\'autoriser l\'accès que depuis les réseaux locaux', +'NETWORKS_ALLOW_PUBLIC' => +'Autoriser l\'accès complet (LAN et Internet)', +'ERROR_PASSWORD_CHANGE' => +'Une erreur s\'est produite pendant la modification de votre mot de passe. Veuillez vous assurer de l\'exactitude de l\'ancien mot de passe tapé.', +'BACK' => +'Retour', +'BACKUP' => +'Sauvegarde', +'DESCRIPTION_BRIEF' => +'Brève description', +'PASSWORD_CHANGE' => +'Changer le mot de passe', +'RESET_PASSWORD_TITLE' => +'Réinitialiser le mot de passe de l\'utilisateur', +'ACCOUNT_PASSWORD_CHANGE' => +'Changer le mot de passe du compte', +'CONTENT' => +'Contenu', +'CREATE_GROUP' => +'Créer un groupe d\'utilisateurs', +'USER_LIST_CURRENT' => +'Liste des utilisateurs', +'DESCRIPTION' => +'Description', +'DESTINATION' => +'Destination', +'DOMAIN_NAME' => +'Nom de Domaine', +'DOMAIN' => +'Domaine', +'DOMAINS' => +'Domaines', +'DOWNLOAD' => +'Télécharger', +'ERROR_UPDATING_CONFIGURATION' => +'Une erreur s\'est produite pendant la mise à jour de la configuration du serveur.', +'GROUP_MEMBERS' => +'Membres du groupe', +'GROUP_NAME' => +'Nom du groupe', +'GROUPS' => +'Groupes', +'IP_ADDRESS' => +'Adresse IP', +'IP_ADDRESS_OR_FQDN' => +'Adresse IP ou FQDN', +'USER_INVALID' => +'Utilisateur non autorisé', +'LOCATION' => +'Emplacement', +'MB' => +'Mo', +'MODIFY_USER_GROUP' => +'Modifier le groupe d\'utilisateurs', +'NAME' => +'Nom', +'PASSWORD_VERIFY_NEW' => +'Nouveau mot de passe (vérification)', +'PASSWORD_NEW' => +'Nouveau mot de passe', +'OFF' => +'Désactivé', +'OK' => +'Ok', +'PASSWORD_OLD' => +'Ancien mot de passe', +'ON' => +'Activé', +'PASSWORD' => +'Mot de passe', +'PERFORM' => +'Exécuter', +'RECONFIGURE' => +'Reconfigurer', +'REMOVE_USER_GROUP' => +'Supprimer le groupe d\'utilisateurs', +'PASSWORD_RESET' => +'Réinitialiser le mot de passe', +'RESTORE' => +'Restaurer', +'SHUTDOWN' => +'Arrêter', +'SUCCESS' => +'Opération réussie', +'ACCOUNT_NAME_INVALID' => +'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.', +'ACCOUNT_NAME_INVALID_CHARS' => +'Le nom d\'utilisateur que vous avez tapé contient des caractères non valides.', +'PASSWORD_OLD_INVALID_CHARS' => +'L\'ancien mot de passe que vous avez tapé contient des caractères non valides.', +'PASSWORD_INVALID_CHARS' => +'Le mot de passe que vous avez tapé contient des caractères non valides.', +'PASSWORD_VERIFY_ERROR' => +'Les mots de passe ne concordent pas.', +'ACCOUNT_USER_NONE' => +'Aucun compte utilisateur n\'a été défini dans le système.', +'ACCOUNT_GROUP_NONE' => +'Il n\'y a aucun groupe d\'utilisateurs défini dans le système.', +'ERROR_INVALID_CHARS' => +'Caractères inattendus dans la description.', +'USER_NAME' => +'Nom d\'utilisateur', +'YOUR_ACCOUNT' => +'Votre compte utilisateur:', +'YOUR_ACCOUNT_INVALID' => +'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.', +'PASSWORD_CHANGE_SUCCESS' => +'Le mot de passe a été modifié avec succès.', +'FM_NONBLANK' => +'Ce champ ne doit pas être vide.', +'FM_INTEGER' => +'Ce champ doit contenir un entier positif.', +'FM_NUMBER' => +'Ce champ doit contenir un nombre.', +'FM_WORD' => +'Ce champ doit être composé d\'un seul mot.', +'FM_DATE' => +'La valeur tapée ne correspond pas à une date.', +'FM_CREDIT_CARD_NUMBER1' => +'Vous devez taper un numéro de carte de paiement.', +'FM_CREDIT_CARD_NUMBER2' => +'Le numéro de carte de paiement ne doit contenir que des nombres, des espaces ou des tirets.', +'FM_CREDIT_CARD_NUMBER3' => +'Il doit être composé d\'au moins 14 caractères.', +'FM_CREDIT_CARD_NUMBER4' => +'Il ne semble pas correspondre à un numéro valide de carte de paiement.', +'FM_CREDIT_CARD_EXPIRY1' => +'Aucune date d\'expiration n\'a été tapée.', +'FM_CREDIT_CARD_EXPIRY2' => +'La date d\'expiration doit être tapée sous la forme MM/AA ou MM/AAAA.', +'FM_CREDIT_CARD_EXPIRY3' => +'La date d\'expiration a déjà expirée.', +'FM_CREDIT_CARD_EXPIRY4' => +'La date d\'expiration semble trop éloignée dans le futur.', +'FM_ISO_COUNTRY_CODE1' => +'Vous devez taper un code de région.', +'FM_ISO_COUNTRY_CODE2' => +'Ce champ ne contient pas de code ISO de région valide.', +'FM_US_STATE' => +'Cette abréviation en deux lettres d\'état américain n\'est pas valide.', +'FM_US_ZIPCODE' => +'Les codes postaux américains doivent contenir 5 ou 9 chiffres.', +'FM_MINLENGTH1' => +'La longueur minimale a été définie arbitrairement à {$minlength} caractères.', +'FM_MINLENGTH2' => +'Ce champ doit contenir au minimum {$minlength} caractères.', +'FM_MAXLENGTH1' => +'La longueur maximale a été définie arbitrairement à {$maxlength} caractères.', +'FM_MAXLENGTH2' => +'Ce champ doit ne doit pas dépasser {$maxlength} caractères.', +'FM_EXACTLENGTH1' => +'Vous devez définir la longueur de ce champ.', +'FM_EXACTLENGTH2' => +'Vous devez définir la longueur exacte de ce champ avec un entier.', +'FM_EXACTLENGTH3' => +'Ce champ doit faire exactement {$exactlength} caractères.', +'FM_LENGTHRANGE1' => +'Vous devez définir les longueurs maximale et minimale de ce champ.', +'FM_LENGTHRANGE2' => +'Vous devez définir les longueurs maximale et minimale de ce champ avec des entiers.', +'FM_LENGTHRANGE3' => +'La longueur de ce champ doit être comprise entre {$minlength} et {$maxlength} caractères.', +'FM_URL' => +'Ce champ doit contenir une URL commençant par http:// ou ftp://', +'FM_EMAIL_SIMPLE1' => +'Vous devez taper une adresse de courriel.', +'FM_EMAIL_SIMPLE2' => +'Ce champ ne semble pas respecter le format RFC822 des adresses de courriel.', +'FM_DOMAIN_NAME' => +'Ce champ ne semble pas contenir de nom de domaine Internet ou d\'hôte valide.', +'FM_IP_NUMBER1' => +'Ce champ doit contenir une adresse IP valide et ne doit pas être vide.', +'FM_IP_NUMBER2' => +'Format d\'adresse IP incorrect (X.X.X.X attendu)', +'FM_IP_NUMBER3' => +'La valeur {$octet} dépasse 255.', +'FM_USERNAME' => +'Ce champ doit contenir un nom d\'utilisateur valide (3 à 8 lettres et chiffres).', +'FM_PASSWORD1' => +'Vous devez taper un mot de passe.', +'FM_PASSWORD2' => +'Le mot de passe que vous avez tapé n\'était pas bon. Un bon mot de passe doit contenir au moins : des lettres en majuscule et en minuscule, des chiffres et des caractères non alphanumériques et être composé d\'au moins 7 caractères.', +'FM_MAC_ADDRESS1' => +'Vous devez taper une adresse Ethernet.', +'FM_MAC_ADDRESS2' => +'L\'adresse Ethernet que vous avez tapé n\'est pas valide.', +'FM_ERR_UNEXPECTED_DESC' => +'ERREUR : caractères invalides ou manquants dans la description.', + + +initial_FORM_TITLE => 'Bienvenue dans le gestionnaire du serveur', +initial_FRAMES_BODY => ' +

Bienvenue dans SME Server, la distribution Linux dédiée aux petites et moyennes entreprises. SME Server est mis à votre disposition par Koozali Foundation, Inc., organisation à but non lucratif dont l\'objectif est d\'assurer la promotion, le support et l\'existence légale de SME Server.

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.

De ce fait, nous demandons une petite contribution financière afin de couvrir nos dépenses et d\'assurer les développements à venir.

Veuillez aller sur https://wiki.koozali.org/Donate pour effectuer votre donation.

Ce système d\'exploitation ne dispose d\'AUCUNE GARANTIE. Veuillez cliquer ici pour afficher les informations détaillées concernant le support technique, la garantie et la licence d\'exploitation.

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.

+', +support_FORM_TITLE => 'Informations sur le support technique, la garantie et la licence d\'exploitation', + +manual_FORM_TITLE => 'Documentation et manuel en ligne', +manual_DESCRIPTION => ' + +

Support technique et license d\'exploitation

+Ce système d\'exploitation est soumis aux règles décrites dans la page consacrée au + support technique et à la license d\'exploitation.', +'Online manual' => 'Manuel en ligne', + +sws_FORM_TITLE => 'Création d\'un premier site Web', +'sws_FORM_TITLE' => +'Création d\'un premier site Web', +'sws_SUCCESS' => +'Création réussie de votre premier site Web (écriture du fichier index.htm). Vous pouvez voir ce nouveau site Web à l\'adresse suivante :', +'sws_DESCRIPTION' => +'

Pour créer une page Web simple pour votre organisation, remplissez les champs ci-dessous et cliquez sur le bouton "Créer".

Vous pouvez laisser n\'importe lequel de ces champs vide si vous n\'en avez pas l\'utilité.

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 :

<BR>
où vous souhaitez avoir le saut de ligne.

N\'utilisez pas cette fonctionnalité si vous avez déjà personnalisé votre site Web, car elle écrasera le contenu du fichier "index.htm" de votre site primaire.

', +'sws_LABEL_COMPANYNAME' => +'Nom de votre organisation', +'sws_DESC_HEADER1' => +'Le premier en-tête est généralement utilisé pour des phrases courtes comme "Leader dans le domaine de la fabrication textile" :', +'sws_DESC_TEXT1' => +'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 :', +'sws_DESC_HEADER2' => +'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" :', +'sws_DESC_TEXT2' => +'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 :', +'sws_DESC_SUBMIT' => +'

Lorsque vous créerez cette page Web, le fichier "index.htm" sera écrasé dans le répertoire de votre site primaire.

Voulez-vous continuer ?

', +'sws_Create starter web site' => +'Votre premier site Web', + +'bugr_FORM_TITLE' => +'Rapporter un bogue', +'bugr_DO_NOT_PANIC' => +'Ne paniquez pas !', +'bugr_SME_EXPERIENCE' => +'Il n\'y a malheureusement aucun logiciel sans bogues, et vous en avez probablement rencontré un avec votre Serveur SME pour consulter cette page.', +'bugr_PLEASE_REPORT_HERE' => +'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 à ', +'bugr_USE_TEMPLATE' => +'Merci de vous référer à ce lien sur comment rapporter efficacement un bogue et utilisez le comme un gabarit ', +'bugr_FOLLOWING_REPORT_MIGHT_HELP' => +'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.', +'bugr_REPORT_CONTENT' => +'Le rapport contiendra les informations suivantes ', +'bugr_SME_VERSION' => +'Version du Serveur Koozali SME', +'bugr_SERVER_MODE' => +'Mode d’installation du serveur', +'bugr_KERNEL_AND_ARCH' => +'Version chargée du kernel et architecture', +'bugr_INSTALLED_RPMS' => +'Une liste des RPMs additionnels installés sur votre serveur', +'bugr_ALTERED_TEMPLATES' => +'Une liste des gabarits SME qui ont été altérés sur votre serveur par rapport à une installation de base', +'bugr_ALTERED_EVENTS' => +'Une liste des événements SME qui ont été altérés sur votre serveur par rapport à une installation de base', +'bugr_YUM_REPOS' => +'Une liste des dépôts logiciels qui ont été configurés sur votre serveur', +'bugr_PRIVACY' => +'Aucune donnée compromettant votre vie privée n\'est incluse (comme vos utilisateurs, mots de passe ou adresses IP). ', +'bugr_CREATE_REPORT' => +'Créer un rapport de configuration', +'bugr_DONATING' => +'Avez-vous considéré faire une donation ?', +'bugr_AWARE_SME' => +'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.', +'bugr_YOUR_HELP' => +'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!', +'bugr_CONSIDER_DONATING' => +'Merci de faire un don pour le projet en cliquant sur l\'image ci-dessous :', +'bugr_THANK_YOU' => +'Merci pour votre soutien !', +'bugr_Download this report' => +'Télécharger ce rapport !', +'bugr_Report a bug' => +'Rapporter un bogue', + +'rvw_FORM_TITLE' => +'Vérification de la configuration', +'rvw_DESCRIPTION' => +'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.', +'rvw_NETWORKING_PARAMS' => +'Paramètres réseau', +'rvw_SERVER_MODE' => +'Mode de fonctionnement', +'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK' => +'Adresse IP locale / masque de sous-réseau', +'rvw_EXTERNAL_IP_ADDRESS_SUBNET_MASK' => +'Adresse IP externe / masque de sous-réseau', +'rvw_GATEWAY' => +'Passerelle', +'rvw_ADDITIONAL_LOCAL_NETWORKS' => +'Réseaux locaux supplémentaires', +'rvw_DHCP_SERVER' => +'Serveur DHCP', +'rvw_BEGINNING_OF_DHCP_ADDRESS_RANGE' => +'Début de la plage d\'allocation DHCP d\'adresses', +'rvw_END_OF_DHCP_ADDRESS_RANGE' => +'Fin de la plage d\'allocation DHCP d\'adresses', +'rvw_SERVER_NAMES' => +'Adresses du serveur', +'rvw_DNS_SERVER' => +'Serveur DNS', +'rvw_WEB_SERVER' => +'Serveur Web', +'rvw_PROXY_SERVER' => +'Serveur proxy', +'rvw_FTP_SERVER' => +'Serveur FTP', +'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' => +'Serveurs de messagerie électronique SMTP, POP et IMAP', +'rvw_HOSTS' => +'Hôtes', +'rvw_DOMAIN_INFORMATION' => +'Informations sur les domaines', +'rvw_PRIMARY_DOMAIN' => +'Domaine primaire', +'rvw_VIRTUAL_DOMAINS' => +'Domaines virtuels', +'rvw_PRIMARY_WEB_SITE' => +'Site Web primaire', +'rvw_SERVER_MANAGER' => +'Gestionnaire du serveur', +'rvw_USER_PASSWORD_PANEL' => +'Gestionnaire des mots de passe utilisateur', +'rvw_EMAIL_ADDRESSES' => +'Adresses de courriel', +'rvw_EMAIL_USERACCOUNT' => +'Compte utilisateur', +'rvw_EMAIL_FIRSTNAME' => +'Prénom', +'rvw_EMAIL_LASTNAME' => +'Nom', +'rvw_NO_VIRTUAL_DOMAINS' => +'Aucun domaine virtuel défini', +'rvw_NO_NETWORKS' => +'Aucun réseau supplémentaire défini', +'rvw_INTERNET_VISIBLE_ADDRESS' => +'Adresse IP Internet visible', + +'dir_FORM_TITLE' => +'Configuration des paramètres de l\'annuaire LDAP', +'dir_LABEL_ROOT' => +'Racine du serveur', +'dir_DESCRIPTION' => +'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 :', +'dir_DESC_DIRECTORY_ACCESS' => +'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.', +'dir_DIRECTORY_ACCESS' => +'Accès à l\'annuaire LDAP', +'dir_DESC_DEPARTMENT' => +'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.', +'dir_DEPARTMENT' => +'Service par défaut', +'dir_COMPANY' => +'Société par défaut', +'dir_STREET' => +'Adresse par défaut', +'dir_CITY' => +'Ville par défaut', +'dir_PHONENUMBER' => +'Numéro de téléphone par défaut', +'dir_DESC_EXISTING' => +'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.', +'dir_EXISTING' => +'Utilisateurs existants', +'dir_SUCCESS' => +'Les nouveaux paramètres LDAP ont été enregistrés avec succès.', +'dir_LEAVE' => +'Les laisser tels quels', +'dir_UPDATE' => +'Les mettre à jour avec les nouvelles valeurs par défaut.', +'dir_Directory' => +'Annuaire LDAP', + +'prx_TITLE' => 'Services Proxy', +'prx_FIRST_PAGE_DESCRIPTION' => +'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.', +'prx_HTTP_PROXY_STATUS_DESCRIPTION' => +'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 :', +'prx_HTTP_PROXY_STATUS_LABEL' => 'État du service Proxy HTTP', +'prx_SMTP_PROXY_STATUS_DESCRIPTION' => +'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).', +'prx_SMTP_PROXY_STATUS_LABEL' => 'État du service Proxy SMTP', +'prx_ERR_PROXY_UPDATE_FAILED' => 'ERREUR : la mise à jour du service Proxy a retourné une erreur.', +'prx_ERR_NO_SQUID_REC' => 'ERREUR : le service squid n\'est pas défini dans la base de données de configuration.', +'prx_SUCCESS' => 'Les nouveaux paramètres du service Proxy ont été appliqués avec succès.', +'prx_BLOCKED' => 'Bloqué', + +'qma_FORM_TITLE' => 'Analyse des journaux de messagerie', +'qma_INITIAL_DESC' => '

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.

Veuillez noter que la génération de ces rapports peut prendre plusieurs minutes.

', +'qma_REPORT_TYPE' => 'Type de rapport', +'qma_GENERATE_REPORT' => 'Générer le rapport', +'qma_LIST_OUTGOING' => 'Dresser la liste des courriels sortants et des destinataires', +'qma_SUMMARIZE_QUEUE' => 'Résumer l\'état de la file d\'attente des courriels', +'qma_SUCCESSFUL_DELIVERY_DELAY' => 'Envois réussis de courriels avec délais de diffusion', +'qma_REASONS_DEFERRAL' => 'Raisons du report', +'qma_REASONS_FAILURE' => 'Raisons de l\'échec', +'qma_BASIC_STATS' => 'Statistiques de base', +'qma_RECIP_STATS' => 'Statistiques relatives aux destinataires', +'qma_RECIP_HOSTS' => 'Hôtes de destination', +'qma_RECIP_ORDERED' => 'Destinataires triés pour les listes d\'envoi', +'qma_SENDER_STATS' => 'Statistiques relatives à l\'expéditeur', +'qma_SENDMAIL_STYLE' => 'Journal au format "sendmail"', +'qma_REASONS_SUCCESS' => 'Raisons du succès', +'qma_SENDER_UIDS' => 'UIDs des expéditeurs', +'qma_INVALID_REPORT_TYPE' => 'Type de rapport non valide :', +'qma_REPORT_GENERATED' => 'Rapport généré le', +'qma_END_OF_REPORT' => 'Fin du rapport.', +'qma_Mail log file analysis' => 'Journaux de messagerie', + +'clm_FORM_TITLE' => 'Configuration de l\'antivirus', +'clm_LABEL_FILESYSTEM_SCAN_PERIOD' => 'Vérifier l\'intégralité du système de fichier', +'clm_DESC_FILESYSTEM_SCAN_PERIOD' => '

Paramètres généraux

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. ', +'clm_LABEL_QUARANTINE' => 'Mise en quarantaine des fichiers infectés', +'clm_LABEL_CLAM_VERSIONS' => 'Versions de ClamAV et de sa base de définitions virales', +'clm_WEEKLY' => 'Chaque semaine', +'clm_NEVER' => 'Jamais', +'clm_DAILY' => 'Chaque jour', +'clm_SUCCESS' => 'Les nouveaux paramètres de l\'antivirus ClamAV ont été sauvegardés.', + +'wkg_FORM_TITLE' => 'Configuration des paramètres du groupe de travail ou du domaine Windows', +'wkg_DESC_WORKGROUP' => ' Tapez le nom du groupe de travail ou du domaine Windows dans lequel ce serveur doit apparaître. ', +'wkg_LABEL_WORKGROUP' => 'Groupe de travail ou domaine Windows', +'wkg_DESC_SERVERNAME' => 'Tapez le nom que ce serveur doit utiliser pour le partage de fichiers Windows et Macintosh.', +'wkg_LABEL_SERVERNAME' => 'Nom du serveur', +'wkg_DESC_PDC' => +' Ce serveur doit-il fonctionner comme contrôleur de domaine sur votre réseau Windows ? Vous devriez conserver la valeur "Non" si un autre serveur a déjà ce rôle sur votre réseau. ', +'wkg_LABEL_PDC' => 'Contrôleur du domaine Windows', +'wkg_DESC_ROAM' => ' Ce serveur doit-il prendre en charge les profils d\'utilisateurs itinérants ? Vous devriez conserver la valeur par défaut "Non", à 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é. ', +'wkg_LABEL_ROAM' => 'Profils d\'utilisateurs itinérants', +'wkg_SUCCESS' => 'Les nouveaux paramètres de groupe de travail ont été enregistrés.', +'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.', +'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.', +'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.', +'wkg_Workgroup' => 'Groupe de travail', + +'dat_FORM_TITLE' => 'Configuration de la date et de l\'heure', +'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.', +'dat_SET_DATE_TITLE' => 'Régler la date et l\'heure', +'dat_COULD_NOT_OPEN_TZ_FILE' => 'ERREUR : Impossible d\'ouvrir en lecture le fichier de fuseau horaire :', +'dat_JANUARY' => 'Janvier', +'dat_FEBRUARY' => 'Février', +'dat_MARCH' => 'Mars', +'dat_APRIL' => 'Avril', +'dat_MAY' => 'Mai', +'dat_JUNE' => 'Juin', +'dat_JULY' => 'Juillet', +'dat_AUGUST' => 'Août', +'dat_SEPTEMBER' => 'Septembre', +'dat_OCTOBER' => 'Octobre', +'dat_NOVEMBER' => 'Novembre', +'dat_DECEMBER' => 'Décembre', +'dat_NEW_M/D/Y' => 'Nouvelle date (mois/jour/an)', +'dat_NEW_H/M/S' => 'Nouvelle heure (heure/min/sec)', +'dat_AM/PM_AND_TZ' => 'AM/PM et fuseau horaire', +'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.', +'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.', +'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.', +'dat_NTP_SERVER' => 'Serveur NTP', +'dat_VERIFY_DATE_AND_TIME' => 'Vérifier la date et l\'heure', +'dat_NEW_DATE_AND_TIME' => 'Nouveau réglage de la date et de l\'heure :', +'dat_SETTING_DATE_AND_TIME' => 'Réglage de la date et de l\'heure', +'dat_INVALID_DAY' => 'ERREUR : jour du mois non valide :', +'dat_BETWEEN_1_AND_31' => 'Choisissez un jour entre 1 et 31.', +'dat_INVALID_YEAR' => 'ERREUR : année non valide :', +'dat_FOUR_DIGIT_YEAR' => 'Choisissez une année sur 4 chiffres entre 1900 et 2200.', +'dat_INVALID_HOUR' => 'ERREUR : heure non valide :', +'dat_BETWEEN_1_AND_12' => 'Choisissez une heure entre 1 et 12.', +'dat_INVALID_MINUTE' => 'ERREUR : minute non valide :', +'dat_BETWEEN_0_AND_59' => 'Choisissez une minute entre 0 et 59.', +'dat_INVALID_SECOND' => 'ERREUR : seconde non valide.', +'dat_UPDATING_CLOCK' => ' L\'horloge système est en train d\'être mise à jour. Attendez quelques secondes, puis cliquez ici pour vérifier les changements. ', +'dat_ERR_SETTING_CLOCK' => 'Une erreur s\'est produite pendant la mise à jour de l\'heure système et de l\'horloge matérielle.', +'dat_SERVER_DISABLED' => 'Serveur de temps désactivé avec succès.', +'dat_SERVER_DISABLED_DESC' => ' Vous avez désactivé ce service. Le serveur se fiera à son horloge interne et n\'essaiera pas de se synchroniser à un serveur de temps. ', +'dat_ERR_CHANGING_TS' => 'Une erreur s\'est produite pendant la modification du serveur de temps.', +'dat_INVALID_NTP_ADDR' => 'ERREUR : adresse du serveur de temps non valide :', +'dat_SETTINGS_CHANGED' => 'Modification du serveur de temps effectuée avec succès.', +'dat_SYNC_WITH' => 'Ce serveur est maintenant configuré pour se synchroniser périodiquement avec :', +'dat_INVALID_NTP_SERVER' => ' Serveur de temps non valide. Le serveur n\'essaiera pas de synchroniser son horloge à partir d\'un serveur de temps. ', +'dat_NETWORK_TIME_SERVER' => 'Serveur de temps', +'dat_NTP_CONFIGURE_TITLE' => 'Configurer le serveur de temps', +'dat_NTP_ENABLE_TITLE' => 'Activer un serveur de temps', +'dat_NTP_DISABLE_TITLE' => 'Désactiver le serveur de temps', +'dat_CURRENT_SETTING' => 'Réglage actuel', +'dat_Date and time' => 'Date et heure', + +'wbl_SAVE' => 'Sauvegarder', +'wbl_PERFORM' => 'Exécuter', +'wbl_FORM_TITLE' => 'WBL courriel', +'wbl_OPERATION_STATUS_REPORT' => 'Rapport d\'état de l\'opération', +'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.', +'wbl_RBL_LIST_DESCRIPTION' => 'La liste RBL est utilisée pour ajuster DNSBL et RHSBL.', +'wbl_RBL_LIST' => 'Liste RBL', +'wbl_BLACK_LIST_DESCRIPTION' => 'Les listes noires sont utilisées pour refuser le trafic de courriels.', +'wbl_BLACK_LIST' => 'Liste noire', +'wbl_WHITE_LIST_DESCRIPTION' => 'Les listes blanches sont utilisées pour accepter le trafic de courriels.', +'wbl_WHITE_LIST' => 'Liste blanche', +'wbl_BLACK_TITLE' => 'Ce serveur inclus un support intégré permettant à l\'administrateur de définir des listes noires, badhelo et badmailfrom.', +'wbl_DNSBL_DESCRIPTION' => 'DNSBL est une abréviation Anglaise pour "Liste noire DNS".', +'wbl_DNSBL_LABEL' => 'Statut DNSBL', +'wbl_RHSBL_DESCRIPTION' => 'RHSBL est une abréviation pour "Right Hand Side Blacklist".', +'wbl_RHSBL_LABEL' => 'Rapport d\'état de RHSBL', +'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\'.', +'wbl_BADHELO_LABEL' => 'qpsmtpd badhelo', +'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\'', +'wbl_BADMAILFROM_LABEL' => 'qmail \'badmailfrom\'', +'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', +'wbl_RRFH_LABEL' => 'État des listes blanches', +'wbl_WHITELISTHOSTS_DESCRIPTION' => 'Toute IP présente dans whitelisthosts sera exemptée de toutes validations supplémentaires pendant la phase \'connexion\'', +'wbl_WHITELISTHOSTS_LABEL' => 'Qpsmtpd whitelisthosts', +'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\'', +'wbl_WHITELISTHELO_LABEL' => 'qpsmtpd whitelisthelo', +'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\'.', +'wbl_WHITELISTSENDERS_LABEL' => 'qpsmtpd whitelistsenders', +'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.', +'wbl_WHITELISTFROM_LABEL' => 'spamassassin whitelist_from', +'wbl_BLACKLISTFROM_LABEL' => 'spamassassin blacklist_from', +'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.', +'wbl_SBLLIST_LABEL' => 'RHSBL (qpsmtpd SBLList)', +'wbl_SBLLIST_DESCRIPTION' => 'Liste de blocage RHS - (Right Hand Side) des expéditeurs hôte / domaine sera vérifié contre les serveurs suivants', +'wbl_RBLLIST_LABEL' => 'DNSBL Zones (qpsmtpd RBLList)', +'wbl_RBLLIST_DESCRIPTION' => 'Liste de bloquage DNS -L\'adresse IP des expéditeurs sera vérifiée à partir des serveurs suivants.', + '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.', + +'prt_FORM_TITLE' => 'Gestion des imprimantes', +'prt_INITIAL_BTN' => 'Ajouter une imprimante', +'prt_INITIAL_DESC' => '

Ajouter une imprimante

', +'prt_NO_PRINTERS' => 'Aucune imprimante n\'a été définie dans le système.', +'prt_CURRENT_LIST' => 'Liste actuelle des imprimantes', +'prt_REMOTE_ADDRESS' => 'Adresse distante', +'prt_REMOTE_NAME' => 'Nom distant', +'prt_CREATE_NEW_PRINTER' => 'Créer une nouvelle imprimante', +'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".', +'prt_PRINTER_NAME' => 'Nom de l\'imprimante', +'prt_LOCAL_PRINTER_0' => 'Imprimante locale, port 0 (LPT1)', +'prt_LOCAL_PRINTER_1' => 'Imprimante locale, port 1 (LPT2)', +'prt_LOCAL_PRINTER_2' => 'Imprimante locale, port 2 (LPT3)', +'prt_NET_PRINTER' => 'Imprimante réseau...', +'prt_FIRST_USB_PRINTER' => 'Première imprimante raccordée à un port USB', +'prt_SECOND_USB_PRINTER' => 'Seconde imprimante raccordée à un port USB', +'prt_ERR_UNEXPECTED_NAME' => '

ERREUR : caractères inattendus dans le nom de l\'imprimante.

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.

', +'prt_ERR_UNEXPECTED_DESC' => 'ERREUR : caractères inattendus ou manquants dans la description. L\'imprimante n\'a pas été créée.', +'prt_ERR_EXISTS' => 'ERREUR : un compte existe déjà sous ce nom avec le type', +'prt_ERR_INVALID_ADDRESS' => 'ERREUR : l\'adresse réseau n\'est pas valide. L\'imprimante n\'a pas été créée.', +'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.', +'prt_ERR_CREATING' => 'Une erreur est survenue lors de la création de l\'imprimante.', +'prt_CREATED_SUCCESSFULLY' => 'L\'imprimante a été créée avec succès.', +'prt_CREATE_NETWORK_PRINTER' => 'Créer une nouvelle imprimante réseau', +'prt_ERR_OPENING_DB' => 'Une erreur est survenue lors de l\'ouverture de la base de données de comptes.', +'prt_CREATE_NETWORK_DESC' => 'Veuillez taper l\'adresse et le nom de l\'imprimante réseau :', +'prt_HOSTNAME_OR_IP' => 'Nom d\'hôte ou adresse IP de l\'imprimante réseau', +'prt_REMOTE_NAME_DESC' => ' Nom de l\'imprimante réseau (tapez "raw" en cas d\'incertitude) ', +'prt_REMOVE_PRINTER' => 'Supprimer l\'imprimante', +'prt_ABOUT_TO_REMOVE' => 'Vous êtes sur le point de supprimer l\'imprimante', +'prt_SPOOL_FILE_WARNING' => 'La file d\'impression de cette imprimante va être supprimée.', +'prt_ARE_YOU_SURE' => 'Voulez-vous vraiment supprimer cette imprimante ?', +'prt_ERR_INTERNAL_FAILURE' => 'ERREUR : une erreur s\'est produite lors de la suppression de l\'imprimante.', +'prt_ERR_DELETING' => 'Erreur pendant la suppression de l\'imprimante.', +'prt_DELETED_SUCCESSFULLY' => 'Imprimante supprimée avec succès.', +'prt_MUST_BE_VALID_HOSTNAME_OR_IP' => 'La valeur doit être un nom d\'hôte ou une adresse IP valide', +'prt_Printers' => 'Imprimantes', + +'quo_FORM_TITLE' => 'Gestion des quotas pour les comptes utilisateur', +'quo_UNABLE_TO_OPEN_ACCOUNTS' => 'Impossible d\'ouvrir la base de données des comptes.', +'quo_QUOTA_DESC' => '

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.

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.

La valeur "0" pour l\'une ou l\'autre des limites désactive cette limite pour l\'utilisateur correspondant.

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.

', +'quo_CURRENT_USAGE_AND_SETTINGS' => 'Utilisation et paramètres actuels des quotas', +'quo_LIMIT_WITH_GRACE' => 'Limite avec période de grâce', +'quo_LIMIT_WITH_GRACE_MB' => 'Limite avec période de grâce (Mo)', +'quo_ABS_LIMIT' => 'Limite absolue', +'quo_ABS_LIMIT_MB' => 'Limite absolue (Mo)', +'quo_CURRENT_USAGE' => 'Utilisation actuelle (Mo)', +'quo_COULD_NOT_GET_UID' => 'Impossible de déterminer l\'UID de l\'utilisateur', +'quo_ERR_NO_SUCH_ACCT' => 'ERREUR : il n\'existe pas de compte avec le nom', +'quo_ERR_NOT_A_USER_ACCT' => 'ERREUR : ce n\'est pas un compte utilisateur', +'quo_ACCOUNT_IS_TYPE' => 'C\'est un compte de type', +'quo_MODIFY_USER_TITLE' => 'Modifier les limites de quotas utilisateur', +'quo_USER' => 'L\'utilisateur', +'quo_CURRENTLY_HAS' => 'utilise actuellement', +'quo_FILES' => 'fichiers', +'quo_OCCUPYING' => 'qui occupent', +'quo_MEGABYTES' => 'Megaoctets.', +'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.', +'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.', +'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.', +'quo_ERR_HARD_LT_SOFT' => 'ERREUR : la limite absolue doit être supérieure ou égale à la limite avec période de grâce.', +'quo_ERR_MODIFYING' => 'Une erreur s\'est produite lors de la modification de l\'utilisateur.', +'quo_SUCCESSFULLY_MODIFIED' => 'Modification réussie du quota pour compte utilisateur', +'quo_Quotas' => 'Quotas', + +); + + +1; \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,49 @@ +package SrvMngr::I18N::Wbl::fr; + +use utf8; +use Mojo::Base 'SrvMngr::I18N'; + +my %general = (); +my %wbl = ( +'wbl_SAVE' => 'Sauvegarder', +'wbl_PERFORM' => 'Exécuter', +'wbl_FORM_TITLE' => 'WBL courriel', +'wbl_OPERATION_STATUS_REPORT' => 'Rapport d\'état de l\'opération', +'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.', +'wbl_RBL_LIST_DESCRIPTION' => 'La liste RBL est utilisée pour ajuster DNSBL et RHSBL.', +'wbl_RBL_LIST' => 'Liste RBL', +'wbl_BLACK_LIST_DESCRIPTION' => 'Les listes noires sont utilisées pour refuser le trafic de courriels.', +'wbl_BLACK_LIST' => 'Liste noire', +'wbl_WHITE_LIST_DESCRIPTION' => 'Les listes blanches sont utilisées pour accepter le trafic de courriels.', +'wbl_WHITE_LIST' => 'Liste blanche', +'wbl_BLACK_TITLE' => 'Ce serveur inclus un support intégré permettant à l\'administrateur de définir des listes noires, badhelo et badmailfrom.', +'wbl_DNSBL_DESCRIPTION' => 'DNSBL est une abréviation Anglaise pour "Liste noire DNS".', +'wbl_DNSBL_LABEL' => 'Statut DNSBL', +'wbl_RHSBL_DESCRIPTION' => 'RHSBL est une abréviation pour "Right Hand Side Blacklist".', +'wbl_RHSBL_LABEL' => 'Rapport d\'état de RHSBL', +'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\'.', +'wbl_BADHELO_LABEL' => 'qpsmtpd badhelo', +'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\'', +'wbl_BADMAILFROM_LABEL' => 'qmail \'badmailfrom\'', +'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', +'wbl_RRFH_LABEL' => 'État des listes blanches', +'wbl_WHITELISTHOSTS_DESCRIPTION' => 'Toute IP présente dans whitelisthosts sera exemptée de toutes validations supplémentaires pendant la phase \'connexion\'', +'wbl_WHITELISTHOSTS_LABEL' => 'Qpsmtpd whitelisthosts', +'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\'', +'wbl_WHITELISTHELO_LABEL' => 'qpsmtpd whitelisthelo', +'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\'.', +'wbl_WHITELISTSENDERS_LABEL' => 'qpsmtpd whitelistsenders', +'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.', +'wbl_WHITELISTFROM_LABEL' => 'spamassassin whitelist_from', +'wbl_BLACKLISTFROM_LABEL' => 'spamassassin blacklist_from', +'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.', +'wbl_SBLLIST_LABEL' => 'RHSBL (qpsmtpd SBLList)', +'wbl_SBLLIST_DESCRIPTION' => 'Liste de blocage RHS - (Right Hand Side) des expéditeurs hôte / domaine sera vérifié contre les serveurs suivants', +'wbl_RBLLIST_LABEL' => 'DNSBL Zones (qpsmtpd RBLList)', +'wbl_RBLLIST_DESCRIPTION' => 'Liste de bloquage DNS -L\'adresse IP des expéditeurs sera vérifiée à partir des serveurs suivants.', + '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.', +); + +our %Lexicon = ( %general, %wbl); + +1; \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,268 @@ +our %Lexicon = ( +_AUTO => 1, + +YES => 'Oui', +NO => 'Non', +edit => 'Modifier', +del => 'Effacer', +exit => 'Quitter', +cancel => 'Annuler', +hello => 'salut', +'All rights reserved' => 'Tous droits réservés', + +'Collaboration' => +'Collaboration', +'Administration' => +'Administration', +'Security' => +'Sécurité', +'Configuration' => +'Configuration', +'Miscellaneous' => +'Divers', +'Your Settings' => +'Vos paramètres', +'SAVE' => +'Enregistrer', +'CANCEL' => +'Annuler', +'ENABLED' => +'Activé', +'DISABLED' => +'Désactivé', +'NO' => +'Non', +'YES' => +'Oui', +'ADD' => +'Ajouter', +'CREATE' => +'Créer', +'MODIFY' => +'Modifier', +'REMOVE' => +'Supprimer', +'COMMENT' => +'Commentaire', +'NEXT' => +'Suivant', +'SELF' => +'Ce serveur', +'REMOTE' => +'Distant', +'LOCAL' => +'Local', +'ACTION' => +'Action', +'NETWORK' => +'Réseau', +'ROUTER' => +'Routeur', +'OPERATION_STATUS_REPORT' => +'Rapport d\'état de l\'opération', +'ACCOUNT' => +'Compte', +'GROUP' => +'Groupe', +'DESC_SECTIONBAR' => +'
', +'NO_PIPES_ALLOWED' => +'La barre verticale "|" (pipe) n\'est pas autorisée dans ce champ.', +'ERROR_BELOW' => +'ERREUR : Une erreur s\'est produite lors de la validation de cette page. Vous trouverez ci-dessous les raisons de ce problème :', +'ACCESS' => +'Accès', +'ACCOUNT_LOCKED' => +'Le compte est verrouillé', +'GROUP_ADD' => +'Ajouter un groupe', +'NETWORKS_ALLOW_LOCAL' => +'N\'autoriser l\'accès que depuis les réseaux locaux', +'NETWORKS_ALLOW_PUBLIC' => +'Autoriser l\'accès complet (LAN et Internet)', +'ERROR_PASSWORD_CHANGE' => +'Une erreur s\'est produite pendant la modification de votre mot de passe. Veuillez vous assurer de l\'exactitude de l\'ancien mot de passe tapé.', +'BACK' => +'Retour', +'BACKUP' => +'Sauvegarde', +'DESCRIPTION_BRIEF' => +'Brève description', +'PASSWORD_CHANGE' => +'Changer le mot de passe', +'RESET_PASSWORD_TITLE' => +'Réinitialiser le mot de passe de l\'utilisateur', +'ACCOUNT_PASSWORD_CHANGE' => +'Changer le mot de passe du compte', +'CONTENT' => +'Contenu', +'CREATE_GROUP' => +'Créer un groupe d\'utilisateurs', +'USER_LIST_CURRENT' => +'Liste des utilisateurs', +'DESCRIPTION' => +'Description', +'DESTINATION' => +'Destination', +'DOMAIN_NAME' => +'Nom de Domaine', +'DOMAIN' => +'Domaine', +'DOMAINS' => +'Domaines', +'DOWNLOAD' => +'Télécharger', +'ERROR_UPDATING_CONFIGURATION' => +'Une erreur s\'est produite pendant la mise à jour de la configuration du serveur.', +'GROUP_MEMBERS' => +'Membres du groupe', +'GROUP_NAME' => +'Nom du groupe', +'GROUPS' => +'Groupes', +'IP_ADDRESS' => +'Adresse IP', +'IP_ADDRESS_OR_FQDN' => +'Adresse IP ou FQDN', +'USER_INVALID' => +'Utilisateur non autorisé', +'LOCATION' => +'Emplacement', +'MB' => +'Mo', +'MODIFY_USER_GROUP' => +'Modifier le groupe d\'utilisateurs', +'NAME' => +'Nom', +'PASSWORD_VERIFY_NEW' => +'Nouveau mot de passe (vérification)', +'PASSWORD_NEW' => +'Nouveau mot de passe', +'OFF' => +'Désactivé', +'OK' => +'Ok', +'PASSWORD_OLD' => +'Ancien mot de passe', +'ON' => +'Activé', +'PASSWORD' => +'Mot de passe', +'PERFORM' => +'Exécuter', +'RECONFIGURE' => +'Reconfigurer', +'REMOVE_USER_GROUP' => +'Supprimer le groupe d\'utilisateurs', +'PASSWORD_RESET' => +'Réinitialiser le mot de passe', +'RESTORE' => +'Restaurer', +'SHUTDOWN' => +'Arrêter', +'SUCCESS' => +'Opération réussie', +'ACCOUNT_NAME_INVALID' => +'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.', +'ACCOUNT_NAME_INVALID_CHARS' => +'Le nom d\'utilisateur que vous avez tapé contient des caractères non valides.', +'PASSWORD_OLD_INVALID_CHARS' => +'L\'ancien mot de passe que vous avez tapé contient des caractères non valides.', +'PASSWORD_INVALID_CHARS' => +'Le mot de passe que vous avez tapé contient des caractères non valides.', +'PASSWORD_VERIFY_ERROR' => +'Les mots de passe ne concordent pas.', +'ACCOUNT_USER_NONE' => +'Aucun compte utilisateur n\'a été défini dans le système.', +'ACCOUNT_GROUP_NONE' => +'Il n\'y a aucun groupe d\'utilisateurs défini dans le système.', +'ERROR_INVALID_CHARS' => +'Caractères inattendus dans la description.', +'USER_NAME' => +'Nom d\'utilisateur', +'YOUR_ACCOUNT' => +'Votre compte utilisateur:', +'YOUR_ACCOUNT_INVALID' => +'Le nom d\'utilisateur que vous avez tapé n\'est pas valide.', +'PASSWORD_CHANGE_SUCCESS' => +'Le mot de passe a été modifié avec succès.', +'FM_NONBLANK' => +'Ce champ ne doit pas être vide.', +'FM_INTEGER' => +'Ce champ doit contenir un entier positif.', +'FM_NUMBER' => +'Ce champ doit contenir un nombre.', +'FM_WORD' => +'Ce champ doit être composé d\'un seul mot.', +'FM_DATE' => +'La valeur tapée ne correspond pas à une date.', +'FM_CREDIT_CARD_NUMBER1' => +'Vous devez taper un numéro de carte de paiement.', +'FM_CREDIT_CARD_NUMBER2' => +'Le numéro de carte de paiement ne doit contenir que des nombres, des espaces ou des tirets.', +'FM_CREDIT_CARD_NUMBER3' => +'Il doit être composé d\'au moins 14 caractères.', +'FM_CREDIT_CARD_NUMBER4' => +'Il ne semble pas correspondre à un numéro valide de carte de paiement.', +'FM_CREDIT_CARD_EXPIRY1' => +'Aucune date d\'expiration n\'a été tapée.', +'FM_CREDIT_CARD_EXPIRY2' => +'La date d\'expiration doit être tapée sous la forme MM/AA ou MM/AAAA.', +'FM_CREDIT_CARD_EXPIRY3' => +'La date d\'expiration a déjà expirée.', +'FM_CREDIT_CARD_EXPIRY4' => +'La date d\'expiration semble trop éloignée dans le futur.', +'FM_ISO_COUNTRY_CODE1' => +'Vous devez taper un code de région.', +'FM_ISO_COUNTRY_CODE2' => +'Ce champ ne contient pas de code ISO de région valide.', +'FM_US_STATE' => +'Cette abréviation en deux lettres d\'état américain n\'est pas valide.', +'FM_US_ZIPCODE' => +'Les codes postaux américains doivent contenir 5 ou 9 chiffres.', +'FM_MINLENGTH1' => +'La longueur minimale a été définie arbitrairement à {$minlength} caractères.', +'FM_MINLENGTH2' => +'Ce champ doit contenir au minimum {$minlength} caractères.', +'FM_MAXLENGTH1' => +'La longueur maximale a été définie arbitrairement à {$maxlength} caractères.', +'FM_MAXLENGTH2' => +'Ce champ doit ne doit pas dépasser {$maxlength} caractères.', +'FM_EXACTLENGTH1' => +'Vous devez définir la longueur de ce champ.', +'FM_EXACTLENGTH2' => +'Vous devez définir la longueur exacte de ce champ avec un entier.', +'FM_EXACTLENGTH3' => +'Ce champ doit faire exactement {$exactlength} caractères.', +'FM_LENGTHRANGE1' => +'Vous devez définir les longueurs maximale et minimale de ce champ.', +'FM_LENGTHRANGE2' => +'Vous devez définir les longueurs maximale et minimale de ce champ avec des entiers.', +'FM_LENGTHRANGE3' => +'La longueur de ce champ doit être comprise entre {$minlength} et {$maxlength} caractères.', +'FM_URL' => +'Ce champ doit contenir une URL commençant par http:// ou ftp://', +'FM_EMAIL_SIMPLE1' => +'Vous devez taper une adresse de courriel.', +'FM_EMAIL_SIMPLE2' => +'Ce champ ne semble pas respecter le format RFC822 des adresses de courriel.', +'FM_DOMAIN_NAME' => +'Ce champ ne semble pas contenir de nom de domaine Internet ou d\'hôte valide.', +'FM_IP_NUMBER1' => +'Ce champ doit contenir une adresse IP valide et ne doit pas être vide.', +'FM_IP_NUMBER2' => +'Format d\'adresse IP incorrect (X.X.X.X attendu)', +'FM_IP_NUMBER3' => +'La valeur {$octet} dépasse 255.', +'FM_USERNAME' => +'Ce champ doit contenir un nom d\'utilisateur valide (3 à 8 lettres et chiffres).', +'FM_PASSWORD1' => +'Vous devez taper un mot de passe.', +'FM_PASSWORD2' => +'Le mot de passe que vous avez tapé n\'était pas bon. Un bon mot de passe doit contenir au moins : des lettres en majuscule et en minuscule, des chiffres et des caractères non alphanumériques et être composé d\'au moins 7 caractères.', +'FM_MAC_ADDRESS1' => +'Vous devez taper une adresse Ethernet.', +'FM_MAC_ADDRESS2' => +'L\'adresse Ethernet que vous avez tapé n\'est pas valide.', +'FM_ERR_UNEXPECTED_DESC' => +'ERREUR : caractères invalides ou manquants dans la description.', 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 --- 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 +++ 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 @@ -0,0 +1,10 @@ +#!/usr/bin/perl -wT + +package SrvMngr::I18N; + +use strict; +use warnings; +use utf8; +use parent 'Locale::Maketext'; + +1; 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 --- 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 +++ 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 @@ -0,0 +1,36 @@ +package SrvMngr::Model::Main; + +use strict; +use warnings; +use utf8; + +use esmith::DB; +use esmith::ConfigDB; + +my %datas = ( + 'lang' => 'en', + 'releaseVersion' => '', + 'copyRight' => '', + 'navigation' => 'N a v i g a t i o n', + 'modul' => 'Modul 89 +/- 11', + 'PwdSet' => '0', + 'Unsafe' => '0', +); + + + +sub init_data { + my %datas = (); + + my $lang = (split(/,/, $ENV{"HTTP_ACCEPT_LANGUAGE"}))[0]; + ## convert xx_XX lang format to xx-xx + ($datas{'lang'} = lc($lang)) =~ s/_/-/; + my $DB = esmith::ConfigDB->open_ro() or die("can't open Config DB test"); + my $sysconfig = $DB->get("sysconfig"); + $datas{'releaseVersion'} = $sysconfig->prop("ReleaseVersion") || '??'; + $datas{'copyRight'} = 'All rights reserved'; + $datas{'PwdSet'} = ($DB->get('PasswordSet')->value eq "yes") || '0' ; + $datas{'Unsafe'} = ($DB->get('bootstrap-console') and $DB->get('bootstrap-console')->prop('Run') eq 'yes') || + ($DB->get('UnsavedChanges') and $DB->get('UnsavedChanges')->value eq 'yes'); + return( %datas ); +} 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 --- 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 +++ 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 @@ -0,0 +1,355 @@ +#!/usr/bin/perl -wT + +package SrvMngr::Navigation; + +use strict; +use warnings; + +use esmith::cgi; +use esmith::config; +use esmith::NavigationDB; +use esmith::util; +use esmith::I18N; + + # Clear PATH and related environment variables so that calls to + # external programs do not cause results to be tainted. See + # "perlsec" manual page for details. + +# $ENV {'PATH'} = ''; +# $ENV {'SHELL'} = '/bin/bash'; +# delete $ENV {'ENV'}; + +esmith::util::setRealToEffective (); + +# Use the one script for navigation and noframes +my $NO_FRAMES = ($0 =~ /noframes/); + + +#------------------------------------------------------ +# subroutine to determine which group a user belongs to +#------------------------------------------------------ + +sub determineGroup +{ + my ($user) = shift; + + # Group file for authentication + my $group_file = '/etc/group'; + open ( GF, $group_file ) + or die "Cannot open group file: $group_file: $!\n"; + + # list of groups this user belongs to + my @groupList; + while () + { + if (/[:,]$user\b/) + { + my ($groupName, undef) = split(/:/); + push @groupList, $groupName; + } + } + close GF; + return @groupList; +} + +#------------------------------------------------------------ +# subroutine to display navigation bar +#------------------------------------------------------------ + +sub showNavigation () +{ + my $q = shift; + #my $c = shift; + my $config = shift; + my $navigation = ""; + + # Use this variable throughout to keep track of files + # list of just the files + my $c = "1"; + my @files = (); + my %files_hash = (); + my @panel_group = "admin"; +# my @panel_group = $ENV{'REMOTE_USER'} eq "admin" ? +# ("admin") : determineGroup($ENV{'REMOTE_USER'}); + + #----------------------------------------------------- + # Determine the directory where the functions are kept + #----------------------------------------------------- + + my $navigation_ignore = + "(\.\.?|navigation|noframes|online-manual|(internal|pleasewait)(-.*)?)"; + + my $cgidir = 'nowhere'; + if ($panel_group[0] eq 'admin') + { + $cgidir = '/etc/e-smith/web/panels/manager/cgi-bin/'; + + if (opendir (DIR, $cgidir)) + { + @files = grep (!/^${navigation_ignore}$/, + readdir (DIR)); + closedir (DIR); + } + else + { + warn "Can't open directory $cgidir\n"; + } + + foreach my $file (@files) + { + next if (-d "$cgidir/$file"); + $files_hash{$file} = $cgidir; + } + + } + else + { + foreach my $panel (@panel_group) + { + $cgidir = "/etc/e-smith/web/panels/manager/$panel/cgi-bin"; + + if (opendir (DIR, $cgidir)) + { + @files = grep (!/^${navigation_ignore}$/, + readdir (DIR)); + closedir (DIR); + foreach my $file (@files) + { + next if (-d "$cgidir/$file"); + $files_hash{$file} = $cgidir; + } + } + else + { + warn "Can't open directory $cgidir\n"; + } + } + } + + #-------------------------------------------------- + # For each script, extract the description and category + # information. Build up an associative array mapping headings + # to heading structures. Each heading structure contains the + # total weight for the heading, the number of times the heading + # has been encountered, and another associative array mapping + # descriptions to description structures. Each description + # structure contains the filename of the particular cgi script + # and a weight. + #-------------------------------------------------- + my %nav = (); + + use constant NAVIGATIONDIR => '/home/e-smith/db/navigation'; + use constant WEBFUNCTIONS => '/etc/e-smith/web/functions'; + + my $i18n = new esmith::I18N; + + my $language = $i18n->preferredLanguage( $ENV{HTTP_ACCEPT_LANGUAGE} ); + + my $navinfo = NAVIGATIONDIR . "/navigation.$language"; + + my $navdb = esmith::NavigationDB->open_ro( $navinfo ) or + die "Couldn't open $navinfo\n"; + + # Check the navdb for anything with a UrlPath, which means that it doesn't + # have a cgi file to be picked up by the above code. Ideally, only pages + # that exist should be in the db, but that's not the case. Anything + # without a cgi file will have to remove themselves on uninstall from the + # navigation dbs. + foreach my $rec ($navdb->get_all) + { + if ($rec->prop('UrlPath')) + { + $files_hash{$rec->{key}} = $cgidir; + } + } + + foreach my $file (keys %files_hash) + { + my $heading = 'Unknown'; + my $description = $file; + my $headingWeight = 99999; + my $descriptionWeight = 99999; + my $urlpath = ''; + + my $rec = $navdb->get($file); + + if (defined $rec) + { + $heading = $rec->prop('Heading'); + $description = $rec->prop('Description'); + $headingWeight = $rec->prop('HeadingWeight'); + $descriptionWeight = $rec->prop('DescriptionWeight'); + $urlpath = $rec->prop('UrlPath') || ''; + } + + #-------------------------------------------------- + # add heading, description and weight information to data structure + #-------------------------------------------------- + + unless (exists $nav {$heading}) + { + $nav {$heading} = { COUNT => 0, WEIGHT => 0, DESCRIPTIONS => [] }; + } + + $nav {$heading} {'COUNT'} ++; + $nav {$heading} {'WEIGHT'} += $headingWeight; + + # Check for manager panel, and assign the appropriate + # cgi-bin prefix for the links. + # Grab the last 2 directories by splitting for '/'s and + # then concatenating the last 2 + # probably a better way, but I don't know it. + my @filename = split /\//, $files_hash{$file}; + + #### mabmodif new version of module exists + my $path = (SrvMngr->get_mod_url($file) ne '-1') ? + "2" : + ###### mabmodif + ($cgidir eq '/etc/e-smith/web/panels/manager/cgi-bin/') ? + "/$filename[scalar @filename - 1]" : + "/$filename[scalar @filename - 2]/$filename[scalar @filename - 1]"; + push @{ $nav {$heading} {'DESCRIPTIONS'} }, + { DESCRIPTION => $description, + WEIGHT => $descriptionWeight, + FILENAME => $urlpath ? $urlpath : "$path/$file", + CGIPATH => $path + }; + } + + #-------------------------------------------------- + # generate list of headings sorted by average weight + #-------------------------------------------------- + + # + # generate script .js + # + open(SCR, "> $config->{navigation_script_file}") + or die "access file error: \'$config->{navigation_script_file}\'\n$!"; + + printf SCR ' + // + // Do N O T modify this file : it is automatically generated ! + // + //This swap the class of the selected item. + function swapClass() { + var i,x,tB,j=0,tA=new Array(),arg=swapClass.arguments; + if(document.getElementsByTagName){for(i=4;i + "; + + close SCR; + + # + # generate navigation div part + # + + open(DIV, "> $config->{navigation_div_file}") + or die "access file error: \'$config->{navigation_div_file}\'\n$!"; + + # enable utf8 binmode so new translations work + binmode DIV, ":utf8"; + + printf DIV ""; + + #printf DIV ""; + close DIV +} + +1; 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 --- 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 +++ 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 @@ -0,0 +1,71 @@ +#!/usr/bin/perl -wT + +package SrvMngr; + +use strict; +use warnings; + +use Mojolicious::Lite; + +#has description => 'server manager 2 : mojolicious app'; +#has usage => 'called via apache server cgi mode'; + +use utf8; + +use SrvMngr::Navigation; +use SrvMngr::I18N; +use SrvMngr::Model::Main; + + +my $config = plugin( 'Config' => { files => './conf/srvmngr.conf' }); + +#startcgi(); + + +sub startup{ + # once at daemon launch ! + # not used if CGI call +} + + +sub startsess{ + my $c = shift; + + app->log->info("Init datas in page."); + my %datas = (); + %datas = SrvMngr::Model::Main->init_data( %datas ); + $c->session->{lang} = $datas{'lang'}; + $c->session->{copyRight} = $c->l($datas{'copyRight'}); + $c->session->{releaseVersion} = $datas{'releaseVersion'}; + $c->session->{PwdSet} = $datas{'PwdSet'}; + $c->session->{Unsafe} = $datas{'Unsafe'}; + $c->languages($datas{'lang'}); + app->log->info("Session started: $datas{'lang'}"); +} + + +app->helper(log_req => sub { + my $c = shift; + my $mess = shift; + my $method = $c->req->method; + my $url = $c->req->url; + my $version = $c->req->version; + my $ip = $c->tx->remote_address; + return "Request received => $method $url HTTP/$version from $ip -- $mess"; +}); + + +sub get_mod_url{ + my $c = shift; + my $module = shift; + + # test if module exists + my $module_file = $config->{modules_dir} . '/' . ucfirst($module) . '.pm'; + if ( -e $module_file){ + return "/$module"; + } + return -1; +} + + +1; 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 --- 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 +++ 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 @@ -0,0 +1 @@ +development.log 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 --- 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 +++ 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 @@ -0,0 +1 @@ +production.log 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 --- 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 +++ 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 @@ -0,0 +1,129 @@ +#! /usr/bin/perl +#-wT + +# mojo server-manager2 (sandbox) mab974 2019 + +use strict; +use warnings; +use utf8; + +#BEGIN { $ENV{MOJO_I18N_DEBUG} = 1}; + +use Mojolicious::Lite; + +#use Data::Dumper; + +use FindBin; +use lib "$FindBin::Bin/lib"; +use lib "$FindBin::Bin/../lib"; +use lib "$FindBin::Bin/../cgi-bin/srvmngr/lib"; + +my $config = plugin 'Config'; + +use SrvMngr; + +plugin 'TagHelpers'; + +use SrvMngr::I18N; +my $locale = plugin I18N => {namespace => 'SrvMngr::I18N', default => 'en'}; + + +my $VERSION = '0.0.1'; +#app->mode('production'); +app->mode('development'); + +app->secrets( $config->{'secrets'} ); +app->sessions->cookie_name('srvmngr'); +app->sessions->default_expiration('1800'); +##app->session(expires => 1) # in logout; + +# Replace the default paths +app->renderer->paths([app->home->rel_file('themes/default/templates')]); +app->static->paths([app->home->rel_file('themes/default/public')]); + +if ($config->{theme} ne 'default') { + # Put the new theme first + my $theme = app->home->rel_file('themes/'.$config->{theme}); + unshift @{app->renderer->paths}, $theme.'/templates' if -d $theme.'/templates'; + unshift @{app->static->paths}, $theme.'/public' if -d $theme.'/public'; +} +app->log->info("Current theme : ${app->renderer->paths}[0] & ${app->static->paths}[0]"); + +my %datas = ( + 'lang' => 'en', + 'releaseVersion' => 'rv', + 'copyRight' => 'cp', + 'PwdSet' => '1', + 'Unsafe' => '0', +); + +SrvMngr::Navigation->showNavigation($config) if ($config->{navigation_has_changed} == 1); + +%datas = SrvMngr::Model::Main->init_data( %datas ); + +my $right = app->l("$datas{copyRight}"); +app->log->info("Session started: $datas{lang} $right"); + +#my $lang = $datas{'lang'}; +#my $releaseVersion = $datas{releaseVersion}; +#my $PwdSet = $datas{'PwdSet'}; +#my $Unsafe = $datas{'Unsafe'}; + + +my $r = app->routes; +$r->namespaces(['SrvMngr::Controller']); +$r->get('/')->to('initial#main')->name('initial'); +$r->get('/bugreport')->to('bugreport#main')->name('bugreport'); +$r->post('/bugreport')->to('bugreport#do_report')->name('bugreport2'); +$r->get('/clamav')->to('clamav#main')->name('clamav'); +$r->post('/clamav')->to('clamav#do_update')->name('clamav2'); +$r->get('/datetime')->to('datetime#main')->name('datetime'); +$r->post('/datetime')->to('datetime#do_update')->name('datetime2'); +$r->get('/directory')->to('directory#main')->name('directory'); +$r->post('/directory')->to('directory#do_update')->name('directory2'); +$r->get('/logout')->to('main#logout')->name('logout'); +$r->get('/manual')->to('manual#main')->name('manual'); +$r->get('/printers')->to('printers#main')->name('printers'); +$r->post('/printers')->to('printers#do_display')->name('printeradd'); +$r->get('/printers2')->to('printers#do_update')->name('printernet'); +$r->post('/printers2')->to('printers#do_update')->name('printerupd'); +#$r->post('/printers3')->to('printers#do_update')->name('printernet'); +#$r->get('/printers/:printer' => {printer => qr/^([a-z][a-z0-9]*)$/})->to('printers#do_display')->name('printerdel'); +$r->get('/printdel')->to('printers#do_display')->name('printerdel'); +$r->post('/printdel')->to('printers#do_update')->name('printerdel2'); +$r->get('/proxy')->to('proxy#main')->name('proxy'); +$r->post('/proxy')->to('proxy#do_update')->name('proxy2'); +$r->get('/qmailanalog')->to('qmailanalog#main')->name('qmailanalog'); +$r->post('/qmailanalog')->to('qmailanalog#do_update')->name('qmailanalog2'); +$r->get('/quota')->to('quota#main')->name('quota'); +$r->get('/quotaupd')->to('quota#do_display')->name('quotalist'); +$r->post('/quotaupd')->to('quota#do_update')->name('quotaupd'); +$r->get('/review')->to('review#main')->name('review'); +$r->get('/starterwebsite')->to('starterwebsite#main')->name('starterwebsite'); +$r->post('/starterwebsite')->to('starterwebsite#do_site')->name('starterwebsite2'); +$r->get('/support')->to('support#main')->name('support'); +$r->get('/wbl')->to('wbl#main')->name('wbl'); +$r->post('/wbl')->to('wbl#do_display')->name('wbldis'); +$r->post('/wbl2')->to('wbl#do_update')->name('wblupd'); +$r->get('/welcome')->to('welcome#main')->name('welcome'); +$r->get('/workgroup')->to('workgroup#main')->name('workgroup'); +$r->post('/workgroup')->to('workgroup#do_update')->name('workgroup2'); +$r->get('/getconfig/:key' => {key => qr/[a-z0-9]{2,32}/})->to('request#getconfig')->name('getrequest'); +$r->get('/getaccount/:key' => {key => qr/[a-z0-9]{2,32}/})->to('request#getaccount')->name('getaccount'); +$r->get('/:module' => {module => qr/[a-z0-9]{2,32}/})->to('modsearch#main')->name('module_search'); +#my $mod = any('/modules')->to('modules#default'); +#$mod->get('/:module' => {module => qr/[a-z0-9]{2,32}/})->to('#mod_search')->name('module_search2'); +$r->any('/*whatever' => {whatever => ''})->to('main#whatever')->name('whatever'); + + +app->helper(log_req => sub { + my $c = shift; + my $method = $c->req->method; + my $url = $c->req->url; + my $version = $c->req->version; + my $ip = $c->tx->remote_address; + return "Requete recue => $method $url HTTP/$version depuis $ip"; +}); + + +app->start(); 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 --- 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 +++ 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 @@ -0,0 +1,19 @@ +use Test::More tests => 3; +use Test::Mojo; + +# TO BE DONE !!!! + +# FindBin permet de trouver le script de l'appli +use FindBin; + +$ENV{MOJO_HOME} = "$FindBin::Bin/../"; +require "$ENV{MOJO_HOME}/srvmngr.pl"; + +# tests declaration + +my $t = Test::Mojo->new; +$t->ua->max_redirects(1); + +$t->get_ok('/profile') + ->status_is(200) + ->text_like('html body' => qr/Welcome/); 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 --- 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 +++ 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 @@ -0,0 +1,157 @@ +/* srvmngr - css de base */ +body{ + background-color: #FFF; +} + +#container{ + max-width: 100%; + position: relative; + margin: auto; +} + +#navigation{ + width: 190px; + position: absolute; + margin-left: 0px; + padding: 5px; + background-color: #E8F3E1; + height: 600px; + overflow: auto; +} + +#main{ + margin-left: 195px; + padding: 10px; +} + +#central{ + margin-left: 0px; + padding: 5px; +} + +#footer{ + margin-left: 0px; + padding: 5px; +} + +#header { + background: #bee6a2; +} + +#header h1, a:link, a:visited { + color: black; + text-decoration: none; +/* contribs.org styling */ +} + +.sme-error { + color: red; + background-color: #ffffff; + border-width: 1px; + border-style: solid; + border-color: red ; + padding: 2px; + margin-left: 20px; + margin-right: 20px; + margin-top:0px; + margin-bottom:0px; +} + +a.accent { + color: brown; +} + +#footer img { + float: right; + position: fixed; + margin-left: 40%; +} + +span.label { + font-weight: bold; + width: 20%; +} + +span.data { + padding: 2px; + font-weight: bold; + margin-left: 25%; + background-color: lightblue; +} + +span.data2 { + padding: 2px; + font-weight: bold; + background-color: lightblue; +} + +input.action { + margin-left: 450px; + color: green; + background-color: lightgreen; +} +#modul.desc { + padding: 3px; + background-color: grey; +} +/* #modul form .input */ +[type = 'text'] { + margin-left: 5px; + background-color: lightblue; +} + +.a, .return { + color: #661866; + font-weight: bold; +} + +.section { + line-height: 20px; +} +.a, .item { + line-height: 15px; +} + +#module { + height: 600px; + overflow: auto; +} + +#h2l1 { + height: 40px; + width: 100%; +} +#h2e11 { + width: 70%; + float: left; +} +#h2e12 { + background-color: #C0E7A6; + float: left; + text-align: right; +} + +#h2l2 { +/* background-color: #A8F9E7;*/ + border-top: solid white 3px; + border-bottom: solid white 2px; + height: 14px; + width: 100%; + padding: 1px; +} + +#h2e21 { + float: left; + width: 70%; +} + +#h2e22,#h2e23 { + float: left; + width: 10%; + text-align: center; +} + +/*#h2e23 { + float: right; + width: 15%; +}*/ 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 --- 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 +++ 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 @@ -0,0 +1,9 @@ + + + + +Mojo under construction + +

This web app is under construction

+ + 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 --- 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 +++ 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 @@ -0,0 +1,25 @@ + + // + // Do N O T modify this file : it is automatically generated ! + // + //This swap the class of the selected item. + function swapClass() { + var i,x,tB,j=0,tA=new Array(),arg=swapClass.arguments; + if(document.getElementsByTagName){for(i=4;i + \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,69 @@ +% layout 'default', title => 'Sme server 2 - Bug report'; + +% content_for 'module' => begin +
+

<%= $c->current_route %>


+

<%= $title %>

+ + +

+

+%=l ('bugr_DO_NOT_PANIC') +

+

+%=l ('bugr_SME_EXPERIENCE') +

+%=l ('bugr_PLEASE_REPORT_HERE') +

+%=l ('bugr_USE_TEMPLATE') +

+%=l ('bugr_FOLLOWING_REPORT_MIGHT_HELP') +

+%=l ('bugr_REPORT_CONTENT') +

  • +%=l ('bugr_SME_VERSION') +
  • +%=l ('bugr_SERVER_MODE') +
  • +%=l ('bugr_KERNEL_AND_ARCH') +
  • +%=l ('bugr_INSTALLED_RPMS') +
  • +%=l ('bugr_ALTERED_TEMPLATES') +
  • +%=l ('bugr_ALTERED_EVENTS') +
  • +%=l ('bugr_YUM_REPOS') +

+%=l ('bugr_PRIVACY') +

+<% my $btn = l('bugr_CREATE_REPORT'); %> + +%= form_for 'bugreport' => (method => 'POST') => begin + %= submit_button "$btn", class => 'action' +% end + +

+%=l ('bugr_DONATING') +

+%=l ('bugr_AWARE_SME') +

+%=l ('bugr_YOUR_HELP') +

+%=l ('bugr_CONSIDER_DONATING') +

+<%= link_to 'https://wiki.koozali.org/Donate' => begin %> +%= image 'images/btn_donateCC_LG.gif' +<% end %> +
+%=l ('bugr_THANK_YOU') +

+ +

+ %= link_to Back => '/' +

+
+%end \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,47 @@ +% layout 'default', title => "Sme server 2 - clamav", share_dir => './'; + +% content_for 'module' => begin +
+ %if ($config->{debug} == 1) { +

(DBG)route: <%= $c->current_route %>
+ (DBG)FsS stat: <%= $clm_datas->{FilesystemScan}%>
+ (DBG)Quar stat: <%=$clm_datas->{Quarantine} %> +

+ %} +

<%= $title %>

+
+ <%= $modul %> + <% my $btn = l('SAVE'); %> + + %= form_for 'clamav' => (method => 'POST') => begin +

+ +
+ + %=l 'clm_LABEL_FILESYSTEM_SCAN_PERIOD' + + % param 'FilesystemScan' => $clm_datas->{FilesystemScan} unless param 'FilesystemScan'; + %= select_field 'FilesystemScan' => [[ (l 'clm_DAILY') => 'daily'], [ (l 'clm_NEVER') => 'disabled'], [ (l 'clm_WEEKLY') => 'weekly']], class => 'input' + +

+

+ + %=l 'clm_LABEL_QUARANTINE' + + % param 'Quarantine' => $clm_datas->{Quarantine} unless param 'Quarantine'; + %= select_field 'Quarantine' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input' +
+
+

+

+ + %=l 'clm_LABEL_CLAM_VERSIONS' + + %= $clm_datas->{clam_versions} +
+
+

+ %= submit_button "$btn", class => 'action' + % end +
+%end 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 --- 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 +++ 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 @@ -0,0 +1,116 @@ +% layout 'default', title => "Sme server 2 - datetime", share_dir => './'; + +% content_for 'end' => begin +
+ content_end +
+% end + +% content_for 'module' => begin +
+ + %if ($config->{debug} == 1) { +

+ (DBG)route: <%= $c->current_route %>
+ (DBG)ntp: <%= $dat_datas->{ntpstatus}%>
+ (DBG)svr: <%= $dat_datas->{ntpserver}%>
+

+ %} + + +

<%= $title %>

+
+ <%= $modul %> + <% my $btn = l('SAVE'); %> + + %= form_for 'datetime' => (method => 'POST') => begin +

+ % param 'ntpstatus' => $dat_datas->{ntpstatus} unless param 'ntpstatus'; + % param 'old_ntpstatus' => $dat_datas->{ntpstatus} unless param 'ntpstatus'; + %= hidden_field 'old_ntpstatus' + %= radio_button ntpstatus => 'enabled' + + %=l 'dat_NTP_CONFIGURE_TITLE' + +
+ % if ($dat_datas->{ntpstatus} eq 'disabled') { + + %=l 'dat_NTP_ENABLE_DESC' +
+

+ % } else { + %=l 'dat_NTP_CONFIGURE_DESC' +

+ %=l 'dat_CURRENT_SETTING' + + %= $dat_datas->{now_string} + +
+ + %=l 'dat_NTP_SERVER' + + %= text_field 'ntpServer' => $dat_datas->{ntpserver}, class => 'input' + +

+ % } +

+ %= radio_button ntpstatus => 'disabled' + + %=l 'dat_NTP_DISABLE_TITLE' + + + % if ($dat_datas->{ntpstatus} eq 'enabled') { + +

+ %=l 'dat_NTP_DISABLE_DESC' +

+ % } else { +
+

+

+ %=l 'dat_CURRENT_SETTING' + + %= $dat_datas->{now_string} + +
+ + %=l 'dat_NEW_M/D/Y' + + %= text_field 'month' => $dat_datas->{month}, class => 'input' + + + %= text_field 'day' => $dat_datas->{day}, class => 'input' + + %= text_field 'year' => $dat_datas->{year}, class => 'input' + +
+ + %=l 'dat_NEW_H/M/S' + + %= text_field 'hour' => $dat_datas->{hour}, class => 'input' + + %= text_field 'minute' => $dat_datas->{minute}, class => 'input' + + %= text_field 'second' => $dat_datas->{second}, class => 'input' + +
+ + %=l 'dat_AM/PM_AND_TZ' + + %= select_field 'ampm' => [[AM => 'am'],[PM => 'pm']], class => 'input' + + %= text_field 'timezone' => $dat_datas->{timezone}, class => 'input' + + +

+ % } +

+
+ %= submit_button "$btn", class => 'action' +

+ % end +
+%end 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 --- 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 +++ 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 @@ -0,0 +1,39 @@ +% layout 'default', title => 'Sme server 2 - Support', share_dir => './'; + +% content_for 'head' => begin + %= include 'partials/_head' +% end + +% content_for 'header' => begin + %= include 'partials/_header' +% end + +% content_for 'info' => begin + %= include 'partials/_info' +% end + +% content_for 'navigation' => begin + %= include 'partials/_navig' +% end + +% content_for 'footer' => begin + %= include 'partials/_footer' +% end + +% content_for 'end' => begin +
+ content_end +
+% end + +% content_for 'module' => begin +
+

<%= $title %>


+
+ <%= $modul %> +
+

+ %= link_to Initial => '/' +

+
+%end \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,88 @@ +% layout 'default', title => "Sme server 2 - directory", share_dir => './'; + +% content_for 'module' => begin +
+ + %if ($config->{debug} == 1) { +

+ (DBG)route: <%= $c->current_route %>
+ (DBG)dir. access: <%= $dir_datas->{access}%>
+

+ %} + +

<%= $title %>

+
+ <%= $modul %> + <% my $btn = l('SAVE'); + %> + + + %= form_for 'directory' => (method => 'POST') => begin +
+

+ + %= l('dir_LABEL_ROOT'), class => 'label' + + %= $dir_datas->{root}, class => 'data' + +

+

+ %=l 'dir_DESC_DIRECTORY_ACCESS', class => 'desc' +
+ + %=l 'dir_DIRECTORY_ACCESS', class => 'label' + + % param 'access' => $dir_datas->{access} unless param 'access'; + %= select_field 'access' => [[ (l 'NETWORKS_ALLOW_LOCAL') => 'private'], [ (l 'NETWORKS_ALLOW_PUBLIC') => 'public']], class => 'input', id => 'access' + +

+

+ %=l 'dir_DESC_DEPARTMENT', class => 'desc' +

+ + %=l 'dir_DEPARTMENT', class => 'label' + + %= text_field 'department' => $dir_datas->{department}, class => 'input' + +

+ + %=l 'dir_COMPANY', class => 'label' + + %= text_field 'company', $dir_datas->{company}, class => 'input' + +

+ + %=l 'dir_STREET', class => 'label' + + %= text_field 'street' => $dir_datas->{street}, class => 'input' + +

+ + %=l 'dir_CITY', class => 'label' + + %= text_field 'city', $dir_datas->{city}, class => 'input' + +

+ + %=l 'dir_PHONENUMBER', class => 'label' + + %= text_field 'phonenumber', $dir_datas->{phonenumber}, class => 'input' + +

+

+ %=l 'dir_DESC_EXISTING', class => 'desc' +

+ + %=l 'dir_EXISTING', class => 'label' + + %= select_field 'existing'=> [[ (l 'dir_LEAVE') => 'leave'], [ (l 'dir_UPDATE') => 'update' ]], class => 'input' + +

+

+
+ %= submit_button "$btn", class => 'action' +

+ % end + +
+%end 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 --- 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 +++ 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 @@ -0,0 +1,45 @@ +% layout 'default', title => 'Sme server 2 - Error D', share_dir => ''; + +% content_for 'head' => begin + %= include 'partials/_head' +% end + +% content_for 'header' => begin + %= include 'partials/_header' +% end +< !-- +% content_for 'info' => begin + +% end +-- > +% content_for 'navigation' => begin + %= include 'partials/_navig' +% end + +< !-- +% content_for 'footer' => begin + +% end +-- > + +% content_for 'end' => begin +
+ content_end +
+% end + +% content_for 'module' => begin +
+


dev
Oups !!! + The page you were requesting + "<%= $self->req->url->path || '/' %>" + caused en exception !! +
dev
+

+

+ %= link_to Back => '/' +

+ +
+ +% end 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 --- 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 +++ 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 @@ -0,0 +1,11 @@ +% layout 'default', title => 'Sme server 2 - Initial', share_dir => ''; + +% content_for 'module' => begin +
+

+ <%= $title %>

+
+
<%= $modul %>
+
+ +% end 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 --- 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 +++ 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 @@ -0,0 +1,35 @@ + + + + +<%= $title %> + + + + + + + %= include 'partials/_head' + + + + + + %= include 'partials/_info' + +
+ +
+ %= content 'module' + %= include 'partials/_footer' +
+
+ + + 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 --- 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 +++ 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 @@ -0,0 +1,38 @@ +% layout 'default', title => 'Sme server 2 - Manual', share_dir => ''; + +% content_for 'head' => begin + %= include 'partials/_head' +% end + +% content_for 'header' => begin + %= include 'partials/_header' +% end + +% content_for 'info' => begin + %= include 'partials/_info' +% end + +% content_for 'navigation' => begin + %= include 'partials/_navig' +% end + +% content_for 'footer' => begin + %= include 'partials/_footer' +% end + +% content_for 'end' => begin +
+ content_end +
+% end + +% content_for 'module' => begin +
+

<%= $title %>

+ <%= $modul %>
+

+ %= link_to Initial => '/' +

+
+ +% end 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 --- 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 +++ 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 @@ -0,0 +1,36 @@ +% layout 'default', title => "Sme server 2 - module", share_dir => './'; + +% content_for 'head' => begin + %= include 'partials/_head' +% end + +% content_for 'header' => begin + %= include 'partials/_header' +% end + +% content_for 'info' => begin + %= include 'partials/_info' +% end + +% content_for 'navigation' => begin + %= include 'partials/_navig' +% end + +% content_for 'footer' => begin + %= include 'partials/_footer' +% end + +% content_for 'end' => begin +
+ content_end +
+% end + +% content_for 'module' => begin +
+

<%= $c->current_route %>


+

<%= $title %>

+ <%= $modul %> +
+
+%end \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,43 @@ +% layout 'default', title => 'Sme server 2 - Error D', share_dir => ''; + +% content_for 'head' => begin + %= include 'partials/_head' +% end + +% content_for 'header' => begin + %= include 'partials/_header' +% end +< !-- +% content_for 'info' => begin + +% end +-- > +% content_for 'navigation' => begin + %= include 'partials/_navig' +% end + +< !-- +% content_for 'footer' => begin + +% end +-- > + +% content_for 'end' => begin +
+ content_end +
+% end + +% content_for 'module' => begin +
+


dev
Oups !!! + The page you were requesting + "<%= $self->req->url->path || '/' %>" + could not be found. +
dev
+ %= link_to Initial => '/' +

+ +
+ +% end 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 --- 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 +++ 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 @@ -0,0 +1,10 @@ +% layout 'default', title => 'Sme server 2 - Error P', share_dir => ''; +
+



+ The page you were requesting + "<%= $self->req->url->path || '/' %>" + could not be found. +

+ %= link_to Welcome => '/' +

+
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 --- 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 +++ 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 @@ -0,0 +1,9 @@ + 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 --- 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 +++ 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 @@ -0,0 +1,26 @@ +
+
+
+ SME Server +
+ +
+ +
+
+ admin@diore.koukoun.com +
+ +
+    ?     +
+
+ Logout  +
+
+
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 --- 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 +++ 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 @@ -0,0 +1 @@ + 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 --- 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 +++ 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 @@ -0,0 +1,11 @@ +
+ <% if (! $c->session->{PwdSet} ) { %> +
+ Warning: you have not yet changed the default system password.
+ <% } %> + <% if ( $c->session->{Unsafe} ) { %> +
+ Warning: a reconfigure and reboot is required before proceeding! Failure to do so now + may leave your system in an unknown state!
+ <% } %> +
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 --- 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 +++ 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 @@ -0,0 +1,42 @@ +% layout 'default', title => 'Sme server 2 - Support', share_dir => '../'; + +% content_for 'head' => begin + %= include 'partials/_head' +% end + +% content_for 'header' => begin + %= include 'partials/_header' +% end + +% content_for 'info' => begin + %= include 'partials/_info' +% end + +% content_for 'navigation' => begin + < %= $navigation % > + %= include 'partials/_navig' +% end + +% content_for 'footer' => begin + %= include 'partials/_footer' +% end + +% content_for 'end' => begin +
+ content_end +
+% end + +
+

< %= $title % >


+ <%= $modul %>
+Et eu humo modo paratus quadrum turpis validus. Abico appellatio augue qui refero valetudo vereor. Augue diam eu genitus ille letalis nobis typicus veniam. + +Dignissim dolus loquor lucidus probo proprius tation torqueo. Abluo luptatum quidem. Acsi aliquip eu ex iaceo natu populus quae scisco si. + +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. +
+

+ %= link_to Welcome => '/' +

+
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 --- 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 +++ 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 @@ -0,0 +1,40 @@ + + \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,51 @@ +
+ + % my $btn = l('ADD'); + + %= form_for '/printers2' => (method => 'POST') => begin +

+

+ %=l 'prt_CREATE_NEW_PRINTER' +

+

+ %=l 'prt_CREATE_NEW_DESC' +

+ +

+ + %=l 'prt_PRINTER_NAME', class => 'label' + + %= text_field 'Name', class => 'input' + +

+ +

+ + %=l 'DESCRIPTION_BRIEF', class => 'label' + + %= text_field 'Description', class => 'input' + +

+ +

+ + %=l 'LOCATION', class => 'label' + + %= 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' + + + select_field 'location2' => %$loclist, class => 'input' + +

+ +

+

+ %= submit_button "$btn", class => 'action' +

+ + %= hidden_field 'trt' => $prt_datas->{trt} + + % end + +
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 --- 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 +++ 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 @@ -0,0 +1,32 @@ +
+ + + % my $btn = l('REMOVE'); + %= form_for '/printers2' => (method => 'POST') => begin +

+

+ %=l 'prt_REMOVE_PRINTER' +

+

+ + <%=l 'prt_ABOUT_TO_REMOVE'%> <%=$prt_datas->{printer}%> + (<%=$prt_datas->{description}%>) +
+ + %=l 'prt_SPOOL_FILE_WARNING' +
+ + %=l 'prt_ARE_YOU_SURE' +

+ +

+
+ %= submit_button "$btn", class => 'action' +

+ + %= hidden_field 'trt' => $prt_datas->{trt} + %= hidden_field 'printer' => $prt_datas->{printer} + + % end + +
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 --- 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 +++ 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 @@ -0,0 +1,71 @@ +
+ + + % my $btn = l('prt_INITIAL_BTN'); + + %= form_for '/printers' => (method => 'POST') => begin + +

+
+ %= submit_button "$btn", class => 'action' +

+ +

+

+ %=l 'prt_CURRENT_LIST' +

+

+ % my $numPrinters = @$printerDrivers; + % if ($numPrinters == 0){ + %=l 'prt_NO_PRINTERS' + % } else { + + + + + + + + + + % foreach my $printer (sort @$printerDrivers) + % { + % my $address = ($printer->prop('Location') eq 'remote') + % ? $printer->prop('Address') : 'N/A'; + % my $remoteName = ($printer->prop('Location') eq 'remote') + % ? $printer->prop('RemoteName') : 'N/A'; + % $remoteName = 'raw' unless ($remoteName); + + %= t td => (class => 'sme-border') => $printer->key + %= t td => (class => 'sme-border') => $printer->prop('Description') + %= t td => (class => 'sme-border') => $printer->prop('Location') + %= t td => (class => 'sme-border') => $address + %= t td => (class => 'sme-border') => $remoteName + + + + % } + +
+ %=l 'NAME' + + %=l 'DESCRIPTION' + + %=l 'LOCATION' + + %=l 'prt_REMOTE_ADDRESS' + + %=l 'prt_REMOTE_NAME' + + %=l 'ACTION' +
<%=l 'REMOVE'%>
+ <%} %> +

+ + %= hidden_field 'trt' => $prt_datas->{trt} + + % end + +
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 --- 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 +++ 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 @@ -0,0 +1,46 @@ +
+ + % my $btn = l('ADD'); + + %= form_for '/printers2' => (method => 'POST') => begin +

+

+ %=l 'prt_CREATE_NETWORK_PRINTER' +

+ +

+ %=l 'prt_CREATE_NETWORK_DESC' +

+ +

+ + %=l 'prt_HOSTNAME_OR_IP', class => 'label' + + %= text_field 'Address', class => 'input' + +

+ +

+ + %=l 'prt_REMOTE_NAME_DESC', class => 'label' + + %= text_field 'RemoteName' => 'raw', class => 'input' + +

+ + < field id="address" type="text" validation="hostname_or_ip" > + < field id="remoteName" type="text" value="raw" validation="nonblank" > + +

+

+ %= submit_button "$btn", class => 'action' +

+ + %= hidden_field 'trt' => $prt_datas->{trt} + %= hidden_field 'Name' => $prt_datas->{name} + %= hidden_field 'Description' => $prt_datas->{description} + %= hidden_field 'Location' => $prt_datas->{location} + + % end + +
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 --- 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 +++ 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 @@ -0,0 +1,69 @@ +
+ +

+ % my $modul = $c->render_to_string(inline => $c->l('quo_QUOTA_DESC')); + %= $modul + +

+ %=l 'quo_CURRENT_USAGE_AND_SETTINGS' +

+ +
+ % my $numUsers = @$userAccounts; + % if ($numUsers == 0){ + %=l 'quo_ACCOUNT_USER_NONE' + % } else { + + % my $limit = l('quo_LIMIT_WITH_GRACE_MB'); $limit =~ s#(graceX)#
$1#; + % my $absolute = l('quo_ABS_LIMIT_MB'); $absolute =~ s#(limitX)#
$1#; + % my $current = l('quo_CURRENT_USAGE'); $current =~ s#(usageX)#
$1#; + + + + + + + + + + + + % foreach my $user (sort @$userAccounts) + % { + % my $uid = getpwnam($user->key); + % unless ($uid) { + % warn($self->localise('COULD_NOT_GET_UID'),$user->key); + % next; + % } + % my $name = $user->prop("FirstName")." ".$user->prop("LastName"); + % my $dev = Quota::getqcarg('/home/e-smith/files'); + % my ($bc, $bs, $bh, $bt, $ic, $is, $ih, $it) = Quota::query($dev, $uid); + + %= t td => (class => 'sme-border') => $user->key + %= t td => (class => 'sme-border') => $name + %= t td => (class => 'sme-border') => sprintf("%.2f", $bs / 1024 ) + %= t td => (class => 'sme-border') => sprintf("%.2f", $bh / 1024 ) + %= t td => (class => 'sme-border') => sprintf("%.2f", $bc / 1024 ) + + + % } + +
+ %=l 'ACCOUNT' + + %=l 'USER_NAME' + + %= $limit + + %= $absolute + + %= $current + + %=l 'ACTION' +
<%=l 'MODIFY'%>
+ <%} %> +

+ + %= hidden_field 'trt' => $quo_datas->{trt} + +
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 --- 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 +++ 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 @@ -0,0 +1,98 @@ +
+ + % my $btn = l('SAVE'); + + %= form_for '/quota2' => (method => 'POST') => begin +

+

+ %=l 'quo_MODIFY_USER_TITLE' +

+

+ + % my $userid = $quo_datas->{user}; + % my $user = $quo_datas->{userRec}; + + % my $uid = getpwnam($user->key); + % unless ($uid) { + % warn(l('COULD_NOT_GET_UID'),$user->key); + % next; + % } + + % my $name = $user->prop("FirstName") . " " . $user->prop("LastName"); + % my $dev = Quota::getqcarg('/home/e-smith/files'); + % my ($bc, $bs, $bh, $bt, $ic, $is, $ih, $it) = Quota::query($dev, $uid); + +

+ %=l 'quo_USER' + %= "$name (\"$userid\")" + %=l 'quo_CURRENTLY_HAS' + %= $ic + %=l 'quo_FILES' + %=l 'quo_OCCUPYING' + %= $bc + %=l 'quo_MEGABYTES' +

+ +

+ %=l 'quo_INSTRUCTIONS' +

+ +

+ + %=l 'quo_USER', class => 'label' + + %= $name, class => 'input' + +

+ +

+ + %=l 'quo_LIMIT_WITH_GRACE', class => 'label' + + %= text_field 'Soft', class => 'input' + +

+ +

+ + %=l 'quo_ABS_LIMIT', class => 'label' + + %= text_field 'Hard', class => 'input' + +

+ +

+

+ %= submit_button "$btn", class => 'action' +

+ + %= hidden_field 'trt' => $quo_datas->{trt} + + % end + +
+ + \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,55 @@ +
+ + <% my $btn = l('SAVE'); %> + %= form_for 'wbl2' => (method => 'POST') => begin + + %= hidden_field 'trt' => $wbl_datas->{trt} + + %=l 'wbl_BLACK_TITLE' + +

+ %=l 'wbl_BADHELO_DESCRIPTION' +

+ + %=l 'wbl_BADHELO_LABEL' + + %= text_area 'badhelo' => (cols => 40) => begin + % for (@{ stash('badhelo') }) { + %= $_ + %} + %end + +

+
+

+ %=l 'wbl_BADMAILFROM_DESCRIPTION' +

+ + %=l 'wbl_BADMAILFROM_LABEL' + + %= text_area 'badmailfrom' => (cols => 40) => begin + % for (@{ stash('badmailfrom') }) { + %= $_ + % } + %end + +

+
+

+ %=l 'wbl_BLACKLISTFROM_DESCRIPTION' +

+ + %=l 'wbl_BLACKLISTFROM_LABEL' + + %= text_area 'blacklistfrom' => (cols => 40) => begin + % for (@{ stash('blacklistfrom') }) { + %= $_ + % } + %end + +

+
+ %= submit_button "$btn", class => 'action' + %end + +
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 --- 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 +++ 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 @@ -0,0 +1,29 @@ +
+ + <% my $btn = l('NEXT'); %> + %= form_for 'wbl' => (method => 'POST') => begin +

+ + %=l 'wbl_RBL_LIST_DESCRIPTION' + +
+ + + %=l 'wbl_BLACK_LIST_DESCRIPTION' + + % param 'list' => $wbl_datas->{list} unless param 'list'; + %= select_field 'list' => [ @{ stash('list') }], class => 'input' + +
+ + + %=l 'wbl_WHITE_LIST_DESCRIPTION' + +

+ +

+
+ %= submit_button "$btn", class => 'action' +

+ %end +
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 --- 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 +++ 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 @@ -0,0 +1,61 @@ +
+ + <% my $btn = l('SAVE'); %> + %= form_for 'wbl2' => (method => 'POST') => begin + + %= hidden_field 'trt' => $wbl_datas->{trt} + +

+ %=l 'wbl_DNSBL_DESCRIPTION' +
+ + %=l 'wbl_DNSBL_LABEL' + + % param 'dnsbl' => $wbl_datas->{dnsbl} unless param 'dnsbl'; + %= select_field 'dnsbl' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input' + +

+ +

+ %=l 'wbl_RBLLIST_DESCRIPTION' +

+ + %=l 'wbl_RBLLIST_LABEL' + + %= text_area 'rbllist' => (cols => 40) => begin + % for (@{ stash('rbllist') }) { + %= $_ + %} + %end + +

+
+

+ %=l 'wbl_RHSBL_DESCRIPTION' +
+ + %=l 'wbl_RHSBL_LABEL' + + % param 'rhsbl' => $wbl_datas->{rhsbl} unless param 'rhsbl'; + %= select_field 'rhsbl' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input' + +

+ +

+ %=l 'wbl_SBLLIST_DESCRIPTION' +

+ + %=l 'wbl_SBLLIST_LABEL' + + %= text_area 'sbllist' => (cols => 40) => begin + % for (@{ stash('sbllist') }) { + %= $_ + % } + %end + +

+
+ %= submit_button "$btn", class => 'action' + %end + +
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 --- 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 +++ 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 @@ -0,0 +1,69 @@ +
+ + <% my $btn = l('SAVE'); %> + %= form_for 'wbl2' => (method => 'POST') => begin + + %= hidden_field 'trt' => $wbl_datas->{trt} + + %=l 'wbl_WHITE_TITLE' + +

+ %=l 'wbl_WHITELISTHOSTS_DESCRIPTION' +

+ + %=l 'wbl_WHITELISTHOSTS_LABEL' + + %= text_area 'whitelisthosts' => (cols => 40) => begin + % for (@{ stash('whitelisthosts') }) { + %= $_ + %} + %end + +

+
+

+ %=l 'wbl_WHITELISTHELO_DESCRIPTION' +

+ + %=l 'wbl_WHITELISTHELO_LABEL' + + %= text_area 'whitelisthelo' => (cols => 40) => begin + % for (@{ stash('whitelisthelo') }) { + %= $_ + % } + %end + +

+
+

+ %=l 'wbl_WHITELISTSENDERS_DESCRIPTION' +

+ + %=l 'wbl_WHITELISTSENDERS_LABEL' + + %= text_area 'whitelistsenders' => (cols => 40) => begin + % for (@{ stash('whitelistsenders') }) { + %= $_ + % } + %end + +

+
+

+ %=l 'wbl_WHITELISTFROM_DESCRIPTION' +

+ + %=l 'wbl_WHITELISTFROM_LABEL' + + %= text_area 'whitelistfrom' => (cols => 40) => begin + % for (@{ stash('whitelistfrom') }) { + %= $_ + % } + %end + +

+
+ %= submit_button "$btn", class => 'action' + %end + +
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 --- 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 +++ 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 @@ -0,0 +1,29 @@ +% layout 'default', title => "Sme server 2 - printers", share_dir => './'; + +% content_for 'module' => begin +
+ + % if ($config->{debug} == 1) { +

+ (DBG)route: <%= $c->current_route %>
+ (DBG)trt: <%= $prt_datas->{trt} %>
+

+ % } + +

<%= $title%>

+ + %= $modul + + % if ($prt_datas->{trt} eq 'ADD') { + %= include 'partials/_prt_add' + %} elsif ($prt_datas->{trt} eq 'DEL') { + %= include 'partials/_prt_del' + %} elsif ($prt_datas->{trt} eq 'NET') { + %= include 'partials/_prt_net' + %} else { + %= include 'partials/_prt_list' + %} + +
+%end + 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 --- 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 +++ 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 @@ -0,0 +1,43 @@ +% layout 'default', title => "Sme server 2 - proxy", share_dir => './'; + +% content_for 'module' => begin +
+ %if ($config->{debug} == 1) { +

(DBG)route: <%= $c->current_route %>
+ (DBG)ht stat: <%= $prx_datas->{http_proxy_status}%>
+ (DBG)sm stat: <%=$prx_datas->{smtp_proxy_status} %> +

+ %} +

<%= $title %>

+
+ <%= $modul %> + <% my $btn = l('SAVE'); %> + + %= form_for 'proxy' => (method => 'POST') => begin +

+ %=l 'prx_HTTP_PROXY_STATUS_DESCRIPTION' +

+ + %=l 'prx_HTTP_PROXY_STATUS_LABEL' + + % param 'http_proxy_status' => $prx_datas->{http_proxy_status} unless param 'http_proxy_status'; + %= select_field 'http_proxy_status' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input', id => 'htproxstat' + +

+ %if ( $prx_datas->{smtp_proxy_status} ) { +

+ %=l 'prx_SMTP_PROXY_STATUS_DESCRIPTION' +

+ + %=l 'prx_SMTP_PROXY_STATUS_LABEL' + + % param 'smtp_proxy_status' => $prx_datas->{smtp_proxy_status} unless param 'smtp_proxy_status'; + %= 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} +

+
+

+ %} + %= submit_button "$btn", class => 'action' + % end +
+%end \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,27 @@ +% layout 'default', title => "Sme server 2 - qmailanalog", share_dir => './'; + +% content_for 'module' => begin +
+ %if ($config->{debug} == 1) { +

+ (DBG)route: <%= $c->current_route %>
+

+ %} +

<%= $title %>

+
+ <%= $modul %> + <% my $btn = l('GENERATE_REPORT'); %> + + %= form_for 'qmailanalog' => (method => 'POST') => begin +

+ + %=l 'qma_REPORT_TYPE' + + + %= 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' ]] + +

+ %= submit_button "$btn", class => 'action' + % end +
+%end \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,25 @@ +% layout 'default', title => "Sme server 2 - quota", share_dir => './'; + +% content_for 'module' => begin +
+ + % if ($config->{debug} == 1) { +

+ (DBG)route: <%= $c->current_route %>
+ (DBG)trt: <%= $quo_datas->{trt} %>
+

+ % } + +

<%= $title%>

+ + %= $modul + + % if ($quo_datas->{trt} eq 'UPD') { + %= include 'partials/_quo_upd' + %} else { + %= include 'partials/_quo_list' + %} + +
+%end + 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 --- 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 +++ 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 @@ -0,0 +1,165 @@ +% layout 'default', title => 'Sme server 2 - Review', share_dir => ''; + +% content_for 'module' => begin +
+

<%= $title %>

+ <%= $modul %>

+ + %= form_for 'review' => begin + + %=l 'rvw_NETWORKING_PARAMS' +

+ + + %=l 'rvw_SERVER_MODE' + + %= $rvw_datas->{servermode} +
+ + + %=l 'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK' + + %= $rvw_datas->{localip} +
+ + % if ( $rvw_datas->{publicip} ) { + + %=l 'rvw_INTERNET_VISIBLE_ADDRESS' + + %= $rvw_datas->{publicip} +
+ % } + + + %=l 'rvw_GATEWAY' + + %= $rvw_datas->{gateway} + %= $rvw_datas->{serveronly} +
+ + + %=l 'rvw_ADDITIONAL_LOCAL_NETWORKS' + + %= $rvw_datas->{addlocalnetworks} +
+ + + %=l 'rvw_DHCP_SERVER' + + %= $rvw_datas->{dhcpserver} +
+

+ + %=l 'rvw_SERVER_NAMES' +

+ + + %=l 'rvw_DNS_SERVER' + + %= $rvw_datas->{dnsserver} +
+ + + %=l 'rvw_WEB_SERVER' + + %= $rvw_datas->{webserver} +
+ + + %=l 'rvw_PROXY_SERVER' + + %= $rvw_datas->{proxyserver} +
+ + + %=l 'rvw_FTP_SERVER' + + %= $rvw_datas->{ftpserver} +
+ + + %=l 'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' + + %= $rvw_datas->{smtpserver} +
+ +

+ + %=l 'rvw_DOMAIN_INFORMATION' +

+ + + %=l 'rvw_PRIMARY_DOMAIN' + + %= $rvw_datas->{domainname} +
+ + + %=l 'rvw_VIRTUAL_DOMAINS' + + %= $rvw_datas->{virtualdomains} +
+ + + %=l 'rvw_PRIMARY_WEB_SITE' + + %= $rvw_datas->{primarywebsite} +
+ + + %=l 'rvw_SERVER_MANAGER' + + %= $rvw_datas->{servermanager} +
+ + + %=l 'rvw_USER_PASSWORD_PANEL' + + %= $rvw_datas->{usermanager} +
+ + + %=l 'rvw_EMAIL_ADDRESSES' + + %= $rvw_datas->{emailaddresses} +
+ + % end + +
+ +% end + + \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,41 @@ +% layout 'default', title => 'Sme server 2 - Starter website', share_dir => './'; + +% content_for 'module' => begin +
+

Starter website


+
+

<%= $title %>

+
<%= $modul %>
+
+ <% my $btn = l('CREATE'); + %> + %= form_for 'starterwebsite' => (method => 'POST') => begin + + %= label_for l_company => begin + %= l('sws_LABEL_COMPANYNAME') + % end + + %= text_field 'l_company', class => 'input' +

+ %=l 'sws_DESC_HEADER1' +
+ %= text_field 'l_header1', class => 'input' +
+ %=l 'sws_DESC_TEXT1' +
+ %= text_area 'l_desc1', cols => 40, class => 'input' +

+ %=l 'sws_DESC_HEADER2' + %= text_field 'l_header2', class => 'input' +
+ %=l 'sws_DESC_TEXT2' +
+ %= text_area 'l_desc2', cols => 40, class => 'input' +
+ %=l 'sws_DESC_SUBMIT' +

+ %= submit_button "$btn", class => 'action' + % end + +
+%end \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,10 @@ +% layout 'default', title => 'Sme server 2 - Support', share_dir => './'; + +% content_for 'module' => begin +
+

< %= $title % >

+
+ <%= $modul %> +
+
+%end \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,30 @@ +% layout 'default', title => "Sme server 2 - workgroup", share_dir => './'; + +% content_for 'module' => begin +
+ + %if ($config->{debug} == 1) { +

+ (DBG)route: <%= $c->current_route %>
+ (DBG)trt: <%= $wbl_datas->{trt}%>
+

+ %} + +

<%= $title %>

+
+ <%= $modul %> + + % if ($wbl_datas->{trt} eq 'RBL') { + %= include 'partials/_wbl_rbl' + %} elsif ($wbl_datas->{trt} eq 'BLACK') { + %= include 'partials/_wbl_black' + %} elsif ($wbl_datas->{trt} eq 'WHITE') { + %= include 'partials/_wbl_white' + %} else { + %= include 'partials/_wbl_choice' + + %} + +
+%end + 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 --- 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 +++ 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 @@ -0,0 +1,57 @@ +% layout 'default', title => 'Sme server 2 - IndexT', share_dir => ''; + +% content_for 'head' => begin + %= include 'partials/_head' +% end + +% content_for 'header' => begin + %= include 'partials/_header' +% end + +% content_for 'info' => begin + %= include 'partials/_info' +% end + +% content_for 'navigation' => begin + %= include 'partials/_navig' +% end + +% content_for 'footer' => begin + %= include 'partials/_footer' +% end + +% content_for 'end' => begin +
+ content_end +
+% end + +% content_for 'module' => begin +
+

Index on line - Welcome page
+

+

+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. + +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. + +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. + +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. + +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. +

+

+ %= link_to Initial => '/' +

+

+ %= link_to Manual => '/manual' +

+

+ %= link_to Welcome => '/welcome' + . +

+
+ +% end \ Pas de fin de ligne à la fin du fichier 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 --- 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 +++ 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 @@ -0,0 +1,44 @@ +% layout 'default', title => 'Sme server 2 - Whatever D', share_dir => './'; + +% content_for 'head' => begin + %= include 'partials/_head' +% end + +% content_for 'header' => begin + %= include 'partials/_header' +% end +< !-- +% content_for 'info' => begin + +% end +-- > +% content_for 'navigation' => begin + %= include 'partials/_navig' +% end + +< !-- +% content_for 'footer' => begin + +% end +-- > + +% content_for 'end' => begin +
+ content_end +
+% end + +% content_for 'module' => begin +
+


dev
What else !!! + The page you were requesting + "<%= $self->req->url->path || '/' %>" + could not be found. +
dev
+

+

+ %= link_to Welcome => '/' +

+
+ +% end 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 --- 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 +++ 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 @@ -0,0 +1,66 @@ +% layout 'default', title => "Sme server 2 - workgroup", share_dir => './'; + +% content_for 'module' => begin +
+ + %if ($config->{debug} == 1) { +

+ (DBG)route: <%= $c->current_route %>
+ (DBG)pdc: <%= $wkg_datas->{ServerRole}%>
+ (DBG)roam: <%= $wkg_datas->{RoamingProfiles}%>
+

+ %} + +

<%= $title %>

+
+ <%= $modul %> + <% my $btn = l('SAVE'); + %> + + %= form_for 'workgroup' => (method => 'POST') => begin +

+ %=l 'wkg_DESC_WORKGROUP', class => 'desc' +

+ + %=l 'wkg_LABEL_WORKGROUP', class => 'label' + + %= text_field 'Workgroup' => $wkg_datas->{Workgroup}, class => 'input' + +

+

+ %=l 'wkg_DESC_SERVERNAME', class => 'desc' +

+ + %=l 'wkg_LABEL_SERVERNAME', class => 'label' + + %= text_field 'ServerName' => $wkg_datas->{ServerName}, class => 'input' + +

+

+ %=l 'wkg_DESC_PDC', class => 'desc' +
+ + %=l 'wkg_LABEL_PDC', class => 'label' + + % param 'ServerRole' => $wkg_datas->{ServerRole} unless param 'ServerRole'; + %= select_field 'ServerRole' => [[ (l 'YES') => 'PDC'], [ (l 'NO') => 'WS']], class => 'input' + +

+

+ %=l 'wkg_DESC_ROAM', class => 'desc' +
+ + %=l 'wkg_LABEL_ROAM', class => 'label' + + % param 'RoamingProfiles' => $wkg_datas->{RoamingProfiles} unless param 'RoamingProfiles'; + %= select_field 'RoamingProfiles' => [[ (l 'YES') => 'yes'], [ (l 'NO') => 'no']], class => 'input' + +

+

+
+ %= submit_button "$btn", class => 'action' +

+ % end + +
+%end 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 --- 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 +++ 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 @@ -0,0 +1,9 @@ + + + + +Mojo under construction + +

This web app is under construction

(theme perso)

+ + 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 --- 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 +++ 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 @@ -0,0 +1,35 @@ + + + + +<%= $title %> + + + + + + + %= include 'partials/_head' + + + + + + %= include 'partials/_info' + +
+ +
+ %= content 'module' + %= include 'partials/_footer' +
+
+ + + 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 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/html/index.cgi 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/html/index.cgi 2019-11-14 20:04:00.000000000 +0400 @@ -0,0 +1,6 @@ +#! /usr/bin/perl +#-wT + +exec("perl ./srvmngr.pl") if chdir "../cgi-bin/srvmngr"; + +#exec("perl -T ./srvmngr.pl");