version 1.18, 2001/03/27 02:09:50
|
version 1.25, 2001/03/27 19:11:12
|
Line 212 sub make_new_child {
|
Line 212 sub make_new_child {
|
my $userinput = <$client>; |
my $userinput = <$client>; |
chomp($userinput); |
chomp($userinput); |
|
|
my ($conserver,$querytmp,$customtmp)=split(/&/,$userinput); |
my ($conserver,$querytmp, |
|
$customtmp,$customshowtmp)=split(/&/,$userinput); |
my $query=unescape($querytmp); |
my $query=unescape($querytmp); |
my $custom=unescape($customtmp); |
my $custom=unescape($customtmp); |
|
my $customshow=unescape($customshowtmp); |
|
|
#send query id which is pid_unixdatetime_runningcounter |
#send query id which is pid_unixdatetime_runningcounter |
$queryid = $thisserver; |
$queryid = $thisserver; |
Line 223 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 $subsetflag=0; |
unless ($sth->execute()) |
unless ($sth->execute()) |
{ |
{ |
&logthis("<font color=blue>WARNING: Could not retrieve from database: $@</font>"); |
&logthis("<font color=blue>WARNING: Could not retrieve from database: $@</font>"); |
Line 233 sub make_new_child {
|
Line 240 sub make_new_child {
|
} |
} |
else { |
else { |
my $r1=$sth->fetchall_arrayref; |
my $r1=$sth->fetchall_arrayref; |
my @r2; map {my $a=$_; my @b=map {escape($_)} @$a; push @r2,join(",", @b)} (@$r1); |
my @r2; |
|
map {my $a=$_; |
|
my @b=map {escape($_)} @$a; |
|
push @files,@{$a}[3]; |
|
push @r2,join(",", @b) |
|
} (@$r1); |
$result=join("&",@r2); |
$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"); |
@metalist=(); pop @metalist; |
if (@files) { |
&find("$perlvar{'lonDocRoot'}/res"); |
@metalist=map {$perlvar{'lonDocRoot'}.$_.'.meta'} @files; |
&logthis("FILELIST:" . join(":::",@metalist)); |
} |
|
else { |
|
@metalist=(); pop @metalist; |
|
&find("$perlvar{'lonDocRoot'}/res"); |
|
} |
|
# &logthis("FILELIST:" . join(":::",@metalist)); |
# if file is indicated in sql database and |
# if file is indicated in sql database and |
# not part of sql-relevant query, do not pattern match. |
# not part of sql-relevant query, do not pattern match. |
# if file is not in sql database, output error. |
# if file is not in sql database, output error. |
Line 258 sub make_new_child {
|
Line 275 sub make_new_child {
|
'creationdate','keywords','language', |
'creationdate','keywords','language', |
'lastrevisiondate','mime','notes', |
'lastrevisiondate','mime','notes', |
'owner','subject','title') { |
'owner','subject','title') { |
$stuff=~s/\<$f[^\>]*\>.*?<\/$f[^\>]*\>//; |
$stuff=~s/\n?\<$f[^\>]*\>.*?<\/$f[^\>]*\>\n?//; |
} |
} |
&logthis("found: $stuff"); |
my $m2=$m; my $docroot=$perlvar{'lonDocRoot'}; |
$customresult.='&custom='.escape($stuff); |
$m2=~s/^$docroot//; $m2=~s/\.meta$//; |
|
# &logthis("found: $stuff"); |
|
$customresult.='&custom='.escape($m2).','.escape($stuff); |
} |
} |
} |
} |
$result.=$customresult; |
$result.=$customresult; |