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("
Name
\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("