diff --git a/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm b/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm index a65737d..2266c19 100644 --- a/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm +++ b/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm @@ -32,17 +32,14 @@ use SrvMngr qw(theme_list init_session); use Data::Dumper; use esmith::util; -use esmith::HostsDB; -use esmith::AccountsDB; +use esmith::HostsDB::UTF8; +use esmith::ConfigDB::UTF8; +use esmith::AccountsDB::UTF8; -our $db = esmith::ConfigDB->open(); -our $adb = esmith::AccountsDB->open(); - -our $domaindb = esmith::ConfigDB->open('/home/e-smith/db/domains') - or die "Unable to open domains db"; -our $edb; -$edb = esmith::ConfigDB->open('/home/e-smith/db/ddclient') - or $edb = esmith::ConfigDB->create('/home/e-smith/db/ddclient'); +my $db; +my $adb; +my $domaindb; +my $edb; my %ddc_datas = (); @@ -223,6 +220,11 @@ sub do_display { my $c = shift; $c->app->log->info( $c->log_req ); + $db = esmith::ConfigDB::UTF8->open(); + $adb = esmith::AccountsDB::UTF8->open(); + $domaindb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/domains') or die "Unable to open domains db"; + $edb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/ddclient') or $edb = esmith::ConfigDB::UTF8->create('/home/e-smith/db/ddclient'); + my $title = $c->l('FORM_TITLE'); my $modul = ''; $ddc_datas{trt} = 'LIST'; @@ -271,6 +273,8 @@ sub do_updateparams { # Called to update the parameters relating to the Ip address of the server # my $c = shift; + $db = esmith::ConfigDB::UTF8->open(); + $domaindb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/domains') or die "Unable to open domains db"; $ddc_datas{"first"} = ''; $ddc_datas{"success"} = pushParams($c); do_display($c); @@ -283,6 +287,10 @@ sub do_update_domain { my $c = shift; my $title = $c->l("MODIFY_TITLE"); my $retmsg; + $db = esmith::ConfigDB::UTF8->open(); + $adb = esmith::AccountsDB::UTF8->open(); + $domaindb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/domains') or die "Unable to open domains db"; + $edb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/ddclient') or $edb = esmith::ConfigDB::UTF8->create('/home/e-smith/db/ddclient'); if ( $c->param("Route") eq "ddclient2" ) { #Route is hidden field $retmsg = performModifyCustom($c); } @@ -313,6 +321,10 @@ sub do_create_custom { my $title = $c->l("CREATE_TITLE"); my $modul = ''; my $trt = "NEW"; + $db = esmith::ConfigDB::UTF8->open(); + $adb = esmith::AccountsDB::UTF8->open(); + $domaindb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/domains') or die "Unable to open domains db"; + $edb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/ddclient') or $edb = esmith::ConfigDB::UTF8->create('/home/e-smith/db/ddclient'); $ddc_datas{trt} = $trt; $c->stash( @@ -328,6 +340,10 @@ sub do_create_custom { sub do_create_custom_actual { my $c = shift; + $db = esmith::ConfigDB::UTF8->open(); + $adb = esmith::AccountsDB::UTF8->open(); + $domaindb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/domains') or die "Unable to open domains db"; + $edb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/ddclient') or $edb = esmith::ConfigDB::UTF8->create('/home/e-smith/db/ddclient'); $ddc_datas{"first"} = ''; my $retmsg = performCreateCustom($c); if ( $retmsg eq "ok" ) { @@ -354,6 +370,10 @@ sub do_summary_custom { my $title = $c->l("MODIFY_TITLE"); my $modul = ''; my $trt = $c->param("trt"); + $db = esmith::ConfigDB::UTF8->open(); + $adb = esmith::AccountsDB::UTF8->open(); + $domaindb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/domains') or die "Unable to open domains db"; + $edb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/ddclient') or $edb = esmith::ConfigDB::UTF8->create('/home/e-smith/db/ddclient'); #Extract domain stuff from DB my @results @@ -383,7 +403,11 @@ sub do_summary_domain { my $modul = ''; my $trt = $c->param("trt"); - #Extract domain stuff from DB + $db = esmith::ConfigDB::UTF8->open(); + $adb = esmith::AccountsDB::UTF8->open(); + $domaindb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/domains') or die "Unable to open domains db"; + $edb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/ddclient') or $edb = esmith::ConfigDB::UTF8->create('/home/e-smith/db/ddclient'); +#Extract domain stuff from DB my @results = get_domain_table( $c, $c->param("Domain") ); #Returns just one row @@ -411,6 +435,10 @@ sub do_delete_domain { my $modul = ''; my $retmsg = ""; my $domain = $c->param("Domain"); + $db = esmith::ConfigDB::UTF8->open(); + $adb = esmith::AccountsDB::UTF8->open(); + $domaindb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/domains') or die "Unable to open domains db"; + $edb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/ddclient') or $edb = esmith::ConfigDB::UTF8->create('/home/e-smith/db/ddclient'); $ddc_datas{"first"} = ''; #Delete it and return to front summary panel - depends on route domain or custom @@ -441,6 +469,10 @@ sub do_delete_custom { my $modul = ''; my $retmsg = ""; my $domain = $c->param("Domain"); + $db = esmith::ConfigDB::UTF8->open(); + $adb = esmith::AccountsDB::UTF8->open(); + $domaindb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/domains') or die "Unable to open domains db"; + $edb = esmith::ConfigDB::UTF8->open('/home/e-smith/db/ddclient') or $edb = esmith::ConfigDB::UTF8->create('/home/e-smith/db/ddclient'); $ddc_datas{"first"} = ''; #Delete it and return to front summary panel - depends on route domain or custom @@ -510,7 +542,7 @@ sub get_domain_table { "Description" => $properties{'Description'}, "Content" => $content, "dns" => $extraprops{'dns'}, - "Publication" => $c->l( '' . $extraprops{'dns'} ), + "Publication" => (defined $extraprops{dns} ? $c->l($extraprops{dns}) : ''), "customprotocol" => $properties{"customprotocol"}, "customdns" => $properties{"customdns"}, "login" => $properties{"login"}, diff --git a/smeserver-ddclient.spec b/smeserver-ddclient.spec index 8e816c6..05d657a 100644 --- a/smeserver-ddclient.spec +++ b/smeserver-ddclient.spec @@ -4,7 +4,7 @@ %define name smeserver-ddclient %define version 11.0.0 -%define release 5 +%define release 7 Summary: ddclient panel for SME Server Name: %{name} @@ -25,6 +25,12 @@ Requires: smeserver-formmagick AutoReqProv: no %changelog +* Fri Oct 03 2025 Brian Read 11.0.0-7.sme +- Make UTF8 changes and also fix any potential caching problems [SME: 13209] + +* Fri Oct 03 2025 Brian Read 11.0.0-6.sme +- Convert en.pm to .lex file [SME: 13212] + * Fri Oct 03 2025 Brian Read 11.0.0-5.sme - Remove smanager-refresh from spec file [SME: 13212]