Diff for /loncom/interface/lonsearchcat.pm between versions 1.23 and 1.41

version 1.23, 2001/03/15 19:18:20 version 1.41, 2001/03/19 16:45:38
Line 3 Line 3
 #  #
 # 03/08/2001 Scott Harrison  # 03/08/2001 Scott Harrison
 #  #
   # Functions
   #
   # handler(server reference) : interacts with the Apache server layer
   #                             (for /adm/searchcat URLs)
   # simpletextfield(name,value) : returns HTML formatted string for simple text
   #                               field
   # simplecheckbox(name,value) : returns HTML formatted string for simple
   #                              checkbox
   # searchphrasefield(title,name,value) : returns HTML formatted string for
   #                                       a search expression phrase field
   # dateboxes(name, defaultmonth, defaultday, defaultyear) : returns HTML
   #                                                          formatted string
   #                                                          for a calendar date
   # selectbox(title,name,value,%HASH=options) : returns HTML formatted string for
   #                                             a selection box field
   # advancedsearch() : 
   # filled(field) : determines whether a given field has been filled
   # basicsearch() : 
   # output_blank_field_error() : outputs a message saying that more fields need
   #                              to be filled in
   # output_results() : outputs results from search
   # build_SQL_query() : builds a SQL query string from a logical expression
   #                     with AND/OR keywords
   
 package Apache::lonsearchcat;  package Apache::lonsearchcat;
   
 use strict;  use strict;
Line 10  use Apache::Constants qw(:common); Line 34  use Apache::Constants qw(:common);
 use Apache::lonnet();  use Apache::lonnet();
 use Apache::File();  use Apache::File();
 use CGI qw(:standard);  use CGI qw(:standard);
   use Text::Query;
   
 my %language;  my %language;
 my $scrout;  my $scrout;
Line 232  ENDDOCUMENT Line 257  ENDDOCUMENT
   
 # --------------------------------------------------------- Various form fields  # --------------------------------------------------------- Various form fields
   
 sub textfield {  
     my ($title,$name,$value)=@_;  
     return "\n<p><b>$title:</b><br>".  
            '<input type=text name="'.$name.'" size=80 value="'.$value.'">';  
 }  
   
 sub simpletextfield {  sub simpletextfield {
     my ($name,$value)=@_;      my ($name,$value)=@_;
     return '<input type=text name="'.$name.'" size=20 value="'.$value.'">';      return '<input type=text name="'.$name.'" size=20 value="'.$value.'">';
Line 424  sub advancedsearch { Line 443  sub advancedsearch {
     my ($r,$envhash)=@_;      my ($r,$envhash)=@_;
     my %ENV=%{$envhash};      my %ENV=%{$envhash};
   
     return(<<END);      my $fillflag=0;
 Advanced searching is not yet implemented.      for my $field ('title','author','subject','keywords','url','version',
 END     'notes','abstract','mime','language','owner',
      'custommetadata') {
    if (&filled($ENV{"form.$field"})) {
       $fillflag++;
    }
       }
   
       unless ($fillflag) {
    &output_blank_field_error($r);
    return OK;
       }
   
       my $query='';
   #    my $concatarg=join(',"    ",',
   #       ('title', 'author', 'subject', 'notes', 'abstract'));
   
       $query="select * from metadata where concat(title) like '\%$ENV{'form.title'}\%'";
       my $reply=&Apache::lonnet::metadata_query($query);
   
       &output_results($r,$envhash,$reply);
       return OK;
   }
   
   # ---------------------------------------------------- see if a field is filled
   sub filled {
       my ($field)=@_;
       if ($field=~/\S/) {
    return 1;
       }
       else {
    return 0;
       }
 }  }
   
 # --------------------------------------------------- Performing a basic search  # --------------------------------------------------- Performing a basic search
Line 435  sub basicsearch { Line 484  sub basicsearch {
     my ($r,$envhash)=@_;      my ($r,$envhash)=@_;
     my %ENV=%{$envhash};      my %ENV=%{$envhash};
   
     &output_blank_field_error($r) unless length($ENV{'form.basicexp'});      unless (&filled($ENV{'form.basicexp'})) {
    &output_blank_field_error($r);
    return OK;
       }
   
       my $query='';
       my $concatarg=join(',"    ",',
          ('title', 'author', 'subject', 'notes', 'abstract'));
   
     my $query=$ENV{'form.basicexp'};      $query="select * from metadata where concat($concatarg) like '\%$ENV{'form.basicexp'}\%'";
     $query="select * from metadata where concat(title,\"    \",author) like '\%$ENV{'form.basicexp'}\%'";  
     my $reply=&Apache::lonnet::metadata_query($query);      my $reply=&Apache::lonnet::metadata_query($query);
     &output_results($r,$envhash,$reply);      &output_results($r,$envhash,$reply);
     return OK;      return OK;
Line 616  RESULTS Line 671  RESULTS
     }      }
 }  }
   
   # ------------------------------------------------------------- build_SQL_query
   sub build_SQL_query {
   
   }
   
 1;  1;
 __END__  __END__

Removed from v.1.23  
changed lines
  Added in v.1.41


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