--- loncom/interface/lonsearchcat.pm 2001/03/26 21:24:12 1.77 +++ loncom/interface/lonsearchcat.pm 2001/03/27 19:05:02 1.84 @@ -560,21 +560,30 @@ sub advancedsearch { $customquery=&build_custommetadata_query('custommetadata', $ENV{'form.custommetadata'}); } + my $customshow=''; + if ($ENV{'form.customshow'}) { + $customshow=$ENV{'form.customshow'}; + $customshow=~s/[^\w\s]//g; + my @fields=split(/\s+/,$customshow); + $customshow=join(" ",@fields); + } if (@queries) { $query=join(" AND ",@queries); $query="select * from metadata where $query"; my $reply=''; - unless ($customquery) { + unless ($customquery or $customshow) { $reply=&Apache::lonnet::metadata_query($query); } else { - $reply=&Apache::lonnet::metadata_query($query,$customquery); + $reply=&Apache::lonnet::metadata_query($query, + $customquery,$customshow); } &output_results('Advanced',$r,$envhash,$customquery,$reply); } else { &output_results('Advanced',$r,$envhash,$query); } + $r->print(' '); return OK; } @@ -683,9 +692,19 @@ sub output_results { $customshow=~s/[^\w\s]//g; my @fields=map {"$_:"} split(/\s+/,$customshow); - $extrashow="\n"; + if ($customshow) { + $extrashow="\n"; + } } + my $customdata=''; foreach my $result (@results) { + if ($result=~/^(custom\=.*)$/) { # grab all custom metadata + $customdata.=$result; + } + } + foreach my $result (@results) { + next if $result=~/^custom\=/; + chomp $result; my @fields=map {&Apache::lonnet::unescape($_)} (split(/\,/,$result)); @@ -770,6 +789,7 @@ SCRIPT

Search Catalog

+$customdata $closebutton @@ -875,7 +895,9 @@ sub detailed_citation_view { MIME Type: $mimetag{$mime}
Language: $language{$lang}
Copyright/Distribution: $cprtag{$copyright}
+

$extrashow +

$shortabstract

END