--- rat/lonratsrv.pm	2002/06/27 17:00:12	1.20
+++ rat/lonratsrv.pm	2002/08/19 21:15:08	1.21
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Server for RAT Maps
 #
-# $Id: lonratsrv.pm,v 1.20 2002/06/27 17:00:12 albertel Exp $
+# $Id: lonratsrv.pm,v 1.21 2002/08/19 21:15:08 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -69,15 +69,20 @@ sub qtunescape {
 sub loadmap {
     my ($fn,$errtext)=@_;
     my $outstr='';
-    my @content=();
     my @obj=();
     my @links=();
-    if (-e $fn) {
+    my $instr='';
+    if ($fn=~/^\/*uploaded\//) {
+        $instr=&Apache::lonnet::getfile($fn);
+    } elsif (-e $fn) {
+        my @content=();
         {
 	    my $fh=Apache::File->new($fn);
             @content=<$fh>;
         }
-        my $instr=join('',@content);
+        $instr=join('',@content);
+    }
+    if ($instr) {
         my $parser = HTML::TokeParser->new(\$instr);
         my $token;
         my $graphmode=0;
@@ -286,7 +291,14 @@ sub savemap {
            }
         } @tags;
         $outstr.="</map>\n";
-        {
+	if ($fn=~/^\/*uploaded\//) {
+	    $ENV{'form.output'}=$outstr;
+            &Apache::lonnet::finishuserfileupload(
+              $ENV{'course.'.$ENV{'request.course.id'}.'.num'},
+              $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
+              $ENV{'course.'.$ENV{'request.course.id'}.'.home'},
+              'output',(split(/\//,$fn))[-1]);
+        } else {
           my $fh;
           if ($fh=Apache::File->new(">$fn")) {
              print $fh $outstr;