Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.410 and 1.413

version 1.410, 2003/09/10 15:53:16 version 1.413, 2003/09/16 17:54:50
Line 246  sub critical { Line 246  sub critical {
     return $answer;      return $answer;
 }  }
   
   #
 # -------------- Remove all key from the env that start witha lowercase letter  # -------------- Remove all key from the env that start witha lowercase letter
 #                (Which is alweways a lon-capa value)  #                (Which is always a lon-capa value)
   
 sub cleanenv {  sub cleanenv {
   #    unless (defined(&Apache::exists_config_define("MODPERL2"))) { return; }
   #    unless (&Apache::exists_config_define("MODPERL2")) { return; }
     foreach my $key (keys(%ENV)) {      foreach my $key (keys(%ENV)) {
  if ($key =~ /^[a-z]/) {   if ($key =~ /^[a-z]/) {
     delete($ENV{$key});      delete($ENV{$key});
Line 436  sub spareserver { Line 440  sub spareserver {
     my $lowestserver=$loadpercent > $userloadpercent?      my $lowestserver=$loadpercent > $userloadpercent?
              $loadpercent :  $userloadpercent;               $loadpercent :  $userloadpercent;
     foreach $tryserver (keys %spareid) {      foreach $tryserver (keys %spareid) {
        my $loadans=reply('load',$tryserver);   my $loadans=reply('load',$tryserver);
        my $userloadans=reply('userload',$tryserver);   my $userloadans=reply('userload',$tryserver);
        if ($userloadans !~ /\d/) { $userloadans=0; }   if ($loadans !~ /\d/ && $userloadans !~ /\d/) {
        my $answer=$loadans > $userloadans?      next; #didn't get a number from the server
                   $loadans :  $userloadans;   }
        if (($answer =~ /\d/) && ($answer<$lowestserver)) {   my $answer;
    $spareserver="http://$hostname{$tryserver}";   if ($loadans =~ /\d/) {
            $lowestserver=$answer;      if ($userloadans =~ /\d/) {
        }   #both are numbers, pick the bigger one
    $answer=$loadans > $userloadans?
       $loadans :  $userloadans;
       } else {
    $answer = $loadans;
       }
    } else {
       $answer = $userloadans;
    }
    if (($answer =~ /\d/) && ($answer<$lowestserver)) {
       $spareserver="http://$hostname{$tryserver}";
       $lowestserver=$answer;
    }
     }      }
     return $spareserver;      return $spareserver;
 }  }
Line 2590  sub is_on_map { Line 2606  sub is_on_map {
     if ($match) {      if ($match) {
  return (1,$1);   return (1,$1);
     } else {      } else {
  return (0,0);   my ($name,$ext)=($filename=~/^(.+)\.(\w+)$/);
           $ENV{'acc.res.'.$ENV{'request.course.id'}.'.'.$pathname}=~
          /\&(\Q$name\E\.\d+\.$ext)\:([\d\|]+)\&/;
    return (0,$2,$pathname.'/'.$1);
     }      }
 }  }
   
Line 3863  sub symbclean { Line 3882  sub symbclean {
 # ---------------------------------------------- Split symb to find map and url  # ---------------------------------------------- Split symb to find map and url
   
 sub decode_symb {  sub decode_symb {
     return split(/\_\_\_/,shift);      my ($map,$resid,$url)=split(/\_\_\_/,shift);
       return (&fixversion($map),$resid,&fixversion($url));
   }
   
   sub fixversion {
       my $fn=shift;
       if ($fn=~/^(adm|uploaded|public)/) { return $fn; }
       my ($match,$cond,$versioned)=&is_on_map($fn);
       unless ($match) {
    $fn=$versioned;
       }
       return $fn;
 }  }
   
 # ------------------------------------------------------ Return symb list entry  # ------------------------------------------------------ Return symb list entry

Removed from v.1.410  
changed lines
  Added in v.1.413


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