--- loncom/publisher/lonrights.pm 2003/03/19 22:14:23 1.2 +++ loncom/publisher/lonrights.pm 2003/03/20 16:17:37 1.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to show and edit custom distribution rights # -# $Id: lonrights.pm,v 1.2 2003/03/19 22:14:23 www Exp $ +# $Id: lonrights.pm,v 1.3 2003/03/20 16:17:37 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -43,7 +43,8 @@ sub handler { $r->content_type('text/html'); $r->send_http_header; - $r->print('LON-CAPA Custom Distribution Rights'); + $r->print( + 'LON-CAPA Custom Distribution Rights'); $r->print(&Apache::loncommon::bodytag('Custom Distribution Rights')); @@ -62,17 +63,75 @@ sub handler { $contents=join('',<$fh>); $fh->close(); } + $r->print('
'); } my $parser=HTML::LCParser->new(\$contents); my $token; + my $rulecounter=0; +# ---------------------------------------------------------- Start table output + $r->print(''); +# --------------------------------------------------------------------- Default +# Fast forward to first rule + $token=$parser->get_token; + while ($token->[1] ne 'accessrule') { $token=$parser->get_token; } +# print default + $r->print(''); +# Additional roles while ($token=$parser->get_token) { if (($token->[0] eq 'S') && ($token->[1] eq 'accessrule')) { - $r->print('
'. - $token->[2]->{'effect'}.': '. - $token->[2]->{'realm'}.' '. - $token->[2]->{'role'}); + $rulecounter++; + $r->print(''); } } + $r->print('
 '); + 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('Default'); + if (($token->[2]->{'realm'}) || ($token->[2]->{'role'})) { + $r->print(' - Error! No default set.'); + } + $r->print('
'); +# inset, delete, etc + $r->print(''); +# 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(''); +# 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(''); +# role + if ($constructmode) { + } else { + $r->print($token->[2]->{'role'}); + } +# close row + $r->print('
'); +# ------------------------------------------------------------ End table output + if ($constructmode) { + $r->print('
'); + } $r->print(''); return OK; }