Diff for /rat/lonratsrv.pm between versions 1.8 and 1.14

version 1.8, 2001/04/30 15:44:44 version 1.14, 2001/07/04 19:59:24
Line 8 Line 8
 # 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  # 4/30/2001 Scott Harrison
   # 5/3,06/25,07/03,07/04 Gerd Kortemeyer
   
 package Apache::lonratsrv;  package Apache::lonratsrv;
   
Line 24  sub qtescape { Line 25  sub qtescape {
     $str=~s/\&\#58\;/\:/g;      $str=~s/\&\#58\;/\:/g;
     $str=~s/\&\#39\;/\'/g;      $str=~s/\&\#39\;/\'/g;
     $str=~s/\&\#44\;/\,/g;      $str=~s/\&\#44\;/\,/g;
     $str=~s/\"/\&\#34\;/g;      $str=~s/\&\#34\;/\"/g;
     return $str;      return $str;
 }  }
   
Line 32  sub qtescape { Line 33  sub qtescape {
   
 sub qtunescape {  sub qtunescape {
     my $str=shift;      my $str=shift;
     $str=~s/\:/\&\#58\;/g;      $str=~s/\:/\&colon\;/g;
     $str=~s/\'/\&\#39\;/g;      $str=~s/\'/\&\#39\;/g;
     $str=~s/\,/\&\#44\;/g;      $str=~s/\,/\&\#44\;/g;
     $str=~s/\"/\&\#34\;/g;      $str=~s/\"/\&\#34\;/g;
Line 83  sub loadmap { Line 84  sub loadmap {
                     $outstr.='<:>';                      $outstr.='<:>';
                     $outstr.=qtunescape($token->[2]->{'title'}).":";                      $outstr.=qtunescape($token->[2]->{'title'}).":";
                     $outstr.=qtunescape($token->[2]->{'src'}).":";                      $outstr.=qtunescape($token->[2]->{'src'}).":";
                     if ($token->[2]->{'src'}=~/\/\//) {                      if ($token->[2]->{'external'} eq 'true') {
                         $outstr.='true:';                          $outstr.='true:';
                     } else {                      } else {
                         $outstr.='false:';                          $outstr.='false:';
Line 143  sub loadmap { Line 144  sub loadmap {
                     } else {                      } else {
   $outstr.=':0';    $outstr.=':0';
                     }                      }
   # ------------------------------------------------------------------- Parameter
                   } elsif ($token->[1] eq 'param') {
                       $outstr.='<&>objparms<:>'.$token->[2]->{'to'}.'<:>'.
                               $token->[2]->{'type'}.'___'.$token->[2]->{'name'}
                                                    .'___'.$token->[2]->{'value'};
                 } elsif ($graphmode) {                  } elsif ($graphmode) {
 # --------------------------------------------- All other tags (graphical only)  # --------------------------------------------- All other tags (graphical only)
                     $outstr.='<&>'.$token->[1];                      $outstr.='<&>'.$token->[1];
Line 168  sub loadmap { Line 174  sub loadmap {
   
 sub savemap {  sub savemap {
     my ($fn,$errtext)=@_;      my ($fn,$errtext)=@_;
       my %alltypes;
       my %allvalues;
     if (($fn=~/\.sequence$/) ||      if (($fn=~/\.sequence$/) ||
         ($fn=~/\.page$/)) {          ($fn=~/\.page$/)) {
   
Line 193  sub savemap { Line 201  sub savemap {
        if ($comp[1]!~/^http\:\/\//) {         if ($comp[1]!~/^http\:\/\//) {
    $comp[1]='http://'.$comp[1];     $comp[1]='http://'.$comp[1];
                        }                         }
                          $comp[1].='" external="true';
                    } else {                     } else {
        if ($comp[1]=~/^http\:\/\//) {         if ($comp[1]=~/^http\:\/\//) {
    $comp[1]=~s/^http\:\/\/[^\/]*\//\//;     $comp[1]=~s/^http\:\/\/[^\/]*\//\//;
Line 226  sub savemap { Line 235  sub savemap {
                }                 }
                $outstr.=' index="'.$parts[1].'"';                 $outstr.=' index="'.$parts[1].'"';
                $outstr.="></link>\n";                 $outstr.="></link>\n";
              } elsif ($parts[0] eq 'objparms') {
                  undef %alltypes;
                  undef %allvalues;
                  map {
                      my ($type,$name,$value)=split(/\_\_\_/,$_);
                      $alltypes{$name}=$type;
                      $allvalues{$name}=$value;
                  } split(/:/,$parts[$#parts]);
                  map {
                      $outstr.='<param to="'.$parts[1].'" type="'
                             .$alltypes{$_}.'" name="'.$_
                             .'" value="'.$allvalues{$_}.'">'
                             ."</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 271  sub handler { Line 294  sub handler {
   my $fn=$r->filename;    my $fn=$r->filename;
   my $errtext='';    my $errtext='';
   my $outtext='';    my $outtext='';
   my $onload='';  
   
   if ($mode ne 'loadonly') {    if ($mode ne 'loadonly') {
      $errtext=&savemap($fn,$errtext);       $errtext=&savemap($fn,$errtext);
 #     $onload='onLoad="parent.code.srvloaded();"';  
   }    }
   ($outtext,$errtext)=&loadmap($fn,$errtext);    ($outtext,$errtext)=&loadmap($fn,$errtext);
   
Line 286  sub handler { Line 307  sub handler {
 <input type=hidden name=output value="$outtext">  <input type=hidden name=output value="$outtext">
 </form>  </form>
 <script>  <script>
     parent.code.srvloaded();      parent.flag=1;
 </script>  </script>
 ENDDOCUMENT  ENDDOCUMENT
     if ($errtext ne '') {      if ($errtext ne '') {
Line 303  ENDSCRIPT Line 324  ENDSCRIPT
   
 1;  1;
 __END__  __END__
   
   
   
   
   
   
   

Removed from v.1.8  
changed lines
  Added in v.1.14


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