--- loncom/lonnet/perl/lonnet.pm	2000/11/27 23:10:18	1.72
+++ loncom/lonnet/perl/lonnet.pm	2000/12/02 12:41:48	1.75
@@ -61,6 +61,8 @@
 #                      an array of IDs
 # idrget(domain,array): returns hash with IDs for usernames (name=>id,...) for
 #                       an array of names
+# metadata(file,entry): returns the metadata entry for a file. entry='keys'
+#                       returns a comma separated list of keys
 #
 # 6/1/99,6/2,6/10,6/11,6/12,6/14,6/26,6/28,6/29,6/30,
 # 7/1,7/2,7/9,7/10,7/12,7/14,7/15,7/19,
@@ -77,7 +79,8 @@
 # 10/04 Guy Albertelli
 # 10/06,10/09,10/10,10/11,10/14,10/20,10/23,10/25,10/26,10/27,10/28,10/29, 
 # 10/30,10/31,
-# 11/2,11/14,11/15,11/16,11/20,11/21,11/22,11/25,11/27 Gerd Kortemeyer
+# 11/2,11/14,11/15,11/16,11/20,11/21,11/22,11/25,11/27,
+# 12/02 Gerd Kortemeyer
 
 package Apache::lonnet;
 
@@ -629,9 +632,12 @@ sub restore {
 	my ($name,$value)=split(/\=/,$_);
         $returnhash{&unescape($name)}=&unescape($value);
     } split(/\&/,$answer);
-    map {
-        $returnhash{$_}=$returnhash{$returnhash{'version'}.':'.$_};
-    } split(/\:/,$returnhash{$returnhash{'version'}.':keys'});
+    my $version;
+    for ($version=1;$version<=$returnhash{'version'};$version++) {
+       map {
+          $returnhash{$_}=$returnhash{$version.':'.$_};
+       } split(/\:/,$returnhash{$version.':keys'});
+    }
     return %returnhash;
 }
 
@@ -1147,7 +1153,7 @@ sub fileembstyle {
 
 # ------------------------------------------------------------ Description Text
 
-sub filedecription {
+sub filedescription {
     my $ending=shift;
     return $fd{$ending};
 }
@@ -1475,9 +1481,11 @@ sub EXT {
 sub metadata {
     my ($uri,$what)=@_;
     $uri=&declutter($uri);
-    unless ($uri=~/\.meta$/) { $uri.='.meta'; }
+    my $filename=$uri;
+    $uri=~s/\.meta$//;
     unless ($metacache{$uri.':keys'}) {
-	my $metastring=&getfile($perlvar{'lonDocRoot'}.'/res/'.$uri);
+        unless ($filename=~/\.meta$/) { $filename.='.meta'; }
+	my $metastring=&getfile($perlvar{'lonDocRoot'}.'/res/'.$filename);
         my $parser=HTML::TokeParser->new(\$metastring);
         my $token;
         while ($token=$parser->get_token) {