Link back to Virtualmin from mail list https://virtualmin.com/node/21935

This commit is contained in:
Jamie Cameron
2012-04-20 22:27:35 -07:00
parent b2c8ba4178
commit 62503b4be3
7 changed files with 43 additions and 22 deletions

View File

@@ -14,7 +14,8 @@ if ($in{'confirm'}) {
&mailbox_empty_folder($folder);
&webmin_log("delmail", undef, undef, { 'from' => $folder->{'file'},
'count' => $sz });
&redirect("list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}");
&redirect("list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}".
"&dom=$in{'dom'}");
}
else {
# Ask first
@@ -26,12 +27,13 @@ else {
&mailbox_folder_size($folder),
&nice_size(&folder_size($folder))),
[ [ 'user', $in{'user'} ],
[ 'dom', $in{'dom'} ],
[ 'folder', $in{'folder'} ] ],
[ [ 'confirm', $text{'delall_ok'} ] ],
);
&ui_print_footer("list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}",
$text{'mail_return'},
"", $text{'index_return'});
&ui_print_footer("list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}".
"&dom=$in{'dom'}", $text{'mail_return'},
&user_list_link(), $text{'index_return'});
}

View File

@@ -26,7 +26,7 @@ if ($in{'mark1'} || $in{'mark2'}) {
}
dbmclose(%read);
$perpage = $folder->{'perpage'} || $config{'perpage'};
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}");
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}&dom=$in{'dom'}");
}
elsif ($in{'move1'} || $in{'move2'}) {
# Moving mails to some other user's inbox
@@ -50,7 +50,7 @@ elsif ($in{'move1'} || $in{'move2'}) {
&webmin_log("movemail", undef, undef, { 'from' => $folder->{'file'},
'to' => $mfolders[0]->{'file'},
'count' => scalar(@delete) } );
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}");
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}&dom=$in{'dom'}");
}
elsif ($in{'copy1'} || $in{'copy2'}) {
# Copying mails to some other folder
@@ -71,17 +71,18 @@ elsif ($in{'copy1'} || $in{'copy2'}) {
&webmin_log("copymail", undef, undef, { 'from' => $folder->{'file'},
'to' => $cfolders[0]->{'file'},
'count' => scalar(@delete) } );
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}");
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}&dom=$in{'dom'}");
}
elsif ($in{'forward'}) {
# Forwarding selected mails .. redirect
@delete || &error($text{'delete_efnone'});
&redirect("reply_mail.cgi?folder=$in{'folder'}&user=$in{'user'}&".
&redirect("reply_mail.cgi?folder=$in{'folder'}&".
"dom=$in{'dom'}&user=$in{'user'}&".
join("&", map { "mailforward=$_" } @delete));
}
elsif ($in{'new'}) {
# Need to redirect to compose form
&redirect("reply_mail.cgi?new=1&folder=$in{'folder'}&user=$in{'user'}");
&redirect("reply_mail.cgi?new=1&folder=$in{'folder'}&user=$in{'user'}&dom=$in{'dom'}");
}
elsif ($in{'black'} || $in{'white'}) {
# Deny or allow all senders
@@ -100,7 +101,7 @@ elsif ($in{'black'} || $in{'white'}) {
push(@from, @newaddrs);
&spam::save_directives($conf, $dir, \@from, 1);
&flush_file_lines();
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}");
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}&dom=$in{'dom'}");
}
elsif ($in{'razor'} || $in{'ham'}) {
# Report as ham or spam all messages, and show output to the user
@@ -155,7 +156,7 @@ elsif ($in{'razor'} || $in{'ham'}) {
print "window.location = 'list_mail.cgi?folder=$in{'folder'}&user=$in{'user'}';\n";
print "</script>\n";
}
&ui_print_footer("list_mail.cgi?folder=$in{'folder'}&user=$in{'user'}", $text{'mail_return'}, "", $text{'index_return'});
&ui_print_footer("list_mail.cgi?folder=$in{'folder'}&user=$in{'user'}&dom=$in{'dom'}", $text{'mail_return'}, &user_list_link(), $text{'index_return'});
}
elsif ($in{'delete'} || $in{'deleteall'}) {
# Just deleting emails
@@ -175,7 +176,7 @@ elsif ($in{'delete'} || $in{'deleteall'}) {
[ [ 'confirm', $text{'confirm_ok'} ] ],
);
&ui_print_footer("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}", $text{'mail_return'});
&ui_print_footer("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}&dom=$in{'dom'}", $text{'mail_return'});
}
else {
# Go ahead and delete
@@ -202,7 +203,7 @@ elsif ($in{'delete'} || $in{'deleteall'}) {
{ 'from' => $folder->{'file'},
'all' => $in{'deleteall'},
'count' => $delcount } );
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}");
&redirect("list_mail.cgi?start=$in{'start'}&folder=$in{'folder'}&user=$in{'user'}&dom=$in{'dom'}");
}
}
&pop3_logout_all();

View File

@@ -2347,7 +2347,6 @@ foreach my $f (@$folders) {
}
return &ui_select($name, $byid ? &folder_name($folder) : $folder->{'index'},
\@opts, 1, 0, 0, 0, $auto ? "onChange='form.submit()'" : "");
return $sel;
}
# folder_size(&folder, ...)

View File

