[ Avaa Bypassed ]




Upload:

Command:

www-data@3.144.134.101: ~ $
#!/usr/bin/perl
# mail_search.cgi
# Find mail messages matching some pattern

require './mailboxes-lib.pl';
&ReadParse();
&can_user($in{'user'}) || &error($text{'mail_ecannot'});
@folders = &list_user_folders($in{'user'});
$uuser = &urlize($in{'user'});

if ($in{'simple'}) {
	# Make sure a search was entered
	$in{'search'} || &error($text{'search_ematch'});
	$ofolder = $folders[$in{'folder'}];
	}
else {
	# Validate search fields
	for($i=0; defined($in{"field_$i"}); $i++) {
		if ($in{"field_$i"}) {
			$in{"what_$i"} || &error(&text('search_ewhat', $i+1));
			$neg = $in{"neg_$i"} ? "!" : "";
			push(@fields, [ $neg.$in{"field_$i"}, $in{"what_$i"} ]);
			}
		}
	@fields || &error($text{'search_enone'});
	$ofolder = $folders[$in{'ofolder'}];
	}

if ($in{'folder'} == -2) {
	$desc = $text{'search_local'};
	}
elsif ($in{'folder'} == -1) {
	$desc = $text{'search_all'};
	}
else {
	$folder = $folders[$in{'folder'}];
	$desc = &text('mail_for', $folder->{'name'});
	}
&ui_print_header($desc, $text{'search_title'}, "", undef, 0, 0, undef,
	&folder_link($in{'user'}, $ofolder));

if ($in{'simple'}) {
	if ($in{'search'} =~ /^(\S+):\s*(.*)$/) {
		# A specific field was entered
		local ($field, $what) = ($1, $2);
		@searchlist = ( [ $field, $what ] );
		@rv = &mailbox_search_mail(\@searchlist, 0, $folder);
		print "<p><b>",&text('search_results5', scalar(@rv),
			    "<tt>$field</tt>", "<tt>$what</tt>")," ..</b><p>\n";
		}
	else {
		# Just search by Subject and From in one folder
		($mode, $words) = &parse_boolean($in{'search'});
		if ($mode == 0) {
			# Can just do a single 'or' search
			@searchlist = map { ( [ 'subject', $_ ],
					      [ 'from', $_ ] ) } @$words;
			@rv = &mailbox_search_mail(\@searchlist, 0, $folder);
			}
		elsif ($mode == 1) {
			# Need to do two 'and' searches and combine
			@searchlist1 = map { ( [ 'subject', $_ ] ) } @$words;
			@rv1 = &mailbox_search_mail(\@searchlist1, 1, $folder);
			@searchlist2 = map { ( [ 'from', $_ ] ) } @$words;
			@rv2 = &mailbox_search_mail(\@searchlist2, 1, $folder);
			@rv = @rv1;
			%gotidx = map { $_->{'idx'}, 1 } @rv;
			foreach $mail (@rv2) {
				push(@rv, $mail) if (!$gotidx{$mail->{'idx'}});
				}
			}
		else {
			&error($text{'search_eboolean'});
			}
		print "<p><b>",&text('search_results2', scalar(@rv),
				     "<tt>$in{'search'}</tt>")," ..</b><p>\n";
		}
	foreach $mail (@rv) {
		$mail->{'folder'} = $folder;
		}
	}
else {
	# Complex search, perhaps over multiple folders!
	if ($in{'folder'} == -2) {
		@sfolders = grep { !$_->{'remote'} } @folders;
		$multi_folder = 1;
		}
	elsif ($in{'folder'} == -1) {
		@sfolders = @folders;
		$multi_folder = 1;
		}
	else {
		@sfolders = ( $folder );
		}
	foreach $sf (@sfolders) {
		local @frv = &mailbox_search_mail(\@fields, $in{'and'}, $sf);
		foreach $mail (@frv) {
			$mail->{'folder'} = $sf;
			}
		push(@rv, @frv);
		}
	print "<p><b>",&text('search_results4', scalar(@rv))," ..</b><p>\n";
	}
@rv = reverse(@rv);

# Show list of messages, with form
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);
		}
	&show_mail_table(\@rv, $multi_folder ? undef : $ofolder, 0);
	if (!$multi_folder) {
		&show_buttons(2, \@folders, $folder, \@rv, $in{'user'}, 1);
		}
	print &ui_form_end();
	}
