Diff for /loncom/interface/lonsearchcat.pm between versions 1.197 and 1.198

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>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>\n";      $scrout.="<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</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
 &lt;mimetag&gt;$values{'mimetag'}&lt;/mimetag&gt;  &lt;mimetag&gt;$values{'mimetag'}&lt;/mimetag&gt;
 &lt;/mimeInfo&gt;  &lt;/mimeInfo&gt;
 &lt;languageInfo&gt;  &lt;languageInfo&gt;
 &lt;language&gt;$values{'lang'}&lt;/language&gt;  &lt;language&gt;$values{'language'}&lt;/language&gt;
 &lt;languagetag&gt;$values{'language'}&lt;/languagetag&gt;  &lt;languagetag&gt;$values{'languagetag'}&lt;/languagetag&gt;
 &lt;/languageInfo&gt;  &lt;/languageInfo&gt;
 &lt;creationdate&gt;$values{'creationdate'}&lt;/creationdate&gt;  &lt;creationdate&gt;$values{'creationdate'}&lt;/creationdate&gt;
 &lt;lastrevisiondate&gt;$values{'lastrevisiondate'}&lt;/lastrevisiondate&gt;  &lt;lastrevisiondate&gt;$values{'lastrevisiondate'}&lt;/lastrevisiondate&gt;

Removed from v.1.197  
changed lines
  Added in v.1.198


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>