@@ -57,6 +57,7 @@ if ($in{'start'} >= @mail && $in{'jump'}) {
# Start of the deletion / move form
print &ui_form_start("delete_mail.cgi", "post");
print &ui_hidden("user", $in{'user'});
print &ui_hidden("dom", $in{'dom'});
print &ui_hidden("folder", $folder->{'index'});
print &ui_hidden("mod", &modification_time($folder));
print &ui_hidden("start", $in{'start'});
@@ -96,6 +97,7 @@ if (@mail) {
# Show simple search form
push(@grid, &ui_form_start("mail_search.cgi").
&ui_hidden("user", $in{'user'}).
&ui_hidden("dom", $in{'dom'}).
&ui_hidden("folder", $folder->{'index'}).
&ui_hidden("simple", 1).
&ui_submit($text{'mail_search2'})." ".
@@ -105,6 +107,7 @@ if (@mail) {
# Show advanced search button
push(@grid, &ui_form_start("search_form.cgi").
&ui_hidden("user", $in{'user'}).
&ui_hidden("dom", $in{'dom'}).
&ui_hidden("folder", $folder->{'index'}).
&ui_submit($text{'mail_advanced'}, "advanced").
&ui_form_end());
@@ -112,6 +115,7 @@ if (@mail) {
# Show delete all button
push(@grid, &ui_form_start("delete_all.cgi").
&ui_hidden("user", $in{'user'}).
&ui_hidden("dom", $in{'dom'}).
&ui_hidden("folder", $folder->{'index'}).
&ui_submit($text{'mail_delall'}).
&ui_form_end());
@@ -122,6 +126,7 @@ $jumpform = (@mail > $perpage);
if ($jumpform) {
push(@grid, &ui_form_start("list_mail.cgi").
&ui_hidden("user", $in{'user'}).
&ui_hidden("dom", $in{'dom'}).
&ui_hidden("folder", $folder->{'index'}).
&ui_submit($text{'mail_jump'})." ".
&ui_textbox("jump", int($in{'start'} / $perpage)+1, 3)." ".
@@ -142,7 +147,7 @@ if ($config{'log_read'}) {
&webmin_log("read", undef, $in{'user'},
{ 'file' => $folder->{'file'} });
}
&ui_print_footer("", $text{'index_return'});
&ui_print_footer(&user_list_link(), $text{'index_return'});
sub show_arrows
{
@@ -160,7 +165,9 @@ my $e = @mail-$in{'start'}-$perpage+1;
print &ui_page_flipper(
@mail ? &text('mail_pos', $s, $e < 1 ? 1 : $e, scalar(@mail), $sel)
: &text('mail_none', $sel),
&ui_submit($text{'mail_fchange'}).&ui_hidden("user", $in{'user'}),
&ui_submit($text{'mail_fchange'}).
&ui_hidden("user", $in{'user'}).
&ui_hidden("dom", $in{'dom'}),
"list_mail.cgi",
$left,
$right,

View File

@@ -107,6 +107,7 @@ else {
if (@rv) {
print &ui_form_start("delete_mail.cgi", "post");
print &ui_hidden("user", $in{'user'});
print &ui_hidden("dom", $in{'dom'});
print &ui_hidden("folder", $in{'folder'});
if ($config{'top_buttons'} && !$multi_folder) {
&show_buttons(1, \@folders, $folder, \@rv, $in{'user'}, 1);
@@ -123,6 +124,7 @@ else {
&ui_print_footer($in{'simple'} ? ( ) : ( "search_form.cgi?folder=$in{'folder'}",
$text{'sform_return'} ),
"list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}", $text{'mail_return'},
"", $text{'index_return'});
"list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}&dom=$in{'dom'}",
$text{'mail_return'},
&user_list_link(), $text{'index_return'});

View File

@@ -1256,5 +1256,15 @@ if ($folder) {
}
}
sub user_list_link
{
if ($in{'dom'}) {
return "../virtual-server/list_users.cgi?dom=$in{'dom'}";
}
else {
return "";
}
}
1;

View File

@@ -14,6 +14,7 @@ require './mailboxes-lib.pl';
# Start of form
print &ui_form_start("mail_search.cgi");
print &ui_hidden("user", $in{'user'});
print &ui_hidden("dom", $in{'dom'});
print &ui_hidden("ofolder", $in{'folder'});
print &ui_table_start($text{'sform_header'}, "width=100%", 2);
@@ -24,7 +25,6 @@ print &ui_table_row($text{'sform_andmode'},
# Criteria table
$ctable = &ui_columns_start([ ], 50, 1);
for($i=0; $i<=4; $i++) {
local @cols;
push(@cols, $text{'sform_where'});
@@ -44,7 +44,7 @@ for($i=0; $i<=4; $i++) {
$ctable .= &ui_columns_row(\@cols, [ map { "nowrap" } @cols ]);
}
$ctable .= &ui_columns_end();
print &ui_table_row(" ", $ctable, 1);
print &ui_table_row(" ", $ctable);
# Folder to search
print &ui_table_row($text{'sform_folder2'},
@@ -55,6 +55,6 @@ print &ui_table_end();
print &ui_form_end([ [ undef, $text{'sform_ok'} ] ]);
&ui_print_footer("list_mail.cgi?folder=$in{'folder'}&user=".
&urlize($in{'user'}), $text{'mail_return'},
"", $text{'index_return'});
&urlize($in{'user'})."&dom=$in{'dom'}", $text{'mail_return'},
&user_list_link(), $text{'index_return'});