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; |