version 1.7, 2001/03/22 15:21:54
|
version 1.13, 2001/03/26 20:17:20
|
Line 13 use Fcntl;
|
Line 13 use Fcntl;
|
use Tie::RefHash; |
use Tie::RefHash; |
use DBI; |
use DBI; |
|
|
|
my @metalist; |
|
# ----------------- Code to enable 'find' subroutine listing of the .meta files |
|
require "find.pl"; |
|
sub wanted { |
|
(($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) && |
|
-f _ && |
|
/^.*\.meta$/ && |
|
push(@metalist,"$dir/$_"); |
|
} |
|
|
|
|
$childmaxattempts=10; |
$childmaxattempts=10; |
$run =0;#running counter to generate the query-id |
$run =0;#running counter to generate the query-id |
Line 228 sub make_new_child {
|
Line 238 sub make_new_child {
|
} |
} |
|
|
# do custom metadata searching here and build into result |
# do custom metadata searching here and build into result |
|
if ($custom) { |
|
&logthis("am going to do custom query for $custom"); |
|
@metalist=(); pop @metalist; |
|
&find("$perlvar{'lonDocRoot'}/res"); |
|
&logthis("FILELIST:" . join(":::",@metalist)); |
|
# if file is indicated in sql database and |
|
# not part of sql-relevant query, do not pattern match. |
|
# if file is not in sql database, output error. |
|
# if file is indicated in sql database and is |
|
# part of query result list, then do the pattern match. |
|
my $customresult=''; |
|
foreach my $m (@metalist) { |
|
my $fh=IO::File->new($m); |
|
my @lines=<$fh>; |
|
my $stuff=join('',@lines); |
|
if ($stuff=~/$custom/s) { |
|
&logthis("found: $stuff"); |
|
} |
|
$customresult.='&custom='.escape($stuff); |
|
} |
|
$result.=$customresult; |
|
} |
|
# reply with result |
|
$result.="ABCABC"; |
&reply("queryreply:$queryid:$result",$conserver); |
&reply("queryreply:$queryid:$result",$conserver); |
|
|
} |
} |