Diff for /loncom/interface/lonsearchcat.pm between versions 1.174 and 1.179

version 1.174, 2003/05/27 20:12:26 version 1.179, 2003/06/16 19:42:02
Line 214  sub handler { Line 214  sub handler {
     ## Initialize global variables      ## Initialize global variables
     ##      ##
     my $domain  = $r->dir_config('lonDefDomain');      my $domain  = $r->dir_config('lonDefDomain');
     $diropendb= "/home/httpd/perl/tmp/".&Apache::lonnet::escape($domain).      $diropendb= "/home/httpd/perl/tmp/$ENV{'user.domain'}_$ENV{'user.name'}_searchcat.db";
             "\_".&Apache::lonnet::escape($ENV{'user.name'})."_searchcat.db";  
     #      #
     # set the name of the persistent database      # set the name of the persistent database
     #          $ENV{'form.persistent_db_id'} can only have digits in it.      #          $ENV{'form.persistent_db_id'} can only have digits in it.
Line 1499  sub parse_basic_search { Line 1498  sub parse_basic_search {
     }      }
     # Build SQL query string based on form page      # Build SQL query string based on form page
     my $query='';      my $query='';
     my $concatarg=join(',"    ",',      my $concatarg=join(',',
        ('title', 'author', 'subject', 'notes', 'abstract',         ('title', 'author', 'subject', 'notes', 'abstract',
                         'keywords'));                          'keywords'));
     $concatarg='title' if $ENV{'form.titleonly'};      $concatarg='title' if $ENV{'form.titleonly'};
     $query=&build_SQL_query('concat('.$concatarg.')',$search_string);      $query=&build_SQL_query('concat_ws(" ",'.$concatarg.')',$search_string);
     $pretty_search_string .= "<br />\n";      $pretty_search_string .= "<br />\n";
     return 'select * from metadata where '.$query,$pretty_search_string;      return 'SELECT * FROM metadata WHERE '.$query,$pretty_search_string;
 }  }
   
   
Line 1622  sub recursive_SQL_query_build { Line 1621  sub recursive_SQL_query_build {
         my ($key,$value)=($1,$2);          my ($key,$value)=($1,$2);
         my $replacement='';          my $replacement='';
         if ($key eq 'literal') {          if ($key eq 'literal') {
             $replacement="($dkey like \"\%$value\%\")";              $replacement="($dkey LIKE \"\%$value\%\")";
         } elsif ($key eq 'not') {          } elsif (lc($key) eq 'not') {
             $value=~s/like/not like/;              $value=~s/LIKE/NOT LIKE/;
 #          $replacement="($dkey not like $value)";  #          $replacement="($dkey not like $value)";
             $replacement="$value";              $replacement="$value";
         } elsif ($key eq 'and') {          } elsif ($key eq 'and') {
Line 2131  END Line 2130  END
     my $time_remaining = $max_time - (time - $starttime) ;      my $time_remaining = $max_time - (time - $starttime) ;
     my $last_time = $time_remaining;      my $last_time = $time_remaining;
     &update_seconds($r,$time_remaining);      &update_seconds($r,$time_remaining);
       &update_status($r,'contacting '.$Servers_to_contact[0]);
     while (($time_remaining > 0) &&      while (($time_remaining > 0) &&
            ((@Servers_to_contact) || keys(%Server_status))) {             ((@Servers_to_contact) || keys(%Server_status))) {
         # Send out a search request if it needs to be done.          # Send out a search request if it needs to be done.
Line 2369  sub display_results { Line 2369  sub display_results {
          ."</center>\n"           ."</center>\n"
          );           );
     if ($total_results == 0) {      if ($total_results == 0) {
         $r->print("There are currently no results.\n".          $r->print("<h3>There are currently no results.</h3>Please try to reload this page, which will update the display.\n".
                   "</form></body></html>");                    "</form></body></html>");
         return;          return;
     } else {      } else {

Removed from v.1.174  
changed lines
  Added in v.1.179


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