\n");
+# $r->print("Current uri=$uri called uri=$ENV{'form.openuri'} domain=$domain");
for (my $i=0; $i<=5; $i++) {
$attrchk[$i] = "checked" if $ENV{'form.attr'.$i} == 1;
@@ -56,33 +57,37 @@ ENDHEADER
Keywords
Language
+
END
my $titleclr="#ddffff";
my $fileclr="#ffffdd";
- $r->print("
");
- $r->print("
");
+ $r->print("
\n");
+ $r->print("
\n");
$r->print("
Name
\n");
- $r->print("
Size (bytes)
") if ($ENV{'form.attr0'} == 1);
- $r->print("
Last accessed
") if ($ENV{'form.attr1'} == 1);
- $r->print("
Last modified
") if ($ENV{'form.attr2'} == 1);
+ $r->print("
Size (bytes)
\n") if ($ENV{'form.attr0'} == 1);
+ $r->print("
Last accessed
\n") if ($ENV{'form.attr1'} == 1);
+ $r->print("
Last modified
\n") if ($ENV{'form.attr2'} == 1);
$r->print("
");
- if ($ENV{'dirlist.lvl'} eq "") {
- my %dirlvl;
- $dirlvl{'dirlist.lvl'}='-2';
- &Apache::lonnet::appenv(%dirlvl);
+ if ($ENV{'dirlist.level'} eq "") {
+ my %dirlevel;
+ $dirlevel{'dirlist.level'}='-2';
+ &Apache::lonnet::appenv(%dirlevel);
} else {
- $ENV{'dirlist.lvl'}='-2';
+ $ENV{'dirlist.level'}='-2';
}
-# $r->print ("original uri=$uri");
- my $uri = &get_openpath($uri);
-# $r->print ("shortened uri=$shorturi");
-
- my $domain="/res/";
- &branch($r,$domain,$uri);
+ if ($ENV{'form.openuri'} =~ /$uri\&/) {
+ my @pathcom = split(/\//,$uri);
+ pop @pathcom;
+ my $splituri = join ('/',@pathcom);
+ $uri = join ('',$splituri,"/");
+ }
+ &display_line ($r,1,"/res/".$domain."&domain");
+# $domain="/res/".$domain."/";
+ &branch($r,"/res/".$domain."/",$uri);
$r->print("
");
$r->print("
");
@@ -100,16 +105,14 @@ sub branch {
my ($line,@list);
my ($domusr,$foo,$strip,$testdir,$compuri,$chkdir,$diropen);
my $dirptr=16384;
-# my $calluri=$r->uri;
- $ENV{'dirlist.lvl'}++;
+ $ENV{'dirlist.level'}++;
- @list=&get_list($uri);
+ @list=&get_list($r,$uri);
foreach $line (@list) {
chomp $line;
($strip,$domusr,$foo,$testdir,$foo)=split(/\&/,$line,5);
$compuri=join("",$strip,"/");
-
$chkdir=$testdir&$dirptr;
if ($domusr eq "domain" or $domusr eq "user") {
$chkdir = $dirptr;
@@ -121,12 +124,12 @@ sub branch {
&branch($r,$compuri,$calluri) if ($calluri =~ $compuri and $calluri=~/^$uri/ and $chkdir == $dirptr and $testdir ne "");
}
- $ENV{'dirlist.lvl'}--;
+ $ENV{'dirlist.level'}--;
}
# ------ get complete list based on the uri ------
sub get_list {
- my $uri=shift;
+ my ($r,$uri)=@_;
my @list;
my $luri=$uri;
$luri=~s/\//_/g;
@@ -139,7 +142,7 @@ sub get_list {
my $FH = Apache::File->new(">$dirlist");
print $FH join("\n",@list);
}
- return @list=&match_ext(@list);
+ return @list=&match_ext($r,@list);
}
# ------ get previously opened path, if any ------
@@ -173,14 +176,15 @@ sub get_openpath {
}
sub match_ext {
- my @packlist=@_;
+ my ($r,@packlist)=@_;
my $line;
my @trimlist;
my $nextline;
my @fileext;
my $dirptr=16384;
- my $fn="/home/httpd/lonTabs/filetypes.tab";
+ my $tabdir = $r->dir_config('lonTabDir');
+ my $fn = $tabdir."/filetypes.tab";
if (-e $fn) {
my $FH=Apache::File->new($fn);
my @content=<$FH>;
@@ -211,16 +215,16 @@ sub match_ext {
sub display_line{
my ($r,$diropen,$line)=@_;
- my (@pathfn, $fndir, $fnptr, $disattr);
+ my (@pathfn, $fndir, $fnptr);
my $dirptr=16384;
- my $fileclr="#ffffdd";
+ my $fileclr="#ffffe6";
my $iconpath="/res/adm/pages/indexericons/";
my @filecom = split (/\&/,$line);
my @pathcom = split (/\//,$filecom[0]);
my $listname = $pathcom[scalar(@pathcom)-1];
my $fnptr = $filecom[3]&$dirptr;
- my $indent = $ENV{'dirlist.lvl'};
+ my $indent = $ENV{'dirlist.level'};
my $tabtag="";
my $nextline;
@@ -228,30 +232,36 @@ sub display_line{
while ($i<=5) {
my $key="form.attr".$i;
- $i++;
$tabtag=join('',$tabtag,"
") if $ENV{$key} == 1;
+ $i++;
}
if ($filecom[1] eq "domain") {
$r->print("