version 1.17, 2000/07/17 16:37:14
|
version 1.20, 2000/07/21 00:40:37
|
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 301 sub repcopy {
|
Line 301 sub repcopy {
|
} elsif ($remoteurl eq 'not_found') { |
} elsif ($remoteurl eq 'not_found') { |
&logthis("Subscribe returned not_found: $filename"); |
&logthis("Subscribe returned not_found: $filename"); |
return HTTP_NOT_FOUND; |
return HTTP_NOT_FOUND; |
} elsif ($remoteurl eq 'forbidden') { |
} elsif ($remoteurl eq 'rejected') { |
&logthis("Subscribe returned forbidden: $filename"); |
&logthis("Subscribe returned rejected: $filename"); |
return FORBIDDEN; |
return FORBIDDEN; |
|
} elsif ($remoteurl eq 'directory') { |
|
return OK; |
} else { |
} else { |
my @parts=split(/\//,$filename); |
my @parts=split(/\//,$filename); |
my $path="/$parts[1]/$parts[2]/$parts[3]/$parts[4]"; |
my $path="/$parts[1]/$parts[2]/$parts[3]/$parts[4]"; |
Line 595 sub assignrole {
|
Line 597 sub assignrole {
|
|
|
sub dirlist { |
sub dirlist { |
my $uri=shift; |
my $uri=shift; |
$uri=~/^\/res\/(\w+)\/(\w+)\//; |
$uri=~s/^\///; |
my $listing=reply('ls:'.$perlvar{'lonDocRoot'}.'/'.$uri,homeserver($2,$1)); |
$uri=~s/\/$//; |
return split(/:/,$listing); |
my ($res,$udom,$uname,@rest)=split(/\//,$uri); |
|
if ($udom) { |
|
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 |