#!/usr/local/bin/perl
# search.cgi
# Find files under some directory

require './file-lib.pl';
$disallowed_buttons{'search'} && &error($text{'ebutton'});
&ReadParse();
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'dir'})) {
	print $text{'search_eaccess'},"\n";
	}

$in{'dir'} =~ s/^\/+/\//g;
if ($in{'dir'} eq '/') {
	$in{'dir'} =~ s/\/$//;
	}
$cmd = "find ".quotemeta(&unmake_chroot($in{'dir'}))." -name ".quotemeta($in{'match'});
if ($in{'type'}) {
	$cmd .= " -type $in{'type'}";
	}
if ($in{'user'}) {
	$cmd .= " -user $in{'user'}";
	}
if ($in{'group'}) {
	$cmd .= " -group $in{'group'}";
	}
if ($in{'size'}) {
	$cmd .= " -size $in{'size'}";
	}
if ($in{'xdev'}) {
	$cmd .= " -mount";
	}

print "\n";
open(CMD, "$cmd 2>/dev/null |");
while($f = <CMD>) {
	chop($f);
	local $rf = &make_chroot($f);
	local $fil = &file_info_line($f, $rf);
	print $fil,"\n" if (defined($fil));
	}
close(CMD);

