Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.199 and 1.200

version 1.199, 2002/02/04 15:31:22 version 1.200, 2002/02/07 13:56:06
Line 66 Line 66
 # 12/18 Scott Harrison  # 12/18 Scott Harrison
 # 12/21,12/22,12/27,12/28 Gerd Kortemeyer  # 12/21,12/22,12/27,12/28 Gerd Kortemeyer
 # YEAR=2002  # YEAR=2002
 # 1/4,2/4 Gerd Kortemeyer  # 1/4,2/4,2/7 Gerd Kortemeyer
 #  #
 ###  ###
   
Line 80  use vars Line 80  use vars
 qw(%perlvar %hostname %homecache %hostip %spareid %hostdom   qw(%perlvar %hostname %homecache %hostip %spareid %hostdom 
    %libserv %pr %prp %metacache %packagetab      %libserv %pr %prp %metacache %packagetab 
    %courselogs %accesshash $processmarker $dumpcount      %courselogs %accesshash $processmarker $dumpcount 
    %coursedombuf %coursehombuf);     %coursedombuf %coursehombuf %courseresdatacache);
 use IO::Socket;  use IO::Socket;
 use GDBM_File;  use GDBM_File;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
Line 2024  sub condval { Line 2024  sub condval {
     return $result;      return $result;
 }  }
   
   # --------------------------------------------------- Course Resourcedata Query
   
   sub courseresdata {
       my ($coursenum,$coursedomain,@which)=@_;
       my $coursehom=&homeserver($coursenum,$coursedomain);
       my $hashid=$coursenum.':'.$coursedomain;
       unless (defined($courseresdatacache{$hashid.'.time'})) {
    unless (time-$courseresdatacache{$hashid.'.time'}<300) {
              my $coursehom=&homeserver($coursenum,$coursedomain);
              if ($coursehom) {
                 my $dumpreply=&reply('dump:'.$coursedomain.':'.$coursenum.
        ':resourcedata:.',$coursehom);
         unless ($dumpreply=~/^error\:/) {
            $courseresdatacache{$hashid.'.time'}=time;
                    $courseresdatacache{$hashid}=$dumpreply;
        }
     }
          }
       }
      my @pairs=split(/\&/,$courseresdatacache{$hashid});
      my %returnhash=();
      foreach (@pairs) {
         my ($key,$value)=split(/=/,$_);
         $returnhash{unescape($key)}=unescape($value);
      }
       my $item;
      foreach $item (@which) {
          if ($returnhash{$item}) { return $returnhash{$item}; }
      }
      return '';
   }
   
 # --------------------------------------------------------- Value of a Variable  # --------------------------------------------------------- Value of a Variable
   
 sub EXT {  sub EXT {
Line 2144  sub EXT { Line 2176  sub EXT {
   
 # -------------------------------------------------------- second, check course  # -------------------------------------------------------- second, check course
   
         my $reply=&reply('get:'.          my $coursereply=&courseresdata(
               $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.':'.                          $ENV{'course.'.$ENV{'request.course.id'}.'.num'},
               $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.                          $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
       ':resourcedata:'.                          ($seclevelr,$seclevelm,$seclevel,
    &escape($seclevelr).'&'.&escape($seclevelm).'&'.&escape($seclevel).'&'.                           $courselevelr,$courselevelm,$courselevel));
    &escape($courselevelr).'&'.&escape($courselevelm).'&'.&escape($courselevel),          if ($coursereply) { return $coursereply; }
    $ENV{'course.'.$ENV{'request.course.id'}.'.home'});  
       if ($reply!~/^error\:/) {  
   foreach (split(/\&/,$reply)) {  
       if ($_) { return &unescape($_); }  
           }  
       }  
       if (($reply=~/^con_lost/) || ($reply=~/^error\:/)) {  
   &logthis("<font color=blue>WARNING:".  
                 " Getting ".$reply." asking for ".$varname." for ".  
                 $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.  
                 ' at '.  
                 $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.  
                 ' from '.  
                 $ENV{'course.'.$ENV{'request.course.id'}.'.home'}.  
                  "</font>");  
       }  
 # ------------------------------------------------------ third, check map parms  # ------------------------------------------------------ third, check map parms
        my %parmhash=();         my %parmhash=();
        my $thisparm='';                my $thisparm='';       

Removed from v.1.199  
changed lines
  Added in v.1.200


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