Diff for /loncom/auth/lonroles.pm between versions 1.213 and 1.215

version 1.213, 2008/12/10 21:46:50 version 1.215, 2009/01/03 00:16:10
Line 535  ENDENTERKEY Line 535  ENDENTERKEY
     $r->send_http_header;      $r->send_http_header;
     return OK if $r->header_only;      return OK if $r->header_only;
   
  my @brcrum =[{href=>"/admmm/roles",text=>"User Roles"}];      my $brcrum =[{href=>"/admm/roles",text=>"User Roles"}];
     my $swinfo=&Apache::lonmenu::rawconfig();      my $swinfo=&Apache::lonmenu::rawconfig();
     my $start_page=&Apache::loncommon::start_page('User Roles',undef,{bread_crumbs=>@brcrum});      my $start_page=&Apache::loncommon::start_page('User Roles',undef,{bread_crumbs=>$brcrum});
     my $standby=&mt('Role selected. Please stand by.');      my $standby=&mt('Role selected. Please stand by.');
     $standby=~s/\n/\\n/g;      $standby=~s/\n/\\n/g;
     my $noscript='<span class="LC_error">'.&mt('Use of LON-CAPA requires Javascript to be enabled in your web browser.').'<br />'.&mt('As this is not the case, most functionality in the system will be unavailable.').'</span><br />';      my $noscript='<span class="LC_error">'.&mt('Use of LON-CAPA requires Javascript to be enabled in your web browser.').'<br />'.&mt('As this is not the case, most functionality in the system will be unavailable.').'</span><br />';
Line 646  ENDHEADER Line 646  ENDHEADER
     my $possiblerole='';      my $possiblerole='';
     my %futureroles;      my %futureroles;
     my %roles_nextlogin;      my %roles_nextlogin;
       my %timezones;
     foreach $envkey (sort keys %env) {      foreach $envkey (sort keys %env) {
         my $button = 1;          my $button = 1;
         my $switchserver='';          my $switchserver='';
Line 655  ENDHEADER Line 656  ENDHEADER
             my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend);              my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend);
             &role_status($envkey,$then,$now,\$role,\$where,\$trolecode,\$tstatus,\$tstart,\$tend);              &role_status($envkey,$then,$now,\$role,\$where,\$trolecode,\$tstatus,\$tstart,\$tend);
             next if (!defined($role) || $role eq '' || $role =~ /^gr/);              next if (!defined($role) || $role eq '' || $role =~ /^gr/);
               my $timezone = &role_timezone($where,\%timezones);
             $tremark='';              $tremark='';
             $tpstart='&nbsp;';              $tpstart='&nbsp;';
             $tpend='&nbsp;';              $tpend='&nbsp;';
             if ($tstart) {              if ($tstart) {
                 $tpstart=&Apache::lonlocal::locallocaltime($tstart);                  $tpstart=&Apache::lonlocal::locallocaltime($tstart,$timezone);
             }              }
             if ($tend) {              if ($tend) {
                 $tpend=&Apache::lonlocal::locallocaltime($tend);                  $tpend=&Apache::lonlocal::locallocaltime($tend,$timezone);
             }              }
             if ($env{'request.role'} eq $trolecode) {              if ($env{'request.role'} eq $trolecode) {
  $tstatus='selected';   $tstatus='selected';
Line 938  ENDHEADER Line 940  ENDHEADER
     return OK;      return OK;
 }  }
   
   sub role_timezone {
       my ($where,$timezones) = @_;
       my $timezone;
       if (ref($timezones) eq 'HASH') { 
           if ($where =~ m{^/($match_domain)/($match_courseid)}) {
               my $cdom = $1;
               my $cnum = $2;
               if ($cdom && $cnum) {
                   if (!exists($timezones->{$cdom.'_'.$cnum})) {
                       my %timehash =
                           &Apache::lonnet::get('environment',['timezone'],$cdom,$cnum);
                       if ($timehash{'timezone'} eq '') {
                           if (!exists($timezones->{$cdom})) {
                               my %domdefaults = 
                                   &Apache::lonnet::get_domain_defaults($cdom);
                               if ($domdefaults{'timezone_def'} eq '') {
                                   $timezones->{$cdom} = 'local';
                               } else {
                                   $timezones->{$cdom} = $domdefaults{'timezone_def'};
                               }
                           }
                           $timezones->{$cdom.'_'.$cnum} = $timezones->{$cdom};
                       } else {
                           $timezones->{$cdom.'_'.$cnum} = 
                               &Apache::lonlocal::gettimezone($timehash{'timezone'});
                       }
                   }
                   $timezone = $timezones->{$cdom.'_'.$cnum};
               }
           } else {
               my ($tdom) = ($where =~ m{^/($match_domain)});
               if ($tdom) {
                   if (!exists($timezones->{$tdom})) {
                       my %domdefaults = &Apache::lonnet::get_domain_defaults($tdom);
                       if ($domdefaults{'timezone_def'} eq '') {
                           $timezones->{$tdom} = 'local';
                       } else {
                           $timezones->{$tdom} = $domdefaults{'timezone_def'};
                       }
                   }
                   $timezone = $timezones->{$tdom};
               }
           }
           if ($timezone eq 'local') {
               $timezone = undef;
           }
       }
       return $timezone;
   }
   
 sub roletable_headers {  sub roletable_headers {
     my ($r,$roleclass,$sortrole,$nochoose) = @_;      my ($r,$roleclass,$sortrole,$nochoose) = @_;
     my $doheaders;      my $doheaders;

Removed from v.1.213  
changed lines
  Added in v.1.215


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