Diff for /loncom/publisher/lonrights.pm between versions 1.1 and 1.3

version 1.1, 2003/03/14 02:26:12 version 1.3, 2003/03/20 16:17:37
Line 34  use strict; Line 34  use strict;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use Apache::lonnet();  use Apache::lonnet();
 use Apache::loncommon();  use Apache::loncommon();
   use HTML::LCParser;
   use Apache::File;
   
 sub handler {  sub handler {
   
Line 41  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'));
   
     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();
         }
         $r->print('<form method="post">');
     }
     my $parser=HTML::LCParser->new(\$contents);
     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>&nbsp;</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) {
         if (($token->[0] eq 'S') && ($token->[1] eq 'accessrule')) {
             $rulecounter++;
     $r->print('<tr><td>');
   # inset, delete, etc
             $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;  
 }  }

Removed from v.1.1  
changed lines
  Added in v.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>