Diff for /loncom/publisher/lonrights.pm between versions 1.24 and 1.36

version 1.24, 2007/07/13 18:35:28 version 1.36, 2023/07/13 22:21:26
Line 55  sub handler { Line 55  sub handler {
   &Apache::loncommon::content_type($r,'text/html');    &Apache::loncommon::content_type($r,'text/html');
   $r->send_http_header;    $r->send_http_header;
   
     my $text = 'Authoring Space';
     my $href = &Apache::loncommon::authorspace($r->uri);
     my ($crsauthor,$cdom,$cnum);
     if ($env{'request.course.id'}) {
         $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
         $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
         if ($href eq "/priv/$cdom/$cnum/") {
             $crsauthor = 1;
             $text = 'Course Authoring Space';
         }
     }
     # Breadcrumbs
     &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb({
         'text'  => $text,
         'href'  => $href,
         });
     if ($crsauthor) {
         &Apache::lonhtmlcommon::add_breadcrumb({
             'text'  => 'Custom Rights',
             'title' => 'Custom Distribution Rights',
             'href'  => '',});
     } else {
         &Apache::lonhtmlcommon::add_breadcrumb({
             'text'  => 'Custom Rights Editor',
             'title' => 'Custom Distribution Rights Editor',
             'href'  => '',});
     }
   
   my $js = &Apache::loncommon::coursebrowser_javascript().    my $js = &Apache::loncommon::coursebrowser_javascript().
       &Apache::loncommon::studentbrowser_javascript();        &Apache::loncommon::studentbrowser_javascript();
   $r->print(&Apache::loncommon::start_page('Custom Distribution Rights',$js));    # Breadcrumbs are included by &start_page
     $r->print(&Apache::loncommon::start_page('Custom Distribution Rights',$js)
              .&Apache::loncommon::head_subbox(
                   &Apache::loncommon::CSTR_pageheader())
     );
   $r->rflush();    $r->rflush();
   
   my $uri=$r->uri;    my $uri=$r->uri;
   my $fn=&Apache::lonnet::filelocation('',$uri);    my $fn=&Apache::lonnet::filelocation('',$uri);
   my $contents='';    my $contents='';
   my $constructmode=($uri=~/^\/\~/);    my $constructmode=($uri=~ m{^/priv/});
     if ($constructmode) {
         if (($crsauthor) && ($uri eq "/priv/$cdom/$cnum/default.rights")) {
             undef($constructmode);
         }
     }
   
 # ============================================================ Modify and store  # ============================================================ Modify and store
   if ($constructmode && $env{'form.store'}) {    if ($constructmode && $env{'form.store'}) {
Line 165  sub handler { Line 203  sub handler {
           $contents=join('',<$fh>);            $contents=join('',<$fh>);
           $fh->close();            $fh->close();
       }        }
       $r->print('<form name="rules" method="post">');        $r->print('<form name="rules" method="post" action="">');
   }    }
   unless ($contents=~/\<accessrule/s) {    unless ($contents=~/\<accessrule/s) {
       $contents='<accessrule effect="deny" />';        $contents='<accessrule effect="deny" />';
Line 174  sub handler { Line 212  sub handler {
   my $token;    my $token;
   my $rulecounter=0;    my $rulecounter=0;
   my $colzero=&mt($constructmode?'Edit action':'Rule');    my $colzero=&mt($constructmode?'Edit action':'Rule');
   my %lt=&Apache::lonlocal::texthash('ef' => 'Effect',    my %lt=&Apache::lonlocal::texthash(
        'ef' => 'Effect',
        'ty' => 'Type',
      'do' => 'Domain',       'do' => 'Domain',
      'co' => 'Course / User',       'co' => 'Course / User',
      'se' => 'Section',       'se' => 'Section',
      'ro' => 'Role');       'ro' => 'Role');
     my %iconimg = ('allow' => '<img src="/adm/lonIcons/navmap.correct.gif"'
                              .' alt="'.&mt('allow').'" title="'.&mt('allow').'" />',
                    'deny' => '<img src="/adm/lonIcons/navmap.wrong.gif"'
                              .' alt="'.&mt('deny').'" title="'.&mt('deny').'" />');
 # ---------------------------------------------------------- Start table output  # ---------------------------------------------------------- Start table output
   $r->print(&Apache::loncommon::start_data_table().    $r->print(&Apache::loncommon::start_data_table().
     &Apache::loncommon::start_data_table_header_row().      &Apache::loncommon::start_data_table_header_row().
     "<th>$colzero</th><th>$lt{'ef'}</th><th>Type</th><th>$lt{'do'}</th>".      "<th>$colzero</th><th>$lt{'ef'}</th><th>$lt{'ty'}</th><th>$lt{'do'}</th>".
     "<th>$lt{'co'}</th><th>$lt{'se'}</th><th>$lt{'ro'}</th>".      "<th>$lt{'co'}</th><th>$lt{'se'}</th><th>$lt{'ro'}</th>".
     &Apache::loncommon::end_data_table_header_row());      &Apache::loncommon::end_data_table_header_row());
 # --------------------------------------------------------------------- Default  # --------------------------------------------------------------------- Default
Line 193  sub handler { Line 237  sub handler {
   $r->print(&Apache::loncommon::start_data_table_row().'<td align="right">');    $r->print(&Apache::loncommon::start_data_table_row().'<td align="right">');
   if ($constructmode) {    if ($constructmode) {
      $r->print(&Apache::loncommon::select_form('','action_0',       $r->print(&Apache::loncommon::select_form('','action_0',
                                   ('' => '',                                    {'' => '',
    'insertbelow' => 'Insert rule below    ')));                                     'insertbelow' => &mt('Insert rule below')}));
                                                                                                   
   } else {    } else {
       $r->print('&nbsp;');        $r->print('&nbsp;');
   }    }
   $r->print('</td><td>');    $r->print('</td><td>');
     $r->print($iconimg{$token->[2]->{'effect'}});
   if ($constructmode) {    if ($constructmode) {
       $r->print(&Apache::loncommon::select_form        my %lt = &Apache::lonlocal::texthash
                                  ($token->[2]->{'effect'},'effect_0',  
                                    ('allow' => 'allow',                                     ('allow' => 'allow',
                                     'deny'  => 'deny')));                                      'deny'  => 'deny');
   } else {        $r->print(&Apache::loncommon::select_form
       $r->print($token->[2]->{'effect'});                                   ($token->[2]->{'effect'},'effect_0',\%lt));
   }    }
   $r->print('</td><td colspan="5">'.&mt('Default'));    $r->print('</td><td colspan="5">'.&mt('Default'));
   if (($token->[2]->{'realm'}) || ($token->[2]->{'role'})) {    if (($token->[2]->{'realm'}) || ($token->[2]->{'role'})) {
Line 223  sub handler { Line 267  sub handler {
 # insert, delete, etc  # insert, delete, etc
   $r->print('<span class="LC_nobreak">'.$rulecounter.'. ');    $r->print('<span class="LC_nobreak">'.$rulecounter.'. ');
           if ($constructmode) {            if ($constructmode) {
                my %lt = &Apache::lonlocal::texthash
                             (''            => '',
                              'delete'      => 'Delete this rule',
                              'insertabove' => 'Insert rule above',
                              'insertbelow' => 'Insert rule below',
                              'moveup'      => 'Move rule up',
                              'movedown'    => 'Move rule down'
                              );
   
              $r->print(&Apache::loncommon::select_form(               $r->print(&Apache::loncommon::select_form(
                     '','action_'.$rulecounter,                      '','action_'.$rulecounter,\%lt));
                     ('' => '',   
                      'delete' => 'Delete this rule',  
                      'insertabove' => 'Insert rule above',  
                      'insertbelow' => 'Insert rule below    ',  
                      'moveup'      => 'Move rule up',  
                      'movedown'    => 'Move rule down')));  
   }    }
           $r->print('</span></td>'.            $r->print('</span></td>'.
     '<td rowspan="2">');      '<td rowspan="2">');
 # effect  # effect
             $r->print($iconimg{$token->[2]->{'effect'}});
           if ($constructmode) {            if ($constructmode) {
                my %lt = &Apache::lonlocal::texthash
                                ('allow' => 'allow',
                                 'deny'  => 'deny');
              $r->print(&Apache::loncommon::select_form               $r->print(&Apache::loncommon::select_form
                                  ($token->[2]->{'effect'},                                   ($token->[2]->{'effect'},
                                   'effect_'.$rulecounter,                                    'effect_'.$rulecounter,\%lt));
                                    ('allow' => 'allow',  
                                     'deny'  => 'deny')));  
           } else {  
              $r->print($token->[2]->{'effect'});  
           }            }
   
 # type  # type
   $r->print('</td><td rowspan="2">');    $r->print('</td><td rowspan="2">');
   my $type = ($token->[2]{'type'} || 'course');    my $type = ($token->[2]{'type'} || 'course');
           if ($constructmode) {            if ($constructmode) {
                 my %lt = &Apache::lonlocal::texthash
                              ('course' => 'Course',
                               'user'   => 'User');
               $r->print(&Apache::loncommon::select_form($type,                $r->print(&Apache::loncommon::select_form($type,
  'type_'.$rulecounter,   'type_'.$rulecounter,\%lt));
  ('course' => 'Course',  
  'user'   => 'User')));  
           } else {            } else {
               $r->print($type);                $r->print(&mt($type));
           }            }
   
 # ---- realm  # ---- realm
Line 307  sub handler { Line 355  sub handler {
   my $role=$token->[2]->{'role'};    my $role=$token->[2]->{'role'};
   unless ($role) { $role=''; }    unless ($role) { $role=''; }
   $r->print(&Apache::loncommon::select_form(    $r->print(&Apache::loncommon::select_form(
     $role,'role_'.$rulecounter,%hash));      $role,'role_'.$rulecounter,\%hash));
       } else {        } else {
   $r->print(&Apache::lonnet::plaintext($token->[2]->{'role'}));    $r->print(&Apache::lonnet::plaintext($token->[2]->{'role'}));
       }        }

Removed from v.1.24  
changed lines
  Added in v.1.36


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