--- loncom/interface/lonindexer.pm 2002/05/09 23:01:41 1.41 +++ loncom/interface/lonindexer.pm 2003/02/13 23:06:10 1.60 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Directory Indexer # -# $Id: lonindexer.pm,v 1.41 2002/05/09 23:01:41 www Exp $ +# $Id: lonindexer.pm,v 1.60 2003/02/13 23:06:10 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -34,15 +34,11 @@ # 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 # ### @@ -81,7 +77,7 @@ my $fnum; # file counter my $dnum; # directory counter # ----- Used to include or exclude files with certain extensions. -my @Only = (); +my @Only = (); my @Omit = (); @@ -89,12 +85,18 @@ my @Omit = (); sub handler { my $r = shift; $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....) + undef (@Only); + undef (@Omit); + # ------------------------------------- read in machine configuration variables my $iconpath= $r->dir_config('lonIconsURL') . "/"; my $domain = $r->dir_config('lonDefDomain'); @@ -124,22 +126,15 @@ sub handler { my $diropendb = "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_indexer.db"; - if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT,0640)) { + if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) { if ($ENV{'form.launch'} eq '1') { &start_fresh_session(); - } - + } # -------------------- refresh environment with user database values (in %hash) - if ($hash{'mode_catalog'} eq 'interactive') { - $ENV{'form.catalogmode'}='interactive'; - } - if ($hash{'mode_catalog'} eq 'groupimport') { - $ENV{'form.catalogmode'}='groupimport'; - } + &setvalues(\%hash,'form.catalogmode',\%ENV,'form.catalogmode' ); # --------------------- define extra fields and buttons in case of special mode if ($ENV{'form.catalogmode'} eq 'interactive') { - $hash{'mode_catalog'}='interactive'; $extrafield='