--- loncom/interface/lonsearchcat.pm 2001/11/28 19:26:20 1.106 +++ loncom/interface/lonsearchcat.pm 2001/12/11 03:18:39 1.110 @@ -1,13 +1,35 @@ # The LearningOnline Network with CAPA -# # Search Catalog # +# $Id: lonsearchcat.pm,v 1.110 2001/12/11 03:18:39 harris41 Exp $ +# +# Copyright Michigan State University Board of Trustees +# +# This file is part of the LearningOnline Network with CAPA (LON-CAPA). +# +# LON-CAPA is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# LON-CAPA is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LON-CAPA; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# /home/httpd/html/adm/gpl.txt +# +# http://www.lon-capa.org/ +# # YEAR=2001 # 3/8, 3/12, 3/13, 3/14, 3/15, 3/19 Scott Harrison # 3/20, 3/21, 3/22, 3/26, 3/27, 4/2, 8/15, 8/24, 8/25 Scott Harrison -# 10/12,10/14,10/15,10/16,11/28 Scott Harrison +# 10/12,10/14,10/15,10/16,11/28,11/29,12/10 Scott Harrison # -# $Id: lonsearchcat.pm,v 1.106 2001/11/28 19:26:20 harris41 Exp $ ### ############################################################################### @@ -81,39 +103,41 @@ sub BEGIN { { my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}. '/language.tab'); - map { + while (<$fh>) { $_=~/(\w+)\s+([\w\s\-]+)/; chomp; $language{$1}=$2; - } <$fh>; + } } $cprtag{'any'}='Any copyright/distribution'; { my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonIncludes'}. '/copyright.tab'); - map { + while (<$fh>) { $_=~/(\w+)\s+([\w\s\-]+)/; chomp; $cprtag{$1}=$2; - } <$fh>; + } } $mimetag{'any'}='Any type'; { my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}. '/filetypes.tab'); - map { - $_=~/(\w+)\s+(\w+)\s+([\w\s\-]+)/; chomp; - $mimetag{$1}=".$1 $3"; - } <$fh>; + while (<$fh>) { + if (/^\S/ and !/^\#/) { + $_=~/(\S+)\s+(\S+)\s+([\S\s\-]+)/; chomp; + $mimetag{$1}=".$1 $3"; + } + } } { my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}. '/hosts.tab'); - map { + while (<$fh>) { $_=~/(\w+?)\:(\w+?)\:(\w+?)\:(.*)/; chomp; if ($3 eq 'library') { $hostdomains{$1}=$2; $hostips{$1}=$4; } - } <$fh>; + } } } @@ -209,7 +233,7 @@ END $scrout.=&searchphrasefield('Limit by abstract','abstract', $ENV{'form.abstract'}); - $ENV{'form.mime'}='notxxx' unless length($ENV{'form.mime'}); + $ENV{'form.mime'}='any' unless length($ENV{'form.mime'}); $scrout.=&selectbox('Limit by MIME type','mime', $ENV{'form.mime'},%mimetag); @@ -354,21 +378,21 @@ ENDDOCUMENT # ----------- grab unprocessed CGI variables that may have been appended to URL sub get_unprocessed_cgi { - map { + foreach (split(/&/,$ENV{'QUERY_STRING'})) { my ($name, $value) = split(/=/,$_); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; if ($name eq 'catalogmode' or $name eq 'launch' or $name eq 'acts') { $ENV{'form.'.$name}=$value; } - } (split(/&/,$ENV{'QUERY_STRING'})); + } } # ------------------------------------------------------------- make persistent sub make_persistent { my $persistent=''; - map { + foreach (keys %ENV) { if (/^form\./ && !/submit/) { my $name=$_; my $key=$name; @@ -378,7 +402,7 @@ sub make_persistent { END } - } (keys %ENV); + } return $persistent; } @@ -558,11 +582,11 @@ sub selectbox { my $uctitle=uc($title); my $selout="\n

$uctitle:". "
".''; } @@ -1033,6 +1057,7 @@ ENDPOP BLOOP: while(1) { my $sn=0; last BLOOP unless $bloop; + last BLOOP unless $timeremain; RLOOP: foreach my $rkey (sort keys %rhash) { $sn++; next RLOOP if $orkey{$rkey}; @@ -1074,12 +1099,6 @@ ENDPOP $r->rflush(); $tflag=0; } - if ($temp>1) { - sleep 1; - $timeremain--; - $elapsetime++; - last WLOOP; - } if (-e "$replyfile.end") { $bloop--; $orkey{$rkey}=1; @@ -1123,6 +1142,12 @@ ENDPOP } last WLOOP; } + if ($temp>1) { + sleep 1; + $timeremain--; + $elapsetime++; + last WLOOP; + } last WLOOP unless $timeremain; sleep 1; $timeremain--; @@ -1483,14 +1508,14 @@ RESULTS # --------- settings whenever the user causes the search window to be launched sub start_fresh_session { delete $hash{'mode_catalog'}; - map { + foreach (keys %hash) { if ($_ =~ /^pre_/) { delete $hash{$_}; } if ($_ =~ /^store/) { delete $hash{$_}; } - } keys %hash; + } } 1;