--- loncom/interface/londocs.pm	2003/02/04 18:23:21	1.47
+++ loncom/interface/londocs.pm	2003/04/12 15:56:42	1.51
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Documents
 #
-# $Id: londocs.pm,v 1.47 2003/02/04 18:23:21 www Exp $
+# $Id: londocs.pm,v 1.51 2003/04/12 15:56:42 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -188,7 +188,7 @@ sub editor {
            my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]);
            unless ($name) {  $name=(split(/\//,$url))[-1]; }
            unless ($name) { $name='NO RESOURCE'; $url='/adm/notfound.html'; }
-           $r->print(&entryline($idx,$name,$url,$folder,$allowed));
+           $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_));
            $idx++;
         }
         $r->print('</table>');
@@ -198,7 +198,7 @@ sub editor {
 # --------------------------------------------------------------- An entry line
 
 sub entryline {
-    my ($index,$title,$url,$folder,$allowed)=@_;
+    my ($index,$title,$url,$folder,$allowed,$residx)=@_;
     $title=~s/\&colon\;/\:/g;
     $title=&HTML::Entities::encode(&HTML::Entities::decode(
      &Apache::lonnet::unescape($title)),'\"\<\>\&\'');
@@ -249,7 +249,18 @@ END
        } 
     }
     $url=~s/^http\&colon\;\/\//\/adm\/wrapper\/ext\//;
-    if ($isfolder) { $url.='&foldername='.$foldertitle; }
+    if ($residx) {
+       $url.=(($url=~/\?/)?'&':'?').'symb='.
+       &Apache::lonnet::escape(&Apache::lonnet::symbclean(
+          &Apache::lonnet::declutter('uploaded/'.
+           $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.'/'.
+           $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.'/'.$folder.
+           '.sequence').
+           '___'.$residx.'___'.
+	   &Apache::lonnet::declutter($url)));
+    }
+    if ($isfolder) { $url.='&foldername='.
+       &Apache::lonnet::escape($foldertitle); }
     $line.='<td bgcolor="#FFFFBB"><a href="'.$url.'" target="cat_'.$folder.
 '"><img src="/adm/lonIcons/'.
         $icon.'.gif" border="0"></a></td>'.
@@ -471,6 +482,7 @@ ENDHEADERS
     my $script='';
     my $allowed;
     my $events='';
+    my $buttons='';
     my $showdoc=0;
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
        ['folder','foldername']);
@@ -489,9 +501,10 @@ ENDHEADERS
        }
     } else { # got called in sequence from course
        $allowed=0;
-       $script='</script>'.&Apache::lonxml::registerurl(1,undef).'<script>';
-       $events='onLoad="'.&Apache::lonxml::loadevents.
-           '" onUnload="'.&Apache::lonxml::unloadevents.'"';
+       $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
@@ -578,7 +591,8 @@ ENDNEWSCRIPT
   }
 # -------------------------------------------------------------------- Body tag
   $r->print('</head>'.
-            &Apache::loncommon::bodytag('Course Documents','',$events));
+            &Apache::loncommon::bodytag('Course Documents','',$events).
+            $buttons);
   unless ($showdoc) {
     if ($allowed) {
        $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',
@@ -606,12 +620,20 @@ ENDCOURSEVERIFY
   ($allowed?' '.$help{'Main_Course_Documents'}:'').'</h2>');
        my $folder=$ENV{'form.folder'};
        unless ($folder=~/^default/) { $folder='default'; }
+       my $postexec='';
+       if ($folder eq 'default') {
+	   $r->print('<script>this.window.name="loncapaclient";</script>');
+       } else {
+           $postexec='self.close();';
+       }
        $hadchanges=0;
        &editor($r,$coursenum,$coursedom,$folder,$allowed);
        if ($hadchanges) {
-	   $r->print('<form method="post" action="/adm/roles">'.
-'<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="submit" name="'.
-$ENV{'request.role'}.'" value="re-initializing course" />, or the next time you log in.</font></h3></form>');
+	   $r->print(
+'<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>');
        }
        my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
                      '.sequence';