/[webpac-proto]/search/Search.cgi
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /search/Search.cgi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by dpavlin, Sun Jun 16 18:11:16 2002 UTC revision 1.6 by dpavlin, Mon Jun 24 14:50:44 2002 UTC
# Line 12  Line 12 
12  #  of FS Consulting, Inc.                                                                                                        *  #  of FS Consulting, Inc.                                                                                                        *
13  #*****************************************************************************  #*****************************************************************************
14    
15    #print "Content-type: text/plain\n\n";
16    
17  #--------------------------------------------------------------------------  #--------------------------------------------------------------------------
18  #  #
19  # Author: Francois Schiettecatte (FS Consulting, Inc.)  # Author: Francois Schiettecatte (FS Consulting, Inc.)
# Line 179  $main::MPSSession = 0; Line 181  $main::MPSSession = 0;
181  #  #
182    
183    
 # List of default configuration settings  
 %main::DefaultSettings = (  
         'lowest-year',  '1990',  
         'max-score',    '1000',  
         'allow-summary-displays','no',  
         'allow-similiar-search','no',  
         'allow-regular-searches','no',  
         'deliver-empty-results-from-regular-search','no',  
 #       'allow-relevance-feedback-searches','no',  
         'mailer-application','/usr/lib/sendmail',  
         'server-log','mps.log',  
         'output-colums','yes',  
         'show-nr-colums',3,  
 #       'show-past-date-list','yes',  
         'database-for-SearchFieldDescriptions','ps',  
 );  
   
