version 1.2, 2003/03/19 22:14:23
|
version 1.3, 2003/03/20 16:17:37
|
Line 43 sub handler {
|
Line 43 sub handler {
|
$r->content_type('text/html'); |
$r->content_type('text/html'); |
$r->send_http_header; |
$r->send_http_header; |
|
|
$r->print('<html><head><title>LON-CAPA Custom Distribution Rights</title></head>'); |
$r->print( |
|
'<html><head><title>LON-CAPA Custom Distribution Rights</title></head>'); |
|
|
$r->print(&Apache::loncommon::bodytag('Custom Distribution Rights')); |
$r->print(&Apache::loncommon::bodytag('Custom Distribution Rights')); |
|
|
Line 62 sub handler {
|
Line 63 sub handler {
|
$contents=join('',<$fh>); |
$contents=join('',<$fh>); |
$fh->close(); |
$fh->close(); |
} |
} |
|
$r->print('<form method="post">'); |
} |
} |
my $parser=HTML::LCParser->new(\$contents); |
my $parser=HTML::LCParser->new(\$contents); |
my $token; |
my $token; |
|
my $rulecounter=0; |
|
# ---------------------------------------------------------- Start table output |
|
$r->print('<table border="2">'); |
|
# --------------------------------------------------------------------- Default |
|
# Fast forward to first rule |
|
$token=$parser->get_token; |
|
while ($token->[1] ne 'accessrule') { $token=$parser->get_token; } |
|
# print default |
|
$r->print('<tr><td> </td><td>'); |
|
if ($constructmode) { |
|
$r->print(&Apache::loncommon::select_form |
|
($token->[2]->{'effect'},'effect_0', |
|
('allow' => 'allow', |
|
'deny' => 'deny'))); |
|
} else { |
|
$r->print($token->[2]->{'effect'}); |
|
} |
|
$r->print('</td><td colspan="2">Default'); |
|
if (($token->[2]->{'realm'}) || ($token->[2]->{'role'})) { |
|
$r->print(' - <font color="red">Error! No default set.</font>'); |
|
} |
|
$r->print('</td></tr>'); |
|
# Additional roles |
while ($token=$parser->get_token) { |
while ($token=$parser->get_token) { |
if (($token->[0] eq 'S') && ($token->[1] eq 'accessrule')) { |
if (($token->[0] eq 'S') && ($token->[1] eq 'accessrule')) { |
$r->print('<br />'. |
$rulecounter++; |
$token->[2]->{'effect'}.': '. |
$r->print('<tr><td>'); |
$token->[2]->{'realm'}.' '. |
# inset, delete, etc |
$token->[2]->{'role'}); |
$r->print('</td><td>'); |
|
# effect |
|
if ($constructmode) { |
|
$r->print(&Apache::loncommon::select_form |
|
($token->[2]->{'effect'}, |
|
'effect_'.$rulecounter, |
|
('allow' => 'allow', |
|
'deny' => 'deny'))); |
|
} else { |
|
$r->print($token->[2]->{'effect'}); |
|
} |
|
$r->print('</td><td>'); |
|
# realm |
|
my $realm=$token->[2]->{'realm'}; |
|
$realm=~s/^\W//; |
|
my ($rdom,$rcourse,$rsec)=split(/(\/|\_)/,$realm); |
|
if ($constructmode) { |
|
$r->print(&Apache::loncommon::select_dom_form($rdom, |
|
'domain_'.$rulecounter)); |
|
} else { |
|
$r->print($token->[2]->{'realm'}); |
|
} |
|
$r->print('</td><td>'); |
|
# role |
|
if ($constructmode) { |
|
} else { |
|
$r->print($token->[2]->{'role'}); |
|
} |
|
# close row |
|
$r->print('</td></tr>'); |
} |
} |
} |
} |
|
$r->print('</table>'); |
|
# ------------------------------------------------------------ End table output |
|
if ($constructmode) { |
|
$r->print('<input type="submit" value="Store" /></form>'); |
|
} |
$r->print('</body></html>'); |
$r->print('</body></html>'); |
return OK; |
return OK; |
} |
} |