--- loncom/interface/lonindexer.pm 2001/05/18 21:10:48 1.2 +++ loncom/interface/lonindexer.pm 2001/05/19 14:31:45 1.3 @@ -46,6 +46,7 @@ sub handler { The LearningOnline Network With CAPA Directory Browser + + ENDHEADER @@ -90,7 +92,6 @@ END if (tie(%dirs,'GDBM_File',$diropen,&GDBM_WRCREAT,0640)) { my $titleclr="#ddffff"; -# my $fileclr="#ffffdd"; $r->print("
\n"); $r->print("\n"); $r->print("\n"); @@ -112,7 +113,6 @@ END $dirs{$uri} = 'open'; } } - sort keys %dirs; my $toplevel = "/res/"; @@ -132,25 +132,28 @@ END # --------------------recursive scan of a directory sub scanDir { my ($r,$startdir,$indent)=@_; - my $compuri; + my ($compuri,$curdir); + my $dirptr=16384; $indent++; my %dupdirs = %dirs; - sort keys %dupdirs; my @list=&get_list($r,$startdir); foreach my $line (@list) { my ($strip,$domusr,$foo,$testdir,$foo)=split(/\&/,$line,5); if ($domusr eq "domain") { - $compuri=join('',$strip,"/"); # domain list has /res/ + $compuri = join('',$strip,"/"); # domain list has /res/ + $curdir = $compuri; } else { $compuri = join('',$startdir,$strip,"/"); # user, dir & file having name only, i.e., w/o path + $curdir = $startdir; } my $diropen = 0; - &display_line($r,$diropen,$line,$indent,$strip."/") if $domusr eq "domain"; - while (my ($key,$val)= each %dupdirs) { - $diropen = 1 if ($key eq $compuri and $val eq "open"); + if (($dirptr&$testdir) or ($domusr =~ /^(domain|user)$/)) { + while (my ($key,$val)= each %dupdirs) { + $diropen = 1 if ($key eq $compuri and $val eq "open"); + } } - &display_line($r,$diropen,$line,$indent,$startdir) if ($domusr ne "domain"); + &display_line($r,$diropen,$line,$indent,$curdir); &scanDir ($r,$compuri,$indent) if $diropen == 1; } $indent--; @@ -253,8 +256,9 @@ sub display_line{ $r->print(""); $r->print("\n"); return OK; @@ -264,13 +268,15 @@ sub display_line{ $r->print("\n"); + $r->print ("\n"); + $r->print ("$listname $tabtag\n"); return OK; } # display file @@ -289,7 +295,7 @@ sub display_line{ $r->print(" ",$listname,""); my $metafile = '/home/httpd/html'.$filelink.'.meta'; - $r->print (" (metadata) ") if (-e $metafile); + $r->print (" (metadata) ") if (-e $metafile); # $r->print(" (metadata)") if (-e $metafile); $r=>print("\n"); @@ -320,6 +326,8 @@ sub display_line{ my @file_ext = split (/\./,$listname); my $curfext = $file_ext[scalar(@file_ext)-1]; my $curdir = $startdir.$filecom[0].'/'; + my $anchor = $curdir; + $anchor =~ s/\///g; $r->print("
Name
"); &begin_form ($r,$filecom[0].'/'); - $r->print ("print ("comp.blue.gif\""); + my $anchor = $filecom[0].'/'; + $anchor =~ s/\///g; + $r->print ("\nprint (" name=\"View $filecom[0]/ resources\" height=\"22\" type=\"image\" border=\"0\">\n"); $r->print("Domain - $listname $tabtag
\n"); my $curdir = $startdir.$filecom[0].'/'; &begin_form ($r,$curdir); - $r->print("\n"); + my $anchor = $curdir; + $anchor =~ s/\///g; + $r->print ("\n\n"); $r->print ("print ("folder_pointer_closed.gif\"") if $diropen == 0; $r->print ("folder_pointer_opened.gif\"") if $diropen == 1; $r->print (" name=\"View $curdir resources\" height=\"22\" type=\"image\" border=\"0\">\n"); - $r->print("\n"); - $r->print("$listname $tabtag
"); &begin_form ($r,$curdir); @@ -329,7 +337,7 @@ sub display_line{ $count++; } - $r->print ("print ("\nprint ("folder_pointer_closed.gif\"") if $diropen == 0; $r->print ("folder_pointer_opened.gif\"") if $diropen == 1; $r->print (" name=\"View $curdir resources\" height=\"22\" type=\"image\" border=\"0\">\n"); @@ -343,8 +351,9 @@ sub display_line{ #---------------------prints the beginning of a form for directory or file link sub begin_form { my ($r,$uri) = @_; - - $r->print ("
\n"); + my $anchor = $uri; + $anchor =~ s/\///g; + $r->print ("\n"); $r->print ("\n"); for (my $i=0; $i<=5; $i++) {