Diff for /loncom/publisher/lonrights.pm between versions 1.23 and 1.29

version 1.23, 2007/06/22 00:11:22 version 1.29, 2009/12/02 18:33:35
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;
   
     # Breadcrumbs
     &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb({
         'text'  => 'Construction Space',
         'href'  => &Apache::loncommon::authorspace(),
         });
     &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;
Line 110  sub handler { Line 125  sub handler {
       $rulehash{'domain'}=$env{'user.domain'};         $rulehash{'domain'}=$env{'user.domain'}; 
   }    }
   my $realm='';    my $realm='';
     my $separator = ($rulehash{'type'} eq 'course') ? '_' : '/';
   if ($number) {    if ($number) {
       $realm=$rulehash{'domain'};        $realm=$rulehash{'domain'};
       if ($rulehash{'course'}) {        if ($rulehash{'course'}) {
   $realm.='_'.$rulehash{'course'};    $realm.=$separator.$rulehash{'course'};
       }        }
       if ($rulehash{'section'}) {        if ($rulehash{'section'}) {
   $realm.='_'.$rulehash{'section'};    $realm.=$separator.$rulehash{'section'};
       }        }
   }    }
   $newrules[$number]=$rulehash{'effect'}.':'.    $newrules[$number]=$rulehash{'effect'}.':'.
Line 126  sub handler { Line 142  sub handler {
       foreach my $key (keys(%env)) {        foreach my $key (keys(%env)) {
   next if ($key!~/^form\.action\_(\d+)$/);    next if ($key!~/^form\.action\_(\d+)$/);
   my $number=$1;    my $number=$1;
   if ($env{$key} eq 'delete') { $newrules[$number]=''; }    if ($env{$key} eq 'delete') { splice(@newrules,$number,1); }
   if (($env{$key} eq 'moveup') && ($number>1)) {    if (($env{$key} eq 'moveup') && ($number>1)) {
       my $buffer=$newrules[$number];        @newrules[$number-1,$number] = @newrules[$number,$number-1];
       $newrules[$number]=$newrules[$number-1];  
       $newrules[$number-1]=$buffer;  
   }    }
   if (($env{$key} eq 'movedown') && ($number<$#newrules)) {    if (($env{$key} eq 'movedown') && ($number<$#newrules)) {
       my $buffer=$newrules[$number];        @newrules[$number+1,$number] = @newrules[$number,$number+1];
       $newrules[$number]=$newrules[$number+1];  
       $newrules[$number+1]=$buffer;  
   }    }
   if ($env{$key} eq 'insertabove') {    if ($env{$key} eq 'insertabove') {
       for (my $i=$#newrules;$i>=$number;$i--) {        splice(@newrules,$number,0,'deny');
   $newrules[$i+1]=$newrules[$i];  
       }  
       $newrules[$number]='deny';  
   }    }
   if ($env{$key} eq 'insertbelow') {    if ($env{$key} eq 'insertbelow') {
       for (my $i=$#newrules;$i>$number;$i--) {        splice(@newrules,$number+1,0,'deny');
   $newrules[$i+1]=$newrules[$i];  
       }  
       $newrules[$number+1]='deny';  
   }    }
       }        }
               
Line 183  sub handler { Line 189  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',       'co' => 'Course / User',
      'se' => 'Section',       'se' => 'Section',
      'ro' => 'Role');       'ro' => 'Role');
 # ---------------------------------------------------------- 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 203  sub handler { Line 211  sub handler {
   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;');
Line 212  sub handler { Line 220  sub handler {
   if ($constructmode) {    if ($constructmode) {
       $r->print(&Apache::loncommon::select_form        $r->print(&Apache::loncommon::select_form
                                  ($token->[2]->{'effect'},'effect_0',                                   ($token->[2]->{'effect'},'effect_0',
                                     &Apache::lonlocal::texthash
                                    ('allow' => 'allow',                                     ('allow' => 'allow',
                                     'deny'  => 'deny')));                                      'deny'  => 'deny')));
   } else {    } else {
Line 234  sub handler { Line 243  sub handler {
           if ($constructmode) {            if ($constructmode) {
              $r->print(&Apache::loncommon::select_form(               $r->print(&Apache::loncommon::select_form(
                     '','action_'.$rulecounter,                      '','action_'.$rulecounter,
                       &Apache::lonlocal::texthash
                     ('' => '',                       ('' => '', 
                      'delete' => 'Delete this rule',                       'delete' => 'Delete this rule',
                      'insertabove' => 'Insert rule above',                       'insertabove' => 'Insert rule above',
                      'insertbelow' => 'Insert rule below    ',                       'insertbelow' => 'Insert rule below',
                      'moveup'      => 'Move rule up',                       'moveup'      => 'Move rule up',
                      'movedown'    => 'Move rule down')));                       'movedown'    => 'Move rule down')));
   }    }
Line 248  sub handler { Line 258  sub handler {
              $r->print(&Apache::loncommon::select_form               $r->print(&Apache::loncommon::select_form
                                  ($token->[2]->{'effect'},                                   ($token->[2]->{'effect'},
                                   'effect_'.$rulecounter,                                    'effect_'.$rulecounter,
                                     &Apache::lonlocal::texthash
                                    ('allow' => 'allow',                                     ('allow' => 'allow',
                                     'deny'  => 'deny')));                                      'deny'  => 'deny')));
           } else {            } else {
Line 260  sub handler { Line 271  sub handler {
           if ($constructmode) {            if ($constructmode) {
               $r->print(&Apache::loncommon::select_form($type,                $r->print(&Apache::loncommon::select_form($type,
  'type_'.$rulecounter,   'type_'.$rulecounter,
                               &Apache::lonlocal::texthash
  ('course' => 'Course',   ('course' => 'Course',
  'user'   => 'User')));   'user'   => 'User')));
           } else {            } else {
Line 268  sub handler { Line 280  sub handler {
   
 # ---- realm  # ---- realm
           my $realm=$token->[2]->{'realm'};            my $realm=$token->[2]->{'realm'};
           my ($rdom,$rcourse,$rsec)=split(/[\/\_]/,$realm);            my ($rdom,$rcourse,$rsec);
   $rdom = &LONCAPA::clean_domain($rdom);  
   if ($type eq 'course') {    if ($type eq 'course') {
         ($rdom,$rcourse,$rsec) = split(m{[/_]},$realm,3);
       $rcourse = &LONCAPA::clean_courseid($rcourse);        $rcourse = &LONCAPA::clean_courseid($rcourse);
   } else {    } else {
         ($rdom,$rcourse,$rsec) = split(m{/},$realm,3);
       $rcourse = &LONCAPA::clean_username($rcourse);        $rcourse = &LONCAPA::clean_username($rcourse);
   }    }
   
   
           $r->print('</td><td>');            $r->print('</td><td>');
 # realm domain  # realm domain
           if ($constructmode) {            if ($constructmode) {

Removed from v.1.23  
changed lines
  Added in v.1.29


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