--- loncom/interface/lonindexer.pm 2002/12/02 17:53:24 1.53 +++ loncom/interface/lonindexer.pm 2003/06/16 22:09:02 1.68 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Directory Indexer # -# $Id: lonindexer.pm,v 1.53 2002/12/02 17:53:24 albertel Exp $ +# $Id: lonindexer.pm,v 1.68 2003/06/16 22:09:02 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -34,15 +34,10 @@ # 05/9-05/19/2001 H. K. Ng # 05/21/2001 H. K. Ng # 05/23/2001 H. K. Ng -# 5/31,6/1,6/2,6/15 Scott Harrison # 6/26,7/8 H. K. Ng -# 8/6,8/7,8/10 Scott Harrison # 8/14 H. K. Ng -# 8/28,10/15,11/28,11/29 Scott Harrison # 11/30 Matthew Hall -# 12/11,12/13 Scott Harrison # YEAR=2002 -# 1/17 Scott Harrison # 6/29/2002 H. K. Ng # ### @@ -89,13 +84,13 @@ my @Omit = (); # ----------------------------- Handling routine called via Apache and mod_perl sub handler { my $r = shift; + my $c = $r->connection(); $r->content_type('text/html'); &Apache::loncommon::no_cache($r); $r->send_http_header; return OK if $r->header_only; $fnum=0; $dnum=0; - untie %hash; # Deal with stupid global variables (is there a way around making # these global to this package? It is just so wrong....) @@ -129,9 +124,18 @@ sub handler { $extrafield=''; my $diropendb = - "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_indexer.db"; - - if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) { + "/home/httpd/perl/tmp/$ENV{'user.domain'}_$ENV{'user.name'}_indexer.db"; + %hash = (); + { + my %dbfile; + if (tie(%dbfile,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) { + while(my($key,$value)=each(%dbfile)) { + $hash{$key}=$value; + } + untie(%dbfile); + } + } + { if ($ENV{'form.launch'} eq '1') { &start_fresh_session(); } @@ -373,7 +377,7 @@ $r->print(&Apache::loncommon::bodytag('B # ---------------------------------- get state of file attributes to be showing if ($ENV{'form.attrs'} ne '') { - for (my $i=0; $i<=7; $i++) { + for (my $i=0; $i<=8; $i++) { delete $hash{'display_attrs_'.$i}; if ($ENV{'form.attr'.$i} == 1) { $attrchk[$i] = 'checked'; @@ -381,7 +385,7 @@ $r->print(&Apache::loncommon::bodytag('B } } } else { - for (my $i=0; $i<=7; $i++) { + for (my $i=0; $i<=8; $i++) { $attrchk[$i] = 'checked' if $hash{'display_attrs_'.$i} == 1; } } @@ -395,11 +399,12 @@ $r->print(&Apache::loncommon::bodytag('B