diff --git a/createlinks b/createlinks index 1d37831..4b57d36 100644 --- a/createlinks +++ b/createlinks @@ -10,7 +10,7 @@ use esmith::Build::CreateLinks qw(:all); #-------------------------------------------------- my $panel = "manager"; -panel_link("qmh", $panel); +panel_link("pfhandle", $panel); #-------------------------------------------------- # actions for console-save event: @@ -24,9 +24,10 @@ my $event = 'smeserver-pfhandle-update'; safe_symlink('restart', "root/etc/e-smith/events/$event/services2adjust/smanager"); -event_link('navigation2-conf', "$event", '80'); -event_link('routes2-conf', "$event", '80'); -event_link('locales2-conf', "$event", '80'); +#No longer needed - dnf SME plugin does this for you. +#event_link('navigation2-conf', "$event", '80'); +#event_link('routes2-conf', "$event", '80'); +#event_link('locales2-conf', "$event", '80'); #-------------------------------------------------- # The End diff --git a/root/etc/e-smith/web/functions/qmh b/root/etc/e-smith/web/functions/pfhandle similarity index 100% rename from root/etc/e-smith/web/functions/qmh rename to root/etc/e-smith/web/functions/pfhandle diff --git a/root/usr/share/smanager/lib/SrvMngr/Controller/Qmh.pm b/root/usr/share/smanager/lib/SrvMngr/Controller/Pfhandle.pm similarity index 75% rename from root/usr/share/smanager/lib/SrvMngr/Controller/Qmh.pm rename to root/usr/share/smanager/lib/SrvMngr/Controller/Pfhandle.pm index ebae829..93775d2 100644 --- a/root/usr/share/smanager/lib/SrvMngr/Controller/Qmh.pm +++ b/root/usr/share/smanager/lib/SrvMngr/Controller/Pfhandle.pm @@ -1,4 +1,4 @@ -package SrvMngr::Controller::Qmh; +package SrvMngr::Controller::Pfhandle; #---------------------------------------------------------------------- # heading : System @@ -6,9 +6,9 @@ package SrvMngr::Controller::Qmh; # navigation : 4000 550 # menu : A # -# name : qmhandle, method : get, url : /qmh, ctlact : qmh#main -# name : qmhandle2, method : post, url : /qmh, ctlact : qmh#do_update -# name : qmhandled, method : get, url : /qmh2, ctlact : qmh#do_update +# name : pfhandle, method : get, url : /pfhandle, ctlact : Pfhandle#main +# name : pfhandle2, method : post, url : /pfhandle, ctlact : Pfhandle#do_update +# name : pfhandled, method : get, url : /pfhandle2, ctlact : Pfhandle#do_update # routes : end # Copyright (C) 2005/2008 Peter Schubert, SACO Software and Consulting GmbH @@ -33,14 +33,14 @@ sub main { $c->app->log->info($c->log_req); $cdb = esmith::ConfigDB::UTF8->open() || die 'Cannot open configuration base'; - my %qmh_datas = (); - my $title = $c->l('qmh_QMH_TITLE'); + my %pfh_data = (); + my $title = $c->l('pfh_TITLE'); - $qmh_datas{'trt'} = 'LST'; - $qmh_datas{'altq'} = 0; + $pfh_data{'trt'} = 'LST'; + $pfh_data{'altq'} = 0; - $c->stash( title => $title, qmh_datas => \%qmh_datas ); - $c->render('qmh'); + $c->stash( title => $title, pfh_data => \%pfh_data ); + $c->render('pfhandle'); }; @@ -50,16 +50,16 @@ sub do_update { $c->app->log->info($c->log_req); $cdb = esmith::ConfigDB::UTF8->open() || die 'Cannot open configuration base'; - my %qmh_datas = (); + my %pfh_data = (); my $result = ""; my $report_type = $c->param('Report_type'); my $trt = $c->param('trt'); - $qmh_datas{'trt'} = $trt; + $pfh_data{'trt'} = $trt; my $altq = $c->param('altq'); - $qmh_datas{'altq'} = $altq; + $pfh_data{'altq'} = $altq; if ($trt eq 'LST') { if ($report_type =~ /^(\S+)$/) { @@ -74,7 +74,7 @@ sub do_update { if ($function =~ s/^alt-//) { $altq = 1; } - $qmh_datas{'altq'} = $altq; + $pfh_data{'altq'} = $altq; if ($function eq 'list-queues') { $result = showListQueues ($c, $altq); @@ -86,33 +86,33 @@ sub do_update { $result = resend($c, $altq); } - $qmh_datas{'trt'} = 'REP'; + $pfh_data{'trt'} = 'REP'; } if ($trt eq 'REP') { - $c->redirect_to('/qmh'); + $c->redirect_to('/pfhandle'); } if ($trt eq 'MSG') { my $msgid = $c->param('msgid'); $result = $c->render_to_string(inline => showDeleteMessageNumber($c, $msgid, $altq, $report_type)) if $msgid; - $qmh_datas{'msgid'} = $msgid; + $pfh_data{'msgid'} = $msgid; } if ($trt eq 'DEL') { my $msgid = $c->param('msgid'); $result = $c->render_to_string(inline => deleteMessageNumber($c, $msgid, $altq, $report_type)) if $msgid; - my $message = $c->l('qmh_DELETE') . '
' . $msgid; + my $message = $c->l('pfh_DELETE') . '
' . $msgid; #$c->app->log->info($message.' '.$result); } - my $title = $c->l('qmh_QMH_TITLE'); - $c->stash( title => $title, qmh_datas => \%qmh_datas, modul => $result ); - $c->render('qmh'); + my $title = $c->l('pfh_TITLE'); + $c->stash( title => $title, pfh_data => \%pfh_data, modul => $result ); + $c->render('pfhandle'); }; @@ -125,20 +125,20 @@ sub reportType_list { my $rec = $cdb->get('altqmail'); my $altqmail = ($cdb->get('altqmail')->value || 0) if $rec; - return [[ $c->l('qmh_LIST_QUEUE') => 'list-queues' ], - [ $c->l('qmh_LIST_LOCAL_QUEUE') => 'list-local-queue' ], - [ $c->l('qmh_LIST_REMOTE_QUEUE') => 'list-remote-queue' ], - [ $c->l('qmh_RESEND_QUEUE') => 'resend' ]] + return [[ $c->l('pfh_LIST_QUEUE') => 'list-queues' ], + [ $c->l('pfh_LIST_LOCAL_QUEUE') => 'list-local-queue' ], + [ $c->l('pfh_LIST_REMOTE_QUEUE') => 'list-remote-queue' ], + [ $c->l('pfh_RESEND_QUEUE') => 'resend' ]] unless $altqmail; - return [[ $c->l('qmh_LIST_QUEUE') => 'list-queues' ], - [ $c->l('qmh_LIST_LOCAL_QUEUE') => 'list-local-queue' ], - [ $c->l('qmh_LIST_REMOTE_QUEUE') => 'list-remote-queue' ], - [ $c->l('qmh_RESEND_QUEUE') => 'resend' ], - [ "altqmail: ". $c->l('qmh_LIST_QUEUE') => 'alt-list-queues' ], - [ "altqmail: ". $c->l('qmh_LIST_LOCAL_QUEUE') => 'alt-list-local-queue' ], - [ "altqmail: ". $c->l('qmh_LIST_REMOTE_QUEUE') => 'alt-list-remote-queue' ], - [ "altqmail: ". $c->l('qmh_RESEND_QUEUE') => 'alt-resend' ]]; + return [[ $c->l('pfh_LIST_QUEUE') => 'list-queues' ], + [ $c->l('pfh_LIST_LOCAL_QUEUE') => 'list-local-queue' ], + [ $c->l('pfh_LIST_REMOTE_QUEUE') => 'list-remote-queue' ], + [ $c->l('pfh_RESEND_QUEUE') => 'resend' ], + [ "altqmail: ". $c->l('pfh_LIST_QUEUE') => 'alt-list-queues' ], + [ "altqmail: ". $c->l('pfh_LIST_LOCAL_QUEUE') => 'alt-list-local-queue' ], + [ "altqmail: ". $c->l('pfh_LIST_REMOTE_QUEUE') => 'alt-list-remote-queue' ], + [ "altqmail: ". $c->l('pfh_RESEND_QUEUE') => 'alt-resend' ]]; } @@ -154,8 +154,8 @@ sub showListQueues { my $reporttype = 'list-queues'; my $opt = ($altq ? 'altqmail: ' : ''); - $out .= sprintf("

