[LON-CAPA-cvs] cvs: loncom /publisher lonrights.pm
www
lon-capa-cvs@mail.lon-capa.org
Wed, 19 Mar 2003 22:14:23 -0000
www Wed Mar 19 17:14:23 2003 EDT
Modified files:
/loncom/publisher lonrights.pm
Log:
Start work on custom rights viewer and editor.
Index: loncom/publisher/lonrights.pm
diff -u loncom/publisher/lonrights.pm:1.1 loncom/publisher/lonrights.pm:1.2
--- loncom/publisher/lonrights.pm:1.1 Thu Mar 13 21:26:12 2003
+++ loncom/publisher/lonrights.pm Wed Mar 19 17:14:23 2003
@@ -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 Apache::Constants qw(:common :http);
use Apache::lonnet();
use Apache::loncommon();
+use HTML::LCParser;
+use Apache::File;
sub handler {
@@ -45,6 +47,32 @@
$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('<br />'.
+ $token->[2]->{'effect'}.': '.
+ $token->[2]->{'realm'}.' '.
+ $token->[2]->{'role'});
+ }
+ }
$r->print('</body></html>');
return OK;
}