Diff for /rat/lonratsrv.pm between versions 1.23 and 1.28

version 1.23, 2002/09/05 19:37:00 version 1.28, 2004/04/23 19:59:01
Line 31 Line 31
 # 05/29/00,05/30 Gerd Kortemeyer)  # 05/29/00,05/30 Gerd Kortemeyer)
 # 7/1 Gerd Kortemeyer)  # 7/1 Gerd Kortemeyer)
 # 7/1,7/3,7/4,7/7,7/8,7/10,7/26,10/2 Gerd Kortemeyer  # 7/1,7/3,7/4,7/7,7/8,7/10,7/26,10/2 Gerd Kortemeyer
 # 4/30/2001 Scott Harrison  
 # 5/3,06/25,07/03,07/04,07/05 Gerd Kortemeyer  # 5/3,06/25,07/03,07/04,07/05 Gerd Kortemeyer
   
 package Apache::lonratsrv;  package Apache::lonratsrv;
Line 67  sub qtunescape { Line 66  sub qtunescape {
 # --------------------------------------------------------- Loads map from disk  # --------------------------------------------------------- Loads map from disk
   
 sub loadmap {  sub loadmap {
     my ($fn,$errtext)=@_;      my ($fn,$errtext,$infotext)=@_;
       if ($errtext) { return('',$errtext); }
     my $outstr='';      my $outstr='';
     my @obj=();      my @obj=();
     my @links=();      my @links=();
Line 82  sub loadmap { Line 82  sub loadmap {
         }          }
         $instr=join('',@content);          $instr=join('',@content);
     }      }
     if ($instr) {      if ($instr eq -2) {
           $errtext.='Map not loaded: An error occured while trying to load the map.';
       } elsif ($instr) {
         my $parser = HTML::TokeParser->new(\$instr);          my $parser = HTML::TokeParser->new(\$instr);
         my $token;          my $token;
         my $graphmode=0;          my $graphmode=0;
Line 195  sub loadmap { Line 197  sub loadmap {
     } else {      } else {
         $errtext.='Map not loaded: The file does not exist. ';          $errtext.='Map not loaded: The file does not exist. ';
     }      }
     return($outstr,$errtext);      return($outstr,$errtext,$infotext);
 }  }
   
   
Line 203  sub loadmap { Line 205  sub loadmap {
   
 sub savemap {  sub savemap {
     my ($fn,$errtext)=@_;      my ($fn,$errtext)=@_;
       my $infotext='';
     my %alltypes;      my %alltypes;
     my %allvalues;      my %allvalues;
     if (($fn=~/\.sequence(\.tmp)*$/) ||      if (($fn=~/\.sequence(\.tmp)*$/) ||
Line 291  sub savemap { Line 294  sub savemap {
            }             }
         }          }
         $outstr.="</map>\n";          $outstr.="</map>\n";
  if ($fn=~/^\/*uploaded\/(\w+)\/(\w+)\//) {   if ($fn=~/^\/*uploaded\/(\w+)\/(\w+)\/(.*)$/) {
     $ENV{'form.output'}=$outstr;      $ENV{'form.output'}=$outstr;
             my $home=&Apache::lonnet::homeserver($2,$1);              my $home=&Apache::lonnet::homeserver($2,$1);
             &Apache::lonnet::finishuserfileupload(              my $result=&Apache::lonnet::finishuserfileupload($2,$1,$home,
               $2,$1,$home,   'output',$3);
               'output',(split(/\//,$fn))[-1]);      if ($result != m|^/uploaded/|) {
    $errtext.='Map not saved: A network error occured when trying to save the map. ';
       }
         } else {          } else {
           my $fh;            my $fh;
           if ($fh=Apache::File->new(">$fn")) {            if ($fh=Apache::File->new(">$fn")) {
              print $fh $outstr;               print $fh $outstr;
              $errtext.="Map saved as $fn. ";               $infotext.="Map saved as $fn. ";
   } else {    } else {
              $errtext.='Could not write file '.$fn.'.  Map not saved. ';               $errtext.='Could not write file '.$fn.'.  Map not saved. ';
   }    }
Line 310  sub savemap { Line 315  sub savemap {
 # -------------------------------------------- Cannot write to that file, error  # -------------------------------------------- Cannot write to that file, error
         $errtext.='Map not saved: The specified path does not exist. ';          $errtext.='Map not saved: The specified path does not exist. ';
     }      }
     return $errtext;      return ($errtext,$infotext);
 }  }
   
 # ================================================================ Main Handler  # ================================================================ Main Handler
Line 337  sub handler { Line 342  sub handler {
       $fn=~s|/[^/]*/ratserver$||;        $fn=~s|/[^/]*/ratserver$||;
   }    }
   my $errtext='';    my $errtext='';
     my $infotext='';
   my $outtext='';    my $outtext='';
   
   if ($mode ne 'loadonly') {    if ($mode ne 'loadonly') {
      $errtext=&savemap($fn,$errtext);       ($errtext,$infotext)=&savemap($fn,$errtext);
   }    }
   ($outtext,$errtext)=&loadmap($fn,$errtext);    ($outtext,$errtext,$infotext)=&loadmap($fn,$errtext,$infotext);
   
   $r->print(<<ENDDOCUMENT);    $r->print(<<ENDDOCUMENT);
 <html>  <html>
Line 354  sub handler { Line 360  sub handler {
     parent.flag=1;      parent.flag=1;
 </script>  </script>
 ENDDOCUMENT  ENDDOCUMENT
     if ($errtext ne '') {      if (($errtext ne '') || ($infotext ne '')) {
  $r->print(<<ENDSCRIPT);   $r->print(<<ENDSCRIPT);
 <script>  <script>
     alert("$errtext");      alert("$infotext $errtext");
 </script>  </script>
 ENDSCRIPT  ENDSCRIPT
     }      }

Removed from v.1.23  
changed lines
  Added in v.1.28


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