version 1.128, 2002/06/24 16:45:22
|
version 1.130, 2002/06/26 16:04:13
|
Line 223 END
|
Line 223 END
|
## |
## |
if ($ENV{'form.basicsubmit'} eq 'SEARCH') { |
if ($ENV{'form.basicsubmit'} eq 'SEARCH') { |
# Perform basic search and give results |
# Perform basic search and give results |
return &basicsearch($r,\%ENV,$hidden); |
return &basicsearch($r,$hidden); |
} elsif ($ENV{'form.advancedsubmit'} eq 'SEARCH') { |
} elsif ($ENV{'form.advancedsubmit'} eq 'SEARCH') { |
# Perform advanced search and give results |
# Perform advanced search and give results |
return &advancedsearch($r,\%ENV,$hidden); |
return &advancedsearch($r,$hidden); |
} elsif ($ENV{'form.reqinterface'} eq 'advanced') { |
} elsif ($ENV{'form.reqinterface'} eq 'advanced') { |
# Output the advanced interface |
# Output the advanced interface |
$r->print(&advanced_search_form($closebutton,$hidden)); |
$r->print(&advanced_search_form($closebutton,$hidden)); |
Line 273 sub basic_search_form{
|
Line 273 sub basic_search_form{
|
$hidden |
$hidden |
<h3>Basic Search</h3> |
<h3>Basic Search</h3> |
<p> |
<p> |
Enter terms or phrases separated by AND, OR, or NOT then press SEARCH below. |
Enter terms or quoted phrases separated by AND, OR, or NOT |
|
then press SEARCH below. |
</p> |
</p> |
<p> |
<p> |
<table> |
<table> |
Line 289 ENDDOCUMENT
|
Line 290 ENDDOCUMENT
|
<p> |
<p> |
<input type="submit" name="basicsubmit" value='SEARCH' /> |
<input type="submit" name="basicsubmit" value='SEARCH' /> |
$closebutton |
$closebutton |
<!-- basic view selection --> |
<!-- view selection --> |
<select name='basicviewselect'> |
<select name="viewselect"> |
<option value='Detailed Citation View' selected="true"> |
<option value="Detailed Citation View" selected="true" >Detailed Citation View</option> |
Detailed Citation View</option> |
<option value="Summary View" >Summary View</option> |
<option value='Summary View'>Summary View</option> |
<option value="Fielded Format">Fielded Format</option> |
<option value='Fielded Format'>Fielded Format</option> |
<option value="XML/SGML" >XML/SGML</option> |
<option value='XML/SGML'>XML/SGML</option> |
|
</select> |
</select> |
<!-- end of basic view selection --> |
<!-- end of view selection --> |
<input type="button" value="HELP" onClick="openhelp()" /> |
<input type="button" value="HELP" onClick="openhelp()" /> |
</p> |
</p> |
</form> |
</form> |
Line 322 Returns a scalar which holds html for th
|
Line 322 Returns a scalar which holds html for th
|
|
|
sub advanced_search_form{ |
sub advanced_search_form{ |
my ($closebutton,$hidden) = @_; |
my ($closebutton,$hidden) = @_; |
|
my $advanced_buttons = <<"END"; |
|
<p> |
|
<input type="submit" name="advancedsubmit" value='SEARCH' /> |
|
<input type="reset" name="reset" value='RESET' /> |
|
$closebutton |
|
<input type="button" value="HELP" onClick="openhelp()" /> |
|
</p> |
|
END |
my $scrout=<<"ENDHEADER"; |
my $scrout=<<"ENDHEADER"; |
<html> |
<html> |
<head> |
<head> |
Line 336 sub advanced_search_form{
|
Line 344 sub advanced_search_form{
|
</head> |
</head> |
<body bgcolor="#FFFFFF"> |
<body bgcolor="#FFFFFF"> |
<img align='right' src='/adm/lonIcons/lonlogos.gif' /> |
<img align='right' src='/adm/lonIcons/lonlogos.gif' /> |
<h1>Search Catalog</h1> |
<h1>Advanced Catalog Search</h1> |
|
<hr /> |
|
Enter terms or quoted phrases separated by search operators |
|
such as AND, OR, or NOT.<br /> |
<form method="post" action="/adm/searchcat"> |
<form method="post" action="/adm/searchcat"> |
|
$advanced_buttons |
$hidden |
$hidden |
<hr /> |
<table> |
<h3>Advanced Search</h3> |
<tr><td><font color="#800000" face="helvetica"><b>VIEW:</b></font></td> |
|
<td> |
|
<!-- view selection --> |
|
<select name="viewselect" size ="1"> |
|
<option value="Detailed Citation View" selected="true">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 of view selection --> |
|
</td></tr> |
ENDHEADER |
ENDHEADER |
$scrout.=&searchphrasefield('Limit by title','title', |
$scrout.=&searchphrasefield('title','title', |
$ENV{'form.title'}); |
$ENV{'form.title'}); |
$scrout.=&searchphrasefield('Limit by author','author', |
$scrout.=&searchphrasefield('author','author', |
$ENV{'form.author'}); |
$ENV{'form.author'}); |
$scrout.=&searchphrasefield('Limit by subject','subject', |
$scrout.=&searchphrasefield('subject','subject', |
$ENV{'form.subject'}); |
$ENV{'form.subject'}); |
$scrout.=&searchphrasefield('Limit by keywords','keywords', |
$scrout.=&searchphrasefield('keywords','keywords', |
$ENV{'form.keywords'}); |
$ENV{'form.keywords'}); |
$scrout.=&searchphrasefield('Limit by URL','url', |
$scrout.=&searchphrasefield('URL','url', |
$ENV{'form.url'}); |
$ENV{'form.url'}); |
# $scrout.=&searchphrasefield('Limit by version','version', |
# $scrout.=&searchphrasefield('Limit by version','version', |
# $ENV{'form.version'}); |
# $ENV{'form.version'}); |
$scrout.=&searchphrasefield('Limit by notes','notes', |
$scrout.=&searchphrasefield('notes','notes', |
$ENV{'form.notes'}); |
$ENV{'form.notes'}); |
$scrout.=&searchphrasefield('Limit by abstract','abstract', |
$scrout.=&searchphrasefield('abstract','abstract', |
$ENV{'form.abstract'}); |
$ENV{'form.abstract'}); |
$ENV{'form.mime'}='any' unless length($ENV{'form.mime'}); |
# Hack - an empty table row. |
$scrout.=&selectbox('Limit by MIME type','mime', |
$scrout.="<tr><td> </td><td> </td></tr>\n"; |
$ENV{'form.mime'}, |
$scrout.=&searchphrasefield('file<br />extension','mime', |
'any','Any type', |
$ENV{'form.mime'}); |
\&{Apache::loncommon::filedescriptionex}, |
$scrout.="<tr><td> </td><td> </td></tr>\n"; |
(&Apache::loncommon::fileextensions)); |
$scrout.=&searchphrasefield('publisher<br />owner','owner', |
|
$ENV{'form.owner'}); |
|
$scrout.="</table>\n"; |
|
# $ENV{'form.mime'}='any' unless length($ENV{'form.mime'}); |
|
# $scrout.=&selectbox('Limit by MIME type','mime', |
|
# $ENV{'form.mime'}, |
|
# 'any','Any type', |
|
# \&{Apache::loncommon::filedescriptionex}, |
|
# (&Apache::loncommon::fileextensions)); |
$ENV{'form.language'}='any' unless length($ENV{'form.language'}); |
$ENV{'form.language'}='any' unless length($ENV{'form.language'}); |
$scrout.=&selectbox('Limit by language','language', |
$scrout.=&selectbox('Limit by language','language', |
$ENV{'form.language'},'any','Any Language', |
$ENV{'form.language'},'any','Any Language', |
Line 410 LASTREVISIONDATEEND
|
Line 440 LASTREVISIONDATEEND
|
$ENV{'form.lastrevisiondateend_year'}, |
$ENV{'form.lastrevisiondateend_year'}, |
); |
); |
$scrout.='</p>'; |
$scrout.='</p>'; |
$scrout.=&searchphrasefield('Limit by publisher/owner','owner', |
|
$ENV{'form.owner'}); |
|
$ENV{'form.copyright'}='any' unless length($ENV{'form.copyright'}); |
$ENV{'form.copyright'}='any' unless length($ENV{'form.copyright'}); |
$scrout.=&selectbox('Limit by copyright/distribution','copyright', |
$scrout.=&selectbox('Limit by copyright/distribution','copyright', |
$ENV{'form.copyright'}, |
$ENV{'form.copyright'}, |
Line 440 in a fielded listing for each record res
|
Line 468 in a fielded listing for each record res
|
CUSTOMSHOW |
CUSTOMSHOW |
$scrout.=&simpletextfield('customshow',$ENV{'form.customshow'}); |
$scrout.=&simpletextfield('customshow',$ENV{'form.customshow'}); |
$scrout.=<<ENDDOCUMENT; |
$scrout.=<<ENDDOCUMENT; |
<p> |
$advanced_buttons |
<input type="submit" name="advancedsubmit" value='SEARCH' /> |
|
<input type="reset" name="reset" value='RESET' /> |
|
$closebutton |
|
<!-- advance view select --> |
|
<select name='advancedviewselect'> |
|
<option value='Detailed Citation View' selected="true"> |
|
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 of advanced view select --> |
|
<input type="button" value="HELP" onClick="openhelp()" /> |
|
</p> |
|
</form> |
</form> |
</body> |
</body> |
</html> |
</html> |
Line 534 the day, month, and year.
|
Line 548 the day, month, and year.
|
|
|
=item &selectbox() |
=item &selectbox() |
|
|
Returns html selection form. |
Returns a scalar containing an html <select> form. |
|
|
|
Inputs: |
|
|
|
=over 4 |
|
|
|
=item $title |
|
|
|
Printed above the select box, in uppercase. |
|
|
|
=item $name |
|
|
|
The name element of the <select> tag. |
|
|
|
=item $default |
|
|
|
The default value of the form. Can be $anyvalue or in @idlist. |
|
|
|
=item $anyvalue |
|
|
|
The <option value="..."> used to indicate a default of |
|
none of the values. |
|
|
|
=item $anytag |
|
|
|
The text associate with $anyvalue above. |
|
|
|
=item $functionref |
|
|
|
Each element in @idlist will be passed as a parameter |
|
to the function referenced here. The return value of the function should |
|
be a scalar description of the items. If this value is undefined the |
|
description of each item in @idlist will be the item name. |
|
|
|
=item @idlist |
|
|
|
The items to be selected from. One of these or $anyvalue will be the |
|
value returned by the form element, $ENV{form.$name}. |
|
|
|
=back |
|
|
=back |
=back |
|
|
Line 553 sub simpletextfield {
|
Line 606 sub simpletextfield {
|
sub simplecheckbox { |
sub simplecheckbox { |
my ($name,$value)=@_; |
my ($name,$value)=@_; |
my $checked=''; |
my $checked=''; |
$checked="CHECKED" if $value eq 'on'; |
$checked="checked" if $value eq 'on'; |
return '<input type="checkbox" name="'.$name.'" '. $checked . ' />'; |
return '<input type="checkbox" name="'.$name.'" '. $checked . ' />'; |
} |
} |
|
|
sub searchphrasefield { |
sub searchphrasefield { |
my ($title,$name,$value)=@_; |
my ($title,$name,$value)=@_; |
my $instruction=<<END; |
|
Enter terms or phrases separated by search operators such as AND, OR, or NOT. |
|
END |
|
my $uctitle=uc($title); |
my $uctitle=uc($title); |
return "\n". |
return '<tr><td><font color="#800000" face="helvetica">'. |
'<p><font color="#800000" face="helvetica"><b>'.$uctitle.':</b>'. |
'<b>'.$uctitle.': </b></font></td><td>'. |
"</FONT> $instruction<br />".&simpletextfield($name,$value,80); |
&simpletextfield($name,$value,50)."</td></tr>\n"; |
} |
} |
|
|
sub dateboxes { |
sub dateboxes { |
Line 613 END
|
Line 663 END
|
} |
} |
|
|
sub selectbox { |
sub selectbox { |
my ($title,$name,$value,$anyvalue,$anytag,$functionref,@idlist)=@_; |
my ($title,$name,$default,$anyvalue,$anytag,$functionref,@idlist)=@_; |
|
if (! defined($functionref)) { $functionref = sub { $_[0]}; } |
my $uctitle=uc($title); |
my $uctitle=uc($title); |
my $selout="\n".'<p><font color="#800000" face="helvetica">'. |
my $selout="\n".'<p><font color="#800000" face="helvetica">'. |
'<b>'.$uctitle.':</b></font><br /><select name="'.$name.'">'; |
'<b>'.$uctitle.':</b></font><br /><select name="'.$name.'">'; |
foreach ($anyvalue,@idlist) { |
foreach ($anyvalue,@idlist) { |
$selout.='<option value="'.$_.'"'; |
$selout.='<option value="'.$_.'"'; |
if ($_ eq $value and !/^any$/) { |
if ($_ eq $default and !/^any$/) { |
$selout.=' selected >'.&{$functionref}($_).'</option>'; |
$selout.=' selected >'.&{$functionref}($_).'</option>'; |
} |
} |
elsif ($_ eq $value and /^$anyvalue$/) { |
elsif ($_ eq $default and /^$anyvalue$/) { |
$selout.=' selected >'.$anytag.'</option>'; |
$selout.=' selected >'.$anytag.'</option>'; |
} |
} |
else {$selout.='>'.&{$functionref}($_).'</option>';} |
else {$selout.='>'.&{$functionref}($_).'</option>';} |
} |
} |
return $selout.'</select>'; |
return $selout.'</select></p>'; |
} |
} |
|
|
###################################################################### |
###################################################################### |
Line 644 Parse advanced search results.
|
Line 695 Parse advanced search results.
|
###################################################################### |
###################################################################### |
###################################################################### |
###################################################################### |
sub advancedsearch { |
sub advancedsearch { |
my ($r,$envhash,$hidden)=@_; |
my ($r,$hidden)=@_; |
my %ENV=%{$envhash}; |
|
my $fillflag=0; |
my $fillflag=0; |
# Clean up fields for safety |
# Clean up fields for safety |
for my $field ('title','author','subject','keywords','url','version', |
for my $field ('title','author','subject','keywords','url','version', |
Line 682 sub advancedsearch {
|
Line 732 sub advancedsearch {
|
my @queries; |
my @queries; |
# Evaluate logical expression AND/OR/NOT phrase fields. |
# Evaluate logical expression AND/OR/NOT phrase fields. |
foreach my $field ('title','author','subject','notes','abstract','url', |
foreach my $field ('title','author','subject','notes','abstract','url', |
'keywords','version','owner') { |
'keywords','version','owner','mime') { |
if ($ENV{'form.'.$field}) { |
if ($ENV{'form.'.$field}) { |
push @queries,&build_SQL_query($field,$ENV{'form.'.$field}); |
push @queries,&build_SQL_query($field,$ENV{'form.'.$field}); |
} |
} |
Line 691 sub advancedsearch {
|
Line 741 sub advancedsearch {
|
if ($ENV{'form.language'} and $ENV{'form.language'} ne 'any') { |
if ($ENV{'form.language'} and $ENV{'form.language'} ne 'any') { |
push @queries,"(language like \"$ENV{'form.language'}\")"; |
push @queries,"(language like \"$ENV{'form.language'}\")"; |
} |
} |
if ($ENV{'form.mime'} and $ENV{'form.mime'} ne 'any') { |
# if ($ENV{'form.mime'} and $ENV{'form.mime'} ne 'any') { |
push @queries,"(mime like \"$ENV{'form.mime'}\")"; |
# push @queries,"(mime like \"$ENV{'form.mime'}\")"; |
} |
# } |
if ($ENV{'form.copyright'} and $ENV{'form.copyright'} ne 'any') { |
if ($ENV{'form.copyright'} and $ENV{'form.copyright'} ne 'any') { |
push @queries,"(copyright like \"$ENV{'form.copyright'}\")"; |
push @queries,"(copyright like \"$ENV{'form.copyright'}\")"; |
} |
} |
Line 747 sub advancedsearch {
|
Line 797 sub advancedsearch {
|
$reply=&Apache::lonnet::metadata_query($query, |
$reply=&Apache::lonnet::metadata_query($query, |
$customquery,$customshow); |
$customquery,$customshow); |
} |
} |
&output_results('Advanced',$r,$envhash,$customquery,$reply,$hidden); |
&output_results('Advanced',$r,$customquery,$reply,$hidden); |
return OK; |
return OK; |
} elsif ($customquery) { |
} elsif ($customquery) { |
my $reply; # reply hash reference |
my $reply; # reply hash reference |
$reply=&Apache::lonnet::metadata_query('', |
$reply=&Apache::lonnet::metadata_query('', |
$customquery,$customshow); |
$customquery,$customshow); |
&output_results('Advanced',$r,$envhash,$customquery,$reply,$hidden); |
&output_results('Advanced',$r,$customquery,$reply,$hidden); |
return OK; |
return OK; |
} |
} |
# should not get to this point |
# should not get to this point |
Line 774 Parse basic search form.
|
Line 824 Parse basic search form.
|
###################################################################### |
###################################################################### |
###################################################################### |
###################################################################### |
sub basicsearch { |
sub basicsearch { |
my ($r,$envhash,$hidden)=@_; |
my ($r,$hidden)=@_; |
my %ENV=%{$envhash}; |
|
# Clean up fields for safety |
# Clean up fields for safety |
for my $field ('basicexp') { |
for my $field ('basicexp') { |
$ENV{"form.$field"}=~s/[^\w\s\(\)\-]//g; |
$ENV{"form.$field"}=~s/[^\w\s\(\)\-]//g; |
Line 808 sub basicsearch {
|
Line 857 sub basicsearch {
|
# &Apache::lonnet::logthis("metadata query finished:".time); |
# &Apache::lonnet::logthis("metadata query finished:".time); |
# Output search results |
# Output search results |
|
|
&output_results('Basic',$r,$envhash,$query,$reply,$hidden); |
&output_results('Basic',$r,$query,$reply,$hidden); |
|
|
return OK; |
return OK; |
} |
} |
Line 1000 contacted, etc.)
|
Line 1049 contacted, etc.)
|
sub output_results { |
sub output_results { |
# &Apache::lonnet::logthis("output_results:".time); |
# &Apache::lonnet::logthis("output_results:".time); |
my $fnum; # search result counter |
my $fnum; # search result counter |
my ($mode,$r,$envhash,$query,$replyref,$hidden)=@_; |
my ($mode,$r,$query,$replyref,$hidden)=@_; |
my %ENV=%{$envhash}; |
|
my %rhash=%{$replyref}; |
my %rhash=%{$replyref}; |
my $compiledresult=''; |
my $compiledresult=''; |
my $timeremain=300; # (seconds) |
my $timeremain=300; # (seconds) |
my $elapsetime=0; |
my $elapsetime=0; |
my $resultflag=0; |
my $resultflag=0; |
my $tflag=1; |
my $tflag=1; |
|
my $viewselect=$ENV{'form.viewselect'}; |
# |
# |
# make query information persistent to allow for subsequent revision |
# make query information persistent to allow for subsequent revision |
my $persistent=&make_persistent(); |
my $persistent=&make_persistent(); |
# spit out the generic header |
# spit out the results header |
$r->print(&search_results_header()); |
$r->print(&search_results_header($mode)); |
$r->rflush(); |
$r->rflush(); |
# begin showing the cataloged results |
# begin showing the cataloged results |
$r->print(<<CATALOGBEGIN); |
my $action = "/adm/searchcat"; |
</head> |
if ($mode eq 'Basic') { |
<body bgcolor="#ffffff"> |
$action .= "?reqinterface=basic"; |
<img align=right src=/adm/lonIcons/lonlogos.gif> |
} elsif ($mode eq 'Advanced') { |
<h1>Search Catalog</h1> |
$action .= "?reqinterface=advanced"; |
CATALOGBEGIN |
} |
$r->print(<<CATALOGCONTROLS); |
$r->print(<<CATALOGCONTROLS); |
<form name='results' method="post" action="/adm/searchcat"> |
<form name='results' method="post" action="$action"> |
$hidden |
$hidden |
<input type='hidden' name='acts' value='' /> |
<input type='hidden' name='acts' value='' /> |
<input type='button' value='Revise search request' |
<input type='button' value='Revise search request' |
Line 1031 $importbutton
|
Line 1080 $importbutton
|
$closebutton |
$closebutton |
$persistent |
$persistent |
<hr /> |
<hr /> |
<h3>Search Query</h3> |
|
CATALOGCONTROLS |
CATALOGCONTROLS |
# |
# |
# Remind them what they searched for |
|
# |
|
if ($mode eq 'Basic') { |
|
$r->print('<p><b>Basic search:</b> '.$ENV{'form.basicexp'}.'</p>'); |
|
} elsif ($mode eq 'Advanced') { |
|
$r->print('<p><b>Advanced search</b> '.$query.'</p>'); |
|
} |
|
$r->print('<h3>Search Results</h3>'); |
|
$r->rflush(); |
|
# |
|
# make the pop-up window for status |
# make the pop-up window for status |
# |
# |
$r->print(&make_popwin(%rhash)); |
$r->print(&make_popwin(%rhash)); |
Line 1147 CATALOGCONTROLS
|
Line 1185 CATALOGCONTROLS
|
$Fields{'extrashow'}=~s/\<\!\-\- $field \-\-\>/ $value/g; |
$Fields{'extrashow'}=~s/\<\!\-\- $field \-\-\>/ $value/g; |
} |
} |
} |
} |
if ($compiledresult or $servercount!=$servernum) { |
|
$compiledresult.="<hr align='left' width='200' noshade />"; |
|
} |
|
$compiledresult.="\n<p>\n"; |
$compiledresult.="\n<p>\n"; |
if ($ENV{'form.catalogmode'} eq 'interactive') { |
if ($ENV{'form.catalogmode'} eq 'interactive') { |
my $titleesc=$Fields{'title'}; |
my $titleesc=$Fields{'title'}; |
Line 1176 END
|
Line 1211 END
|
# <input type="hidden" name="url$fnum" value="$url" /> |
# <input type="hidden" name="url$fnum" value="$url" /> |
$fnum++; |
$fnum++; |
} |
} |
my $viewselect; |
|
if ($mode eq 'Basic') { |
|
$viewselect=$ENV{'form.basicviewselect'}; |
|
} |
|
elsif ($mode eq 'Advanced') { |
|
$viewselect=$ENV{'form.advancedviewselect'}; |
|
} |
|
if ($viewselect eq 'Detailed Citation View') { |
if ($viewselect eq 'Detailed Citation View') { |
$compiledresult.=&detailed_citation_view |
$compiledresult.=&detailed_citation_view |
(%Fields, hostname => $rkey ); |
(%Fields, hostname => $rkey ); |
Line 1199 END
|
Line 1227 END
|
$compiledresult.=&xml_sgml_view |
$compiledresult.=&xml_sgml_view |
(%Fields, hostname => $rkey ); |
(%Fields, hostname => $rkey ); |
} |
} |
|
if ($compiledresult or $servercount!=$servernum) { |
|
$compiledresult.="<hr align='left' width='200' noshade />"; |
|
} |
} |
} |
untie %hash; |
untie %hash; |
} |
} |
Line 1347 sub handle_custom_fields {
|
Line 1378 sub handle_custom_fields {
|
|
|
=item &search_results_header |
=item &search_results_header |
|
|
Output the proper javascript code to deal with different calling modes. |
Output the proper html headers and javascript code to deal with different |
|
calling modes. |
|
|
|
Takes most inputs directly from %ENV, except $mode. |
|
|
|
=over 4 |
|
|
|
=item $mode is either (at this writing) 'Basic' or 'Advanced' |
|
|
|
=back |
|
|
Takes inputs directly from from %ENV. The following environment variables |
The following environment variables are checked: |
are checked: |
|
|
|
=over 4 |
=over 4 |
|
|
Line 1373 Checked for existance & 'edit' mode.
|
Line 1412 Checked for existance & 'edit' mode.
|
###################################################################### |
###################################################################### |
###################################################################### |
###################################################################### |
sub search_results_header { |
sub search_results_header { |
|
my ($mode) = @_; |
|
$mode = lc($mode); |
|
my $title; |
|
if ($mode eq 'advanced') { |
|
$title = "Advanced Search Results"; |
|
} elsif ($mode eq 'basic') { |
|
$title = "Basic Search Results"; |
|
} |
my $result = ''; |
my $result = ''; |
# output beginning of search page |
# output beginning of search page |
$result.=<<BEGINNING; |
$result.=<<BEGINNING; |
<html> |
<html> |
<head> |
<head> |
<title>The LearningOnline Network with CAPA</title> |
<title>$title</title> |
BEGINNING |
BEGINNING |
# conditional output of script functions dependent on the mode in |
# conditional output of script functions dependent on the mode in |
# which the search was invoked |
# which the search was invoked |
Line 1461 SCRIPT
|
Line 1508 SCRIPT
|
} |
} |
</script> |
</script> |
SCRIPT |
SCRIPT |
|
$result.=<<END; |
|
</head> |
|
<body bgcolor="#ffffff"> |
|
<img align=right src=/adm/lonIcons/lonlogos.gif> |
|
<h1>$title</h1> |
|
END |
return $result; |
return $result; |
} |
} |
|
|
Line 1584 extra custom metadata to show.
|
Line 1637 extra custom metadata to show.
|
sub detailed_citation_view { |
sub detailed_citation_view { |
my %values = @_; |
my %values = @_; |
my $result=<<END; |
my $result=<<END; |
<i>$values{'owner'}</i>, last revised $values{'lastrevisiondate'} |
|
<h3><a href="http://$ENV{'HTTP_HOST'}$values{'url'}" |
<h3><a href="http://$ENV{'HTTP_HOST'}$values{'url'}" |
target='search_preview'>$values{'title'}</a></h3> |
target='search_preview'>$values{'title'}</a></h3> |
<h3>$values{'author'}</h3> |
|
</p> |
|
<p> |
<p> |
<b>Subject:</b> $values{'subject'}<br /> |
<b>$values{'author'}</b>, <i>$values{'owner'}</i><br /> |
<b>Keyword(s):</b> $values{'keywords'}<br /> |
|
<b>Notes:</b> $values{'notes'}<br /> |
<b>Subject: </b> $values{'subject'}<br /> |
<b>MIME Type:</b> |
<b>Keyword(s): </b> $values{'keywords'}<br /> |
END |
<b>Notes: </b> $values{'notes'}<br /> |
$result.=&Apache::loncommon::filedescription($values{'mime'}); |
<b>MIME Type: </b> $values{'mimetag'}<br /> |
$result.=<<END; |
<b>Language: </b> $values{'language'}<br /> |
<br /> |
<b>Copyright/Distribution:</b> $values{'cprtag'}<br /> |
<b>Language:</b> |
|
END |
|
$result.=&Apache::loncommon::languagedescription($values{'lang'}); |
|
$result.=<<END; |
|
<br /> |
|
<b>Copyright/Distribution:</b> |
|
END |
|
$result.=&Apache::loncommon::copyrightdescription($values{'copyright'}); |
|
$result.=<<END; |
|
<br /> |
|
</p> |
</p> |
$values{'extrashow'} |
$values{'extrashow'} |
<p> |
<p> |