--- loncom/lonnet/perl/lonnet.pm 2012/08/01 04:56:54 1.1172.2.8 +++ loncom/lonnet/perl/lonnet.pm 2012/05/30 20:29:45 1.1176 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.1172.2.8 2012/08/01 04:56:54 raeburn Exp $ +# $Id: lonnet.pm,v 1.1176 2012/05/30 20:29:45 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -75,6 +75,8 @@ use LWP::UserAgent(); use HTTP::Date; use Image::Magick; +use Encode; + use vars qw(%perlvar %spareid %pr %prp $memcache %packagetab $tmpdir $_64bit %env %protocol %loncaparevs %serverhomeIDs %needsrelease %managerstab); @@ -97,6 +99,7 @@ use File::MMagic; use LONCAPA qw(:DEFAULT :match); use LONCAPA::Configuration; use LONCAPA::lonmetadata; +use LONCAPA::Lond; use File::Copy; @@ -1383,8 +1386,8 @@ sub check_loadbalancing { $is_balancer = 0; if ($uname ne '' && $udom ne '') { if (($env{'user.name'} eq $uname) && ($env{'user.domain'} eq $udom)) { - - &appenv({'user.loadbalexempt' => $lonhost, + + &appenv({'user.loadbalexempt' => $lonhost, 'user.loadbalcheck.time' => time}); } } @@ -1416,7 +1419,7 @@ sub get_loadbalancer_targets { } } } else { - my %servers = &internet_dom_servers($udom); + my %servers = &dom_servers($udom); my ($remotebalancer,$remotetargets) = &get_lonbalancer_config(\%servers); if (&hostname($remotebalancer) ne '') { $offloadto = [$remotebalancer]; @@ -1954,7 +1957,7 @@ sub get_domain_defaults { } else { $domdefaults{'defaultquota'} = $domconfig{'quotas'}; } - my @usertools = ('aboutme','blog','webdav','portfolio'); + my @usertools = ('aboutme','blog','portfolio'); foreach my $item (@usertools) { if (ref($domconfig{'quotas'}{$item}) eq 'HASH') { $domdefaults{$item} = $domconfig{'quotas'}{$item}; @@ -2582,10 +2585,11 @@ sub ssi { $request->header(Cookie => $ENV{'HTTP_COOKIE'}); my $response= $ua->request($request); + my $content = Encode::decode_utf8($response->content); if (wantarray) { - return ($response->content, $response); + return ($content, $response); } else { - return $response->content; + return $content; } } @@ -5643,7 +5647,6 @@ sub usertools_access { %tools = ( aboutme => 1, blog => 1, - webdav => 1, portfolio => 1, ); } @@ -5742,7 +5745,7 @@ sub usertools_access { } } } else { - if (($context eq 'tools') && ($tool ne 'webdav')) { + if ($context eq 'tools') { $access = 1; } else { $access = 0; @@ -9812,41 +9815,6 @@ sub devalidate_slots_cache { &devalidate_cache_new('allslots',$hashid); } -sub get_coursechange { - my ($cdom,$cnum) = @_; - if ($cdom eq '' || $cnum eq '') { - return unless ($env{'request.course.id'}); - $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; - $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; - } - my $hashid=$cdom.'_'.$cnum; - my ($change,$cached)=&is_cached_new('crschange',$hashid); - if ((defined($cached)) && ($change ne '')) { - return $change; - } else { - my %crshash; - %crshash = &get('environment',['internal.contentchange'],$cdom,$cnum); - if ($crshash{'internal.contentchange'} eq '') { - $change = $env{'course.'.$cdom.'_'.$cnum.'.internal.created'}; - if ($change eq '') { - %crshash = &get('environment',['internal.created'],$cdom,$cnum); - $change = $crshash{'internal.created'}; - } - } else { - $change = $crshash{'internal.contentchange'}; - } - my $cachetime = 600; - &do_cache_new('crschange',$hashid,$change,$cachetime); - } - return $change; -} - -sub devalidate_coursechange_cache { - my ($cnum,$cdom)=@_; - my $hashid=$cnum.':'.$cdom; - &devalidate_cache_new('crschange',$hashid); -} - # ------------------------------------------------- Update symbolic store links sub symblist { @@ -9991,11 +9959,7 @@ sub deversion { sub symbread { my ($thisfn,$donotrecurse)=@_; my $cache_str='request.symbread.cached.'.$thisfn; - if (defined($env{$cache_str})) { - if (($thisfn) || ($env{$cache_str} ne '')) { - return $env{$cache_str}; - } - } + if (defined($env{$cache_str})) { return $env{$cache_str}; } # no filename provided? try from environment unless ($thisfn) { if ($env{'request.symb'}) {