else {
	print "<b>$text{'search_none'}</b> <p>\n";
	}

&ui_print_footer($in{'simple'} ? ( ) : ( "search_form.cgi?folder=$in{'folder'}",
				$text{'sform_return'} ),
	"list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}&dom=$in{'dom'}",
	  $text{'mail_return'},
	&user_list_link(), $text{'index_return'});


Filemanager

Name Type Size Permission Actions
images Folder 0755
lang Folder 0755
xinha Folder 0755
CHANGELOG File 5.7 KB 0644
Makefile File 125 B 0644
acl_security.pl File 3 KB 0755
boxes-lib.pl File 80.37 KB 0755
cgi_args.pl File 520 B 0755
config File 758 B 0644
config.info File 4.94 KB 0644
config.info.ca File 5.79 KB 0644
config.info.cs File 5.2 KB 0644
config.info.de File 6.27 KB 0644
config.info.el File 8.14 KB 0644
config.info.fi File 0 B 0644
config.info.fr File 6.43 KB 0644
config.info.hu File 0 B 0644
config.info.it File 5.97 KB 0644
config.info.ja File 5.97 KB 0644
config.info.ko File 5.29 KB 0644
config.info.nl File 5.48 KB 0644
config.info.no File 5.25 KB 0644
config.info.pt_BR File 0 B 0644
config_info.pl File 389 B 0755
defaultacl File 50 B 0644
delete_all.cgi File 1.25 KB 0755
delete_mail.cgi File 7 KB 0755
detach.cgi File 3.19 KB 0755
detachall.cgi File 1.72 KB 0755
find.cgi File 731 B 0755
folders-lib.pl File 103.44 KB 0755
index.cgi File 2.73 KB 0755
list_mail.cgi File 5.15 KB 0755
log_parser.pl File 1.02 KB 0755
mail_search.cgi File 3.68 KB 0755
mailboxes-lib.pl File 33.59 KB 0755
makelang.pl File 1.35 KB 0755
module.info File 137 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 82 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 145 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 185 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 167 B 0644
module.info.ca File 97 B 0644
module.info.cs File 37 B 0644
module.info.cs.auto File 75 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 72 B 0644
module.info.de File 77 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 232 B 0644
module.info.es File 38 B 0644
module.info.es.auto File 72 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 110 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 141 B 0644
module.info.fi File 27 B 0644
module.info.fi.auto File 61 B 0644
module.info.fr File 40 B 0644
module.info.fr.auto File 76 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 117 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 108 B 0644
module.info.hu File 38 B 0644
module.info.hu.auto File 72 B 0644
module.info.it File 27 B 0644
module.info.it.auto File 76 B 0644
module.info.ja File 39 B 0644
module.info.ja.auto File 79 B 0644
module.info.ko File 29 B 0644
module.info.ko.auto File 65 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 110 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 85 B 0644
module.info.ms File 73 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 81 B 0644
module.info.nl File 30 B 0644
module.info.nl.auto File 57 B 0644
module.info.no File 27 B 0644
module.info.no.auto File 47 B 0644
module.info.pl File 38 B 0644
module.info.pl.auto File 67 B 0644
module.info.pt File 0 B 0644
module.info.pt.auto File 94 B 0644
module.info.pt_BR File 34 B 0644
module.info.pt_BR.auto File 65 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 116 B 0644
module.info.ru File 63 B 0644
module.info.ru.auto File 99 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 120 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 97 B 0644
module.info.sv File 0 B 0644
module.info.sv.auto File 78 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 154 B 0644
module.info.tr File 104 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 193 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 117 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 99 B 0644
module.info.zh File 0 B 0644
module.info.zh.auto File 79 B 0644
module.info.zh_TW File 33 B 0644
module.info.zh_TW.auto File 55 B 0644
prefs.info File 225 B 0644
reply_mail.cgi File 15.96 KB 0755
safeacl File 32 B 0644
search_form.cgi File 1.86 KB 0755
send_mail.cgi File 9.56 KB 0755
slideshow.cgi File 1.63 KB 0755
useradmin_update.pl File 2.33 KB 0755
view_mail.cgi File 10.44 KB 0755