version 1.172, 2003/03/17 18:35:51
|
version 1.175, 2003/05/30 20:54:28
|
Line 82 use Text::Query;
|
Line 82 use Text::Query;
|
use GDBM_File; |
use GDBM_File; |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonmysql(); |
use Apache::lonmysql(); |
|
use Apache::lonmenu(); |
|
|
# ---------------------------------------- variables used throughout the module |
# ---------------------------------------- variables used throughout the module |
|
|
Line 720 ENDHEADER
|
Line 721 ENDHEADER
|
my $size = 4; |
my $size = 4; |
$size = (scalar @domains < ($size - 1) ? scalar @domains + 1 : $size); |
$size = (scalar @domains < ($size - 1) ? scalar @domains + 1 : $size); |
$scrout.="\n".'<font color="#800000" face="helvetica"><b>'. |
$scrout.="\n".'<font color="#800000" face="helvetica"><b>'. |
'DOMAINS</b></font><br />'. |
'DOMAINS TO BE SEARCHED</b></font><br />'. |
'<select name="domains" size="'.$size.'" multiple>'."\n". |
'<select name="domains" size="'.$size.'" multiple>'."\n". |
'<option name="any" value="any" '. |
'<option name="any" value="any" '. |
($domain_hash{'any'}? 'selected ' :''). |
($domain_hash{'any'}? 'selected ' :''). |
Line 1618 sub recursive_SQL_query_build {
|
Line 1619 sub recursive_SQL_query_build {
|
my @matches=($pattern=~/(\[[^\]|\[]*\])/g); |
my @matches=($pattern=~/(\[[^\]|\[]*\])/g); |
return $pattern unless @matches; |
return $pattern unless @matches; |
foreach my $match (@matches) { |
foreach my $match (@matches) { |
$match=~/\[ (\w+)\s(.*) \]/; |
$match=~/\[ (\w+)\s(.*) \]/; |
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 ($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') { |
} |
$value=~/(.*[\"|\)]) ([|\(|\^].*)/; |
elsif ($key eq 'and') { |
$replacement="($1 AND $2)"; |
$value=~/(.*[\"|\)]) ([|\(|\^].*)/; |
} elsif ($key eq 'or') { |
$replacement="($1 AND $2)"; |
$value=~/(.*[\"|\)]) ([|\(|\^].*)/; |
} |
$replacement="($1 OR $2)"; |
elsif ($key eq 'or') { |
|
$value=~/(.*[\"|\)]) ([|\(|\^].*)/; |
|
$replacement="($1 OR $2)"; |
|
} |
} |
substr($pattern, |
substr($pattern, |
index($pattern,$match), |
index($pattern,$match), |
length($match), |
length($match), |
$replacement |
$replacement); |
); |
|
} |
} |
&recursive_SQL_query_build($dkey,$pattern); |
&recursive_SQL_query_build($dkey,$pattern); |
} |
} |
Line 2758 sub print_frames_interface {
|
Line 2755 sub print_frames_interface {
|
"&persistent_db_id=".$ENV{'form.persistent_db_id'}; |
"&persistent_db_id=".$ENV{'form.persistent_db_id'}; |
my $run_search_link = $basic_link."&phase=run_search"; |
my $run_search_link = $basic_link."&phase=run_search"; |
my $results_link = &results_link(); |
my $results_link = &results_link(); |
|
my $loadevents=&Apache::lonmenu::loadevents(); |
|
my $unloadevents=&Apache::lonmenu::unloadevents(); |
|
my $addscript=&Apache::lonmenu::registerurl(); |
my $result = <<"ENDFRAMES"; |
my $result = <<"ENDFRAMES"; |
<html> |
<html> |
<head> |
<head> |
Line 2765 sub print_frames_interface {
|
Line 2765 sub print_frames_interface {
|
var targetwin = opener; |
var targetwin = opener; |
var queue = ''; |
var queue = ''; |
</script> |
</script> |
|
$addscript |
<title>LON-CAPA Digital Library Search Results</title> |
<title>LON-CAPA Digital Library Search Results</title> |
</head> |
</head> |
<frameset rows="150,*"> |
<frameset rows="150,*" onLoad="$loadevents" onUnload="$unloadevents"> |
<frame name="statusframe" src="$run_search_link"> |
<frame name="statusframe" src="$run_search_link"> |
<frame name="resultsframe" src="$results_link"> |
<frame name="resultsframe" src="$results_link"> |
</frameset> |
</frameset> |