* Mon Jun 09 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-87.sme

- add datetime getYear_list [SME: 13031]
- WIP use esmith::*DB::UTF8 to access db flat files [SME: 13027]
This commit is contained in:
Jean-Philippe Pialasse 2025-06-09 12:49:29 -04:00
parent d993bd9d19
commit fd076895ba
12 changed files with 93 additions and 94 deletions

View File

@ -20,8 +20,8 @@ use Locale::gettext;
use SrvMngr::I18N; use SrvMngr::I18N;
use SrvMngr qw(theme_list init_session ip_number_or_blank); use SrvMngr qw(theme_list init_session ip_number_or_blank);
use Quota; use Quota;
use esmith::ConfigDB; use esmith::ConfigDB::UTF8;
use esmith::AccountsDB; use esmith::AccountsDB::UTF8;
use esmith::util; use esmith::util;
use File::Basename; use File::Basename;
use File::Find; use File::Find;
@ -36,9 +36,6 @@ use constant DEBUG => $ENV{MOJO_SMANAGER_DEBUG} || 0;
use constant FALSE => 0; use constant FALSE => 0;
use constant TRUE => 1; use constant TRUE => 1;
#our $cdb = esmith::ConfigDB->open || die "Couldn't open config db"; #remove as cached gives problems
#our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
#our $rdb = esmith::ConfigDB->open('/etc/e-smith/restore') || die "Couldn't open restore db";
my ($cdb,$adb,$rdb); my ($cdb,$adb,$rdb);
my $es_backup = new esmith::Backup or die "Couldn't create Backup object\n"; my $es_backup = new esmith::Backup or die "Couldn't create Backup object\n";
my @directories = $es_backup->restore_list; my @directories = $es_backup->restore_list;
@ -56,9 +53,9 @@ sub main {
my $c = shift; my $c = shift;
$c->app->log->info($c->log_req); $c->app->log->info($c->log_req);
my %bac_datas = (); my %bac_datas = ();
$cdb = esmith::ConfigDB->open || die "Couldn't open config db"; $cdb = esmith::ConfigDB::UTF8->open || die "Couldn't open config db";
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$rdb = esmith::ConfigDB->open('/etc/e-smith/restore'); $rdb = esmith::ConfigDB::UTF8->open('/etc/e-smith/restore');
my $title = $c->l('bac_BACKUP_TITLE'); my $title = $c->l('bac_BACKUP_TITLE');
my $notif; my $notif;
$bac_datas{'function'} = 'desktop_backup'; $bac_datas{'function'} = 'desktop_backup';
@ -115,9 +112,9 @@ sub do_display {
my $rt = $c->current_route; my $rt = $c->current_route;
my ($res, $result) = ''; my ($res, $result) = '';
my $function = $c->param('Function'); my $function = $c->param('Function');
$cdb = esmith::ConfigDB->open || die "Couldn't open config db"; $cdb = esmith::ConfigDB::UTF8->open || die "Couldn't open config db";
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$rdb = esmith::ConfigDB->open('/etc/e-smith/restore'); $rdb = esmith::ConfigDB::UTF8->open('/etc/e-smith/restore');
if ($function =~ /^(\S+)$/) { if ($function =~ /^(\S+)$/) {
$function = $1; $function = $1;
@ -142,7 +139,7 @@ sub do_display {
$c->render(template=>"backdown"); $c->render(template=>"backdown");
#sleep(30); #sleep(30);
# Redirect to the front page # Redirect to the front page
#$c->redirect_to('/backup'); #$c->redirect_to('/backup');
return "" return ""
} ## end if ($function eq 'desktop_backup') } ## end if ($function eq 'desktop_backup')
@ -279,9 +276,9 @@ sub do_update {
my $c = shift; my $c = shift;
$c->app->log->info($c->log_req); $c->app->log->info($c->log_req);
my $rt = $c->current_route; my $rt = $c->current_route;
$cdb = esmith::ConfigDB->open || die "Couldn't open config db"; $cdb = esmith::ConfigDB::UTF8->open || die "Couldn't open config db";
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$rdb = esmith::ConfigDB->open('/etc/e-smith/restore'); $rdb = esmith::ConfigDB::UTF8->open('/etc/e-smith/restore');
my $function = $c->param('Function'); my $function = $c->param('Function');
DEBUG && warn("do_update $function"); DEBUG && warn("do_update $function");
my %bac_datas = (); my %bac_datas = ();

View File

@ -15,7 +15,8 @@ use SrvMngr qw(theme_list init_session);
use Text::Template; use Text::Template;
use File::Basename; use File::Basename;
use SrvMngr qw( gen_locale_date_string ); use SrvMngr qw( gen_locale_date_string );
our $cdb = esmith::ConfigDB->open or die "Couldn't open ConfigDB\n"; use esmith::ConfigDB::UTF8;
our $cdb = esmith::ConfigDB::UTF8->open or die "Couldn't open ConfigDB\n";
use constant FALSE => 0; use constant FALSE => 0;
use constant TRUE => 1; use constant TRUE => 1;

View File

@ -353,4 +353,19 @@ sub getMonth_list {
[ $c->l('dat_DECEMBER') => '12' ] [ $c->l('dat_DECEMBER') => '12' ]
]; ];
} ## end sub getMonth_list } ## end sub getMonth_list
sub getYear_list {
my $c= shift;
my @yearArray;
#TODO set thoses year depending on build date in spec file
for ( my $i = 2020; $i < 2060; $i++ ) {
push @yearArray,$i;
}
my @yearList = sort @yearArray;
return \@yearList;
} ## end sub getYear_list
1; 1;

View File

@ -14,12 +14,10 @@ use Mojo::Base 'Mojolicious::Controller';
use Locale::gettext; use Locale::gettext;
use SrvMngr::I18N; use SrvMngr::I18N;
use SrvMngr qw( theme_list init_session validate_password ); use SrvMngr qw( theme_list init_session validate_password );
use esmith::AccountsDB; use esmith::AccountsDB::UTF8;
use esmith::ConfigDB; use esmith::ConfigDB::UTF8;
use esmith::DomainsDB; use esmith::DomainsDB::UTF8;
#our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
#our $cdb = esmith::ConfigDB->open() || die "Couldn't open config db";
my ($adb,$cdb); my ($adb,$cdb);
sub main { sub main {
@ -27,9 +25,9 @@ sub main {
$c->app->log->info($c->log_req); $c->app->log->info($c->log_req);
my %iba_datas = (); my %iba_datas = ();
my $title = $c->l('iba_FORM_TITLE'); my $title = $c->l('iba_FORM_TITLE');
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$cdb = esmith::ConfigDB->open() || die "Couldn't open config db"; $cdb = esmith::ConfigDB::UTF8->open() || die "Couldn't open config db";
$iba_datas{'trt'} = 'LIST'; $iba_datas{'trt'} = 'LIST';
my @ibays; my @ibays;
if ($adb) { if ($adb) {
@ -44,8 +42,8 @@ sub do_display {
my $rt = $c->current_route; my $rt = $c->current_route;
my $trt = ($c->param('trt') || 'LIST'); my $trt = ($c->param('trt') || 'LIST');
my $ibay = $c->param('ibay') || ''; my $ibay = $c->param('ibay') || '';
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$cdb = esmith::ConfigDB->open() || die "Couldn't open config db"; $cdb = esmith::ConfigDB::UTF8->open() || die "Couldn't open config db";
#$trt = 'DEL' if ( $ibay ); #$trt = 'DEL' if ( $ibay );
#$trt = 'ADD' if ( $rt eq 'ibayadd' ); #$trt = 'ADD' if ( $rt eq 'ibayadd' );
@ -99,7 +97,7 @@ sub do_display {
if ($trt eq 'LIST') { if ($trt eq 'LIST') {
my @ibays; my @ibays;
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
if ($adb) { if ($adb) {
@ibays = $adb->ibays(); @ibays = $adb->ibays();
@ -120,8 +118,8 @@ sub do_update {
$iba_datas{'trt'} = $trt; $iba_datas{'trt'} = $trt;
my $result = ''; my $result = '';
my $res; my $res;
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$cdb = esmith::ConfigDB->open() || die "Couldn't open config db"; $cdb = esmith::ConfigDB::UTF8->open() || die "Couldn't open config db";
if ($trt eq 'ADD') { if ($trt eq 'ADD') {
my $name = ($c->param('ibay') || ''); my $name = ($c->param('ibay') || '');
@ -306,7 +304,7 @@ sub print_vhost_message {
my $c = shift; my $c = shift;
my $name = $c->param('ibay'); my $name = $c->param('ibay');
my $result = ''; my $result = '';
my $domaindb = esmith::DomainsDB->open(); my $domaindb = esmith::DomainsDB::UTF8->open();
my @domains = $domaindb->get_all_by_prop(Content => $name); my @domains = $domaindb->get_all_by_prop(Content => $name);
my $vhostListItems = join "\n", (map ($_->key . " " . $_->prop('Description'), @domains)); my $vhostListItems = join "\n", (map ($_->key . " " . $_->prop('Description'), @domains));
@ -328,7 +326,7 @@ sub remove_ibay {
if (my $acct = $adb->get($name)) { if (my $acct = $adb->get($name)) {
if ($acct->prop('type') eq 'ibay') { if ($acct->prop('type') eq 'ibay') {
$acct->set_prop('type', 'ibay-deleted'); $acct->set_prop('type', 'ibay-deleted');
my $domains_db = esmith::DomainsDB->open(); my $domains_db = esmith::DomainsDB::UTF8->open();
my @domains = $domains_db->get_all_by_prop(Content => $name); my @domains = $domains_db->get_all_by_prop(Content => $name);
foreach my $d (@domains) { foreach my $d (@domains) {

View File

@ -17,10 +17,9 @@ use SrvMngr qw(theme_list init_session);
#use Regexp::Common qw /net/; #use Regexp::Common qw /net/;
#use Data::Dumper; #use Data::Dumper;
use esmith::util; use esmith::util;
use esmith::HostsDB; #use esmith::HostsDB;
#our $db = esmith::ConfigDB->open || die "Can't open configuration database: $!\n"; use esmith::ConfigDB::UTF8;
#our $tcp_db = esmith::ConfigDB->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n";
#our $udp_db = esmith::ConfigDB->open('portforward_udp') || die "Can't open portforward_udp database: $!\n";
my ($cdb,$tcp_db,$udp_db); my ($cdb,$tcp_db,$udp_db);
my %ret = (); my %ret = ();
@ -34,9 +33,9 @@ sub main {
$pf_datas{return} = ""; $pf_datas{return} = "";
my $title = $c->l('pf_FORM_TITLE'); my $title = $c->l('pf_FORM_TITLE');
my $modul = ''; my $modul = '';
$cdb = esmith::ConfigDB->open || die "Can't open configuration database: $!\n"; $cdb = esmith::ConfigDB::UTF8->open || die "Can't open configuration database: $!\n";
$tcp_db = esmith::ConfigDB->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n"; $tcp_db = esmith::ConfigDB::UTF8->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n";
$udp_db = esmith::ConfigDB->open('portforward_udp') || die "Can't open portforward_udp database: $!\n"; $udp_db = esmith::ConfigDB::UTF8->open('portforward_udp') || die "Can't open portforward_udp database: $!\n";
$pf_datas{trt} = 'LIST'; $pf_datas{trt} = 'LIST';
my @tcpforwards = $tcp_db->get_all; my @tcpforwards = $tcp_db->get_all;
my @udpforwards = $udp_db->get_all; my @udpforwards = $udp_db->get_all;
@ -57,9 +56,9 @@ sub do_display {
$c->app->log->info($c->log_req); $c->app->log->info($c->log_req);
my $rt = $c->current_route; my $rt = $c->current_route;
my $trt = ($c->param('trt') || 'LIST'); my $trt = ($c->param('trt') || 'LIST');
my $cdb = esmith::ConfigDB->open || die "Can't open configuration database: $!\n"; my $cdb = esmith::ConfigDB::UTF8->open || die "Can't open configuration database: $!\n";
my $tcp_db = esmith::ConfigDB->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n"; my $tcp_db = esmith::ConfigDB::UTF8->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n";
my $udp_db = esmith::ConfigDB->open('portforward_udp') || die "Can't open portforward_udp database: $!\n"; my $udp_db = esmith::ConfigDB::UTF8->open('portforward_udp') || die "Can't open portforward_udp database: $!\n";
$trt = 'DEL' if ($rt eq 'portforwardingdel'); $trt = 'DEL' if ($rt eq 'portforwardingdel');
$trt = 'ADD' if ($rt eq 'portforwardingadd'); $trt = 'ADD' if ($rt eq 'portforwardingadd');
$trt = 'ADD1' if ($rt eq 'portforwardingadd1'); $trt = 'ADD1' if ($rt eq 'portforwardingadd1');
@ -143,8 +142,8 @@ sub do_display {
#List all the port forwards #List all the port forwards
# Open them again as maybe written to above # Open them again as maybe written to above
$tcp_db = esmith::ConfigDB->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n"; $tcp_db = esmith::ConfigDB::UTF8->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n";
$udp_db = esmith::ConfigDB->open('portforward_udp') || die "Can't open portforward_udp database: $!\n"; $udp_db = esmith::ConfigDB::UTF8->open('portforward_udp') || die "Can't open portforward_udp database: $!\n";
my @tcpforwards = $tcp_db->get_all; my @tcpforwards = $tcp_db->get_all;
my @udpforwards = $udp_db->get_all; my @udpforwards = $udp_db->get_all;
@ -172,10 +171,10 @@ sub add_portforward {
my $fdb; my $fdb;
if ($proto eq 'TCP') { if ($proto eq 'TCP') {
$tcp_db = esmith::ConfigDB->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n"; $tcp_db = esmith::ConfigDB::UTF8->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n";
$fdb = $tcp_db; $fdb = $tcp_db;
} else { } else {
$udp_db = esmith::ConfigDB->open('portforward_udp') || die "Can't open portforward_udp database: $!\n"; $udp_db = esmith::ConfigDB::UTF8->open('portforward_udp') || die "Can't open portforward_udp database: $!\n";
$fdb = $udp_db; $fdb = $udp_db;
} }
@ -215,7 +214,7 @@ sub add_portforward {
sub get_destination_host { sub get_destination_host {
my $q = shift; my $q = shift;
$cdb = esmith::ConfigDB->open || die "Can't open configuration database: $!\n"; $cdb = esmith::ConfigDB::UTF8->open || die "Can't open configuration database: $!\n";
my $dhost = $q->param("dhost"); my $dhost = $q->param("dhost");
my $localip = $cdb->get_prop('InternalInterface', 'IPAddress'); my $localip = $cdb->get_prop('InternalInterface', 'IPAddress');
my $external_ip = $cdb->get_prop('ExternalInterface', 'IPAddress') || $localip; my $external_ip = $cdb->get_prop('ExternalInterface', 'IPAddress') || $localip;
@ -362,7 +361,7 @@ sub isValidPort() {
sub validate_destination_host { sub validate_destination_host {
my $c = shift; my $c = shift;
$cdb = esmith::ConfigDB->open || die "Can't open configuration database: $!\n"; $cdb = esmith::ConfigDB::UTF8->open || die "Can't open configuration database: $!\n";
my $dhost = $c->param('dhost'); my $dhost = $c->param('dhost');
$dhost =~ s/^\s+|\s+$//g; $dhost =~ s/^\s+|\s+$//g;
my $localip = $cdb->get_prop('InternalInterface', 'IPAddress'); my $localip = $cdb->get_prop('InternalInterface', 'IPAddress');

View File

@ -14,15 +14,10 @@ use Mojo::Base 'Mojolicious::Controller';
use Locale::gettext; use Locale::gettext;
use SrvMngr::I18N; use SrvMngr::I18N;
use SrvMngr qw(theme_list init_session); use SrvMngr qw(theme_list init_session);
use esmith::AccountsDB::UTF8;
use esmith::DomainsDB::UTF8;
#use Data::Dumper; our ($cdb,$adb);
#use esmith::FormMagick::Panel::pseudonyms;
use esmith::AccountsDB;
#use URI::Escape;
#our $cdb = esmith::ConfigDB->open || die "Couldn't open configuration db";
#our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
my ($cdb,$adb);
sub main { sub main {
my $c = shift; my $c = shift;
@ -32,8 +27,7 @@ sub main {
my $notif = ''; my $notif = '';
$pse_datas{trt} = 'LST'; $pse_datas{trt} = 'LST';
my @pseudonyms; my @pseudonyms;
#$cdb = esmith::ConfigDB->open || die "Couldn't open configuration db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
if ($adb) { if ($adb) {
@pseudonyms = $adb->pseudonyms(); @pseudonyms = $adb->pseudonyms();
@ -50,8 +44,7 @@ sub do_display {
my $pseudonym = $c->param('pseudonym') || ''; my $pseudonym = $c->param('pseudonym') || '';
my $title = $c->l('pse_FORM_TITLE'); my $title = $c->l('pse_FORM_TITLE');
my %pse_datas = (); my %pse_datas = ();
#$cdb = esmith::ConfigDB->open || die "Couldn't open configuration db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
$pse_datas{'trt'} = $trt; $pse_datas{'trt'} = $trt;
if ($trt eq 'ADD') { if ($trt eq 'ADD') {
@ -97,8 +90,7 @@ sub do_update {
my $rt = $c->current_route; my $rt = $c->current_route;
my $trt = ($c->param('trt') || 'LST'); my $trt = ($c->param('trt') || 'LST');
my $title = $c->l('pse_FORM_TITLE'); my $title = $c->l('pse_FORM_TITLE');
#$cdb = esmith::ConfigDB->open || die "Couldn't open configuration db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
my %pse_datas = (); my %pse_datas = ();
$pse_datas{'trt'} = $trt; $pse_datas{'trt'} = $trt;
my ($res, $result) = ''; my ($res, $result) = '';
@ -331,8 +323,7 @@ sub validate_new_pseudonym_name {
if (defined $acct) { if (defined $acct) {
return ($c->l('pse_NAME_IN_USE')); return ($c->l('pse_NAME_IN_USE'));
} elsif ($pseudonym =~ /@/) { } elsif ($pseudonym =~ /@/) {
use esmith::DomainsDB; my $ddb = esmith::DomainsDB::UTF8->open_ro
my $ddb = esmith::DomainsDB->open_ro
or die "Couldn't open DomainsDB\n"; or die "Couldn't open DomainsDB\n";
my ($lhs, $rhs) = split /@/, $pseudonym; my ($lhs, $rhs) = split /@/, $pseudonym;
return ($c->l('pse_PSEUDONYM_INVALID_DOMAIN')) unless ($ddb->get($rhs)); return ($c->l('pse_PSEUDONYM_INVALID_DOMAIN')) unless ($ddb->get($rhs));

View File

@ -8,6 +8,8 @@ use Mojo::Base 'Mojolicious::Controller';
use Locale::gettext; use Locale::gettext;
use SrvMngr::I18N; use SrvMngr::I18N;
use SrvMngr qw(theme_list init_session); use SrvMngr qw(theme_list init_session);
use esmith::ConfigDB::UTF8 qw(open_ro);
use esmith::AccountsDB::UTF8 qw(open_ro);
# retrieve a configuration db record # retrieve a configuration db record
sub getconfig { sub getconfig {
@ -16,8 +18,7 @@ sub getconfig {
$c->app->log->info($c->log_req . ' ' . $key); $c->app->log->info($c->log_req . ' ' . $key);
if ($key) { if ($key) {
use esmith::ConfigDB qw(open_ro); my $cdb = esmith::ConfigDB::UTF8->open_ro;
my $cdb = esmith::ConfigDB->open_ro;
return getdb($c, $cdb, $key); return getdb($c, $cdb, $key);
} ## end if ($key) } ## end if ($key)
} ## end sub getconfig } ## end sub getconfig
@ -29,8 +30,7 @@ sub getaccount {
$c->app->log->info($c->log_req . ' ' . $key); $c->app->log->info($c->log_req . ' ' . $key);
if ($key) { if ($key) {
use esmith::AccountsDB qw(open_ro); my $adb = esmith::AccountsDB::UTF8->open_ro;
my $adb = esmith::AccountsDB->open_ro;
return getdb($c, $adb, $key); return getdb($c, $adb, $key);
} ## end if ($key) } ## end if ($key)
} ## end sub getaccount } ## end sub getaccount

View File

@ -5,19 +5,18 @@ package SrvMngr::Controller::Swttheme;
use strict; use strict;
use warnings; use warnings;
use Mojo::Base 'Mojolicious::Controller'; use Mojo::Base 'Mojolicious::Controller';
use esmith::ConfigDB::UTF8;
#use SrvMngr qw(theme_list init_session); #use SrvMngr qw(theme_list init_session);
our $db = esmith::ConfigDB->open() || die "Couldn't open config db";
sub main { sub main {
my $c = shift; my $c = shift;
my $db = esmith::ConfigDB::UTF8->open() || die "Couldn't open config db";
my $from = $c->param('From') || '/'; my $from = $c->param('From') || '/';
my $theme = $c->param('Theme'); my $theme = $c->param('Theme');
$c->app->log->info(" swt theme '$from' '$theme' "); $c->app->log->info(" swt theme '$from' '$theme' ");
my $oldTheme = $c->session->{CurrentTheme}; my $oldTheme = $c->session->{CurrentTheme};
if ($theme ne $oldTheme) { if ($theme ne $oldTheme) {
# $c->app->renderer->paths([$c->app->home->rel_file('themes/default/templates')]); # $c->app->renderer->paths([$c->app->home->rel_file('themes/default/templates')]);
# $c->app->static->paths([$c->app->home->rel_file('themes/default/public')]); # $c->app->static->paths([$c->app->home->rel_file('themes/default/public')]);
# if ( $theme ne 'default' ) { # if ( $theme ne 'default' ) {
@ -31,7 +30,7 @@ sub main {
system("/sbin/e-smith/signal-event smanager-theme-change") == 0 system("/sbin/e-smith/signal-event smanager-theme-change") == 0
or warn "$c->l('ERROR_UPDATING')"; or warn "$c->l('ERROR_UPDATING')";
} ## end if ($theme ne $oldTheme) } ## end if ($theme ne $oldTheme)
## (not sure) $c->flash( warning => $c->l('swt_LOGIN_AGAIN') ); ## (not sure) $c->flash( warning => $c->l('swt_LOGIN_AGAIN') );
$from = '/initial' if $from eq '/'; $from = '/initial' if $from eq '/';
$from = '/' . $from if ($from !~ m|^\/|); $from = '/' . $from if ($from !~ m|^\/|);
$c->redirect_to($from); $c->redirect_to($from);

View File

@ -15,28 +15,20 @@ use Locale::gettext;
use SrvMngr::I18N; use SrvMngr::I18N;
use SrvMngr qw(theme_list init_session use SrvMngr qw(theme_list init_session
validate_password email_simple); validate_password email_simple);
use esmith::AccountsDB::UTF8;
#use esmith::FormMagick qw( validate_password ); use esmith::ConfigDB::UTF8;
#use CGI::FormMagick::Validator qw( call_fm_validation );
use esmith::AccountsDB;
use esmith::ConfigDB;
use esmith::util; use esmith::util;
#use esmith::FormMagick;
#use esmith::cgi;
#use File::Basename; #use File::Basename;
#use Exporter; #use Exporter;
#use Carp qw(verbose); #use Carp qw(verbose);
#use esmith::FormMagick::Panel::useraccounts;
#our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
#our $cdb = esmith::ConfigDB->open() || die "Couldn't open config db";
my ($cdb,$adb); my ($cdb,$adb);
sub main { sub main {
my $c = shift; my $c = shift;
$c->app->log->info($c->log_req); $c->app->log->info($c->log_req);
$cdb = esmith::ConfigDB->open() || die "Couldn't open config db"; $cdb = esmith::ConfigDB::UTF8->open() || die "Couldn't open config db";
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
my $notif = ''; my $notif = '';
my %usr_datas = (); my %usr_datas = ();
my $title = $c->l('usr_FORM_TITLE'); my $title = $c->l('usr_FORM_TITLE');
@ -55,8 +47,8 @@ sub do_display {
my %usr_datas = (); my %usr_datas = ();
my $title = $c->l('usr_FORM_TITLE'); my $title = $c->l('usr_FORM_TITLE');
my ($notif, $modul) = ''; my ($notif, $modul) = '';
$cdb = esmith::ConfigDB->open() || die "Couldn't open config db"; $cdb = esmith::ConfigDB::UTF8->open() || die "Couldn't open config db";
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
$usr_datas{'trt'} = $trt; $usr_datas{'trt'} = $trt;
if ($trt eq 'ADD') { if ($trt eq 'ADD') {
@ -143,8 +135,8 @@ sub do_update {
$usr_datas{trt} = $trt; $usr_datas{trt} = $trt;
my $title = $c->l('usr_FORM_TITLE'); my $title = $c->l('usr_FORM_TITLE');
my ($res, $result) = ''; my ($res, $result) = '';
$cdb = esmith::ConfigDB->open() || die "Couldn't open config db"; $cdb = esmith::ConfigDB::UTF8->open() || die "Couldn't open config db";
$adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; $adb = esmith::AccountsDB::UTF8->open || die "Couldn't open accounts db";
if ($trt eq 'ADD') { if ($trt eq 'ADD') {
@ -759,8 +751,7 @@ sub system_validate_password {
sub system_check_password { sub system_check_password {
my $c = shift; my $c = shift;
my $pass1 = shift; my $pass1 = shift;
use esmith::ConfigDB; my $conf = esmith::ConfigDB::UTF8->open();
my $conf = esmith::ConfigDB->open();
my ($check_type, $rec); my ($check_type, $rec);
if ($conf) { if ($conf) {

View File

@ -13,11 +13,13 @@ use Mojo::Base 'Mojolicious::Controller';
use Locale::gettext; use Locale::gettext;
use SrvMngr::I18N; use SrvMngr::I18N;
use SrvMngr qw(theme_list init_session); use SrvMngr qw(theme_list init_session);
our $db = esmith::ConfigDB->open || die "Couldn't open config db"; use esmith::ConfigDB::UTF8;
our $db ;
sub main { sub main {
my $c = shift; my $c = shift;
$c->app->log->info($c->log_req); $c->app->log->info($c->log_req);
$db = esmith::ConfigDB::UTF8->open || die "Couldn't open config db";
my %wkg_datas = (); my %wkg_datas = ();
my $title = $c->l('wkg_FORM_TITLE'); my $title = $c->l('wkg_FORM_TITLE');
my $modul = ''; my $modul = '';

View File

@ -13,6 +13,8 @@ use Mojo::Base 'Mojolicious::Controller';
use Locale::gettext; use Locale::gettext;
use SrvMngr::I18N; use SrvMngr::I18N;
use SrvMngr qw(theme_list init_session ip_number_or_blank); use SrvMngr qw(theme_list init_session ip_number_or_blank);
# dnf_* should remain ASCII; yum_repositories do not need to be UTF-8
# leavig raw read/write esmith::ConfigDB
use esmith::ConfigDB; use esmith::ConfigDB;
use esmith::util; use esmith::util;
use File::Basename; use File::Basename;

View File

@ -2,7 +2,7 @@ Summary: Sme server navigation module : manager 2
%define name smeserver-manager %define name smeserver-manager
Name: %{name} Name: %{name}
%define version 11.0.0 %define version 11.0.0
%define release 86 %define release 87
Version: %{version} Version: %{version}
Release: %{release}%{?dist} Release: %{release}%{?dist}
License: GPL License: GPL
@ -143,6 +143,10 @@ true
%defattr(-,root,root) %defattr(-,root,root)
%changelog %changelog
* Mon Jun 09 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-87.sme
- add datetime getYear_list [SME: 13031]
- WIP use esmith::*DB::UTF8 to access db flat files [SME: 13027]
* Mon Jun 09 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.00.0-86.sme * Mon Jun 09 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.00.0-86.sme
- Fix datetime gen_locale_date_string reference [SME: 13017] - Fix datetime gen_locale_date_string reference [SME: 13017]