version 1.101, 2001/10/16 17:12:51
|
version 1.104, 2001/11/28 14:02:31
|
Line 3
|
Line 3
|
# Search Catalog |
# Search Catalog |
# |
# |
# YEAR=2001 |
# YEAR=2001 |
# 03/08/2001 Scott Harrison |
# 3/8, 3/12, 3/13, 3/14, 3/15, 3/19 Scott Harrison |
# Scott Harrison: 03/12/2001, 03/13/2001, 03/14/2001, 03/15/2001, 03/19/2001 |
# 3/20, 3/21, 3/22, 3/26, 3/27, 4/2, 8/15, 8/24, 8/25 Scott Harrison |
# Scott Harrison: 03/20/2001, 03/21/2001, 03/22/2001, 03/26/2001, 03/27/2001 |
# 10/12,10/14,10/15,10/16,11/28 Scott Harrison |
# Scott Harrison: 04/02/2001, 08/15/2001, 08/24/2001, 08/25/2001 |
# |
# 10/12,10/14,10/15 Scott Harrison |
# $Id$ |
|
# |
|
### |
|
|
############################################################################### |
############################################################################### |
## ## |
## ## |
Line 203 my $domain = "";
|
Line 205 my $domain = "";
|
# ----------------------------- Handling routine called via Apache and mod_perl |
# ----------------------------- Handling routine called via Apache and mod_perl |
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
|
untie %hash; |
&get_unprocessed_cgi(); |
&get_unprocessed_cgi(); |
|
|
$r->content_type('text/html'); |
$r->content_type('text/html'); |
Line 212 sub handler {
|
Line 214 sub handler {
|
|
|
$domain = $r->dir_config('lonDefDomain'); |
$domain = $r->dir_config('lonDefDomain'); |
|
|
$diropendb = "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_indexer.db"; |
$diropendb= "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_searchcat.db"; |
|
|
if ($ENV{'form.launch'} eq '1') { |
if ($ENV{'form.launch'} eq '1') { |
if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT,0640)) { |
if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT,0640)) { |
Line 917 sub output_results {
|
Line 919 sub output_results {
|
my %ENV=%{$envhash}; |
my %ENV=%{$envhash}; |
my %rhash=%{$replyref}; |
my %rhash=%{$replyref}; |
my $compiledresult=''; |
my $compiledresult=''; |
my $timeremain=30; |
my $timeremain=300; |
my $elapsetime=0; |
my $elapsetime=0; |
my $resultflag=0; |
my $resultflag=0; |
my $tflag=1; |
my $tflag=1; |
Line 982 SCRIPT
|
Line 984 SCRIPT
|
'scrollbars=1,width=400,height=300'); |
'scrollbars=1,width=400,height=300'); |
openhelpwin.focus(); |
openhelpwin.focus(); |
} |
} |
|
function abortsearch(val) { |
|
openhelpwin=open('/adm/help/searchcat.html','helpscreen', |
|
'scrollbars=1,width=400,height=300'); |
|
openhelpwin.focus(); |
|
} |
</script> |
</script> |
SCRIPT |
SCRIPT |
$r->rflush(); |
$r->rflush(); |
Line 1090 RESULTS
|
Line 1097 RESULTS
|
'<'+'br />'+ |
'<'+'br />'+ |
' <'+'input type="button" name="button"'+ |
' <'+'input type="button" name="button"'+ |
' value="abort search and view current results" '+ |
' value="abort search and view current results" '+ |
' />'+ |
' onClick="javascript:opener.abortsearch()" />'+ |
' <'+'input type="button" name="button"'+ |
' <'+'input type="button" name="button"'+ |
' value="help" onClick="javascript:opener.openhelp()" />'+ |
' value="help" onClick="javascript:opener.openhelp()" />'+ |
'<'+'/tt>'+ |
'<'+'/tt>'+ |
Line 1102 ENDPOP
|
Line 1109 ENDPOP
|
$r->rflush(); |
$r->rflush(); |
|
|
my $servercount=0; |
my $servercount=0; |
$sn=0; |
|
my $hitcountsum=0; |
my $hitcountsum=0; |
foreach my $rkey (sort keys %rhash) { |
my $bloop=$servernum; |
|
my %orkey; |
|
BLOOP: while(1) { |
|
my $sn=0; |
|
last BLOOP unless $bloop; |
|
RLOOP: foreach my $rkey (sort keys %rhash) { |
$sn++; |
$sn++; |
|
next RLOOP if $orkey{$rkey}; |
$servercount++; |
$servercount++; |
$tflag=1; |
$tflag=1; |
$compiledresult=''; |
$compiledresult=''; |
Line 1121 ENDPOP
|
Line 1133 ENDPOP
|
'src="/adm/lonIcons/srvbad.gif";</script>'. |
'src="/adm/lonIcons/srvbad.gif";</script>'. |
"\n"); |
"\n"); |
$r->rflush(); |
$r->rflush(); |
|
$bloop--; |
|
$orkey{$rkey}=1; |
} |
} |
else { |
else { |
$reply=~/^([\.\w]+)$/; # must do since 'use strict' checks for tainting |
$reply=~/^([\.\w]+)$/; # must do since 'use strict' checks for tainting |
Line 1142 ENDPOP
|
Line 1156 ENDPOP
|
$r->rflush(); |
$r->rflush(); |
$tflag=0; |
$tflag=0; |
} |
} |
last WLOOP if $temp>5; |
last WLOOP if $temp>1; |
if (-e "$replyfile.end") { |
if (-e "$replyfile.end") { |
|
$bloop--; |
|
$orkey{$rkey}=1; |
if (-s $replyfile) { |
if (-s $replyfile) { |
$r->print('<script type="text/javascript">'. |
$r->print('<script type="text/javascript">'. |
'popwin.document.img'.$sn.'.'. |
'popwin.document.img'.$sn.'.'. |
Line 1242 ENDPOP
|
Line 1258 ENDPOP
|
my ($title,$author,$subject,$url,$keywords,$version, |
my ($title,$author,$subject,$url,$keywords,$version, |
$notes,$abstract,$mime,$lang, |
$notes,$abstract,$mime,$lang, |
$creationdate,$lastrevisiondate,$owner,$copyright)=@fields; |
$creationdate,$lastrevisiondate,$owner,$copyright)=@fields; |
|
|
|
unless ($ENV{'user.adv'}) { |
|
$keywords='<i>- not displayed -</i>'; |
|
$fields[4]=$keywords; |
|
$notes='<i>- not displayed -</i>'; |
|
$fields[6]=$notes; |
|
$abstract='<i>- not displayed -</i>'; |
|
$fields[7]=$abstract; |
|
$subject='<i>- not displayed -</i>'; |
|
$fields[2]=$subject; |
|
} |
|
|
my $shortabstract=$abstract; |
my $shortabstract=$abstract; |
$shortabstract=substr($abstract,0,200) if length($abstract)>200; |
$shortabstract=substr($abstract,0,200).'...' if length($abstract)>200; |
$fields[7]=$shortabstract; |
$fields[7]=$shortabstract; |
|
my $shortkeywords=$keywords; |
|
$shortkeywords=substr($keywords,0,200).'...' if length($keywords)>200; |
|
$fields[4]=$shortkeywords; |
|
|
my $extrashow2=$extrashow; |
my $extrashow2=$extrashow; |
if ($extrashow) { |
if ($extrashow) { |
foreach my $field (@customfields) { |
foreach my $field (@customfields) { |
Line 1268 onClick="javascript:select_data('$title'
|
Line 1300 onClick="javascript:select_data('$title'
|
</font> |
</font> |
<br /> |
<br /> |
END |
END |
$hash{"HELLOWORLD"}='123'; |
|
if ($ENV{'form.catalogmode'} eq 'groupsearch') { |
if ($ENV{'form.catalogmode'} eq 'groupsearch') { |
$fnum+=0; |
$fnum+=0; |
$hash{"pre_${fnum}_link"}=$url; |
$hash{"pre_${fnum}_link"}=$url; |
Line 1328 $compiledresult
|
Line 1359 $compiledresult
|
RESULTS |
RESULTS |
my $percent=sprintf('%3.0f',($servercount/$servernum*100)); |
my $percent=sprintf('%3.0f',($servercount/$servernum*100)); |
} |
} |
|
} |
unless ($resultflag) { |
unless ($resultflag) { |
$r->print("\nThere were no results that matched your query\n"); |
$r->print("\nThere were no results that matched your query\n"); |
} |
} |
Line 1525 $message
|
Line 1557 $message
|
RESULTS |
RESULTS |
} |
} |
|
|
# --------- settings whenever the user causes the indexer window to be launched |
# --------- settings whenever the user causes the search window to be launched |
sub start_fresh_session { |
sub start_fresh_session { |
delete $hash{'mode_catalog'}; |
delete $hash{'mode_catalog'}; |
map { |
map { |