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

version 1.320, 2005/04/07 06:56:23 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;      $haveDisc .= $resource->wrap_symb().':';
     if ($resource->symb() =~ m-(___adm/\w+/\w+)/(\d+)/bulletinboard$-) {  
  $ressymb = 'bulletin___'.$2.$1.'/'.$2.'/bulletinboard';  
     } else {  
  $ressymb = $resource->symb();  
     }  
     $haveDisc .= $ressymb.':';  
     $totdisc ++;      $totdisc ++;
  }   }
     }      }
Line 2128  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 2145  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 2281  sub getIterator { Line 2271  sub getIterator {
 sub hasDiscussion {  sub hasDiscussion {
     my $self = shift;      my $self = shift;
     my $symb = shift;      my $symb = shift;
       
     $self->generate_email_discuss_status();      $self->generate_email_discuss_status();
   
     if (!defined($self->{DISCUSSION_TIME})) { return 0; }      if (!defined($self->{DISCUSSION_TIME})) { return 0; }
   
     #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$|) {  
         unless ($ressymb =~ m|adm/wrapper/adm|) {  
             $ressymb = 'bulletin___'.$3.'___adm/wrapper/adm/'.$1.'/'.$2.'/'.$3.'/bulletinboard';  
         }  
     }  
   
     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 2304  sub hasDiscussion { Line 2287  sub hasDiscussion {
     }      }
 }  }
   
   sub wrap_symb {
       my $self = shift;
       my $symb = shift;
       if ($symb =~ m-___(adm/\w+/\w+/)(\d+)(/bulletinboard)$-) {
           unless ($symb =~ m|adm/wrapper/adm|) {
               $symb = 'bulletin___'.$2.'___adm/wrapper/'.$1.$2.$3;
           }
       }
       return $symb;
   }
   
 # Private method: Does the given resource (as a symb string) have  # Private method: Does the given resource (as a symb string) have
 # current feedback? Returns the string in the feedback hash, which  # current feedback? Returns the string in the feedback hash, which
 # will be false if it does not exist.  # will be false if it does not exist.
   
 sub getFeedback {   sub getFeedback { 
     my $self = shift;      my $self = shift;
     my $symb = shift;      my $symb = shift;
Line 3531  sub symb { Line 3526  sub symb {
         . '___' . $second . '___' . $symbSrc;          . '___' . $second . '___' . $symbSrc;
     return &Apache::lonnet::symbclean($symb);      return &Apache::lonnet::symbclean($symb);
 }  }
   sub wrap_symb {
       my $self = shift;
       return $self->{NAV_MAP}->wrap_symb($self->symb());
   }
 sub title {   sub title { 
     my $self=shift;       my $self=shift; 
     if ($self->{ID} eq '0.0') {      if ($self->{ID} eq '0.0') {

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


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