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 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf 2020-01-22 15:39:08.824000000 +0400 @@ -2,10 +2,6 @@ secrets => ['new sessionsLeYTmFPhw3q', 'for validation QrPTZhWJmqCjyGZmguK'], # theme => 'default', theme => 'AdminLTE', -# 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 => 1, modules_dir => "lib/SrvMngr/Controller", debug => 0, diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Groups.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Groups.pm --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Groups.pm 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Groups.pm 2020-01-22 00:16:29.000000000 +0400 @@ -9,7 +9,8 @@ use Data::Dumper; -use esmith::FormMagick::Panel::groups; +#use esmith::FormMagick::Panel::groups; +use esmith::AccountsDB; our $cdb = esmith::ConfigDB->open || die "Couldn't open configuration db"; our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; @@ -147,16 +148,16 @@ my $res = validate_group( $c, $groupName ); $result .= $res unless $res eq 'OK'; - my $res = validate_group_length( $c, $groupName ); + $res = validate_group_length( $c, $groupName ); $result .= $res unless $res eq 'OK'; - my $res = validate_group_naming_conflict( $c, $groupName ); + $res = validate_group_naming_conflict( $c, $groupName ); $result .= $res unless $res eq 'OK'; - my $res = validate_description( $c, $groupDesc ); + $res = validate_description( $c, $groupDesc ); $result .= $res unless $res eq 'OK'; - my $res = validate_group_has_members( $c, @members ); + $res = validate_group_has_members( $c, @members ); $result .= $res unless $res eq 'OK'; my %props = ( @@ -194,15 +195,15 @@ # controls my $res = ''; - my $res = validate_description( $c, $groupDesc ); + $res = validate_description( $c, $groupDesc ); $result .= $res unless $res eq 'OK'; - my $res = validate_group_has_members( $c, @members ); + $res = validate_group_has_members( $c, @members ); $result .= $res unless $res eq 'OK'; if ( ! $result ) { - $c->app->log->info("groupName: " . $c->dumper($groupName) . " , " . $c->dumper($members). " << " . $c->dumper(@members)); + # $c->app->log->info("groupName: " . $c->dumper($groupName) . " , " . $c->dumper($members). " << " . $c->dumper(@members)); $adb->get($groupName)->set_prop( 'Members', $members ); $adb->get($groupName)->set_prop( 'Description', $groupDesc ); @@ -323,7 +324,7 @@ $names{$user->key} = $user->prop('FirstName') . " " . $user->prop('LastName'); } - my @users = %names; + @users = %names; return \@users; } @@ -368,6 +369,7 @@ ok (undef, 'need testing for validate_naming_Conflicts'); =cut + sub validate_group_naming_conflict { my $c = shift; 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 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Initial.pm 2020-01-22 00:02:53.000000000 +0400 @@ -23,6 +23,8 @@ $c->session->{releaseVersion} = $datas{'releaseVersion'}; $c->session->{PwdSet} = $datas{'PwdSet'}; $c->session->{Unsafe} = $datas{'Unsafe'}; + $c->session->{SystemName} = $datas{'SystemName'}; + $c->session->{DomainName} = $datas{'DomainName'}; $c->languages($datas{'lang'}); } @@ -30,10 +32,7 @@ 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->stash( title => $title, modul => $modul ); $c->render(template => 'initial'); 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 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Printers.pm 2020-01-13 10:05:58.000000000 +0400 @@ -53,22 +53,8 @@ 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); + # 'locations list' (call printerLocation_list() within template) + } if ( $trt eq 'DEL' ) { @@ -351,4 +337,23 @@ } +=head2 publicAccess_list + +Returns the hash of public access settings for showing in the public +access drop down list. + +=cut + +sub printerLocation_list { + + my $c = shift; + return [[ $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']]; +} + + 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/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 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Qmailanalog.pm 2020-01-19 16:51:40.000000000 +0400 @@ -117,4 +117,23 @@ } +sub reportType_list { + + my $c = shift; + return [[ $c->l('qma_LIST_OUTGOING') => 'qmail-qread' ], + [ $c->l('qma_SUMMARIZE_QUEUE') => 'qmail-qstat' ], + [ $c->l('qma_SUCCESSFUL_DELIVERY_DELAY') => 'zddist' ], + [ $c->l('qma_REASONS_DEFERRAL') => 'zdeferrals' ], + [ $c->l('qma_REASONS_FAILURE') => 'zfailures' ], + [ $c->l('qma_BASIC_STATS') => 'zoverall' ], + [ $c->l('qma_RECIP_STATS') => 'zrecipients' ], + [ $c->l('qma_RECIP_HOSTS') => 'zrhosts' ], + [ $c->l('qma_RECIP_ORDERED') => 'zrxdelay' ], + [ $c->l('qma_SENDER_STATS') => 'zsenders' ], + [ $c->l('qma_SENDMAIL_STYLE') => 'zsendmail' ], + [ $c->l('qma_REASONS_SUCCESS') => 'zsuccesses' ], + [ $c->l('qma_SENDER_UIDS') => 'zsuids' ]] +} + + 1; diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Reboot.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Reboot.pm --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Reboot.pm 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Reboot.pm 2020-01-19 17:03:42.000000000 +0400 @@ -64,10 +64,19 @@ } } - $c->stash( title => $title, modul => $result ); - $c->render(template => 'module'); + #$c->stash( title => $title, modul => $result ); + #$c->render(template => 'module'); }; +sub rebootFunction_list { + + my $c = shift; + return [[ $c->l('SHUTDOWN') => 'shutdown' ], + [ $c->l('rbo_REBOOT') => 'reboot' ], + [ $c->l('RECONFIGURE') => 'reconfigure' ]]; +} + + 1; 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 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Request.pm 2020-01-21 00:09:27.000000000 +0400 @@ -16,14 +16,18 @@ my $c = shift; # $c -> res -> headers -> header('Access-Control-Allow-Origin' => '*'); - my $db = esmith::ConfigDB -> open_ro; + my $dbc = esmith::ConfigDB -> open_ro; my $key = $c -> param('key'); - my $r = $db -> get($key); - $c -> render(json => { - $key => { - $r -> props - } - }); + if ($key) { + my $r = $dbc -> get($key); + $c -> render(json => { + $key => { + $r -> props + } + }) + } else { + $c -> render( text => 'error'); + } }; @@ -33,15 +37,19 @@ my $c = shift; # $c -> res -> headers -> header('Access-Control-Allow-Origin' => '*'); - my $a = esmith::AccountsDB -> open_ro; + my $dba = esmith::AccountsDB -> open_ro; my $key = $c -> param('key'); - my $r = $a -> get($key); - $c -> render(json => { - name => $key, props => { - $r -> props - } - }); -}; + if ($key) { + my $r = $dba -> get($key); + $c -> render(json => { + $key => { + $r -> props + } + }) + } else { + $c -> render( text => 'error'); + } +} 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 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Model/Main.pm 2020-01-21 20:56:44.000000000 +0400 @@ -15,6 +15,8 @@ 'modul' => 'Modul 89 +/- 11', 'PwdSet' => '0', 'Unsafe' => '0', + 'SystemName' => '', + 'DomainName' => '', ); @@ -32,5 +34,7 @@ $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'); + $datas{'SystemName'} = $DB->get("SystemName")->value || '??'; + $datas{'DomainName'} = $DB->get("DomainName")->value || '??'; 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 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Navigation.pm 2020-01-22 00:33:11.000000000 +0400 @@ -11,14 +11,6 @@ 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 @@ -61,6 +53,11 @@ my $q = shift; #my $c = shift; my $config = shift; + my $mode = shift; + + my $navig_script = "themes/".$config->{theme}."/public/js/navigation.js"; + my $navig_div = "themes/".$config->{theme}."/templates/partials/_navig.html.ep"; + my $navigation = ""; # Use this variable throughout to keep track of files @@ -216,6 +213,8 @@ }; } + if ( $mode eq 9 ) { return \%nav; } + #-------------------------------------------------- # generate list of headings sorted by average weight #-------------------------------------------------- @@ -223,8 +222,8 @@ # # generate script .js # - open(SCR, "> $config->{navigation_script_file}") - or die "access file error: \'$config->{navigation_script_file}\'\n$!"; + open(SCR, "> $navig_script") + or die "access file error: \'$navig_script\'\n$!"; printf SCR ' // @@ -263,8 +262,8 @@ # generate navigation div part # - open(DIV, "> $config->{navigation_div_file}") - or die "access file error: \'$config->{navigation_div_file}\'\n$!"; + open(DIV, "> $navig_div") + or die "access file error: \'$navig_div\'\n$!"; # enable utf8 binmode so new translations work binmode DIV, ":utf8"; @@ -282,9 +281,9 @@ else { #### esmith::cgi::genNavigationHeader ($q, undef); - printf DIV "\n
\n"; -## printf DIV "\n "; -## printf DIV "\n "; + printf DIV "\n 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 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_header.html.ep 2020-01-21 23:25:56.000000000 +0400 @@ -9,13 +9,9 @@
- admin@diore.koukoun.com + + <%= session 'SystemName' %>@<%= session 'DomainName' %>
- 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 2020-01-22 15:34:30.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 2020-01-13 10:03:55.000000000 +0400 @@ -31,11 +31,7 @@ %=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 'Location' => $c->printerLocation_list(), class => 'input'

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 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/qmailanalog.html.ep 2020-01-19 16:50:20.000000000 +0400 @@ -17,8 +17,8 @@ %=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' ]] + + %= select_field 'report_type' => $c->reportType_list()

%= submit_button "$btn", class => 'action' diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/reboot.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/reboot.html.ep --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/reboot.html.ep 2020-01-22 15:34:30.000000000 +0400 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/reboot.html.ep 2020-01-19 17:04:10.000000000 +0400 @@ -26,7 +26,7 @@ %=l 'rbo_LABEL_REBOOT' - %= select_field 'function' => [[ (l 'SHUTDOWN') => 'shutdown' ],[ (l 'rbo_REBOOT') => 'reboot' ],[ (l 'RECONFIGURE') => 'reconfigure' ]] + %= select_field 'function' => $c->rebootFunction_list()