--- loncom/interface/lonnavmaps.pm 2005/04/11 15:33:46 1.323 +++ loncom/interface/lonnavmaps.pm 2005/04/15 21:28:54 1.325 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.323 2005/04/11 15:33:46 albertel Exp $ +# $Id: lonnavmaps.pm,v 1.325 2005/04/15 21:28:54 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2114,47 +2114,32 @@ sub generate_course_user_opt { my $udom=$env{'user.domain'}; my $uhome=$env{'user.home'}; my $cid=$env{'request.course.id'}; - my $chome=$env{'course.'.$cid.'.home'}; my ($cdom,$cnum)=split(/\_/,$cid); - my $userprefix=$uname.'_'.$udom.'_'; - - my %courserdatas; my %useropt; my %courseopt; my %userrdatas; + my %useropt; my %courseopt; unless ($uhome eq 'no_host') { # ------------------------------------------------- Get coursedata (if present) - unless ((time-$courserdatas{$cid.'.last_cache'})<240) { - my $reply=&Apache::lonnet::reply('dump:'.$cdom.':'.$cnum. - ':resourcedata',$chome); - # Check for network failure - if ( $reply =~ /no.such.host/i || $reply =~ /con_lost/i) { - $self->{NETWORK_FAILURE} = 1; - } elsif ($reply!~/^error\:/) { - $courserdatas{$cid}=$reply; - $courserdatas{$cid.'.last_cache'}=time; - } - } - foreach (split(/\&/,$courserdatas{$cid})) { - my ($name,$value)=split(/\=/,$_); - $courseopt{$userprefix.&Apache::lonnet::unescape($name)}= - &Apache::lonnet::unescape($value); + %courseopt=&Apache::lonnet::dump('resourcedata',$cdom,$cnum); + # Check for network failure + my ($tmp)=keys(%courseopt); + + if ( $tmp =~ /no.such.host/i || $tmp =~ /con_lost/i) { + $self->{NETWORK_FAILURE} = 1; + undef(%courseopt); + } elsif ($tmp=~/^error\:/) { + undef(%courseopt); } + # --------------------------------------------------- Get userdata (if present) - unless ((time-$userrdatas{$uname.'___'.$udom.'.last_cache'})<240) { - my $reply=&Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome); - if ($reply!~/^error\:/) { - $userrdatas{$uname.'___'.$udom}=$reply; - $userrdatas{$uname.'___'.$udom.'.last_cache'}=time; - } + + %useropt=&Apache::lonnet::dump('resourcedata',$udom,$uname); + ($tmp)=keys(%courseopt); + if ($tmp=~/^error\:/) { + undef(%useropt); + } elsif ( $tmp=~/no.such.host/i || $tmp=~/con.lost/i ) { # check to see if network failed - elsif ( $reply=~/no.such.host/i || $reply=~/con.*lost/i ) - { - $self->{NETWORK_FAILURE} = 1; - } - } - foreach (split(/\&/,$userrdatas{$uname.'___'.$udom})) { - my ($name,$value)=split(/\=/,$_); - $useropt{$userprefix.&Apache::lonnet::unescape($name)}= - &Apache::lonnet::unescape($value); + $self->{NETWORK_FAILURE} = 1; + undef(%useropt); } $self->{COURSE_OPT} = \%courseopt; $self->{USER_OPT} = \%useropt; @@ -2191,13 +2176,10 @@ sub generate_email_discuss_status { my %feedback=(); my %error=(); - my $keys = &Apache::lonnet::reply('keys:'. - $env{'user.domain'}.':'. - $env{'user.name'}.':nohist_email', - $env{'user.home'}); + my @keys = &Apache::lonnet::getkeys('nohist_email',$env{'user.domain'}, + $env{'user.name'}); - foreach my $msgid (split(/\&/, $keys)) { - $msgid=&Apache::lonnet::unescape($msgid); + foreach my $msgid (@keys) { if ((!$emailstatus{$msgid}) || ($emailstatus{$msgid} eq 'new')) { my $plain= &Apache::lonnet::unescape(&Apache::lonnet::unescape($msgid)); @@ -2461,7 +2443,7 @@ sub parmval_real { my $symbparm=$symb.'.'.$what; my $mapparm=$mapname.'___(all).'.$what; - my $usercourseprefix=$uname.'_'.$udom.'_'.$cid; + my $usercourseprefix=$cid; my $seclevel= $usercourseprefix.'.['.$csec.'].'.$what; my $seclevelr=$usercourseprefix.'.['.$csec.'].'.$symbparm;