--- loncom/interface/lonsearchcat.pm 2003/12/27 17:32:08 1.197 +++ loncom/interface/lonsearchcat.pm 2003/12/27 23:04:28 1.198 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Search Catalog # -# $Id: lonsearchcat.pm,v 1.197 2003/12/27 17:32:08 www Exp $ +# $Id: lonsearchcat.pm,v 1.198 2003/12/27 23:04:28 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -293,11 +293,13 @@ END } # Set up table if (! defined(&create_results_table())) { + my $errorstring=&Apache::lonmysql::get_error(); $r->print(<Search Error $bodytag Unable to create table in which to store search results. The search has been aborted. +
$errorstring END @@ -646,6 +648,7 @@ ENDHEADER $ENV{'form.notes'}); $scrout.=&searchphrasefield_with_related('abstract','abstract', $ENV{'form.abstract'}); + $scrout.=&searchphrasefield('Standards','standards',$ENV{'form.standards'}); # Hack - an empty table row. $scrout.="   \n"; $scrout.=&searchphrasefield('file
extension','extension', @@ -1899,10 +1902,36 @@ my @Datatypes = { name => 'notes', type=>'TEXT'}, { name => 'abstract', type=>'TEXT'}, { name => 'mime', type=>'TEXT'}, - { name => 'lang', type=>'TEXT'}, + { name => 'language', type=>'TEXT'}, { name => 'owner', 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 => 'lastrevisiondate', type=>'DATETIME'}, @@ -2467,7 +2496,7 @@ sub parse_row { $Fields{$Datatypes[$i]->{'name'}}=&Apache::lonnet::unescape($Row[$i]); } $Fields{'language'} = - &Apache::loncommon::languagedescription($Fields{'lang'}); + &Apache::loncommon::languagedescription($Fields{'language'}); $Fields{'copyrighttag'} = &Apache::loncommon::copyrightdescription($Fields{'copyright'}); $Fields{'mimetag'} = @@ -2483,13 +2512,10 @@ sub parse_row { =item &parse_raw_result() Takes a line from the file of results and parse it. Returns a hash -with keys for the following fields: -'title', 'author', 'subject', 'url', 'keywords', 'version', 'notes', -'abstract', 'mime', 'lang', 'owner', 'copyright', 'creationdate', -'lastrevisiondate'. +with keys according to column labels 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. @@ -2510,27 +2536,15 @@ sub parse_raw_result { my @fields=map { &Apache::lonnet::unescape($_); } (split(/\,/,$result)); - my ($title,$author,$subject,$url,$keywords,$version, - $notes,$abstract,$mime,$lang, - $creationdate,$lastrevisiondate,$owner,$copyright)=@fields; - my %Fields = - ( title => &Apache::lonnet::unescape($title), - author => &Apache::lonnet::unescape($author), - subject => &Apache::lonnet::unescape($subject), - 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) - ); +# conclude from self to others regarding fields + my @columns=&Apache::lonmysql::col_order('metadata'); + my %Fields=(); + for (my $i=0; $i<=$#columns; $i++) { + $Fields{$columns[$i]}=$fields[$i]; + } +# prettier display $Fields{'language'} = - &Apache::loncommon::languagedescription($Fields{'lang'}); + &Apache::loncommon::languagedescription($Fields{'language'}); $Fields{'copyrighttag'} = &Apache::loncommon::copyrightdescription($Fields{'copyright'}); $Fields{'mimetag'} = @@ -2544,7 +2558,7 @@ sub parse_raw_result { $Fields{'title'}='Untitled'; } unless ($ENV{'user.adv'}) { - # What is this anyway? + # do not show descriptive information to non-advanced users $Fields{'keywords'} = '- not displayed -'; $Fields{'notes'} = '- not displayed -'; $Fields{'abstract'} = '- not displayed -'; @@ -2836,7 +2850,7 @@ sub detailed_citation_view { Notes: $values{'notes'}
MIME Type: $values{'mimetag'}
Language: $values{'language'}
-Copyright/Distribution: $values{'cprtag'}
+Copyright/Distribution: $values{'copyrighttag'}

$values{'extrashow'}

@@ -2965,8 +2979,8 @@ $prefix <mimetag>$values{'mimetag'}</mimetag> </mimeInfo> <languageInfo> -<language>$values{'lang'}</language> -<languagetag>$values{'language'}</languagetag> +<language>$values{'language'}</language> +<languagetag>$values{'languagetag'}</languagetag> </languageInfo> <creationdate>$values{'creationdate'}</creationdate> <lastrevisiondate>$values{'lastrevisiondate'}</lastrevisiondate>