Diff for /loncom/auth/lonroles.pm between versions 1.265 and 1.269.2.1

version 1.265, 2012/05/14 04:17:16 version 1.269.2.1, 2012/08/03 17:35:39
Line 149  sub redirect_user { Line 149  sub redirect_user {
     &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
     &Apache::loncommon::no_cache($r);      &Apache::loncommon::no_cache($r);
     $r->send_http_header;      $r->send_http_header;
       my $swinfo=&Apache::lonmenu::rawconfig();
   
     # Breadcrumbs      # Breadcrumbs
     my $brcrum = [{'href' => $url,      my $brcrum = [{'href' => $url,
Line 163  sub redirect_user { Line 164  sub redirect_user {
     $url=~s/ /\%20/g;      $url=~s/ /\%20/g;
     $r->print(<<ENDREDIR);      $r->print(<<ENDREDIR);
 $start_page  $start_page
   <script type="text/javascript">
   // <![CDATA[
   $swinfo
   // ]]>
   </script>
 <p>$msg</p>  <p>$msg</p>
 $end_page  $end_page
 ENDREDIR  ENDREDIR
Line 266  sub handler { Line 272  sub handler {
  "request.course.fn"   => '',   "request.course.fn"   => '',
  "request.course.uri"  => '',   "request.course.uri"  => '',
  "request.course.sec"  => '',   "request.course.sec"  => '',
                                    "request.course.tied" => '',
  "request.role"        => 'cm',   "request.role"        => 'cm',
                                  "request.role.adv"    => $env{'user.adv'},                                   "request.role.adv"    => $env{'user.adv'},
  "request.role.domain" => $env{'user.domain'}});   "request.role.domain" => $env{'user.domain'}});
Line 519  ENDENTERKEY Line 526  ENDENTERKEY
                                 if ($dest =~ m{^/adm/coursedocs\?folderpath}) {                                  if ($dest =~ m{^/adm/coursedocs\?folderpath}) {
                                     if ($env{'request.course.id'} eq $cdom.'_'.$cnum) {                                       if ($env{'request.course.id'} eq $cdom.'_'.$cnum) { 
                                         my $chome = &Apache::lonnet::homeserver($cnum,$cdom);                                          my $chome = &Apache::lonnet::homeserver($cnum,$cdom);
                                         &update_content_constraints($cdom,$cnum,$chome,$cdom.'_'.$cnum);                                          &Apache::loncommon::update_content_constraints($cdom,$cnum,$chome,
                                                                                          $cdom.'_'.$cnum);
                                     }                                      }
                                 }                                  }
  $r->internal_redirect($dest);   $r->internal_redirect($dest);
Line 954  ENDHEADER Line 962  ENDHEADER
  $r->print('<hr /><h2>'.&mt('Current Privileges').'</h2>');   $r->print('<hr /><h2>'.&mt('Current Privileges').'</h2>');
  $r->print(&privileges_info());   $r->print(&privileges_info());
     }      }
     $r->print(&Apache::lonnet::getannounce());      my $announcements = &Apache::lonnet::getannounce();
       $r->print(
           '<br />'.
           '<h2>'.&mt('Announcements').'</h2>'.
           $announcements
       ) unless (!$announcements);
     if ($advanced) {      if ($advanced) {
         my $esc_dom = &HTML::Entities::encode($env{'user.domain'},'"<>&');          my $esc_dom = &HTML::Entities::encode($env{'user.domain'},'"<>&');
         $r->print('<p><small><i>'          $r->print('<p><small><i>'
Line 1613  sub check_forcc { Line 1626  sub check_forcc {
     } else {      } else {
         $ccrole = 'cc';          $ccrole = 'cc';
     }      }
     if ($cdom ne '' && $cnum ne '') {      if (&Apache::lonnet::is_course($cdom,$cnum)) {
         if (&Apache::lonnet::is_course($cdom,$cnum)) {          my $envkey = 'user.role.'.$ccrole.'./'.$cdom.'/'.$cnum;
             my $envkey = 'user.role.'.$ccrole.'./'.$cdom.'/'.$cnum;          if (defined($env{$envkey})) {
             if (defined($env{$envkey})) {              $is_cc = 1;
                 $is_cc = 1;              my ($tstart,$tend)=split(/\./,$env{$envkey});
                 my ($tstart,$tend)=split(/\./,$env{$envkey});              my $limit = $update;
                 my $limit = $update;              if ($env{'request.role'} eq $ccrole.'./'.$cdom.'/'.$cnum) {
                 if ($env{'request.role'} eq $ccrole.'./'.$cdom.'/'.$cnum) {                  $limit = $then;
                     $limit = $then;  
                 }  
                 if ($tstart && $tstart>$refresh) { $is_cc = 0; }  
                 if ($tend   && $tend  <$limit) { $is_cc = 0; }  
             }              }
               if ($tstart && $tstart>$refresh) { $is_cc = 0; }
               if ($tend   && $tend  <$limit) { $is_cc = 0; }
         }          }
     }      }
     return $is_cc;      return $is_cc;
Line 1683  sub check_release_required { Line 1694  sub check_release_required {
     return ($switchserver,$warning);      return ($switchserver,$warning);
 }  }
   
 sub update_content_constraints {  
     my ($cdom,$cnum,$chome,$cid) = @_;  
     my %curr_reqd_hash = &Apache::lonnet::userenvironment($cdom,$cnum,'internal.releaserequired');  
     my ($reqdmajor,$reqdminor) = split(/\./,$curr_reqd_hash{'internal.releaserequired'});   
     my %checkresponsetypes;  
     foreach my $key (keys(%Apache::lonnet::needsrelease)) {  
         my ($item,$name,$value) = split(/:/,$key);  
         if ($item eq 'resourcetag') {  
             if ($name eq 'responsetype') {  
                 $checkresponsetypes{$value} = $Apache::lonnet::needsrelease{$key}  
             }  
         }  
     }  
     my $navmap = Apache::lonnavmaps::navmap->new();  
     if (defined($navmap)) {  
         my %allresponses;  
         foreach my $res ($navmap->retrieveResources(undef,sub { $_[0]->is_problem() },1,0)) {  
             my %responses = $res->responseTypes();  
             foreach my $key (keys(%responses)) {  
                 next unless(exists($checkresponsetypes{$key}));  
                 $allresponses{$key} += $responses{$key};  
             }  
         }  
         foreach my $key (keys(%allresponses)) {  
             my ($major,$minor) = split(/\./,$checkresponsetypes{$key});  
             if (($major > $reqdmajor) || ($major == $reqdmajor && $minor > $reqdminor)) {   
                 ($reqdmajor,$reqdminor) = ($major,$minor);  
             }   
         }  
         undef($navmap);  
     }  
     unless (($reqdmajor eq '') && ($reqdminor eq '')) {  
         &Apache::lonnet::update_released_required($reqdmajor.'.'.$reqdminor,$cdom,$cnum,$chome,$cid);  
     }  
     return;  
 }  
   
 sub courselink {  sub courselink {
     my ($dcdom,$rowtype) = @_;      my ($dcdom,$rowtype) = @_;
     my $courseform=&Apache::loncommon::selectcourse_link      my $courseform=&Apache::loncommon::selectcourse_link
Line 2290  sub update_session_roles { Line 2264  sub update_session_roles {
         }          }
         if (keys(%deletedroles) > 0) {          if (keys(%deletedroles) > 0) {
             $changemsg .= '<li>'.              $changemsg .= '<li>'.
                           &mt('Existing roles deleted').'</li>'.                            &mt('Existing roles now expired').'</li>'.
                           '<ul>';                            '<ul>';
             foreach my $item (sort(keys(%deletedroles))) {              foreach my $item (sort(keys(%deletedroles))) {
                 $changemsg .= '<li>'.$item.'</li>';                  $changemsg .= '<li>'.$item.'</li>';

Removed from v.1.265  
changed lines
  Added in v.1.269.2.1


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