--- rat/lonratsrv.pm 2001/06/26 20:42:17 1.12 +++ rat/lonratsrv.pm 2001/07/03 22:37:37 1.13 @@ -8,7 +8,7 @@ # 7/1 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 Gerd Kortemeyer +# 5/3,06/25,07/03 Gerd Kortemeyer package Apache::lonratsrv; @@ -147,7 +147,7 @@ sub loadmap { # ------------------------------------------------------------------- Parameter } elsif ($token->[1] eq 'param') { $outstr.='<&>objparms<:>'.$token->[2]->{'to'}.'<:>'. - $token->[2]->{'type'}.'___'.$token->[2]->{'name'} + $token->[2]->{'type'}.'___'.$token->[2]->{'name'} .'___'.$token->[2]->{'value'}; } elsif ($graphmode) { # --------------------------------------------- All other tags (graphical only) @@ -174,6 +174,8 @@ sub loadmap { sub savemap { my ($fn,$errtext)=@_; + my %alltypes; + my %allvalues; if (($fn=~/\.sequence$/) || ($fn=~/\.page$/)) { @@ -233,12 +235,19 @@ sub savemap { $outstr.=' index="'.$parts[1].'"'; $outstr.=">\n"; } elsif ($parts[0] eq 'objparms') { + undef %alltypes; + undef %allvalues; map { my ($type,$name,$value)=split(/\_\_\_/,$_); - $outstr.='' - ."\n"; + $alltypes{$name}=$type; + $allvalues{$name}=$value; } split(/:/,$parts[$#parts]); + map { + $outstr.='' + ."\n"; + } keys %allvalues; } elsif (($parts[0] ne '') && ($graphdef)) { # ------------------------------------------------------------- Graphical input $outstr.='<'.$parts[0];