Diff for /loncom/interface/lonnavmaps.pm between versions 1.321 and 1.324

version 1.321, 2005/04/11 12:20:22 version 1.324, 2005/04/15 21:08:37
Line 1588  END Line 1588  END
     my @allres=$navmap->retrieveResources();      my @allres=$navmap->retrieveResources();
     foreach my $resource (@allres) {      foreach my $resource (@allres) {
  if ($resource->hasDiscussion()) {   if ($resource->hasDiscussion()) {
     my $ressymb = $resource->symb();      $haveDisc .= $resource->wrap_symb().':';
                     if ($ressymb =~ m-___adm/\w+/\w+/\d+/bulletinboard$-) {  
                         $ressymb = $resource->wrap_symb();  
     }  
     $haveDisc .= $ressymb.':';  
     $totdisc ++;      $totdisc ++;
  }   }
     }      }
Line 2126  sub generate_course_user_opt { Line 2122  sub generate_course_user_opt {
     my %courserdatas; my %useropt; my %courseopt; my %userrdatas;      my %courserdatas; my %useropt; my %courseopt; my %userrdatas;
     unless ($uhome eq 'no_host') {       unless ($uhome eq 'no_host') { 
 # ------------------------------------------------- Get coursedata (if present)  # ------------------------------------------------- Get coursedata (if present)
  unless ((time-$courserdatas{$cid.'.last_cache'})<240) {   my $reply=&Apache::lonnet::reply('dump:'.$cdom.':'.$cnum.
     my $reply=&Apache::lonnet::reply('dump:'.$cdom.':'.$cnum.   ':resourcedata',$chome);
      ':resourcedata',$chome);   # Check for network failure
     # Check for network failure   if ( $reply =~ /no.such.host/i || $reply =~ /con_lost/i) {
     if ( $reply =~ /no.such.host/i || $reply =~ /con_lost/i) {      $self->{NETWORK_FAILURE} = 1;
  $self->{NETWORK_FAILURE} = 1;   } elsif ($reply!~/^error\:/) {
     } elsif ($reply!~/^error\:/) {      $courserdatas{$cid}=$reply;
  $courserdatas{$cid}=$reply;      $courserdatas{$cid.'.last_cache'}=time;
  $courserdatas{$cid.'.last_cache'}=time;  
     }  
  }   }
  foreach (split(/\&/,$courserdatas{$cid})) {   foreach (split(/\&/,$courserdatas{$cid})) {
     my ($name,$value)=split(/\=/,$_);      my ($name,$value)=split(/\=/,$_);
Line 2143  sub generate_course_user_opt { Line 2137  sub generate_course_user_opt {
  &Apache::lonnet::unescape($value);   &Apache::lonnet::unescape($value);
  }   }
 # --------------------------------------------------- Get userdata (if present)  # --------------------------------------------------- Get userdata (if present)
  unless ((time-$userrdatas{$uname.'___'.$udom.'.last_cache'})<240) {   my $reply=&Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome);
     my $reply=&Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome);   if ($reply!~/^error\:/) {
     if ($reply!~/^error\:/) {      $userrdatas{$uname.'___'.$udom}=$reply;
  $userrdatas{$uname.'___'.$udom}=$reply;      $userrdatas{$uname.'___'.$udom.'.last_cache'}=time;
  $userrdatas{$uname.'___'.$udom.'.last_cache'}=time;   }
     }   # check to see if network failed
     # check to see if network failed   elsif ( $reply=~/no.such.host/i || $reply=~/con.*lost/i )
     elsif ( $reply=~/no.such.host/i || $reply=~/con.*lost/i )   {
     {      $self->{NETWORK_FAILURE} = 1;
  $self->{NETWORK_FAILURE} = 1;  
     }  
  }   }
  foreach (split(/\&/,$userrdatas{$uname.'___'.$udom})) {   foreach (split(/\&/,$userrdatas{$uname.'___'.$udom})) {
     my ($name,$value)=split(/\=/,$_);      my ($name,$value)=split(/\=/,$_);
Line 2285  sub hasDiscussion { Line 2277  sub hasDiscussion {
   
     #return defined($self->{DISCUSSION_TIME}->{$symb});      #return defined($self->{DISCUSSION_TIME}->{$symb});
   
 # backward compatibility (bulletin boards used to be 'wrapped')      # backward compatibility (bulletin boards used to be 'wrapped')
     my $ressymb = $symb;      my $ressymb = $self->wrap_symb($symb);
     if ($ressymb =~ m-___adm/\w+/\w+/\d+/bulletinboard$-) {  
         $ressymb = $self->wrap_symb($ressymb);  
     }  
     if ( defined ( $self->{LAST_READ}->{$ressymb} ) ) {      if ( defined ( $self->{LAST_READ}->{$ressymb} ) ) {
         return $self->{DISCUSSION_TIME}->{$ressymb} > $self->{LAST_READ}->{$ressymb};          return $self->{DISCUSSION_TIME}->{$ressymb} > $self->{LAST_READ}->{$ressymb};
     } else {      } else {
Line 2298  sub hasDiscussion { Line 2287  sub hasDiscussion {
     }      }
 }  }
   
 # Private method: Does the given resource (as a symb string) have  
 # current feedback? Returns the string in the feedback hash, which  
 # will be false if it does not exist.  
   
 sub wrap_symb {  sub wrap_symb {
     my $self=shift;      my $self = shift;
     my $symb = shift;      my $symb = shift;
     my $ressymb = $symb;      if ($symb =~ m-___(adm/\w+/\w+/)(\d+)(/bulletinboard)$-) {
     if ($ressymb =~ m-___(adm/\w+/\w+/)(\d+)(/bulletinboard)$-) {          unless ($symb =~ m|adm/wrapper/adm|) {
         unless ($ressymb =~ m|adm/wrapper/adm|) {              $symb = 'bulletin___'.$2.'___adm/wrapper/'.$1.$2.$3;
             $ressymb = 'bulletin___'.$2.'___adm/wrapper/'.$1.$2.$3;  
         }          }
     }      }
     return $ressymb;      return $symb;
 }  }
   
   # Private method: Does the given resource (as a symb string) have
   # current feedback? Returns the string in the feedback hash, which
   # will be false if it does not exist.
   
 sub getFeedback {   sub getFeedback { 
     my $self = shift;      my $self = shift;
     my $symb = shift;      my $symb = shift;

Removed from v.1.321  
changed lines
  Added in v.1.324


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