Diff for /loncom/interface/lonannounce.pm between versions 1.67 and 1.70

version 1.67, 2007/03/03 02:16:17 version 1.70, 2008/05/18 19:45:46
Line 74  sub readcalendar { Line 74  sub readcalendar {
     my $courseid=shift;      my $courseid=shift;
     my $coursenum=$env{'course.'.$courseid.'.num'};      my $coursenum=$env{'course.'.$courseid.'.num'};
     my $coursedom=$env{'course.'.$courseid.'.domain'};      my $coursedom=$env{'course.'.$courseid.'.domain'};
       if ($coursenum eq '' || $coursedom eq '') {
           my %courseinfo=&Apache::lonnet::coursedescription($courseid);
           if ($coursenum eq '' && exists($courseinfo{'num'})) {
               $coursenum = $courseinfo{'num'};
           }
           if ($coursedom eq '' && exists($courseinfo{'domain'})) {
               $coursedom = $courseinfo{'domain'};
           }
       }
   
     my %thiscal=&Apache::lonnet::dump('calendar',$coursedom,$coursenum);      my %thiscal=&Apache::lonnet::dump('calendar',$coursedom,$coursenum);
     my %returnhash=();      my %returnhash=();
     foreach my $item (keys(%thiscal)) {      foreach my $item (keys(%thiscal)) {
Line 89  sub readcalendar { Line 99  sub readcalendar {
     if ($courseid eq $env{'request.course.id'}) {      if ($courseid eq $env{'request.course.id'}) {
  $navmap = Apache::lonnavmaps::navmap->new();   $navmap = Apache::lonnavmaps::navmap->new();
     }      }
     my %resourcedata=  
       my $resourcedata=
  &Apache::lonnet::get_courseresdata($coursenum,$coursedom);   &Apache::lonnet::get_courseresdata($coursenum,$coursedom);
     foreach my $thiskey (sort keys %resourcedata) {      if (ref($resourcedata) ne 'HASH') {
  if ($resourcedata{$thiskey.'.type'}=~/^date/) {          return %returnhash;
       } 
       foreach my $thiskey (keys(%$resourcedata)) {
    if ($resourcedata->{$thiskey.'.type'}=~/^date/) {
     my ($course,$middle,$part,$name)=      my ($course,$middle,$part,$name)=
  ($thiskey=~/^($match_courseid)\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/);   ($thiskey=~/^(\Q$courseid\E)\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/);
   
     my %data = ( 'section' => &mt('All Students'));      my %data = ( 'section' => &mt('All Students'));
     if ($middle=~/^\[(.*)\]\./) {      if ($middle=~/^\[(.*)\]\./) {
  my $sec=$1;   my $sec=$1;
Line 120  sub readcalendar { Line 135  sub readcalendar {
  }   }
  if (!$can_see_hidden) {   if (!$can_see_hidden) {
     my $res = $navmap->getResourceByUrl($map_url);      my $res = $navmap->getResourceByUrl($map_url);
     if ($res && $res->randomout()) { next; }      if ($res && $res->randomout()) {
    next;
       }
  }   }
  $data{'realm'}=&mt('Folder/Map');   $data{'realm'}=&mt('Folder/Map');
  $data{'url'} = $map_url;   $data{'url'} = $map_url;
Line 130  sub readcalendar { Line 147  sub readcalendar {
  }   }
  if (!$can_see_hidden) {   if (!$can_see_hidden) {
     my $res = $navmap->getBySymb($middle);      my $res = $navmap->getBySymb($middle);
     if ($res && $res->randomout()) { next; }      if ($res && $res->randomout()) {
    next;
       }
  }   }
  $data{'realm'} = &mt('Resource');   $data{'realm'} = &mt('Resource');
  $data{'symb'} = $middle;   $data{'symb'} = $middle;
Line 141  sub readcalendar { Line 160  sub readcalendar {
 # see if accidentally answerdate is before duedate  # see if accidentally answerdate is before duedate
  my $answerkey=$thiskey;   my $answerkey=$thiskey;
  $answerkey=~s/duedate$/answerdate/;   $answerkey=~s/duedate$/answerdate/;
  if ($resourcedata{$thiskey}>$resourcedata{$answerkey}) {   if ($resourcedata->{$thiskey}>$resourcedata->{$answerkey}) {
     $data{'datetype'} = &mt('Due and Answer Available');      $data{'datetype'} = &mt('Due and Answer Available');
  }   }
     }      }
Line 156  sub readcalendar { Line 175  sub readcalendar {
 # see if accidentally answerdate is before duedate  # see if accidentally answerdate is before duedate
  my $duekey=$thiskey;   my $duekey=$thiskey;
  $duekey=~s/answerdate$/duedate/;   $duekey=~s/answerdate$/duedate/;
  if ($resourcedata{$duekey}>$resourcedata{$thiskey}) {   if ($resourcedata->{$duekey}>$resourcedata->{$thiskey}) {
 # forget it  # forget it
     next;      next;
  }    } 
  $data{'datetype'}=&mt('Answer Available');    $data{'datetype'}=&mt('Answer Available'); 
     }      }
     $returnhash{join("\0",$courseid,      $returnhash{join("\0",$courseid,
      $resourcedata{$thiskey},       $resourcedata->{$thiskey},
      $resourcedata{$thiskey})}=\%data;       $resourcedata->{$thiskey})}=\%data;
  }   }
     }      }
     return %returnhash;      return %returnhash;
Line 504  SERVERANNOUNCE Line 523  SERVERANNOUNCE
     $r->print ('<br /><label><input type="checkbox" name="postto_'.$host.'" /> '.      $r->print ('<br /><label><input type="checkbox" name="postto_'.$host.'" /> '.
        $host.' <tt>'.$hostname{$host}.'</tt> '.         $host.' <tt>'.$hostname{$host}.'</tt> '.
        '</label><a href="http://'.$hostname{$host}.         '</label><a href="http://'.$hostname{$host}.
        '/announcement.txt" target="annowin">current</a>');         '/announcement.txt?time='.time.'" target="annowin">current</a>');
  }   }
     }      }
     $r->print(      $r->print(

Removed from v.1.67  
changed lines
  Added in v.1.70


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