--- loncom/lonnet/perl/lonnet.pm	2004/04/03 00:13:01	1.485
+++ loncom/lonnet/perl/lonnet.pm	2004/04/23 23:01:36	1.489
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.485 2004/04/03 00:13:01 raeburn Exp $
+# $Id: lonnet.pm,v 1.489 2004/04/23 23:01:36 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -32,7 +32,8 @@ package Apache::lonnet;
 use strict;
 use LWP::UserAgent();
 use HTTP::Headers;
-use Date::Parse;
+use HTTP::Date;
+# use Date::Parse;
 use vars 
 qw(%perlvar %hostname %homecache %badServerCache %hostip %iphost %spareid %hostdom 
    %libserv %pr %prp %metacache %packagetab %titlecache %courseresversioncache %resversioncache
@@ -616,6 +617,7 @@ sub idput {
     my ($udom,%ids)=@_;
     my %servers=();
     foreach (keys %ids) {
+	&cput('environment',{'id'=>$ids{$_}},$udom,$_);
         my $uhom=&homeserver($_,$udom);
         if ($uhom ne 'no_host') {
             my $id=&escape($ids{$_});
@@ -626,7 +628,6 @@ sub idput {
             } else {
                 $servers{$uhom}=$id.'='.$unam;
             }
-            &critical('put:'.$udom.':'.$unam.':environment:id='.$id,$uhom);
         }
     }
     foreach (keys %servers) {
@@ -3306,9 +3307,10 @@ sub modify_student_enrollment {
     }
     my $fullname = &Apache::loncoursedata::ProcessFullName($last,$gene,
                                                            $first,$middle);
-    my $value=&escape($uname.':'.$udom).'='.
-	&escape(join(':',$end,$start,$uid,$usec,$fullname,$type));
-    my $reply=critical('put:'.$cdom.':'.$cnum.':classlist:'.$value,$chome);
+    my $reply=cput('classlist',
+		   {"$uname:$udom" => 
+			join(':',$end,$start,$uid,$usec,$fullname,$type) },
+		   $cdom,$cnum);
     unless (($reply eq 'ok') || ($reply eq 'delayed')) {
 	return 'error: '.$reply;
     }
@@ -3936,7 +3938,7 @@ sub metadata {
     # if it is a non metadata possible uri return quickly
     if (($uri eq '') || (($uri =~ m|^/*adm/|) && ($uri !~ m|^adm/includes|)) ||
         ($uri =~ m|/$|) || ($uri =~ m|/.meta$|) || ($uri =~ /^~/) ||
-	($uri =~ m|home/[^/]+/public_html/|) || ($uri =~ m|^uploaded/|)) {
+	($uri =~ m|home/[^/]+/public_html/|)) {
 	return undef;
     }
     my $filename=$uri;
@@ -3965,7 +3967,10 @@ sub metadata {
 	}
         my %metathesekeys=();
         unless ($filename=~/\.meta$/) { $filename.='.meta'; }
-	my $metastring=&getfile(&filelocation('',&clutter($filename)));
+	my $metastring;
+	if ($uri !~ m|^uploaded/|) {
+	    $metastring=&getfile(&filelocation('',&clutter($filename)));
+	}
         my $parser=HTML::LCParser->new(\$metastring);
         my $token;
         undef %metathesekeys;
@@ -4081,14 +4086,14 @@ sub metadata {
 	    #&logthis("extsion1 $extension $key !!");
 	    #no specific packages #how's our extension
 	    if ($key!~/^extension_\Q$extension\E&/) { next; }
-	    &metadata_create_pacakge_def($uri,$key,'extension_'.$extension,
+	    &metadata_create_package_def($uri,$key,'extension_'.$extension,
 					 \%metathesekeys);
 	}
 	if (!exists($metacache{$uri}->{':packages'})) {
 	    foreach my $key (sort(keys(%packagetab))) {
 		#no specific packages well let's get default then
 		if ($key!~/^default&/) { next; }
-		&metadata_create_pacakge_def($uri,$key,'default',
+		&metadata_create_package_def($uri,$key,'default',
 					     \%metathesekeys);
 	    }
 	}
@@ -4120,7 +4125,7 @@ sub metadata {
     return $metacache{$uri}->{':'.$what};
 }
 
-sub metadata_create_pacakge_def {
+sub metadata_create_package_def {
     my ($uri,$key,$package,$metathesekeys)=@_;
     my ($pack,$name,$subp)=split(/\&/,$key);
     if ($subp eq 'default') { next; }
@@ -4690,7 +4695,7 @@ sub getuploaded {
 	return 'failed';
     }      
     if ($reqtype eq 'HEAD') {
-	$$info = &Date::Parse::str2time( $response->header('Last-modified') );
+	$$info = &HTTP::Date::str2time( $response->header('Last-modified') );
     } elsif ($reqtype eq 'GET') {
 	$$info = $response->content;
     }