--- loncom/interface/londocs.pm	2003/07/15 19:52:47	1.65
+++ loncom/interface/londocs.pm	2003/09/05 18:11:26	1.73
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Documents
 #
-# $Id: londocs.pm,v 1.65 2003/07/15 19:52:47 bowersj2 Exp $
+# $Id: londocs.pm,v 1.73 2003/09/05 18:11:26 bowersj2 Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -72,6 +72,29 @@ sub storemap {
                                 $map,1);
 }
 
+# Imports the given (name, url) resources into the course
+# coursenum, coursedom, and folder must precede the list
+sub group_import {
+    my $coursenum = shift;
+    my $coursedom = shift;
+    my $folder = shift;
+    while (@_) {
+	my $name = shift;
+	my $url = shift;
+	if ($url) {
+	    my $idx = $#Apache::lonratedt::resources + 1;
+	    $Apache::lonratedt::order[$#Apache::lonratedt::order+1]=$idx;
+	    my $ext = 'false';
+	    if ($url=~/^http:\/\//) { $ext = 'true'; }
+	    $url =~ s/:/\:/g;
+	    $name =~ s/:/\:/g;
+	    $Apache::lonratedt::resources[$idx] = 
+		join ':', ($name, $url, $ext, 'normal', 'res');
+	}
+    }
+    &storemap($coursenum, $coursedom, $folder);
+}
+
 sub editor {
     my ($r,$coursenum,$coursedom,$folder,$allowed)=@_;
     if ($ENV{'form.foldername'}) {
@@ -158,26 +181,17 @@ sub editor {
             }
 # Group import/search
 	    if ($ENV{'form.importdetail'}) {
-               foreach (split(/\&/,$ENV{'form.importdetail'})) {
-                  if (defined($_)) {
-	             my ($name,$url)=split(/\=/,$_);
-                     $name=&Apache::lonnet::unescape($name);
-                     $url=&Apache::lonnet::unescape($url);
-                     if ($url) {
-	                my $idx=$#Apache::lonratedt::resources+1;
-                        $Apache::lonratedt::order
-                           [$#Apache::lonratedt::order+1]=$idx;
-                        my $ext='false';
-                        if ($url=~/^http\:\/\//) { $ext='true'; }
-                        $url=~s/\:/\:/g;
-                        $name=~s/\:/\:/g;
-                        $Apache::lonratedt::resources[$idx]=
-                           $name.':'.$url.':'.$ext.':normal:res';
-	             }
-                 }
-	      }
+		my @imports;
+		foreach (split(/\&/,$ENV{'form.importdetail'})) {
+		    if (defined($_)) {
+			my ($name,$url)=split(/\=/,$_);
+			$name=&Apache::lonnet::unescape($name);
+			$url=&Apache::lonnet::unescape($url);
+			push @imports, $name, $url;
+		    }
+		}
 # Store the changed version
-		&storemap($coursenum,$coursedom,$folder.'.sequence');
+		group_import($coursenum, $coursedom, $folder, @imports);
             }
 # Loading a complete map
 	   if (($ENV{'form.importmap'}) && ($ENV{'form.loadmap'})) {
@@ -265,7 +279,7 @@ END
        } 
     }
     $url=~s/^http\&colon\;\/\//\/adm\/wrapper\/ext\//;
-    if ($residx) {
+    if (($residx) && ($folder!~/supplemental/)) {
        $url.=(($url=~/\?/)?'&':'?').'symb='.
        &Apache::lonnet::escape(&Apache::lonnet::symbclean(
           &Apache::lonnet::declutter('uploaded/'.
@@ -329,9 +343,12 @@ sub checkonthis {
                      $r->print(' ');
                  }
                  $r->print('- Rendering: ');
+                 my $oldpath=$ENV{'request.filename'};
+                 $ENV{'request.filename'}=&Apache::lonnet::filelocation('',$url);
                  &Apache::lonxml::xmlparse($r,'web',
                    &Apache::lonnet::getfile(
                     &Apache::lonnet::filelocation('',$url)));
+		 $ENV{'request.filename'}=$oldpath;
                  if (($Apache::lonxml::errorcount) ||
                      ($Apache::lonxml::warningcount)) {
 		     if ($Apache::lonxml::errorcount) {
@@ -375,8 +392,8 @@ sub handler {
 # --------------------------------------------- Initialize help topics for this
   foreach ('Adding_Course_Doc','Main_Course_Documents',
            'Adding_External_Resource','Navigate_Content',
-           'Adding_Folders','Docs_Overview',
-           'Supplemental',
+           'Adding_Folders','Docs_Overview', 'Load_Map',
+           'Supplemental', 'Score_Upload_Form',
            'Importing_LON-CAPA_Resource','Uploading_From_Harddrive') {
       $help{$_}=&Apache::loncommon::help_open_topic('Docs_'.$_);
   }
@@ -388,9 +405,9 @@ sub handler {
     $help{'Bulletin Board'} = &Apache::loncommon::help_open_topic(
 		    'Docs_About_Bulletin_Board,Docs_Editing_Templated_Pages');
     $help{'My Personal Info'} = &Apache::loncommon::help_open_topic(
-		    'Docs_About_My_Personal_Info,Docs_Editing_Templated_Pages');
-    
-
+		  'Docs_About_My_Personal_Info,Docs_Editing_Templated_Pages');
+    $help{'Caching'} = &Apache::loncommon::help_open_topic('Caching');
+ 
   if ($ENV{'form.verify'}) {
  
    my $loaderror=&Apache::lonnet::overloaderror($r);
@@ -408,6 +425,7 @@ sub handler {
        }
    }
    &untiehash();
+   $r->print('<h1>Done.</h1>');
   } elsif ($ENV{'form.versions'}) {
     $r->print('<html><head><title>Check Versions</title></head>'.
               &Apache::loncommon::bodytag('Check Course Document Versions'));
@@ -495,6 +513,7 @@ ENDHEADERS
           }
        }
        $r->print('</table>');
+       $r->print('<h1>Done.</h1>');
    } else {
        $r->print('<p>No content modifications yet.</p>');
    }
@@ -508,7 +527,6 @@ ENDHEADERS
     my $script='';
     my $allowed;
     my $events='';
-    my $buttons='';
     my $showdoc=0;
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
        ['folder','foldername']);
@@ -530,7 +548,6 @@ ENDHEADERS
        $script='</script>'.&Apache::lonmenu::registerurl(1,undef).'<script>';
        $events='onLoad="'.&Apache::lonmenu::loadevents.
            '" onUnload="'.&Apache::lonmenu::unloadevents.'"';
-       $buttons=&Apache::lonmenu::menubuttons(1,undef);
     }
 
 # get course data
@@ -643,8 +660,8 @@ ENDNEWSCRIPT
   }
 # -------------------------------------------------------------------- Body tag
   $r->print('</head>'.
-            &Apache::loncommon::bodytag('Course Documents','',$events).
-            $buttons);
+            &Apache::loncommon::bodytag('Course Documents','',$events,
+					'','',$showdoc));
   unless ($showdoc) {
     if ($allowed) {
        $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',
@@ -685,7 +702,8 @@ ENDCOURSEVERIFY
 '<script>function reinit(tf) { tf.submit();'.$postexec.' }</script>'. 
 '<form method="post" action="/adm/roles" target="loncapaclient">'.
 '<input type="hidden" name="orgurl" value="/adm/coursedocs" /><input type="hidden" name="selectrole" value="1" /><h3><font color="red">Changes will become active for your current session after <input type="hidden" name="'.
-$ENV{'request.role'}.'" value="1" /><input type="button" value="re-initializing course" onClick="reinit(this.form)"/>, or the next time you log in.</font></h3></form>');
+$ENV{'request.role'}.'" value="1" /><input type="button" value="re-initializing course" onClick="reinit(this.form)"/>, or the next time you log in.'.
+$help{'Caching'}.'</font></h3></form>');
        }
        my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
                      '.sequence';
@@ -725,10 +743,11 @@ $help{'Importing_LON-CAPA_Resource'}
 </nobr>
 <p>
 <hr />
-<input type="text" size="20" name="importmap">
-<input type=button 
+<input type="text" size="20" name="importmap"><br />
+<nobr><input type=button 
 onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"
-value="Select Map"><input type="submit" name="loadmap" value="Load Map">
+value="Select Map"> <input type="submit" name="loadmap" value="Load Map">
+$help{'Load_Map'}</nobr>
 </p>
 </form>
 </td><td bgcolor="#DDDDDD">
@@ -796,6 +815,7 @@ onClick="javascript:makesmpproblem();" /
 <nobr>
 <input name="newexamupload" type="button" value="Score Upload Form"
 onClick="javascript:makeexamupload();" />
+$help{'Score_Upload_Form'}
 </nobr>
 </form>
 <form action="/adm/coursedocs" method="post" name="newbul">