Diff for /rat/lonratedt.pm between versions 1.69 and 1.70

version 1.69, 2005/06/08 16:35:46 version 1.70, 2005/06/08 17:42:01
Line 173  use Apache::loncommon; Line 173  use Apache::loncommon;
 use Apache::lonlocal;  use Apache::lonlocal;
 use File::Copy;  use File::Copy;
   
 use vars qw(@order @resources @resparms @zombies %revzombies);  use vars qw(@order @resources @resparms @zombies);
   
   
 # Mapread read maps into global arrays @links and @resources, determines status  # Mapread read maps into global arrays @links and @resources, determines status
Line 189  sub mapread { Line 189  sub mapread {
     undef @order;      undef @order;
     undef @resparms;      undef @resparms;
     undef @zombies;      undef @zombies;
     undef %revzombies;  
   
     @resources=('');      @resources=('');
     @order=();      @order=();
     @resparms=();      @resparms=();
     @zombies=();      @zombies=();
     %revzombies=();  
   
     my ($outtext,$errtext)=&Apache::lonratsrv::loadmap($fn,'');      my ($outtext,$errtext)=&Apache::lonratsrv::loadmap($fn,'');
     if ($errtext) { return ($errtext,2); }      if ($errtext) { return ($errtext,2); }
Line 210  sub mapread { Line 208  sub mapread {
  $resources[$number]=$content;   $resources[$number]=$content;
     } else {      } else {
  $zombies[$number]=$content;   $zombies[$number]=$content;
  $revzombies{$src}=$number;  
     }      }
         }          }
         if ($command eq 'objlinks') {          if ($command eq 'objlinks') {
Line 449  sub buttons { Line 446  sub buttons {
     return $output.'</form><hr>';      return $output.'</form><hr>';
 }  }
   
 # ----------------------------------------------------- Get an unused res index  # ------------------------------------- Revive zombie idx or get unused number
   
 sub unusedindex {  sub getresidx {
     return 1+($#resources>$#zombies?$#resources:$#zombies);      my $url=shift;
       my $max=1+($#resources>$#zombies?$#resources:$#zombies);
       unless ($url) { return $max; }
       for (my $i=0; $i<=$#zombies; $i++) {
    my ($title,$src,$ext,$type)=split(/\:/,$zombies[$i]);
    if ($src eq $url) {
       undef $zombies[$i];
       return $i;
    }
       }
       return $max;
 }  }
   
 # ----------------------------------------------------------- Paste into target  # ----------------------------------------------------------- Paste into target
Line 467  sub pastetarget { Line 474  sub pastetarget {
             $name=&Apache::lonnet::unescape($name);              $name=&Apache::lonnet::unescape($name);
             $url=&Apache::lonnet::unescape($url);              $url=&Apache::lonnet::unescape($url);
             if ($url) {              if ($url) {
        my $idx=&unusedindex();         my $idx=&getresidx($url);
                $insertorder[$#insertorder+1]=$idx;                 $insertorder[$#insertorder+1]=$idx;
                my $ext='false';                 my $ext='false';
                if ($url=~/^http\:\/\//) { $ext='true'; }                 if ($url=~/^http\:\/\//) { $ext='true'; }
Line 513  sub startfinish { Line 520  sub startfinish {
    $resources[$order[0]]=$name.':'.$url.':'.$ext.':start:res';     $resources[$order[0]]=$name.':'.$url.':'.$ext.':start:res';
 # Make sure this has at least start and finish  # Make sure this has at least start and finish
    if ($#order==0) {     if ($#order==0) {
        $resources[&unusedindex()]='::false';         $resources[&getresidx()]='::false';
        $order[1]=$#resources;         $order[1]=$#resources;
    }     }
 # Make the last one a finish resource  # Make the last one a finish resource

Removed from v.1.69  
changed lines
  Added in v.1.70


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