version 1.44, 2001/03/20 17:49:03
|
version 1.51, 2001/03/21 02:18:14
|
Line 51 my $scrout;
|
Line 51 my $scrout;
|
my %metadatafields; |
my %metadatafields; |
my %cprtag; |
my %cprtag; |
my %mimetag; |
my %mimetag; |
|
my $closebutton; |
|
my $viewselect=<<END; |
|
<select name='view'> |
|
<option value='Detailed Citation View'>Detailed Citation View</option> |
|
<option value='Summary View'>Summary View</option> |
|
<option value='Fielded Format'>Fielded Format</option> |
|
<option value='XML/SGML'>XML/SGML</option> |
|
</select> |
|
END |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
Line 76 sub handler {
|
Line 85 sub handler {
|
<input type='hidden' name='catalogmode' value='interactive'> |
<input type='hidden' name='catalogmode' value='interactive'> |
END |
END |
|
|
|
$closebutton=<<END if $ENV{'form.catalogmode'} eq 'interactive'; |
|
<input type="button" name="close" value="CLOSE" onClick="self.close()"> |
|
END |
|
|
# ------------------------------------------------ First, check out environment |
# ------------------------------------------------ First, check out environment |
$metadatafields{'owner'}=$ENV{'user.name'}.'@'.$ENV{'user.domain'}; |
$metadatafields{'owner'}=$ENV{'user.name'}.'@'.$ENV{'user.domain'}; |
|
|
Line 248 ENDDOCUMENT
|
Line 261 ENDDOCUMENT
|
<br> |
<br> |
<input type="submit" name="basicsubmit" value="SEARCH"> |
<input type="submit" name="basicsubmit" value="SEARCH"> |
<input type="reset" name="reset" value="RESET"> |
<input type="reset" name="reset" value="RESET"> |
<input type="button" name="close" value="CLOSE" onClick="self.close()"> |
$closebutton |
|
$viewselect |
</p> |
</p> |
<hr> |
<hr> |
<h3>Advanced Search</h3> |
<h3>Advanced Search</h3> |
Line 256 $scrout
|
Line 270 $scrout
|
<p> |
<p> |
<input type="submit" name="advancedsubmit" value="SEARCH"> |
<input type="submit" name="advancedsubmit" value="SEARCH"> |
<input type="reset" name="reset" value="RESET"> |
<input type="reset" name="reset" value="RESET"> |
<input type="button" name="close" value="CLOSE" onClick="self.close()"> |
$closebutton |
|
$viewselect |
</p> |
</p> |
</form> |
</form> |
</body> |
</body> |
Line 448 sub selectbox {
|
Line 463 sub selectbox {
|
return $selout.'</select>'; |
return $selout.'</select>'; |
} |
} |
|
|
# ------------------------------------------------ Performing a advanced search |
# ----------------------------------------------- Performing an advanced search |
sub advancedsearch { |
sub advancedsearch { |
my ($r,$envhash)=@_; |
my ($r,$envhash)=@_; |
my %ENV=%{$envhash}; |
my %ENV=%{$envhash}; |
Line 469 sub advancedsearch {
|
Line 484 sub advancedsearch {
|
|
|
my $query=''; |
my $query=''; |
|
|
my $testquery=''; |
my @queries; |
# Go through logical expression AND/OR/NOT phrase fields. |
# Go through logical expression AND/OR/NOT phrase fields. |
foreach my $field ('title','author','subject','notes','abstract') { |
foreach my $field ('title','author','subject','notes','abstract') { |
if ($ENV{'form.'.$field}) { |
if ($ENV{'form.'.$field}) { |
$testquery=build_SQL_query($field,$ENV{'form.'.$field}); |
push @queries,&build_SQL_query($field,$ENV{'form.'.$field}); |
} |
} |
} |
} |
|
if (@queries) { |
# my $concatarg=join('," ",', |
$query=join(" and ",@queries); |
# ('title', 'author', 'subject', 'notes', 'abstract')); |
$query="select * from metadata where $query"; |
|
my $reply=&Apache::lonnet::metadata_query($query); |
$query="select * from metadata where $testquery"; |
&output_results('Advanced',$r,$envhash,$query,$reply); |
|
} |
my $reply=&Apache::lonnet::metadata_query($query); |
else { |
|
&output_results('Advanced',$r,$envhash,$query); |
&output_results('Advanced',$r,$envhash,$query,$reply); |
} |
return OK; |
return OK; |
} |
} |
|
|
Line 549 BEGINNING
|
Line 564 BEGINNING
|
$persistent |
$persistent |
<input type='button' value='Revise search request' |
<input type='button' value='Revise search request' |
onClick='this.form.submit();'> |
onClick='this.form.submit();'> |
<input type='button' value='CLOSE' |
$closebutton |
onClick='self.close();'> |
|
<hr> |
<hr> |
<h3>Helpful Message</h3> |
<h3>Helpful Message</h3> |
<p> |
<p> |
Line 593 sub output_results {
|
Line 607 sub output_results {
|
} |
} |
|
|
foreach my $result (@results) { |
foreach my $result (@results) { |
|
my @fields=map |
|
{&Apache::lonnet::unescape($_)} |
|
(split(/\,/,$result)); |
my ($title,$author,$subject,$url,$keywords,$version, |
my ($title,$author,$subject,$url,$keywords,$version, |
$notes,$abstract,$mime,$lang, |
$notes,$abstract,$mime,$lang, |
$creationdate,$lastrevisiondate,$owner,$copyright |
$creationdate,$lastrevisiondate,$owner,$copyright)=@fields; |
)=map {&Apache::lonnet::unescape($_)} (split(/\,/,$result)); |
|
my $shortabstract=$abstract; |
my $shortabstract=$abstract; |
$shortabstract=substr($abstract,0,200) if length($abstract)>200; |
$shortabstract=substr($abstract,0,200) if length($abstract)>200; |
|
$fields[7]=$shortabstract; |
$compiledresult.=<<END; |
$compiledresult.=<<END; |
<p> |
<p> |
END |
END |
Line 608 onClick="javascript:select_data('$title'
|
Line 625 onClick="javascript:select_data('$title'
|
</font> |
</font> |
<br> |
<br> |
END |
END |
$compiledresult.=<<END; |
my $httphost=$ENV{'HTTP_HOST'}; |
<b>URL: </b> <A HREF="http://$ENV{'HTTP_HOST'}$url" TARGET='search_preview'>$url</A> |
if ($ENV{'form.viewselect'} eq 'Detailed Citation View') { |
<br> |
$compiledresult.=&detailed_citation_view(@fields, |
<b>Title:</b> $title<br> |
$hostname,$httphost); |
<b>Author(s):</b> $author<br> |
} |
<b>Subject:</b> $subject<br> |
elsif ($ENV{'form.viewselect'} eq 'Summary View') { |
<b>Keyword(s):</b> $keywords<br> |
$compiledresult.=&summary_view(@fields,$hostname,$httphost); |
<b>Notes:</b> $notes<br> |
} |
<b>Abstract:</b> $shortabstract<br> |
elsif ($ENV{'form.viewselect'} eq 'Fielded Format') { |
<b>MIME Type:</b> $mimetag{$mime}<br> |
$compiledresult.=&fielded_format_view(@fields,$hostname, |
<b>Language:</b> $language{$lang}<br> |
$httphost); |
<b>Creation Date:</b> $creationdate<br> |
} |
<b>Last Revision Date:</b> $lastrevisiondate<br> |
elsif ($ENV{'form.viewselect'} eq 'XML/SGML') { |
<b>Publisher/Owner:</b> $owner<br> |
$compiledresult.=&xml_sgml_view(@fields,$hostname,$httphost); |
<b>Copyright/Distribution:</b> $copyright<br> |
} |
<b>Repository Location:</b> $hostname |
|
</p> |
|
END |
|
} |
} |
|
|
unless ($compiledresult) { |
unless ($compiledresult) { |
Line 676 SCRIPT
|
Line 691 SCRIPT
|
<form method="post" action="/adm/searchcat"> |
<form method="post" action="/adm/searchcat"> |
<input type='button' value='Revise search request' |
<input type='button' value='Revise search request' |
onClick='this.form.submit();'> |
onClick='this.form.submit();'> |
<input type='button' value='CLOSE' |
$closebutton |
onClick='self.close();'> |
|
$persistent |
$persistent |
<hr> |
<hr> |
<h3>Search Query</h3> |
<h3>Search Query</h3> |
Line 747 sub recursive_SQL_query_build {
|
Line 761 sub recursive_SQL_query_build {
|
&recursive_SQL_query_build($dkey,$pattern); |
&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=<<END; |
|
DETAILED |
|
<b>URL: </b> <A HREF="http://$httphost$url" TARGET='search_preview'>$url</A> |
|
<br> |
|
<b>Title:</b> $title<br> |
|
<b>Author(s):</b> $author<br> |
|
<b>Subject:</b> $subject<br> |
|
<b>Keyword(s):</b> $keywords<br> |
|
<b>Notes:</b> $notes<br> |
|
<b>Abstract:</b> $shortabstract<br> |
|
<b>MIME Type:</b> $mimetag{$mime}<br> |
|
<b>Language:</b> $language{$lang}<br> |
|
<b>Creation Date:</b> $creationdate<br> |
|
<b>Last Revision Date:</b> $lastrevisiondate<br> |
|
<b>Publisher/Owner:</b> $owner<br> |
|
<b>Copyright/Distribution:</b> $copyright<br> |
|
<b>Repository Location:</b> $hostname |
|
</p> |
|
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=<<END; |
|
SUMMARY |
|
<b>URL: </b> <A HREF="http://$httphost$url" TARGET='search_preview'>$url</A> |
|
<br> |
|
<b>Title:</b> $title<br> |
|
<b>Author(s):</b> $author<br> |
|
<b>Subject:</b> $subject<br> |
|
<b>Keyword(s):</b> $keywords<br> |
|
<b>Notes:</b> $notes<br> |
|
<b>Abstract:</b> $shortabstract<br> |
|
<b>MIME Type:</b> $mimetag{$mime}<br> |
|
<b>Language:</b> $language{$lang}<br> |
|
<b>Creation Date:</b> $creationdate<br> |
|
<b>Last Revision Date:</b> $lastrevisiondate<br> |
|
<b>Publisher/Owner:</b> $owner<br> |
|
<b>Copyright/Distribution:</b> $copyright<br> |
|
<b>Repository Location:</b> $hostname |
|
</p> |
|
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=<<END; |
|
FIELDED |
|
<b>URL: </b> <A HREF="http://$httphost$url" TARGET='search_preview'>$url</A> |
|
<br> |
|
<b>Title:</b> $title<br> |
|
<b>Author(s):</b> $author<br> |
|
<b>Subject:</b> $subject<br> |
|
<b>Keyword(s):</b> $keywords<br> |
|
<b>Notes:</b> $notes<br> |
|
<b>Abstract:</b> $shortabstract<br> |
|
<b>MIME Type:</b> $mimetag{$mime}<br> |
|
<b>Language:</b> $language{$lang}<br> |
|
<b>Creation Date:</b> $creationdate<br> |
|
<b>Last Revision Date:</b> $lastrevisiondate<br> |
|
<b>Publisher/Owner:</b> $owner<br> |
|
<b>Copyright/Distribution:</b> $copyright<br> |
|
<b>Repository Location:</b> $hostname |
|
</p> |
|
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=<<END; |
|
XML/SGML |
|
<b>URL: </b> <A HREF="http://$httphost$url" TARGET='search_preview'>$url</A> |
|
<br> |
|
<b>Title:</b> $title<br> |
|
<b>Author(s):</b> $author<br> |
|
<b>Subject:</b> $subject<br> |
|
<b>Keyword(s):</b> $keywords<br> |
|
<b>Notes:</b> $notes<br> |
|
<b>Abstract:</b> $shortabstract<br> |
|
<b>MIME Type:</b> $mimetag{$mime}<br> |
|
<b>Language:</b> $language{$lang}<br> |
|
<b>Creation Date:</b> $creationdate<br> |
|
<b>Last Revision Date:</b> $lastrevisiondate<br> |
|
<b>Publisher/Owner:</b> $owner<br> |
|
<b>Copyright/Distribution:</b> $copyright<br> |
|
<b>Repository Location:</b> $hostname |
|
</p> |
|
END |
|
return $result; |
|
} |
|
|
1; |
1; |
__END__ |
__END__ |