--- loncom/interface/lonsearchcat.pm 2001/03/21 00:32:33 1.45 +++ loncom/interface/lonsearchcat.pm 2001/03/21 02:27:11 1.53 @@ -51,6 +51,15 @@ my $scrout; my %metadatafields; my %cprtag; my %mimetag; +my $closebutton; +my $viewselect=< + + + + + +END sub handler { my $r = shift; @@ -76,6 +85,10 @@ sub handler { END + $closebutton=< +END + # ------------------------------------------------ First, check out environment $metadatafields{'owner'}=$ENV{'user.name'}.'@'.$ENV{'user.domain'}; @@ -248,7 +261,8 @@ ENDDOCUMENT
- +$closebutton +$viewselect


Advanced Search

@@ -256,7 +270,8 @@ $scrout

- +$closebutton +$viewselect

@@ -477,8 +492,8 @@ sub advancedsearch { } } if (@queries) { - $query="(" . (join(") and ("),@queries) . ")"; - $query="select * from metadata where $testquery"; + $query=join(" and ",@queries); + $query="select * from metadata where $query"; my $reply=&Apache::lonnet::metadata_query($query); &output_results('Advanced',$r,$envhash,$query,$reply); } @@ -549,8 +564,7 @@ BEGINNING $persistent - +$closebutton

Helpful Message

@@ -579,7 +593,7 @@ sub output_results { $replyfile=$r->dir_config('lonDaemons').'/tmp/'.$1; $reply=~/(.*?)\_/; my $hostname=$1; - + sleep 3; # temporary fix, need to check for completion and status { while (1) { last if -e $replyfile; @@ -593,14 +607,17 @@ sub output_results { } foreach my $result (@results) { + my @fields=map + {&Apache::lonnet::unescape($_)} + (split(/\,/,$result)); my ($title,$author,$subject,$url,$keywords,$version, $notes,$abstract,$mime,$lang, - $creationdate,$lastrevisiondate,$owner,$copyright - )=map {&Apache::lonnet::unescape($_)} (split(/\,/,$result)); + $creationdate,$lastrevisiondate,$owner,$copyright)=@fields; my $shortabstract=$abstract; $shortabstract=substr($abstract,0,200) if length($abstract)>200; + $fields[7]=$shortabstract; $compiledresult.=< +

($title) END $compiledresult.=<$url -
-Title: $title
-Author(s): $author
-Subject: $subject
-Keyword(s): $keywords
-Notes: $notes
-Abstract: $shortabstract
-MIME Type: $mimetag{$mime}
-Language: $language{$lang}
-Creation Date: $creationdate
-Last Revision Date: $lastrevisiondate
-Publisher/Owner: $owner
-Copyright/Distribution: $copyright
-Repository Location: $hostname -

-END + my $httphost=$ENV{'HTTP_HOST'}; + + if ($ENV{'form.viewselect'} eq 'Detailed Citation View') { + $compiledresult.=&detailed_citation_view(@fields, + $hostname,$httphost); + } + elsif ($ENV{'form.viewselect'} eq 'Summary View') { + $compiledresult.=&summary_view(@fields,$hostname,$httphost); + } + elsif ($ENV{'form.viewselect'} eq 'Fielded Format') { + $compiledresult.=&fielded_format_view(@fields,$hostname, + $httphost); + } + elsif ($ENV{'form.viewselect'} eq 'XML/SGML') { + $compiledresult.=&xml_sgml_view(@fields,$hostname,$httphost); + } + } unless ($compiledresult) { @@ -676,8 +692,7 @@ SCRIPT
- +$closebutton $persistent

Search Query

@@ -747,5 +762,117 @@ sub recursive_SQL_query_build { &recursive_SQL_query_build($dkey,$pattern); } +# ------------------------------------------------------ Detailed Citation View +sub detailed_citation_view { + my ($title,$author,$subject,$url,$keywords,$version, + $notes,$shortabstract,$mime,$lang, + $creationdate,$lastrevisiondate,$owner,$copyright, + $hostname,$httphost)=@_; + my $result=<URL: $url +
+Title: $title
+Author(s): $author
+Subject: $subject
+Keyword(s): $keywords
+Notes: $notes
+Abstract: $shortabstract
+MIME Type: $mimetag{$mime}
+Language: $language{$lang}
+Creation Date: $creationdate
+Last Revision Date: $lastrevisiondate
+Publisher/Owner: $owner
+Copyright/Distribution: $copyright
+Repository Location: $hostname +

+END + return $result; +} + +# ---------------------------------------------------------------- Summary View +sub summary_view { + my ($title,$author,$subject,$url,$keywords,$version, + $notes,$shortabstract,$mime,$lang, + $creationdate,$lastrevisiondate,$owner,$copyright, + $hostname,$httphost)=@_; + my $result=<URL: $url +
+Title: $title
+Author(s): $author
+Subject: $subject
+Keyword(s): $keywords
+Notes: $notes
+Abstract: $shortabstract
+MIME Type: $mimetag{$mime}
+Language: $language{$lang}
+Creation Date: $creationdate
+Last Revision Date: $lastrevisiondate
+Publisher/Owner: $owner
+Copyright/Distribution: $copyright
+Repository Location: $hostname +

+END + return $result; +} + +# -------------------------------------------------------------- Fielded Format +sub fielded_format_view { + my ($title,$author,$subject,$url,$keywords,$version, + $notes,$shortabstract,$mime,$lang, + $creationdate,$lastrevisiondate,$owner,$copyright, + $hostname,$httphost)=@_; + my $result=<URL: $url +
+Title: $title
+Author(s): $author
+Subject: $subject
+Keyword(s): $keywords
+Notes: $notes
+Abstract: $shortabstract
+MIME Type: $mimetag{$mime}
+Language: $language{$lang}
+Creation Date: $creationdate
+Last Revision Date: $lastrevisiondate
+Publisher/Owner: $owner
+Copyright/Distribution: $copyright
+Repository Location: $hostname +

+END + return $result; +} + +# -------------------------------------------------------------------- XML/SGML +sub xml_sgml_view { + my ($title,$author,$subject,$url,$keywords,$version, + $notes,$shortabstract,$mime,$lang, + $creationdate,$lastrevisiondate,$owner,$copyright, + $hostname,$httphost)=@_; + my $result=<URL: $url +
+Title: $title
+Author(s): $author
+Subject: $subject
+Keyword(s): $keywords
+Notes: $notes
+Abstract: $shortabstract
+MIME Type: $mimetag{$mime}
+Language: $language{$lang}
+Creation Date: $creationdate
+Last Revision Date: $lastrevisiondate
+Publisher/Owner: $owner
+Copyright/Distribution: $copyright
+Repository Location: $hostname +

+END + return $result; +} + 1; __END__