version 1.546, 2018/08/09 13:27:55
|
version 1.547, 2018/08/09 14:07:40
|
Line 1895 sub ls3_handler {
|
Line 1895 sub ls3_handler {
|
my $rights; |
my $rights; |
my $ulsout=''; |
my $ulsout=''; |
my $ulsfn; |
my $ulsfn; |
|
|
|
my ($crscheck,$toplevel,$currdom,$currnum,$skip); |
|
unless ($islocal) { |
|
my ($major,$minor) = split(/\./,$clientversion); |
|
if (($major < 2) || ($major == 2 && $minor < 12)) { |
|
$crscheck = 1; |
|
} |
|
} |
if (-e $ulsdir) { |
if (-e $ulsdir) { |
if(-d $ulsdir) { |
if(-d $ulsdir) { |
unless (($getpropath) || ($getuserdir) || |
unless (($getpropath) || ($getuserdir) || |
Line 1904 sub ls3_handler {
|
Line 1912 sub ls3_handler {
|
&Failure($client,"refused\n",$userinput); |
&Failure($client,"refused\n",$userinput); |
return 1; |
return 1; |
} |
} |
if (opendir(LSDIR,$ulsdir)) { |
if (($crscheck) && |
|
($ulsdir =~ m{^/home/httpd/html/res/($LONCAPA::match_domain)(/?$|/$LONCAPA::match_courseid)})) { |
|
($currdom,my $posscnum) = ($1,$2); |
|
if (($posscnum eq '') || ($posscnum eq '/')) { |
|
$toplevel = 1; |
|
} else { |
|
$posscnum =~ s{^/+}{}; |
|
if (&LONCAPA::Lond::is_course($currdom,$posscnum)) { |
|
$skip = 1; |
|
} |
|
} |
|
} |
|
if ((!$skip) && (opendir(LSDIR,$ulsdir))) { |
while ($ulsfn=readdir(LSDIR)) { |
while ($ulsfn=readdir(LSDIR)) { |
|
if (($crscheck) && ($toplevel) && ($currdom ne '') && |
|
($ulsfn =~ /^$LONCAPA::match_courseid$/) && (-d "$ulsdir/$ulsfn")) { |
|
if (&LONCAPA::Lond::is_course($currdom,$ulsfn)) { |
|
next; |
|
} |
|
} |
undef($obs); |
undef($obs); |
undef($rights); |
undef($rights); |
my @ulsstats=stat($ulsdir.'/'.$ulsfn); |
my @ulsstats=stat($ulsdir.'/'.$ulsfn); |