--- loncom/interface/lonsearchcat.pm 2003/05/30 20:54:28 1.175
+++ loncom/interface/lonsearchcat.pm 2003/06/16 19:18:00 1.178
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Search Catalog
#
-# $Id: lonsearchcat.pm,v 1.175 2003/05/30 20:54:28 www Exp $
+# $Id: lonsearchcat.pm,v 1.178 2003/06/16 19:18:00 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -82,7 +82,6 @@ use Text::Query;
use GDBM_File;
use Apache::loncommon();
use Apache::lonmysql();
-use Apache::lonmenu();
# ---------------------------------------- variables used throughout the module
@@ -215,8 +214,7 @@ sub handler {
## Initialize global variables
##
my $domain = $r->dir_config('lonDefDomain');
- $diropendb= "/home/httpd/perl/tmp/".&Apache::lonnet::escape($domain).
- "\_".&Apache::lonnet::escape($ENV{'user.name'})."_searchcat.db";
+ $diropendb= "/home/httpd/perl/tmp/$ENV{'user.domain'}_$ENV{'user.name'}_searchcat.db";
#
# set the name of the persistent database
# $ENV{'form.persistent_db_id'} can only have digits in it.
@@ -1500,13 +1498,13 @@ sub parse_basic_search {
}
# Build SQL query string based on form page
my $query='';
- my $concatarg=join('," ",',
+ my $concatarg=join(',',
('title', 'author', 'subject', 'notes', 'abstract',
'keywords'));
$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 .= "
\n";
- return 'select * from metadata where '.$query,$pretty_search_string;
+ return 'SELECT * FROM metadata WHERE '.$query,$pretty_search_string;
}
@@ -1623,9 +1621,9 @@ sub recursive_SQL_query_build {
my ($key,$value)=($1,$2);
my $replacement='';
if ($key eq 'literal') {
- $replacement="($dkey like \"\%$value\%\")";
- } elsif ($key eq 'not') {
- $value=~s/like/not like/;
+ $replacement="($dkey LIKE \"\%$value\%\")";
+ } elsif (lc($key) eq 'not') {
+ $value=~s/LIKE/NOT LIKE/;
# $replacement="($dkey not like $value)";
$replacement="$value";
} elsif ($key eq 'and') {
@@ -2132,6 +2130,7 @@ END
my $time_remaining = $max_time - (time - $starttime) ;
my $last_time = $time_remaining;
&update_seconds($r,$time_remaining);
+ &update_status($r,'contacting '.$Servers_to_contact[0]);
while (($time_remaining > 0) &&
((@Servers_to_contact) || keys(%Server_status))) {
# Send out a search request if it needs to be done.
@@ -2755,9 +2754,6 @@ sub print_frames_interface {
"&persistent_db_id=".$ENV{'form.persistent_db_id'};
my $run_search_link = $basic_link."&phase=run_search";
my $results_link = &results_link();
- my $loadevents=&Apache::lonmenu::loadevents();
- my $unloadevents=&Apache::lonmenu::unloadevents();
- my $addscript=&Apache::lonmenu::registerurl();
my $result = <<"ENDFRAMES";