version 1.197, 2003/12/27 17:32:08
|
version 1.198, 2003/12/27 23:04:28
|
Line 293 END
|
Line 293 END
|
} |
} |
# Set up table |
# Set up table |
if (! defined(&create_results_table())) { |
if (! defined(&create_results_table())) { |
|
my $errorstring=&Apache::lonmysql::get_error(); |
$r->print(<<END); |
$r->print(<<END); |
<html><head><title>Search Error</title></head> |
<html><head><title>Search Error</title></head> |
$bodytag |
$bodytag |
Unable to create table in which to store search results. |
Unable to create table in which to store search results. |
The search has been aborted. |
The search has been aborted. |
|
<br />$errorstring |
</body> |
</body> |
</html> |
</html> |
END |
END |
Line 646 ENDHEADER
|
Line 648 ENDHEADER
|
$ENV{'form.notes'}); |
$ENV{'form.notes'}); |
$scrout.=&searchphrasefield_with_related('abstract','abstract', |
$scrout.=&searchphrasefield_with_related('abstract','abstract', |
$ENV{'form.abstract'}); |
$ENV{'form.abstract'}); |
|
$scrout.=&searchphrasefield('Standards','standards',$ENV{'form.standards'}); |
# Hack - an empty table row. |
# Hack - an empty table row. |
$scrout.="<tr><td> </td><td> </td><td> </td></tr>\n"; |
$scrout.="<tr><td> </td><td> </td><td> </td></tr>\n"; |
$scrout.=&searchphrasefield('file<br />extension','extension', |
$scrout.=&searchphrasefield('file<br />extension','extension', |
Line 1899 my @Datatypes =
|
Line 1902 my @Datatypes =
|
{ name => 'notes', type=>'TEXT'}, |
{ name => 'notes', type=>'TEXT'}, |
{ name => 'abstract', type=>'TEXT'}, |
{ name => 'abstract', type=>'TEXT'}, |
{ name => 'mime', type=>'TEXT'}, |
{ name => 'mime', type=>'TEXT'}, |
{ name => 'lang', type=>'TEXT'}, |
{ name => 'language', type=>'TEXT'}, |
{ name => 'owner', type=>'TEXT'}, |
{ name => 'owner', type=>'TEXT'}, |
{ name => 'copyright', type=>'TEXT'}, |
{ name => 'copyright', type=>'TEXT'}, |
{ name => 'hostname', type=>'TEXT'}, |
{ name => 'dependencies', type=>'TEXT'}, |
|
{ name => 'modifyinguser', type=>'TEXT'}, |
|
{ name => 'authorspace', type=>'TEXT'}, |
|
{ name => 'lowestgradelevel', type=>'INT'}, |
|
{ name => 'highestgradelevel', type=>'INT'}, |
|
{ name => 'standards', type=>'TEXT'}, |
|
{ name => 'count', type=>'INT'}, |
|
{ name => 'course', type=>'INT'}, |
|
{ name => 'course_list', type=>'TEXT'}, |
|
{ name => 'goto', type=>'INT'}, |
|
{ name => 'goto_list', type=>'TEXT'}, |
|
{ name => 'comefrom', type=>'INT'}, |
|
{ name => 'comefrom_list', type=>'TEXT'}, |
|
{ name => 'sequsage', type=>'INT'}, |
|
{ name => 'sequsage_list', type=>'TEXT'}, |
|
{ name => 'stdno', type=>'INT'}, |
|
{ name => 'stdno_list', type=>'TEXT'}, |
|
{ name => 'avetries', type=>'FLOAT'}, |
|
{ name => 'avetries_list', type=>'TEXT'}, |
|
{ name => 'difficulty', type=>'FLOAT'}, |
|
{ name => 'difficulty_list', type=>'TEXT'}, |
|
{ name => 'clear', type=>'FLOAT'}, |
|
{ name => 'technical', type=>'FLOAT'}, |
|
{ name => 'correct', type=>'FLOAT'}, |
|
{ name => 'helpful', type=>'FLOAT'}, |
|
{ name => 'depth', type=>'FLOAT'}, |
|
{ name => 'hostname', type=> 'TEXT'}, |
#-------------------------------------------------- |
#-------------------------------------------------- |
{ name => 'creationdate', type=>'DATETIME'}, |
{ name => 'creationdate', type=>'DATETIME'}, |
{ name => 'lastrevisiondate', type=>'DATETIME'}, |
{ name => 'lastrevisiondate', type=>'DATETIME'}, |
Line 2467 sub parse_row {
|
Line 2496 sub parse_row {
|
$Fields{$Datatypes[$i]->{'name'}}=&Apache::lonnet::unescape($Row[$i]); |
$Fields{$Datatypes[$i]->{'name'}}=&Apache::lonnet::unescape($Row[$i]); |
} |
} |
$Fields{'language'} = |
$Fields{'language'} = |
&Apache::loncommon::languagedescription($Fields{'lang'}); |
&Apache::loncommon::languagedescription($Fields{'language'}); |
$Fields{'copyrighttag'} = |
$Fields{'copyrighttag'} = |
&Apache::loncommon::copyrightdescription($Fields{'copyright'}); |
&Apache::loncommon::copyrightdescription($Fields{'copyright'}); |
$Fields{'mimetag'} = |
$Fields{'mimetag'} = |
Line 2483 sub parse_row {
|
Line 2512 sub parse_row {
|
=item &parse_raw_result() |
=item &parse_raw_result() |
|
|
Takes a line from the file of results and parse it. Returns a hash |
Takes a line from the file of results and parse it. Returns a hash |
with keys for the following fields: |
with keys according to column labels |
'title', 'author', 'subject', 'url', 'keywords', 'version', 'notes', |
|
'abstract', 'mime', 'lang', 'owner', 'copyright', 'creationdate', |
|
'lastrevisiondate'. |
|
|
|
In addition, the following tags are set by calling the appropriate |
In addition, the following tags are set by calling the appropriate |
lonnet function: 'language', 'cprtag', 'mimetag'. |
lonnet function: 'language', 'copyrighttag', 'mimetag'. |
|
|
The 'title' field is set to "Untitled" if the title field is blank. |
The 'title' field is set to "Untitled" if the title field is blank. |
|
|
Line 2510 sub parse_raw_result {
|
Line 2536 sub parse_raw_result {
|
my @fields=map { |
my @fields=map { |
&Apache::lonnet::unescape($_); |
&Apache::lonnet::unescape($_); |
} (split(/\,/,$result)); |
} (split(/\,/,$result)); |
my ($title,$author,$subject,$url,$keywords,$version, |
# conclude from self to others regarding fields |
$notes,$abstract,$mime,$lang, |
my @columns=&Apache::lonmysql::col_order('metadata'); |
$creationdate,$lastrevisiondate,$owner,$copyright)=@fields; |
my %Fields=(); |
my %Fields = |
for (my $i=0; $i<=$#columns; $i++) { |
( title => &Apache::lonnet::unescape($title), |
$Fields{$columns[$i]}=$fields[$i]; |
author => &Apache::lonnet::unescape($author), |
} |
subject => &Apache::lonnet::unescape($subject), |
# prettier display |
url => &Apache::lonnet::unescape($url), |
|
keywords => &Apache::lonnet::unescape($keywords), |
|
version => &Apache::lonnet::unescape($version), |
|
notes => &Apache::lonnet::unescape($notes), |
|
abstract => &Apache::lonnet::unescape($abstract), |
|
mime => &Apache::lonnet::unescape($mime), |
|
lang => &Apache::lonnet::unescape($lang), |
|
owner => &Apache::lonnet::unescape($owner), |
|
copyright => &Apache::lonnet::unescape($copyright), |
|
creationdate => &Apache::lonnet::unescape($creationdate), |
|
lastrevisiondate => &Apache::lonnet::unescape($lastrevisiondate) |
|
); |
|
$Fields{'language'} = |
$Fields{'language'} = |
&Apache::loncommon::languagedescription($Fields{'lang'}); |
&Apache::loncommon::languagedescription($Fields{'language'}); |
$Fields{'copyrighttag'} = |
$Fields{'copyrighttag'} = |
&Apache::loncommon::copyrightdescription($Fields{'copyright'}); |
&Apache::loncommon::copyrightdescription($Fields{'copyright'}); |
$Fields{'mimetag'} = |
$Fields{'mimetag'} = |
Line 2544 sub parse_raw_result {
|
Line 2558 sub parse_raw_result {
|
$Fields{'title'}='Untitled'; |
$Fields{'title'}='Untitled'; |
} |
} |
unless ($ENV{'user.adv'}) { |
unless ($ENV{'user.adv'}) { |
# What is this anyway? |
# do not show descriptive information to non-advanced users |
$Fields{'keywords'} = '- not displayed -'; |
$Fields{'keywords'} = '- not displayed -'; |
$Fields{'notes'} = '- not displayed -'; |
$Fields{'notes'} = '- not displayed -'; |
$Fields{'abstract'} = '- not displayed -'; |
$Fields{'abstract'} = '- not displayed -'; |
Line 2836 sub detailed_citation_view {
|
Line 2850 sub detailed_citation_view {
|
<b>Notes: </b> $values{'notes'}<br /> |
<b>Notes: </b> $values{'notes'}<br /> |
<b>MIME Type: </b> $values{'mimetag'}<br /> |
<b>MIME Type: </b> $values{'mimetag'}<br /> |
<b>Language: </b> $values{'language'}<br /> |
<b>Language: </b> $values{'language'}<br /> |
<b>Copyright/Distribution:</b> $values{'cprtag'}<br /> |
<b>Copyright/Distribution:</b> $values{'copyrighttag'}<br /> |
</p> |
</p> |
$values{'extrashow'} |
$values{'extrashow'} |
<p> |
<p> |
Line 2965 $prefix
|
Line 2979 $prefix
|
<mimetag>$values{'mimetag'}</mimetag> |
<mimetag>$values{'mimetag'}</mimetag> |
</mimeInfo> |
</mimeInfo> |
<languageInfo> |
<languageInfo> |
<language>$values{'lang'}</language> |
<language>$values{'language'}</language> |
<languagetag>$values{'language'}</languagetag> |
<languagetag>$values{'languagetag'}</languagetag> |
</languageInfo> |
</languageInfo> |
<creationdate>$values{'creationdate'}</creationdate> |
<creationdate>$values{'creationdate'}</creationdate> |
<lastrevisiondate>$values{'lastrevisiondate'}</lastrevisiondate> |
<lastrevisiondate>$values{'lastrevisiondate'}</lastrevisiondate> |