version 1.18, 2000/07/17 21:36:33
|
version 1.19, 2000/07/18 13:46:49
|
Line 24
|
Line 24
|
# 04/05,05/29,05/31,06/01, |
# 04/05,05/29,05/31,06/01, |
# 06/05,06/26 Gerd Kortemeyer |
# 06/05,06/26 Gerd Kortemeyer |
# 06/26 Ben Tyszka |
# 06/26 Ben Tyszka |
# 06/30,07/15,07/17 Gerd Kortemeyer |
# 06/30,07/15,07/17,07/18 Gerd Kortemeyer |
|
|
package Apache::lonnet; |
package Apache::lonnet; |
|
|
Line 597 sub dirlist {
|
Line 597 sub dirlist {
|
my $uri=shift; |
my $uri=shift; |
$uri=~s/^\///; |
$uri=~s/^\///; |
$uri=~s/\/$//; |
$uri=~s/\/$//; |
$uri=~/^res\/(\w+)\/(\w+)/; |
my ($res,$udom,$uname,@rest)=split(/\//,$uri); |
my $listing=reply('ls:'.$perlvar{'lonDocRoot'}.'/'.$uri,homeserver($2,$1)); |
if ($udom) { |
return split(/:/,$listing); |
if ($uname) { |
|
my $listing=reply('ls:'.$perlvar{'lonDocRoot'}.'/'.$uri, |
|
homeserver($uname,$udom)); |
|
return split(/:/,$listing); |
|
} else { |
|
my $tryserver; |
|
my %allusers=(); |
|
foreach $tryserver (keys %libserv) { |
|
if ($hostdom{$tryserver} eq $udom) { |
|
my $listing=reply('ls:'.$perlvar{'lonDocRoot'}.'/res/'.$udom, |
|
$tryserver); |
|
if (($listing ne 'no_such_dir') && ($listing ne 'empty') |
|
&& ($listing ne 'con_lost')) { |
|
map { |
|
my ($entry,@stat)=split(/&/,$_); |
|
$allusers{$entry}=1; |
|
} split(/:/,$listing); |
|
} |
|
} |
|
} |
|
my $alluserstr=''; |
|
map { |
|
$alluserstr.=$_.'&user:'; |
|
} sort keys %allusers; |
|
$alluserstr=~s/:$//; |
|
return split(/:/,$alluserstr); |
|
} |
|
} else { |
|
my $tryserver; |
|
my %alldom=(); |
|
foreach $tryserver (keys %libserv) { |
|
$alldom{$hostdom{$tryserver}}=1; |
|
} |
|
my $alldomstr=''; |
|
map { |
|
$alldomstr.=$perlvar{'lonDocRoot'}.'/res/'.$_.'&domain:'; |
|
} sort keys %alldom; |
|
$alldomstr=~s/:$//; |
|
return split(/:/,$alldomstr); |
|
} |
} |
} |
|
|
# -------------------------------------------------------- Escape Special Chars |
# -------------------------------------------------------- Escape Special Chars |