Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.247 and 1.250

version 1.247, 2002/06/27 16:03:55 version 1.250, 2002/07/04 15:47:18
Line 1741  sub allowed { Line 1741  sub allowed {
   
    if ($thisallowed=~/X/) {     if ($thisallowed=~/X/) {
       if ($ENV{'acc.randomout'}) {        if ($ENV{'acc.randomout'}) {
          my $symb=&symbread();           my $symb=&symbread($uri,1);
          if ($ENV{'acc.randomout'}=~/\&$symb\&/) { return ''; }           if (($symb) && ($ENV{'acc.randomout'}=~/\&$symb\&/)) { 
               return ''; 
            }
       }        }
       if (&condval($statecond)) {        if (&condval($statecond)) {
  return '2';   return '2';
Line 2269  sub courseresdata { Line 2271  sub courseresdata {
     my ($coursenum,$coursedomain,@which)=@_;      my ($coursenum,$coursedomain,@which)=@_;
     my $coursehom=&homeserver($coursenum,$coursedomain);      my $coursehom=&homeserver($coursenum,$coursedomain);
     my $hashid=$coursenum.':'.$coursedomain;      my $hashid=$coursenum.':'.$coursedomain;
     unless (defined($courseresdatacache{$hashid.'.time'})) {      my $dodump=0;
  unless (time-$courseresdatacache{$hashid.'.time'}<300) {      if (!defined($courseresdatacache{$hashid.'.time'})) {
            my $coursehom=&homeserver($coursenum,$coursedomain);   $dodump=1;
            if ($coursehom) {      } else {
               my $dumpreply=&reply('dump:'.$coursedomain.':'.$coursenum.   if (time-$courseresdatacache{$hashid.'.time'}>300) { $dodump=1; }
      ':resourcedata:.',$coursehom);      }
       unless ($dumpreply=~/^error\:/) {      if ($dodump) {
          $courseresdatacache{$hashid.'.time'}=time;   my $coursehom=&homeserver($coursenum,$coursedomain);
                  $courseresdatacache{$hashid}=$dumpreply;   if ($coursehom) {
      }      my $dumpreply=&reply('dump:'.$coursedomain.':'.$coursenum.
   }   ':resourcedata:.',$coursehom);
        }      if ($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 @pairs=split(/\&/,$courseresdatacache{$hashid});  
    my %returnhash=();  
    foreach (@pairs) {  
       my ($key,$value)=split(/=/,$_);  
       $returnhash{unescape($key)}=unescape($value);  
    }  
     my $item;      my $item;
    foreach $item (@which) {      foreach $item (@which) {
        if ($returnhash{$item}) { return $returnhash{$item}; }   if ($returnhash{$item}) { return $returnhash{$item}; }
    }      }
    return '';      return '';
 }  }
   
 # --------------------------------------------------------- Value of a Variable  # --------------------------------------------------------- Value of a Variable
Line 2699  sub symbclean { Line 2705  sub symbclean {
 # ------------------------------------------------------ Return symb list entry  # ------------------------------------------------------ Return symb list entry
   
 sub symbread {  sub symbread {
     my $thisfn=shift;      my ($thisfn,$donotrecurse)=@_;
 # no filename provided? try from environment  # no filename provided? try from environment
     unless ($thisfn) {      unless ($thisfn) {
         if ($ENV{'request.symb'}) { return &symbclean($ENV{'request.symb'}); }          if ($ENV{'request.symb'}) { return &symbclean($ENV{'request.symb'}); }
Line 2748  sub symbread { Line 2754  sub symbread {
 # ----------------------------------------------- There is only one possibility  # ----------------------------------------------- There is only one possibility
      my ($mapid,$resid)=split(/\./,$ids);       my ($mapid,$resid)=split(/\./,$ids);
                      $syval=declutter($bighash{'map_id_'.$mapid}).'___'.$resid;                       $syval=declutter($bighash{'map_id_'.$mapid}).'___'.$resid;
                  } else {                   } elsif (!$donotrecurse) {
 # ------------------------------------------ There is more than one possibility  # ------------------------------------------ There is more than one possibility
                      my $realpossible=0;                       my $realpossible=0;
                      foreach (@possibilities) {                       foreach (@possibilities) {
Line 2763  sub symbread { Line 2769  sub symbread {
  }   }
                      }                       }
      if ($realpossible!=1) { $syval=''; }       if ($realpossible!=1) { $syval=''; }
                    } else {
                        $syval='';
                  }                   }
       }        }
               untie(%bighash)                untie(%bighash)

Removed from v.1.247  
changed lines
  Added in v.1.250


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