Diff for /loncom/publisher/lonunauthorized.pm between versions 1.17.2.1 and 1.18

version 1.17.2.1, 2018/11/26 13:07:41 version 1.18, 2016/06/19 04:27:58
Line 102  sub handler { Line 102  sub handler {
         if ($ENV{'REDIRECT_URL'} =~ m{^/adm/([^/]+)}) {          if ($ENV{'REDIRECT_URL'} =~ m{^/adm/([^/]+)}) {
             my $action = $1;                 my $action = $1;   
             my ($option,$filename,$filename1,$filename2,$decompress,              my ($option,$filename,$filename1,$filename2,$decompress,
                 $qualifiedfilename,$warning);                  $qualifiedfilename);
             my %deniedactions = &get_denied_action_text();  
             if ($ENV{'REDIRECT_QUERY_STRING'} ne '') {              if ($ENV{'REDIRECT_QUERY_STRING'} ne '') {
                 foreach my $pair (split(/&/,$ENV{'REDIRECT_QUERY_STRING'})) {                  foreach my $pair (split(/&/,$ENV{'REDIRECT_QUERY_STRING'})) {
                     my ($name,$value) = split(/=/,$pair);                      my ($name,$value) = split(/=/,$pair);
Line 131  sub handler { Line 130  sub handler {
                             $option = 'cstr';                              $option = 'cstr';
                         }                          }
                     } elsif ($name eq 'filetwo') {                      } elsif ($name eq 'filetwo') {
                         $option = $value;                          $option = $value; 
                     }                      }
                 }                  }
                 if (($action eq 'upload') || ($action eq 'testbank')) {                  if (($action eq 'upload') || ($action eq 'testbank')) {
                     if (($filename1 ne '') && ($filename2 ne '')) {                      if (($filename1 ne '') && ($filename ne '')) {
                         $filename = $filename1.$filename2;                          $filename = $filename1.$filename2;
                     }                      }
                 } elsif ($action eq 'cfile') {                  } elsif ($action eq 'cfile') {
Line 145  sub handler { Line 144  sub handler {
                         $filename = $qualifiedfilename;                          $filename = $qualifiedfilename;
                     }                      }
                 }                  }
                   my %deniedactions = &get_denied_action_text();
                   my $warning;
                 if ($option eq 'decompress') {                  if ($option eq 'decompress') {
                     $warning = $deniedactions{$option};                      $warning = $deniedactions{$option};
                 } else {                  } else {
Line 172  sub handler { Line 173  sub handler {
                               &mt('You are not permitted to take this action.').                                &mt('You are not permitted to take this action.').
                               '</p>');                                '</p>');
                 }                  }
             } elsif (($action eq 'upload') || ($action eq 'testbank')) {  
                 $filename1 = $env{'form.filename1'};  
                 $filename2 = $env{'form.filename2'};  
                 if (($filename1 ne '') && ($filename2 ne '')) {  
                     $filename = $filename1.$filename2;  
                 }  
                 $warning = $deniedactions{$action};  
                 if ($warning) {  
                     if ($filename =~ m{^/priv/.+\.\d+\.[^.]+$}) {  
                         $r->print('<p class="LC_error">'.  
                                   &mt('There is a problem with the filename').' '.  
                                   '<span class="LC_filename">'.$filename.'</span></p>'.  
                                   '<p class="LC_warning">'.  
                                   &mt('The suggested filename may not include the pattern ".number.extension" as LON-CAPA reserves that pattern for its internal versioning mechanism.').  
                                   '</p>');  
                     } else {  
                         $r->print('<p class="LC_error">'.  
                                   $deniedactions{$action}.'</p><p class="LC_warning">'.  
                                   &mt('You do not have authoring privileges for this resource').' '.  
                                       '<span class="LC_filename">'.$filename.'</span>'.  
                                   '</p>');  
                     }  
                 } else {  
                     $r->print('<p class="LC_error">'.  
                               &mt('You are not permitted to take this action.').  
                               '</p>');  
                 }  
             }              }
         } elsif ($r->uri =~ m{priv/.+\.\d+\.[^.]+$}) {          } elsif ($r->uri =~ m{priv/.+\.\d+\.[^.]+$}) {
             $r->print('<p class="LC_error">'.              $r->print('<p class="LC_error">'.
Line 229  sub handler { Line 203  sub handler {
         my $realownerhome=          my $realownerhome=
     &Apache::lonnet::homeserver($realownername,$realownerdom);      &Apache::lonnet::homeserver($realownername,$realownerdom);
         unless ($realownerhome eq 'no_host') {          unless ($realownerhome eq 'no_host') {
             my $plainname=&Apache::loncommon::plainname($realownername,$realownerdom);              if (&Apache::lonnet::is_course($realownerdom,$realownername)) {
             my $user=$realownername.':'.$realownerdom;                  my $ccrole = 'cc';
             my $userlink=&Apache::loncommon::aboutmewrapper(                  my %crsenv = &Apache::lonnet::coursedescription("$realownerdom/$realownername",{one_time => 1});
                              $plainname.' ('.$user.')'                  my $cdesc = $crsenv{'description'};
                             ,$realownername                  my $crstype = $crsenv{'type'};
                             ,$realownerdom);                  if ($crstype eq 'Community') {
     $r->print('<p>'                      $ccrole = 'co';
                      .&mt('Contact [_1] for access.',$userlink)                  }
                      .'</p>');                  my $rolename = $crsenv{$ccrole.'.plaintext'};
                   if ($rolename eq '') {
                       $rolename = &Apache::lonnet::plaintext($ccrole,$crstype,$realownerdom.'_'.$realownername,1);
                   }
                   my $allowed = &Apache::lonnet::allowed('mdc',$realownerdom.'_'.$realownername);
                   if (!$allowed) {
                       my %roleshash = &Apache::lonnet::get_my_roles('','','userroles',['active'],
                                                                     [$ccrole],[$realownerdom]);
                       if (exists($roleshash{$realownername.':'.$realownerdom.':'.$ccrole})) {
                           $r->print(&mt('[_1]Switch role[_2] for access',
                                         '<a href="/adm/roles?selectrole=1&amp;'.
                                         &HTML::Entities::encode($ccrole."./$realownerdom/$realownername".'=1','<>&"').
                                         '&amp;orgurl='.&HTML::Entities::encode($env{'request.editurl'},'<>&"').
                                         '">','<a/>'));
                       } else {
                           if ($crstype eq 'Community') {
                               $r->print('<p>'
                                        .&mt('Contact a [_1] in the community ([_2]) for access.',$rolename,$cdesc)
                                        .'</p>');
                           } else {
                               $r->print('<p>'
                                        .&mt('Contact a [_1] in the course ([_2]) for access.',$rolename,$cdesc)
                                        .'</p>');
                           }
                       }
                   }
               } else {
                   my $plainname=&Apache::loncommon::plainname($realownername,$realownerdom);
                   my $user=$realownername.':'.$realownerdom;
                   my $userlink=&Apache::loncommon::aboutmewrapper(
                                    $plainname.' ('.$user.')'
                                   ,$realownername
                                   ,$realownerdom);
           $r->print('<p>'
                            .&mt('Contact [_1] for access.',$userlink)
                            .'</p>');
               }
         }          }
     }      }
     $r->print(&Apache::loncommon::end_page());      $r->print(&Apache::loncommon::end_page());

Removed from v.1.17.2.1  
changed lines
  Added in v.1.18


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