version 1.765, 2006/07/21 18:52:35
|
version 1.766, 2006/07/21 19:42:25
|
Line 3220 sub tmpdel {
|
Line 3220 sub tmpdel {
|
# -------------------------------------------------- portfolio access checking |
# -------------------------------------------------- portfolio access checking |
|
|
sub portfolio_access { |
sub portfolio_access { |
my ($r,$requrl) = @_; |
my ($requrl) = @_; |
my $access=&allowed('bre',$requrl); |
|
if ($access eq '2' || $access eq 'F') { |
|
return 'ok'; |
|
} |
|
my (undef,$udom,$unum,$file_name,$group) = &parse_portfolio_url($requrl); |
my (undef,$udom,$unum,$file_name,$group) = &parse_portfolio_url($requrl); |
my $result = &get_portfolio_access($udom,$unum,$file_name,$group); |
my $result = &get_portfolio_access($udom,$unum,$file_name,$group); |
if ($result eq 'ok') { |
if ($result eq 'ok') { |
return 'ok'; |
return 'F'; |
} elsif ($result =~ /^[^:]+:guest_/) { |
} elsif ($result =~ /^[^:]+:guest_/) { |
&Apache::lonacc::passphrase_access_checker($r,$result,$requrl); |
return 'A'; |
return 'ok'; |
|
} |
} |
return undef; |
return ''; |
} |
} |
|
|
sub get_portfolio_access { |
sub get_portfolio_access { |
Line 3602 sub allowed {
|
Line 3597 sub allowed {
|
} |
} |
} |
} |
|
|
|
if ($priv eq 'bre' |
|
&& $thisallowed ne 'F' |
|
&& $thisallowed ne '2' |
|
&& &is_portfolio_url($uri)) { |
|
$thisallowed = &portfolio_access($uri); |
|
} |
|
|
# Full access at system, domain or course-wide level? Exit. |
# Full access at system, domain or course-wide level? Exit. |
|
|
if ($thisallowed=~/F/) { |
if ($thisallowed=~/F/) { |
Line 3752 sub allowed {
|
Line 3754 sub allowed {
|
# |
# |
|
|
unless ($env{'request.course.id'}) { |
unless ($env{'request.course.id'}) { |
return '1'; |
if ($thisallowed eq 'A') { |
|
return 'A'; |
|
} else { |
|
return '1'; |
|
} |
} |
} |
|
|
# |
# |
Line 3815 sub allowed {
|
Line 3821 sub allowed {
|
} |
} |
} |
} |
|
|
|
if ($thisallowed eq 'A') { |
|
return 'A'; |
|
} |
return 'F'; |
return 'F'; |
} |
} |
|
|
Line 7508 actions
|
Line 7517 actions
|
'': forbidden |
'': forbidden |
1: user needs to choose course |
1: user needs to choose course |
2: browse allowed |
2: browse allowed |
|
A: passphrase authentication needed |
|
|
=item * |
=item * |
|
|
Line 8235 Internal notes:
|
Line 8245 Internal notes:
|
|
|
Locks on files (resulting from submission of portfolio file to a homework problem stored in array of arrays. |
Locks on files (resulting from submission of portfolio file to a homework problem stored in array of arrays. |
|
|
parse_access_controls(): |
|
|
|
Parses XML of an access control record |
|
Args |
|
1. Text string (XML) of access comtrol record |
|
|
|
Returns: |
|
1. Hash of access control settings. |
|
|
|
modify_access_controls(): |
modify_access_controls(): |
|
|
Modifies access controls for a portfolio file |
Modifies access controls for a portfolio file |