--- loncom/publisher/lonrights.pm 2004/01/20 21:10:03 1.12
+++ loncom/publisher/lonrights.pm 2006/04/06 22:15:19 1.18
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to show and edit custom distribution rights
#
-# $Id: lonrights.pm,v 1.12 2004/01/20 21:10:03 albertel Exp $
+# $Id: lonrights.pm,v 1.18 2006/04/06 22:15:19 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -32,7 +32,7 @@ package Apache::lonrights;
use strict;
use Apache::Constants qw(:common :http);
-use Apache::lonnet();
+use Apache::lonnet;
use Apache::loncommon();
use HTML::LCParser;
use Apache::File;
@@ -41,14 +41,23 @@ use Apache::lonlocal;
sub handler {
my $r=shift;
+ my $target = $env{'form.grade_target'};
+ if ($target eq 'meta') {
+ &Apache::loncommon::content_type($r,'text/html');
+ $r->send_http_header;
+ $env{'request.uri'}=$r->uri;
+ my $file = &Apache::lonnet::filelocation("",$r->uri);
+ my $content=&Apache::lonnet::getfile($file);
+ my $result=&Apache::lonxml::xmlparse(undef,'meta',$content);
+ $r->print($result);
+ return OK;
+ }
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
- $r->print(
- '
LON-CAPA Custom Distribution Rights'.
- &Apache::loncommon::coursebrowser_javascript().'');
+ my $js = &Apache::loncommon::coursebrowser_javascript();
- $r->print(&Apache::loncommon::bodytag('Custom Distribution Rights'));
+ $r->print(&Apache::loncommon::start_page('Custom Distribution Rights',$js));
$r->rflush();
my $uri=$r->uri;
@@ -58,16 +67,16 @@ sub handler {
# ============================================================ Modify and store
if ($constructmode) {
- if ($ENV{'form.store'}) {
+ if ($env{'form.store'}) {
my @newrules=();
undef @newrules;
# read rules from form
- foreach (keys %ENV) {
+ foreach (keys %env) {
if ($_=~/^form\.effect\_(\d+)$/) {
my $number=$1;
my %rulehash=();
foreach ('effect','domain','course','section','role') {
- $rulehash{$_}=$ENV{'form.'.$_.'_'.$number};
+ $rulehash{$_}=$env{'form.'.$_.'_'.$number};
}
if ($rulehash{'role'} eq 'au') {
$rulehash{'course'}='';
@@ -84,7 +93,7 @@ sub handler {
$rulehash{'course'}=~s/\W//g;
$rulehash{'section'}=~s/\W//g;
unless ($rulehash{'domain'}) {
- $rulehash{'domain'}=$ENV{'user.domain'};
+ $rulehash{'domain'}=$env{'user.domain'};
}
my $realm='';
if ($number) {
@@ -101,27 +110,27 @@ sub handler {
}
}
# edit actions?
- foreach (keys %ENV) {
+ foreach (keys %env) {
if ($_=~/^form\.action\_(\d+)$/) {
my $number=$1;
- if ($ENV{$_} eq 'delete') { $newrules[$number]=''; }
- if (($ENV{$_} eq 'moveup') && ($number>2)) {
+ if ($env{$_} eq 'delete') { $newrules[$number]=''; }
+ if (($env{$_} eq 'moveup') && ($number>1)) {
my $buffer=$newrules[$number];
$newrules[$number]=$newrules[$number-1];
$newrules[$number-1]=$buffer;
}
- if (($ENV{$_} eq 'movedown') && ($number<$#newrules)) {
+ if (($env{$_} eq 'movedown') && ($number<$#newrules)) {
my $buffer=$newrules[$number];
$newrules[$number]=$newrules[$number+1];
$newrules[$number+1]=$buffer;
}
- if ($ENV{$_} eq 'insertabove') {
+ if ($env{$_} eq 'insertabove') {
for (my $i=$#newrules;$i>=$number;$i--) {
$newrules[$i+1]=$newrules[$i];
}
$newrules[$number]='deny';
}
- if ($ENV{$_} eq 'insertbelow') {
+ if ($env{$_} eq 'insertbelow') {
for (my $i=$#newrules;$i>$number;$i--) {
$newrules[$i+1]=$newrules[$i];
}
@@ -238,7 +247,7 @@ ENDSTARTTABLE
my ($rdom,$rcourse,$rsec)=split(/[\/\_]/,$realm);
# realm domain
if ($constructmode) {
- unless ($rdom) { $rdom=$ENV{'user.domain'}; }
+ unless ($rdom) { $rdom=$env{'user.domain'}; }
$r->print(&Apache::loncommon::select_dom_form($rdom,
'domain_'.$rulecounter));
} else {
@@ -296,7 +305,7 @@ ENDSTARTTABLE
if ($constructmode) {
$r->print('');
}
- $r->print('