%s


", $opt . $c->l('qmh_SHOWLISTQUEUES')); - $out .= sprintf("%s
%s", $c->l('qmh_VIEW_TIME'), scalar localtime(time)); + $out .= sprintf("

%s


", $opt . $c->l('pfh_SHOWLISTQUEUES')); + $out .= sprintf("%s
%s", $c->l('pfh_VIEW_TIME'), scalar localtime(time)); my $MailQueues = `/usr/sbin/pfHandle -l`; $MailQueues =~ s/%s
", $opt . $c->l('qmh_LIST_LOCAL_QUEUE')); - $out .= sprintf("%s
%s", $c->l('qmh_VIEW_TIME'), scalar localtime(time)); + $out .= sprintf("

%s


", $opt . $c->l('pfh_LIST_LOCAL_QUEUE')); + $out .= sprintf("%s
%s", $c->l('pfh_VIEW_TIME'), scalar localtime(time)); my $LocalQueue = `/usr/sbin/pfHandle -a`; $LocalQueue =~ s/%s
", $opt . $c->l('qmh_LIST_REMOTE_QUEUE')); - $out .= sprintf("%s
%s", $c->l('qmh_VIEW_TIME'), scalar localtime(time)); + $out .= sprintf("

%s


", $opt . $c->l('pfh_LIST_REMOTE_QUEUE')); + $out .= sprintf("%s
%s", $c->l('pfh_VIEW_TIME'), scalar localtime(time)); my $RemoteQueue = `/usr/sbin/pfHandle -d`; $RemoteQueue =~ s/%s
", $opt . $c->l('qmh_TRY_SEND_QUEUE')); - $out .= sprintf("%s
%s", $c->l('qmh_SEND_QUEUE_AT'), scalar localtime(time)); + $out .= sprintf("