184  # read configuration fields  # read configuration fields
185  require "config.pl";  require "config.pm";
186    
187  # List of required configuration settings  # List of required configuration settings
188  @main::RequiredSettings = (  @main::RequiredSettings = (
# Line 408  sub vSendHTMLHeader { Line 393  sub vSendHTMLHeader {
393          if ( ! $ENV{'GATEWAY_INTERFACE'} ) {          if ( ! $ENV{'GATEWAY_INTERFACE'} ) {
394                  return;                  return;
395          }          }
396            
397          # Bail if we have already sent the header          # Bail if we have already sent the header
398          if ( $main::HeaderSent ) {          if ( $main::HeaderSent ) {
399                  return;                  return;
# Line 433  sub vSendHTMLHeader { Line 418  sub vSendHTMLHeader {
418    
419          # Send the banner          # Send the banner
420          print("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>\n");          print("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>\n");
421          print("<TR><TD VALIGN=TOP ALIGN=RIGHT> <A HREF=\"/\" OnMouseOver=\"self.status='Return Home'; return true\"><IMG SRC=\"$main::ConfigurationData{'image-base-path'}/$main::ImageNames{'banner'}\" ALT=\"Return Home\" BORDER=0></A> </TD></TR>\n");  #       print("<TR><TD VALIGN=TOP ALIGN=RIGHT> <A HREF=\"/\" OnMouseOver=\"self.status='Return Home'; return true\"><IMG SRC=\"$main::ConfigurationData{'image-base-path'}/$main::ImageNames{'banner'}\" ALT=\"Return Home\" BORDER=0></A> </TD></TR>\n");
422          print("</TABLE>\n");  
423            print("<TR><TD VALIGN=TOP ALIGN=RIGHT> <A HREF=\"/\" OnMouseOver=\"self.status='Return Home'; return true\"><H3>Katalozi knjižnica Filozofskog fakulteta</H3> </A> </TD></TR>\n");
424    
425            print("</TABLE>\n");
426                                    
427    
428          # Set the flag saying that the header has been sent          # Set the flag saying that the header has been sent
# Line 533  sub vSendMenuBar { Line 521  sub vSendMenuBar {
521    
522          if ( %MenuBar && defined($MenuBar{'GetSearch'}) ) {          if ( %MenuBar && defined($MenuBar{'GetSearch'}) ) {
523                  print("<IMG SRC=\"$main::ConfigurationData{'image-base-path'}/$main::ImageNames{'inactive-search'}\" ALT=\"Search\" BORDER=0>");                  print("<IMG SRC=\"$main::ConfigurationData{'image-base-path'}/$main::ImageNames{'inactive-search'}\" ALT=\"Search\" BORDER=0>");
524    
525    
526          }          }
527          else {          else {
528    
529                  print("<INPUT NAME=\"GetSearch\" TYPE=IMAGE SRC=\"$main::ConfigurationData{'image-base-path'}/$main::ImageNames{'active-search'}\" ALT=\"Search\" BORDER=0>");                  print("<INPUT NAME=\"GetSearch\" TYPE=IMAGE SRC=\"$main::ConfigurationData{'image-base-path'}/$main::ImageNames{'active-search'}\" ALT=\"Search\" BORDER=0>");
530    
531            
532    
533          }          }
534    
535          if ( defined($main::RemoteUser) ) {          if ( defined($main::RemoteUser) ) {
# Line 2696  sub bsDisplaySearchResults { Line 2688  sub bsDisplaySearchResults {
2688                          # Put up the headline and the score, this one links to the document                          # Put up the headline and the score, this one links to the document
2689                          if ( $HTML ) {                          if ( $HTML ) {
2690                                  print("<!-- resultItem -->\n");                                  print("<!-- resultItem -->\n");
2691                                  print("<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=1%> $SelectorText </TD> <TD ALIGN=LEFT VALIGN=TOP WIDTH=1%> <!-- relevance --> <B> $Score </B> <!-- /relevance --> </TD> <TD ALIGN=LEFT VALIGN=TOP> <A HREF=\"$LinkText\" OnMouseOver=\"self.status='Retrieve this document'; return true\"> $Headline <I> ( $main::DatabaseDescriptions{$Database} ) </I> </A> <BR> <FONT SIZE=-2>");                                  #print("<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=1%> $SelectorText </TD> <TD ALIGN=LEFT VALIGN=TOP WIDTH=1%> <!-- relevance --> <B> $Score </B> <!-- /relevance --> </TD> <TD ALIGN=LEFT VALIGN=TOP> <A HREF=\"$LinkText\" OnMouseOver=\"self.status='Retrieve this document'; return true\"> $Headline <I> ( $main::DatabaseDescriptions{$Database} ) </I> </A> <BR> <FONT SIZE=-2>");
2692                          }                                  print("<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=1%> $SelectorText </TD><TD ALIGN=LEFT VALIGN=TOP COLSPAN=2> <A HREF=\"$LinkText\" OnMouseOver=\"self.status='Retrieve this document'; return true\"> $Headline </A> <BR> <FONT SIZE=-2>&nbsp;");
2693                          else {                          } else {
2694                                  printf("%3d $Headline ($main::DatabaseDescriptions{$Database})\n", $Score);                                  printf("%3d $Headline ($main::DatabaseDescriptions{$Database})\n", $Score);
2695                          }                          }
2696    
2697    if (0) { ## don't display description
2698    
2699                          # Put up the summary                          # Put up the summary
2700                          if ( defined($SummaryText) && ($SummaryText ne "") ) {                          if ( defined($SummaryText) && ($SummaryText ne "") ) {
# Line 2718  sub bsDisplaySearchResults { Line 2711  sub bsDisplaySearchResults {
2711                          if ( ! defined($Remainder) ) {                          if ( ! defined($Remainder) ) {
2712                                  if ( $HTML ) {                                  if ( $HTML ) {
2713                                          print("Formatttt: $MimeTypeName, ");                                          print("Formatttt: $MimeTypeName, ");
2714                            
2715                                  }                                  }
2716                                  else {                                  else {
2717                                          print("    Format: $MimeTypeName, ");                                          print("    Format: $MimeTypeName, ");
# Line 2726  sub bsDisplaySearchResults { Line 2720  sub bsDisplaySearchResults {
2720    
2721    
2722                          # Put up the date if we got it                          # Put up the date if we got it
2723                          if ( defined($Date) && ($Date ne "") ) {                           if ( defined($Date) && ($Date ne "") ) {
2724                                  print("Date: $Date");                                  print("Date: $Date");
2725                                                                    
2726                                  # Put up the time if we got it                                  # Put up the time if we got it
2727                                  if ( defined($Time) && ($Time ne "") ) {                                   if ( defined($Time) && ($Time ne "") ) {
2728                                          print(" $Time");                                          print(" $Time");
2729                                  }                                  }
2730                                                                    
# Line 2861  sub bsDisplaySearchResults { Line 2855  sub bsDisplaySearchResults {
2855                                  }                                  }
2856                                  print("\n");                                  print("\n");
2857    
2858    } #if
2859                                  # Finish off the entry                                  # Finish off the entry
2860                                  if ( $HTML ) {                                  if ( $HTML ) {
2861                                          print("</FONT></TD></TR>\n");                                          print("</FONT></TD></TR>\n");
# Line 2976  sub vGetSearch { Line 2971  sub vGetSearch {
2971    
2972          # Make sure that we send the header          # Make sure that we send the header
2973          $Value = ($ENV{'PATH_INFO'} eq "/GetExpandedSearch") ? "Pretraživanje s više kriterija" : "Jednostavno pretraživanje";          $Value = ($ENV{'PATH_INFO'} eq "/GetExpandedSearch") ? "Pretraživanje s više kriterija" : "Jednostavno pretraživanje";
2974          &vSendHTMLHeader($Value, undef);          my $JavaScript = '<SCRIPT LANGUAGE="JavaScript">
2975                    <!-- hide
2976                    function SetChecked(val) {
2977                            dml=document.Search;
2978                            len = dml.elements.length;
2979                            var i=0;
2980                            for( i=0 ; i<len ; i++) {
2981                                    if (dml.elements[i].name==\'Database\') {
2982                                            dml.elements[i].checked=val;
2983                                    }
2984                            }
2985                    }
2986                    // -->
2987                    </SCRIPT>
2988                    ';
2989    
2990            &vSendHTMLHeader($Value, $JavaScript);
2991    
2992          undef(%Value);          undef(%Value);
2993          $Value{'GetSearch'} = "GetSearch";          $Value{'GetSearch'} = "GetSearch";
# Line 3027  sub vGetSearch { Line 3038  sub vGetSearch {
3038    
3039          # Send the start of the form and the buttons          # Send the start of the form and the buttons
3040          print("<TD ALIGN=RIGHT VALIGN=TOP>\n");          print("<TD ALIGN=RIGHT VALIGN=TOP>\n");
3041          print("<FORM ACTION=\"$ENV{'SCRIPT_NAME'}/GetSearchResults\" METHOD=POST> <INPUT TYPE=SUBMIT VALUE=\"Pretraži bazu\"> <INPUT TYPE=RESET VALUE=\"Pobriši polja\">\n");          print("<FORM ACTION=\"$ENV{'SCRIPT_NAME'}/GetSearchResults\" NAME=\"Search\" METHOD=POST> <INPUT TYPE=SUBMIT VALUE=\"Pretraži bazu\"> <INPUT TYPE=RESET VALUE=\"Pobriši polja\">\n");
3042          print("</TD></TR>\n");          print("</TD></TR>\n");
3043    
3044          print("<TR><TD ALIGN=CENTER VALIGN=TOP COLSPAN=3><BR></TD></TR>\n");          print("<TR><TD ALIGN=CENTER VALIGN=TOP COLSPAN=3><BR></TD></TR>\n");
# Line 3056  sub vGetSearch { Line 3067  sub vGetSearch {
3067                  print ("<SELECT NAME=\"FieldName${field}\">");                  print ("<SELECT NAME=\"FieldName${field}\">");
3068                  for (my $i=0; $i<=$#SearchFieldNames; $i++) {                  for (my $i=0; $i<=$#SearchFieldNames; $i++) {
3069                          my $ItemEntry = $SearchFieldNames[$i];                          my $ItemEntry = $SearchFieldNames[$i];
3070                          my $Selected = ($main::FormData{"FieldName${field}"} == $ItemEntry || $i == ($field-1)) ? "SELECTED" : "";                          my $Selected = "";
3071                            if ($main::FormData{"FieldName${field}"} && $main::FormData{"FieldName${field}"} eq $ItemEntry) {
3072                                    $Selected = "SELECTED";
3073                            } elsif ($i == ($field - 1)) {
3074                                    $Selected = "SELECTED";
3075                            }
3076                                    
3077                          print("<OPTION VALUE=\"$ItemEntry\" $Selected> $main::SearchFieldDescriptions{$ItemEntry}\n");                          print("<OPTION VALUE=\"$ItemEntry\" $Selected> $main::SearchFieldDescriptions{$ItemEntry}\n");
3078                  }                  }
3079                  my $Value = defined($main::FormData{"FieldContent${field}"}) ? "VALUE='".$main::FormData{"FieldContent${field}"}."'" : "";                  my $Value = "";
3080                    if (defined($main::FormData{"FieldContent${field}"})) {
3081                            $Value = "VALUE='".$main::FormData{"FieldContent${field}"}."'";
3082                    }
3083                  print("</SELECT></TD><TD ALIGN=LEFT><INPUT NAME=\"FieldContent${field}\" TYPE=TEXT $Value SIZE=45> </TD></TR>\n");                  print("</SELECT></TD><TD ALIGN=LEFT><INPUT NAME=\"FieldContent${field}\" TYPE=TEXT $Value SIZE=45> </TD></TR>\n");
3084          }          }
3085    
# Line 3082  sub vGetSearch { Line 3102  sub vGetSearch {
3102          # Database selection          # Database selection
3103          if ( %main::DatabaseDescriptions ) {          if ( %main::DatabaseDescriptions ) {
3104    
3105                  print("<TR><TD ALIGN=LEFT VALIGN=TOP COLSPAN=2> Odaberite bazu koju želite pretraživati: </TD> <TD ALIGN=LEFT VALIGN=TOP>\n");                  print("<TR><TD ALIGN=LEFT VALIGN=TOP COLSPAN=3> Odaberite bazu koju želite pretraživati: </TD></TR><TD ALIGN=CENTER VALIGN=TOP COLSPAN=4>
3106                    ");
3107                                    
3108                  # Parse out the database names and put them into a                  # Parse out the database names and put them into a
3109                  # hash table, they should be separated with a '\0'                  # hash table, they should be separated with a '\0'
# Line 3103  sub vGetSearch { Line 3124  sub vGetSearch {
3124    
3125    
3126                  $Flag = 0;                  $Flag = 0;
3127    
3128                    print('
3129                            <a href="javascript:SetChecked(1)">all</a>
3130                            <a href="javascript:SetChecked(0)">none</a>
3131                            ');
3132                    
3133                  print("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>\n");                  print("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>\n");
3134    
3135                  my @html_database;                  my @html_database;
# Line 3128  sub vGetSearch { Line 3155  sub vGetSearch {
3155                          for(my $i=0; $i <= $next ; $i++) {                          for(my $i=0; $i <= $next ; $i++) {
3156                                  print("<tr>");                                  print("<tr>");
3157                                  for(my $j=0; $j <= $cols; $j++) {                                  for(my $j=0; $j <= $cols; $j++) {
3158                                          print($html_database[$i+$next*$j+$j]);                                          print($html_database[$i+$next*$j+$j] || '');
3159                                  }                                  }
3160                                  print("</tr>");                                  print("</tr>");
3161                          }                          }
# Line 7458  sub fill_SearchFieldDescriptions_fromDB Line 7485  sub fill_SearchFieldDescriptions_fromDB
7485                  foreach my $FieldInformation ( split(/\n/, $Text) ) {                  foreach my $FieldInformation ( split(/\n/, $Text) ) {
7486                          my ($FieldName, $FieldDescription, undef) = split(/\t/, $FieldInformation, 3);                          my ($FieldName, $FieldDescription, undef) = split(/\t/, $FieldInformation, 3);
7487                          $main::SearchFieldDescriptions{$FieldName} = $FieldDescription;                          $main::SearchFieldDescriptions{$FieldName} = $FieldDescription;
                         print "-- $FieldName --<br>\n";  
7488                  }                  }
7489          }          }
7490  }  }

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.26