--- loncom/publisher/lonrights.pm 2003/03/14 02:26:12 1.1 +++ loncom/publisher/lonrights.pm 2003/03/19 22:14:23 1.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to show and edit custom distribution rights # -# $Id: lonrights.pm,v 1.1 2003/03/14 02:26:12 www Exp $ +# $Id: lonrights.pm,v 1.2 2003/03/19 22:14:23 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -34,6 +34,8 @@ use strict; use Apache::Constants qw(:common :http); use Apache::lonnet(); use Apache::loncommon(); +use HTML::LCParser; +use Apache::File; sub handler { @@ -45,6 +47,32 @@ sub handler { $r->print(&Apache::loncommon::bodytag('Custom Distribution Rights')); + my $uri=$r->uri; + my $fn=&Apache::lonnet::filelocation('',$uri); + my $contents=''; + my $constructmode=($uri=~/^\/\~/); + unless ($constructmode) { +# =========================================== This is not in construction space + $contents=&Apache::lonnet::getfile($fn); + if ($contents==-1) { $contents=''; } + } else { +# =============================================== This is in construction space + if (-e $fn) { + my $fh=Apache::File->new($fn); + $contents=join('',<$fh>); + $fh->close(); + } + } + my $parser=HTML::LCParser->new(\$contents); + my $token; + 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'}); + } + } $r->print(''); return OK; }