%s


", $opt . $c->l('pfh_TRY_SEND_QUEUE')); + $out .= sprintf("%s
%s", $c->l('pfh_SEND_QUEUE_AT'), scalar localtime(time)); my $Res = `/usr/sbin/pfHandle -f`; $Res =~ s/$1"; + $splitq[$i] = "$1"; } } $queues = join("\n", @splitq); @@ -293,8 +293,8 @@ sub showDeleteMessageNumber { my $out = ''; my $opt = ($altq ? 'altqmail: ' : ''); - $out .= sprintf("

%s


", $opt . $c->l('qmh_DELETE_MSG_TITLEB')); - $out .= sprintf("%s", $c->l('qmh_DELETE_MESSAGE')); + $out .= sprintf("

%s


", $opt . $c->l('pfh_DELETE_MSG_TITLEB')); + $out .= sprintf("%s", $c->l('pfh_DELETE_MESSAGE')); my $Message = `/usr/sbin/pfHandle -m$msgid|head -100`; diff --git a/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Pfhandle/pfhandle_en.lex b/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Pfhandle/pfhandle_en.lex new file mode 100644 index 0000000..6e44a12 --- /dev/null +++ b/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Pfhandle/pfhandle_en.lex @@ -0,0 +1,21 @@ +'pfh_TITLE' => 'Postfix queue management', +'pfh_OPERATION_STATUS_REPORT' => 'Operation status report', +'pfh_DESC' => 'This panel uses pfHandle to manage the postfix message queues. Key features are the ability to view and delete messages in the queues.', +'pfh_TRY_SEND_QUEUE' => 'Force resending of the Postfix queue', +'pfh_SEND_QUEUE_AT' => 'Resend Postfix queue at: ', +'pfh_LIST_QUEUE' => 'List message queues', +'pfh_LIST_LOCAL_QUEUE' => 'List active message queue', +'pfh_SHOWLISTQUEUES' => 'List all Postfix queues', +'pfh_LIST_REMOTE_QUEUE' => 'List deferred message queue', +'pfh_VIEW_TIME' => 'Postfix message queue, viewed at: ', +'pfh_LIST_LOCAL_QUEUE' => 'List Postfix active queue', +'pfh_LIST_REMOTE_QUEUE' => 'List Postfix deferred queue', +'pfh_RESEND_QUEUE' => 'Try to send queued messages now (postfix must be running)', +'pfh_DELETE_MSG_TITLEB' => 'Queue management: delete Message', +'pfh_DELETE_MESSAGE' => 'Delete this message from the queue ? (Only the first 100 lines are listed)', +'pfh_DELETE' => 'Delete', +'pfh_SELECT_AN_ACTION' => 'Select an action', +'pfh_FROM_QUEUE' => 'from message queue', +'pfh_RETURN_TO_QUEUE' => 'Return to Queue', +'pfh_Administration' => 'Administration', +'E-mail Warteschlange' => 'E-Mail queue management', \ No newline at end of file diff --git a/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Pfhandle/pfhandle_fr.lex b/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Pfhandle/pfhandle_fr.lex new file mode 100644 index 0000000..d794ae3 --- /dev/null +++ b/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Pfhandle/pfhandle_fr.lex @@ -0,0 +1,21 @@ +'pfh_TITLE' => 'Administration de file d\'attente', +'pfh_OPERATION_STATUS_REPORT' => 'Rapport d\'état de l\'opération', +'pfh_pfh_DESC' => 'Ce panel utilise pfHandle pour administrer la file d\'attente de Postfix. Les fonctionnalités principales sont de voir et d\'effacer des messages dans la file d\'attente. ', +'pfh_TRY_SEND_QUEUE' => 'Forcer le renvoi de la file d\'attente de postfix', +'pfh_SEND_QUEUE_AT' => 'Renvoi la file d\'attente Postfix le : ', +'pfh_LIST_QUEUE' => 'Message de la file d\'attente', +'pfh_LIST_LOCAL_QUEUE' => 'File d\'attente active', +'pfh_SHOWLISTQUEUES' => 'Toutes les files d\'attente', +'pfh_LIST_REMOTE_QUEUE' => 'File d\'attente différée de Postfix', +'pfh_VIEW_TIME' => 'La file d\'attente des messages de Postfix le : ', +'pfh_LIST_LOCAL_QUEUE' => 'File d\'attente active de Postfix', +'pfh_LIST_REMOTE_QUEUE' => 'File d\'attente différée de Postfix', +'pfh_RESEND_QUEUE' => 'Renvoyer les messages de la file d\'attente maintenant (Postfix doit être en fonction)', +'pfh_DELETE_MSG_TITLEB' => 'Administration de file d\'attente : effacer le Message', +'pfh_DELETE_MESSAGE' => 'Effacez ce message de la file d\'attente? (Seulement les 100 premières lignes sont affichées)', +'pfh_DELETE' => 'Supprimer', +'pfh_SELECT_AN_ACTION' => 'Sélectionnez une action :', +'pfh_FROM_QUEUE' => 'de la file d\'attente des messages', +'pfh_RETURN_TO_QUEUE' => 'Retour à la file d\'attente', +'pfh_Administration' => 'Administration', +'E-mail Warteschlange' => 'Administration de file d\'attente des courriels', \ No newline at end of file diff --git a/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Qmh/qmh_en.lex b/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Qmh/qmh_en.lex deleted file mode 100644 index d03570b..0000000 --- a/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Qmh/qmh_en.lex +++ /dev/null @@ -1,21 +0,0 @@ -'qmh_QMH_TITLE' => 'Postfix queue management', -'qmh_OPERATION_STATUS_REPORT' => 'Operation status report', -'qmh_QMH_DESC' => 'This panel uses pfHandle to manage the postfix message queues. Key features are the ability to view and delete messages in the queues.', -'qmh_TRY_SEND_QUEUE' => 'Force resending of the Postfix queue', -'qmh_SEND_QUEUE_AT' => 'Resend Postfix queue at: ', -'qmh_LIST_QUEUE' => 'List message queues', -'qmh_LIST_LOCAL_QUEUE' => 'List active message queue', -'qmh_SHOWLISTQUEUES' => 'List all Postfix queues', -'qmh_LIST_REMOTE_QUEUE' => 'List deferred message queue', -'qmh_VIEW_TIME' => 'Postfix message queue, viewed at: ', -'qmh_LIST_LOCAL_QUEUE' => 'List Postfix active queue', -'qmh_LIST_REMOTE_QUEUE' => 'List Postfix deferred queue', -'qmh_RESEND_QUEUE' => 'Try to send queued messages now (postfix must be running)', -'qmh_DELETE_MSG_TITLEB' => 'Queue management: delete Message', -'qmh_DELETE_MESSAGE' => 'Delete this message from the queue ? (Only the first 100 lines are listed)', -'qmh_DELETE' => 'Delete', -'qmh_SELECT_AN_ACTION' => 'Select an action', -'qmh_iFROM_QUEUE' => 'from message queue', -'qmh_RETURN_TO_QUEUE' => 'Return to Queue', -'qmh_Administration' => 'Administration', -'E-mail Warteschlange' => 'E-Mail queue management', diff --git a/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Qmh/qmh_fr.lex b/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Qmh/qmh_fr.lex deleted file mode 100644 index 5ab1713..0000000 --- a/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Qmh/qmh_fr.lex +++ /dev/null @@ -1,21 +0,0 @@ -'qmh_QMH_TITLE' => 'Administration de file d\'attente', -'qmh_OPERATION_STATUS_REPORT' => 'Rapport d\'état de l\'opération', -'qmh_QMH_DESC' => 'Ce panel utilise pfHandle pour administrer la file d\'attente de Postfix. Les fonctionnalités principales sont de voir et d\'effacer des messages dans la file d\'attente. ', -'qmh_TRY_SEND_QUEUE' => 'Forcer le renvoi de la file d\'attente de postfix', -'qmh_SEND_QUEUE_AT' => 'Renvoi la file d\'attente Postfix le : ', -'qmh_LIST_QUEUE' => 'Message de la file d\'attente', -'qmh_LIST_LOCAL_QUEUE' => 'File d\'attente active', -'qmh_SHOWLISTQUEUES' => 'Toutes les files d\'attente', -'qmh_LIST_REMOTE_QUEUE' => 'File d\'attente différée de Postfix', -'qmh_VIEW_TIME' => 'La file d\'attente des messages de Postfix le : ', -'qmh_LIST_LOCAL_QUEUE' => 'File d\'attente active de Postfix', -'qmh_LIST_REMOTE_QUEUE' => 'File d\'attente différée de Postfix', -'qmh_RESEND_QUEUE' => 'Renvoyer les messages de la file d\'attente maintenant (Postfix doit être en fonction)', -'qmh_DELETE_MSG_TITLEB' => 'Administration de file d\'attente : effacer le Message', -'qmh_DELETE_MESSAGE' => 'Effacez ce message de la file d\'attente? (Seulement les 100 premières lignes sont affichées)', -'qmh_DELETE' => 'Supprimer', -'qmh_SELECT_AN_ACTION' => 'Sélectionnez une action :', -'qmh_iFROM_QUEUE' => 'de la file d\'attente des messages', -'qmh_RETURN_TO_QUEUE' => 'Retour à la file d\'attente', -'qmh_Administration' => 'Administration', -'E-mail Warteschlange' => 'Administration de file d\'attente des courriels', diff --git a/root/usr/share/smanager/themes/default/templates/qmh.html.ep b/root/usr/share/smanager/themes/default/templates/pfhandle.html.ep similarity index 54% rename from root/usr/share/smanager/themes/default/templates/qmh.html.ep rename to root/usr/share/smanager/themes/default/templates/pfhandle.html.ep index 8c00793..9c8310f 100644 --- a/root/usr/share/smanager/themes/default/templates/qmh.html.ep +++ b/root/usr/share/smanager/themes/default/templates/pfhandle.html.ep @@ -1,11 +1,11 @@ -% layout 'default', title => "Sme server 2 - qmh"; +% layout 'default', title => "Sme server 2 - pfhandle"; % content_for 'module' => begin -
+
% if (config->{debug} == 1) {

%= dumper $c->current_route - %= dumper $qmh_datas + %= dumper $pfh_data

%} % if ( stash 'error' ) { @@ -16,41 +16,41 @@

<%= $title %>

% my $btn = l('PERFORM'); - % my $url = '/qmh'; + % my $url = '/pfhandle'; %= form_for "$url" => (method => 'POST') => begin - % if ($qmh_datas->{trt} eq 'LST') { - %= $c->render_to_string(inline => $c->l('qmh_QMH_DESC')); + % if ($pfh_data->{trt} eq 'LST') { + %= $c->render_to_string(inline => $c->l('pfh_DESC'));

- %=l 'qmh_SELECT_AN_ACTION' + %=l 'pfh_SELECT_AN_ACTION' %= select_field 'Report_type' => $c->reportType_list()

%} - % if ($qmh_datas->{trt} eq 'REP') { + % if ($pfh_data->{trt} eq 'REP') { % $btn = l('NEXT'); %= $c->render_to_string( inline => stash 'modul' ) %} - % if ($qmh_datas->{trt} eq 'DEL') { - % $btn = l('qmh_RETURN_TO_QUEUE'); + % if ($pfh_data->{trt} eq 'DEL') { + % $btn = l('pfh_RETURN_TO_QUEUE'); %= $c->render_to_string( inline => stash 'modul' ) - %= hidden_field 'msgid' => $qmh_datas->{msgid} - % $qmh_datas->{trt} = 'LST'; + %= hidden_field 'msgid' => $pfh_data->{msgid} + % $pfh_data->{trt} = 'LST'; %} - % if ($qmh_datas->{trt} eq 'MSG') { + % if ($pfh_data->{trt} eq 'MSG') { % $btn = l('Delete'); %= $c->render_to_string( inline => stash 'modul' ) - %= hidden_field 'msgid' => $qmh_datas->{msgid} - % $qmh_datas->{trt} = 'DEL'; + %= hidden_field 'msgid' => $pfh_data->{msgid} + % $pfh_data->{trt} = 'DEL'; %}
%= submit_button "$btn", class => 'action'
- %= hidden_field 'trt' => $qmh_datas->{trt} - %= hidden_field 'altq' => $qmh_datas->{altq} + %= hidden_field 'trt' => $pfh_data->{trt} + %= hidden_field 'altq' => $pfh_data->{altq} % end
-%end +%end \ No newline at end of file diff --git a/smeserver-pfhandle.spec b/smeserver-pfhandle.spec index da75a1b..802adf7 100644 --- a/smeserver-pfhandle.spec +++ b/smeserver-pfhandle.spec @@ -1,7 +1,7 @@ %define name smeserver-pfhandle Name: %{name} -%define version 1.0 -%define release 1 +%define version 11.0 +%define release 2 Version: %{version} Release: %{release}%{?dist} BuildArch: noarch @@ -31,7 +31,10 @@ A panel for managing the Postfix queues using pfhandle (http://launchpad.net/pfhandle) %changelog -* Tue Nov 03 2025 Vasarhelyi Zsolt 1.0-1.sme +* Wed Nov 05 2025 Brian Read 11.0-2.sme +- Refactor filenames, routes etc to bring it into line with other modules, v11 to reflect SME11 [SME: 13274] + +* Mon Nov 03 2025 Vasarhelyi Zsolt 1.0-1.sme - Initial release [SME: 12853] %prep @@ -55,7 +58,7 @@ rm -rf $RPM_BUILD_ROOT %files -f %{name}-%{version}-filelist %defattr(-,root,root) -%attr(4750 root admin) "/etc/e-smith/web/functions/qmh" +%attr(4750 root admin) "/etc/e-smith/web/functions/pfhandle" %pre