diff -ruN smeserver-qmHandle-1.4.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/qmh smeserver-qmHandle-1.4/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/qmh --- smeserver-qmHandle-1.4.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/qmh 2022-08-18 15:58:00.788032805 +0100 +++ smeserver-qmHandle-1.4/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/qmh 2022-08-18 16:13:35.804380241 +0100 @@ -72,6 +72,14 @@ Delete + DELETED + Message deleted + + + RETURN_TO_QUEUE + Return to queue + + SELECT_AN_ACTION Select an action diff -ruN smeserver-qmHandle-1.4.old/root/etc/e-smith/web/functions/qmh smeserver-qmHandle-1.4/root/etc/e-smith/web/functions/qmh --- smeserver-qmHandle-1.4.old/root/etc/e-smith/web/functions/qmh 2022-08-18 15:58:00.786032773 +0100 +++ smeserver-qmHandle-1.4/root/etc/e-smith/web/functions/qmh 2022-08-18 16:09:36.191447216 +0100 @@ -260,10 +260,12 @@ print $q->p($fm->localise('VIEW_TIME')),scalar localtime(time),"\n"; my $MailQueues = `/usr/bin/qmHandle -l`; + my $queuetype = 'list-queues'; + $MailQueues =~ s//'/g; - $MailQueues = AddLinks($MailQueues, $q); + $MailQueues = AddLinks($MailQueues, $queuetype, $q); print $q->p ($q->pre ("$MailQueues")); } @@ -285,10 +287,12 @@ print $q->p($fm->localise('VIEW_TIME')),scalar localtime(time),"\n"; my $MailQueues = `/usr/bin/qmHandle -X -l`; + my $queuetype = 'alt-list-queues'; + $MailQueues =~ s//'/g; - $MailQueues = AddAltLinks($MailQueues, $q); + $MailQueues = AddAltLinks($MailQueues, $queuetype, $q); print $q->p ($q->pre ("$MailQueues")); } @@ -300,6 +304,7 @@ sub AddLinks { my $queues = shift; + my $queueType = shift; my @splitq = split(/\n/, $queues); @@ -307,7 +312,7 @@ if ($splitq[$i] =~ /^(\d+)\s+(\(\d+\,\s+\d+\/+\d+\)\s*)$/ ) { $splitq[$i] = "url( -absolute => 1 ) . - "?state=perform&function=confirm-delete-message-number" . + "?state=perform&function=confirm-delete-message-number&queue=$queueType" . "&msgid=$1\">$1 $2"; } } @@ -319,6 +324,7 @@ sub AddAltLinks { my $queues = shift; + my $queueType = shift; my @splitq = split(/\n/, $queues); @@ -326,7 +332,7 @@ if ($splitq[$i] =~ /^(\d+)\s+(\(\d+\,\s+\d+\/+\d+\)\s*)$/ ) { $splitq[$i] = "url( -absolute => 1 ) . - "?state=perform&function=alt-confirm-delete-message-number" . + "?state=perform&function=alt-confirm-delete-message-number&queue=$queueType" . "&msgid=$1\">$1 $2"; } } @@ -350,8 +356,11 @@ print $q->hr; print $q->p($fm->localise('VIEW_TIME')),scalar localtime(time),"\n"; my $LocalQueue = `/usr/bin/qmHandle -L`; + my $queuetype = 'list-local-queue'; + $LocalQueue =~ s//'/g; + $LocalQueue = AddLinks($LocalQueue, $queuetype); print $q->p ($q->pre ("$LocalQueue")); } @@ -371,8 +380,11 @@ print $q->hr; print $q->p($fm->localise('VIEW_TIME')),scalar localtime(time),"\n"; my $LocalQueue = `/usr/bin/qmHandle -X -L`; + my $queuetype = 'alt-list-local-queue'; + $LocalQueue =~ s//'/g; + $LocalQueue = AddAltLinks($LocalQueue, $queuetype); print $q->p ($q->pre ("$LocalQueue")); } @@ -396,10 +408,12 @@ print $q->p($fm->localise('VIEW_TIME')),scalar localtime(time),"\n"; my $RemoteQueue = `/usr/bin/qmHandle -R`; + my $queuetype = 'list-remote-queue'; + $RemoteQueue =~ s//'/g; - $RemoteQueue = AddLinks($RemoteQueue); + $RemoteQueue = AddLinks($RemoteQueue, $queuetype); print $q->p ($q->pre ("$RemoteQueue")); } @@ -418,10 +432,12 @@ print $q->p($fm->localise('VIEW_TIME')),scalar localtime(time),"\n"; my $RemoteQueue = `/usr/bin/qmHandle -X -R`; + my $queuetype = 'alt-list-remote-queue'; + $RemoteQueue =~ s//'/g; - $RemoteQueue = AddLinks($RemoteQueue); + $RemoteQueue = AddAltLinks($RemoteQueue, $queuetype); print $q->p ($q->pre ("$RemoteQueue")); } @@ -480,6 +496,7 @@ { my ($q) = @_; my $msgid = $q->param ('msgid'); + my $queuetype = $q->param ('queue'); if ($msgid =~ /^(\d+)$/) { $msgid = $1; @@ -502,7 +519,9 @@ print $q->hidden (-name => 'state', -override => 1, -default => 'perform'); print $q->hidden (-name => 'msgid', -override => 1, -default => "$msgid"); print $q->hidden (-name => 'function', -override => 1, -default => 'delete-message-number'); + print $q->hidden (-name => 'queue', -override => 1, -default => "$queuetype"); print $q->endform; + esmith::cgi::genFooter ($q); return; } @@ -511,6 +530,7 @@ { my ($q) = @_; my $msgid = $q->param ('msgid'); + my $queuetype = $q->param ('queue'); if ($msgid =~ /^(\d+)$/) { $msgid = $1; @@ -530,10 +550,13 @@ esmith::cgi::genButtonRow ($q, $q->submit (-name => 'action', -value => $fm->localise('Delete')))); + print $q->hidden (-name => 'state', -override => 1, -default => 'perform'); print $q->hidden (-name => 'msgid', -override => 1, -default => "$msgid"); print $q->hidden (-name => 'function', -override => 1, -default => 'delete-message-number'); + print $q->hidden (-name => 'queue', -override => 1, -default => "$queuetype"); print $q->endform; + esmith::cgi::genFooter ($q); return; } @@ -544,6 +567,7 @@ my ($q) = @_; my $msgid = $q->param ('msgid'); + my $queuetype = $q->param ('queue'); if ($msgid =~ /^(\d+)$/) { $msgid = $1; @@ -553,11 +577,22 @@ my $Output = `/usr/bin/qmHandle -d$msgid`; esmith::cgi::genHeaderNonCacheable ($q, \%conf, - "altqmail: ". $fm->localise('QMH_TITLE')); + "qmail: ". $fm->localise('QMH_TITLE')); print $q->hr; - print $q->h3 ($fm->localise('DELETE'))," $msgid "; - + print $q->h3 ($fm->localise('DELETED'))," $msgid "; + print $q->br(); + print $q->br(); + + print $q->start_multipart_form(-method => 'POST', -action => $q->url (-absolute => 1)); + print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, + esmith::cgi::genButtonRow ($q, + $q->submit (-name => 'action', -value => $fm->localise('RETURN_TO_QUEUE')))); + + print $q->hidden (-name => 'state', -override => 1, -default => 'perform'); + print $q->hidden (-name => 'function', -override => 1, -default => "$queuetype"); + print $q->endform; + esmith::cgi::genFooter ($q); return; } @@ -567,7 +602,8 @@ my ($q) = @_; my $msgid = $q->param ('msgid'); - + my $queuetype = $q->param ('queue'); + if ($msgid =~ /^(\d+)$/) { $msgid = $1; } else { @@ -579,8 +615,19 @@ "altqmail: ". $fm->localise('QMH_TITLE')); print $q->hr; - print $q->h3 ($fm->localise('DELETE'))," $msgid "; - + print $q->h3 ($fm->localise('DELETED'))," $msgid "; + print $q->br(); + print $q->br(); + + print $q->start_multipart_form(-method => 'POST', -action => $q->url (-absolute => 1)); + print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, + esmith::cgi::genButtonRow ($q, + $q->submit (-name => 'action', -value => $fm->localise('RETURN_TO_QUEUE')))); + + print $q->hidden (-name => 'state', -override => 1, -default => 'perform'); + print $q->hidden (-name => 'function', -override => 1, -default => "$queuetype"); + print $q->endform; + esmith::cgi::genFooter ($q); return; }