--- loncom/lonnet/perl/lonnet.pm 2003/06/18 19:10:23 1.381 +++ loncom/lonnet/perl/lonnet.pm 2003/07/02 15:25:46 1.385 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.381 2003/06/18 19:10:23 albertel Exp $ +# $Id: lonnet.pm,v 1.385 2003/07/02 15:25:46 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2800,10 +2800,10 @@ sub modifyuser { } else { %names = @tmp; } - if ($first) { $names{'firstname'} = $first; } - if ($middle) { $names{'middlename'} = $middle; } - if ($last) { $names{'lastname'} = $last; } - if ($gene) { $names{'generation'} = $gene; } + if (defined($first)) { $names{'firstname'} = $first; } + if (defined($middle)) { $names{'middlename'} = $middle; } + if (defined($last)) { $names{'lastname'} = $last; } + if (defined($gene)) { $names{'generation'} = $gene; } my $reply = &put('environment', \%names, $udom,$uname); if ($reply ne 'ok') { return 'error: '.$reply; } &logthis('Success modifying user '.$udom.', '.$uname.', '.$uid.', '. @@ -3190,12 +3190,12 @@ sub courseresdata { # sub clear_EXT_cache_status { - &delenv('cache.'); + &delenv('cache.EXT.'); } sub EXT_cache_status { my ($target_domain,$target_user) = @_; - my $cachename = 'cache.'.$target_user.'.'.$target_domain; + my $cachename = 'cache.EXT.'.$target_user.'.'.$target_domain; if (exists($ENV{$cachename}) && ($ENV{$cachename}+1800) > time) { # We know already the user has no data return 1; @@ -3206,7 +3206,7 @@ sub EXT_cache_status { sub EXT_cache_set { my ($target_domain,$target_user) = @_; - my $cachename = 'cache.'.$target_user.'.'.$target_domain; + my $cachename = 'cache.EXT.'.$target_user.'.'.$target_domain; &appenv($cachename => time); } @@ -3297,7 +3297,8 @@ sub EXT { } } elsif ($realm eq 'query') { # ---------------------------------------------- pull stuff out of query string - &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},[$space]); + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + [$spacequalifierrest]); return $ENV{'form.'.$spacequalifierrest}; } elsif ($realm eq 'request') { # ------------------------------------------------------------- request.browser @@ -3652,7 +3653,13 @@ sub gettitle { unless ($urlsymb) { $urlsymb=$ENV{'request.filename'}; } return &metadata($urlsymb,'title'); } - if ($titlecache{$symb}) { return $titlecache{$symb}; } + if ($titlecache{$symb}) { + if (time < ($titlecache{$symb}[1] + 600)) { + return $titlecache{$symb}[0]; + } else { + delete($titlecache{$symb}); + } + } my ($map,$resid,$url)=split(/\_\_\_/,$symb); my $title=''; my %bighash; @@ -3664,7 +3671,7 @@ sub gettitle { } $title=~s/\&colon\;/\:/gs; if ($title) { - $titlecache{$symb}=$title; + $titlecache{$symb}=[$title,time]; return $title; } else { return &metadata($urlsymb,'title');