version 1.23, 2001/03/27 18:38:59
|
version 1.26, 2001/03/27 19:57:53
|
Line 225 sub make_new_child {
|
Line 225 sub make_new_child {
|
$queryid .= $run; |
$queryid .= $run; |
print $client "$queryid\n"; |
print $client "$queryid\n"; |
|
|
|
&logthis("QUERY: $query"); |
|
&logthis("QUERY: $query"); |
|
sleep 1; |
#prepare and execute the query |
#prepare and execute the query |
my $sth = $dbh->prepare($query); |
my $sth = $dbh->prepare($query); |
my $result; |
my $result; |
my @files; |
my @files; |
unless ($sth->execute()) |
my $subsetflag=0; |
{ |
if ($query) { |
&logthis("<font color=blue>WARNING: Could not retrieve from database: $@</font>"); |
unless ($sth->execute()) |
$result=""; |
{ |
} |
&logthis("<font color=blue>WARNING: Could not retrieve from database: $@</font>"); |
else { |
$result=""; |
my $r1=$sth->fetchall_arrayref; |
} |
my @r2; |
else { |
map {my $a=$_; |
my $r1=$sth->fetchall_arrayref; |
my @b=map {escape($_)} @$a; |
my @r2; |
push @files,@{$a}[3]; |
map {my $a=$_; |
push @r2,join(",", @b) |
my @b=map {escape($_)} @$a; |
} (@$r1); |
push @files,@{$a}[3]; |
$result=join("&",@r2); |
push @r2,join(",", @b) |
|
} (@$r1); |
|
$result=join("&",@r2); |
|
} |
} |
} |
|
|
# do custom metadata searching here and build into result |
# do custom metadata searching here and build into result |
if ($custom) { |
if ($custom) { |
&logthis("am going to do custom query for $custom"); |
&logthis("am going to do custom query for $custom"); |
if (@files) { |
if ($query) { |
@metalist=map {$perlvar{'lonDocRoot'}.$_.'.meta'} @files; |
@metalist=map {$perlvar{'lonDocRoot'}.$_.'.meta'} @files; |
} |
} |
else { |
else { |
Line 262 sub make_new_child {
|
Line 267 sub make_new_child {
|
# if file is indicated in sql database and is |
# if file is indicated in sql database and is |
# part of query result list, then do the pattern match. |
# part of query result list, then do the pattern match. |
my $customresult=''; |
my $customresult=''; |
|
my @r2; |
foreach my $m (@metalist) { |
foreach my $m (@metalist) { |
my $fh=IO::File->new($m); |
my $fh=IO::File->new($m); |
my @lines=<$fh>; |
my @lines=<$fh>; |
Line 274 sub make_new_child {
|
Line 280 sub make_new_child {
|
$stuff=~s/\n?\<$f[^\>]*\>.*?<\/$f[^\>]*\>\n?//; |
$stuff=~s/\n?\<$f[^\>]*\>.*?<\/$f[^\>]*\>\n?//; |
} |
} |
my $m2=$m; my $docroot=$perlvar{'lonDocRoot'}; |
my $m2=$m; my $docroot=$perlvar{'lonDocRoot'}; |
$m2=~s/^$docroot//; $m2=~s/\.meta$//; |
$m2=~s/^$docroot//; |
|
$m2=~s/\.meta$//; |
|
unless ($query) { |
|
my $q2="select * from metadata where url like '$m2'"; |
|
my $sth = $dbh->prepare($query); |
|
$sth->execute(); |
|
my $r1=$sth->fetchall_arrayref; |
|
map {my $a=$_; |
|
my @b=map {escape($_)} @$a; |
|
push @files,@{$a}[3]; |
|
push @r2,join(",", @b) |
|
} (@$r1); |
|
} |
# &logthis("found: $stuff"); |
# &logthis("found: $stuff"); |
$customresult.='&custom='.escape($m2).','.escape($stuff); |
$customresult.='&custom='.escape($m2).','.escape($stuff); |
} |
} |
} |
} |
|
$result=join("&",@r2) unless $query; |
$result.=$customresult; |
$result.=$customresult; |
} |
} |
# reply with result |
# reply with result |