Diff for /rat/lonratsrv.pm between versions 1.18 and 1.19

version 1.18, 2002/06/24 14:05:51 version 1.19, 2002/06/27 16:43:57
Line 197  sub loadmap { Line 197  sub loadmap {
 # ----------------------------------------------------------- Saves map to disk  # ----------------------------------------------------------- Saves map to disk
   
 sub savemap {  sub savemap {
     my ($fn,$errtext)=@_;      my ($fn,$errtext,$r)=@_;
     my %alltypes;      my %alltypes;
     my %allvalues;      my %allvalues;
     if (($fn=~/\.sequence$/) ||      if (($fn=~/\.sequence$/) ||
Line 262  sub savemap { Line 262  sub savemap {
            } elsif ($parts[0] eq 'objparms') {             } elsif ($parts[0] eq 'objparms') {
                undef %alltypes;                 undef %alltypes;
                undef %allvalues;                 undef %allvalues;
                foreach (split(/:/,$parts[$#parts])) {                 map {
                    my ($type,$name,$value)=split(/\_\_\_/,$_);                     my ($type,$name,$value)=split(/\_\_\_/,$_);
                    $alltypes{$name}=$type;                     $alltypes{$name}=$type;
                    $allvalues{$name}=$value;                     $allvalues{$name}=$value;
                }                 } split(/:/,$parts[$#parts]);
                foreach (keys %allvalues) {                 map {
                   if ($allvalues{$_} ne '') {  
                    $outstr.='<param to="'.$parts[1].'" type="'                     $outstr.='<param to="'.$parts[1].'" type="'
                           .$alltypes{$_}.'" name="'.$_                            .$alltypes{$_}.'" name="'.$_
                           .'" value="'.$allvalues{$_}.'">'                            .'" value="'.$allvalues{$_}.'">'
                           ."</param>\n";                            ."</param>\n";
           }                 } keys %allvalues;
                }  
            } elsif (($parts[0] ne '') && ($graphdef)) {             } elsif (($parts[0] ne '') && ($graphdef)) {
 # ------------------------------------------------------------- Graphical input  # ------------------------------------------------------------- Graphical input
                $outstr.='<'.$parts[0];                 $outstr.='<'.$parts[0];
Line 297  sub savemap { Line 295  sub savemap {
         }          }
     } else {      } else {
 # -------------------------------------------- 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 '.$fn.' path does not exist. '.$r->uri();
     }      }
     return $errtext;      return $errtext;
 }  }
Line 318  sub handler { Line 316  sub handler {
   $url=~s/\/loadonly\/ratserver$/\/save\/ratserver/;    $url=~s/\/loadonly\/ratserver$/\/save\/ratserver/;
       
   my $fn=$r->filename;    my $fn=$r->filename;
     my $lonDocRoot=$r->dir_config('lonDocRoot');
     if ( $fn =~ /$lonDocRoot/ ) {
         #internal authentication, needs fixup.
         $fn = $url;
         $fn=~s|^/~(\w+)|/home/$1/public_html|;
         $fn=~s|/[^/]*/ratserver$||;
     }
   my $errtext='';    my $errtext='';
   my $outtext='';    my $outtext='';
   
   if ($mode ne 'loadonly') {    if ($mode ne 'loadonly') {
      $errtext=&savemap($fn,$errtext);       $errtext=&savemap($fn,$errtext,$r);
   }    }
   ($outtext,$errtext)=&loadmap($fn,$errtext);    ($outtext,$errtext)=&loadmap($fn,$errtext);
   

Removed from v.1.18  
changed lines
  Added in v.1.19


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