--- loncom/lonnet/perl/lonnet.pm 2006/03/03 23:22:18 1.714 +++ loncom/lonnet/perl/lonnet.pm 2006/03/04 01:00:15 1.715 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.714 2006/03/03 23:22:18 raeburn Exp $ +# $Id: lonnet.pm,v 1.715 2006/03/04 01:00:15 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2996,25 +2996,29 @@ sub newput { # --------------------------------------------------------- putstore interface sub putstore { - my ($namespace,$storehash,$udomain,$uname)=@_; + my ($namespace,$symb,$version,$storehash,$udomain,$uname)=@_; if (!$udomain) { $udomain=$env{'user.domain'}; } if (!$uname) { $uname=$env{'user.name'}; } my $uhome=&homeserver($uname,$udomain); my $items=''; - my %allitems = (); - foreach (keys %$storehash) { - if ($_ =~ m/^([^\:]+):([^\:]+):([^\:]+)$/) { - my $key = $1.':keys:'.$2; - $allitems{$key} .= $3.':'; - } - $items.=$_.'='.&freeze_escape($$storehash{$_}).'&'; - } - foreach (keys %allitems) { - $allitems{$_} =~ s/\:$//; - $items.= $_.'='.$allitems{$_}.'&'; + foreach my $key (keys(%$storehash)) { + $items.= &escape($key).'='.&freeze_escape($storehash->{$key}).'&'; } $items=~s/\&$//; - return &reply("put:$udomain:$uname:$namespace:$items",$uhome); + $symb=&escape($symb); + $version=&escape($version); + my $reply = + &reply("putstore:$udomain:$uname:$namespace:$symb:$version:$items", + $uhome); + if ($reply eq 'unknown_cmd') { + return &old_putstore($namespace,$symb,$version,$storehash,$udomain, + $uname); + } + return $reply; +} + +sub old_putstore { + } # ------------------------------------------------------ critical put interface @@ -3026,7 +3030,7 @@ sub cput { my $uhome=&homeserver($uname,$udomain); my $items=''; foreach (keys %$storehash) { - $items.=escape($_).'='.&freeze_escape($$storehash{$_}).'&'; + $items.=&escape($_).'='.&freeze_escape($$storehash{$_}).'&'; } $items=~s/\&$//; return &critical("put:$udomain:$uname:$namespace:$items",$uhome); @@ -4910,8 +4914,8 @@ sub EXT_cache_set { # --------------------------------------------------------- Value of a Variable sub EXT { - my ($varname,$symbparm,$udom,$uname,$usection,$recurse)=@_; + my ($varname,$symbparm,$udom,$uname,$usection,$recurse)=@_; unless ($varname) { return ''; } #get real user name/domain, courseid and symb my $courseid;