--- loncom/interface/londocs.pm	2010/03/22 13:24:16	1.424
+++ loncom/interface/londocs.pm	2010/08/25 00:12:38	1.437
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Documents
 #
-# $Id: londocs.pm,v 1.424 2010/03/22 13:24:16 onken Exp $
+# $Id: londocs.pm,v 1.437 2010/08/25 00:12:38 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1607,13 +1607,12 @@ sub editor {
     my $shown=0;
     if (($ishidden) || ($isencrypted) || ($randompick>=0) || ($is_random_order)) {
 	$r->print('<div class="LC_Box">'.
-          '<p>'.&mt('Parameters:').
-          '<ul>'.
+          '<ol class="LC_docs_parameters"><li class="LC_docs_parameters_title">'.&mt('Parameters:').'</li>'.
 		  ($randompick>=0?'<li>'.&mt('randomly pick [quant,_1,resource]',$randompick).'</li>':'').
 		  ($ishidden?'<li>'.&mt('contents hidden').'</li>':'').
 		  ($isencrypted?'<li>'.&mt('URLs hidden').'</li>':'').
 		  ($is_random_order?'<li>'.&mt('random order').'</li>':'').
-		  '</ul></p>');
+		  '</ol>');
         if ($randompick>=0) {
             $r->print('<p class="LC_warning">'
                  .&mt('Caution: this folder is set to randomly pick a subset'
@@ -2264,8 +2263,6 @@ sub list_symbs {
 sub verifycontent {
     my ($r) = @_;
     my $crstype = &Apache::loncommon::course_type();
-   my $loaderror=&Apache::lonnet::overloaderror($r);
-   if ($loaderror) { return $loaderror; }
    $r->print(&Apache::loncommon::start_page('Verify '.$crstype.' Documents'));
    $r->print(&Apache::lonhtmlcommon::breadcrumbs('Verify '.$crstype.' Documents'));
    $hashtied=0;
@@ -2484,11 +2481,11 @@ ENDHEADERS
 # Set version
 	    $r->print(&Apache::loncommon::select_form($setversions{$linkurl},
 						      'set_version_'.$linkurl,
-						      ('select_form_order' =>
+						      {'select_form_order' =>
 						       ['',1..$currentversion,'mostrecent'],
 						       '' => '',
 						       'mostrecent' => &mt('most recent'),
-						       map {$_,$_} (1..$currentversion))));
+						       map {$_,$_} (1..$currentversion)}));
 	    $r->print('</span></td></tr><tr><td></td>');
 	    my $lastold=1;
 	    for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) {
@@ -2721,9 +2718,22 @@ sub handler {
         $env{'form.pagename'}=&unescape(pop(@pagepath));
         $env{'form.folder'}=pop(@pagepath);
         $containertag = '<input type="hidden" name="pagepath" value="" />'.
-	    '<input type="hidden" name="pagesymb" value="" />';
-        $uploadtag = '<input type="hidden" name="pagepath" value="'.&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" />'.
-	    '<input type="hidden" name="pagesymb" value="'.&HTML::Entities::encode($env{'form.pagesymb'},'<>&"').'" />';
+	                '<input type="hidden" name="pagesymb" value="" />';
+        $uploadtag = 
+            '<input type="hidden" name="pagepath" value="'.&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" />'.
+	    '<input type="hidden" name="pagesymb" value="'.&HTML::Entities::encode($env{'form.pagesymb'},'<>&"').'" />'.
+            '<input type="hidden" name="folderpath" value="" />';
+    } else {
+        my $folderpath=$env{'form.folderpath'};
+        if (!$folderpath) {
+            if ($env{'form.folder'} eq '' ||
+                $env{'form.folder'} eq 'supplemental') {
+                $folderpath='default&'.
+                    &escape(&mt('Main '.$crstype.' Documents'));
+            }
+        }
+        $containertag = '<input type="hidden" name="folderpath" value="" />';
+        $uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />';
     }
     if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) {
        $showdoc='/'.$1;
@@ -2910,7 +2920,7 @@ sub create_form_ul {
                 'upld' => 'Import Document',
                 'srch' => 'Search',
                 'impo' => 'Import',
-		'book' => 'Import Bookmarks',
+		'wish' => 'Import from Wishlist',
                 'selm' => 'Select Map',
                 'load' => 'Load Map',
                 'reco' => 'Recover Deleted Documents',
@@ -2918,7 +2928,7 @@ sub create_form_ul {
                 'newp' => 'New Composite Page',
                 'extr' => 'External Resource',
                 'syll' => 'Syllabus',
-                'navc' => 'Navigate Contents',
+                'navc' => 'Table of Contents',
                 'sipa' => 'Simple Course Page',
                 'sipr' => 'Simple Problem',
                 'drbx' => 'Drop Box',
@@ -2983,7 +2993,7 @@ SEDFFORM
 	my @simpleeditdefaultforma = ( 
 	{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/src.png" alt="'.$lt{srch}.'"  onclick="javascript:groupsearch()" />' => "$uploadtag<a class='LC_menubuttons_link' href='javascript:groupsearch()'>$lt{'srch'}</a>" },
 	{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/res.png" alt="'.$lt{impo}.'"  onclick="javascript:groupimport();"/>' => "<a class='LC_menubuttons_link' href='javascript:groupimport();'>$lt{'impo'}</a>$help{'Importing_LON-CAPA_Resource'}" },
-	{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/vbkm.png" alt="'.$lt{book}.'" onclick="javascript:groupopen(0,1,1);" />' => "<a class='LC_menubuttons_link' href='javascript:groupopen(0,1,1);'>$lt{'book'}</a>" },
+	{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/wishlist.png" alt="'.$lt{wish}.'" onclick="javascript:open_Wishlist_Import();" />' => "<a class='LC_menubuttons_link' href='javascript:open_Wishlist_Import();'>$lt{'wish'}</a>" },
 	);
 	$simpleeditdefaultform .= create_form_ul(create_list_elements(@simpleeditdefaultforma));
 	$simpleeditdefaultform .=(<<SEDFFORM);
@@ -3016,18 +3026,6 @@ ERFORM
                                          'sl' => 'Show Log'
 					  );
 
-       my $folderpath=$env{'form.folderpath'};
-       if (!$folderpath) {
-	   if ($env{'form.folder'} eq '' ||
-	       $env{'form.folder'} eq 'supplemental') {
-	       $folderpath='default&'.
-		   &escape(&mt('Main '.$crstype.' Documents'));
-	   }
-       }
-       unless ($env{'form.pagepath'}) {
-           $containertag = '<input type="hidden" name="folderpath" value="" />';
-           $uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />';
-       }
 	$r->print(<<HIDDENFORM);
 	<form name="renameform" method="post" action="/adm/coursedocs">
    <input type="hidden" name="title" />
@@ -3064,14 +3062,16 @@ HIDDENFORM
 	        $activeClass = 0;
 	    }
         }
-        $r->print('<li '.$active.' onclick="javascript:showPage(this,\'mainCourseDocuments\',\'mainnav\',\'maincoursedoc\');"><a href="#"><b>'.$tabtitles{'main'}{$crstype}.'</b></a></li>');
+        $r->print('<li '.$active
+               . ' onclick="javascript:showPage(this,\'mainCourseDocuments\',\'mainnav\',\'maincoursedoc\');"><a href="#"><b>'.$tabtitles{'main'}{$crstype}.'</b></a></li>');
         $active = '';
         if (!$forcestandard || ($env{'form.folderpath'}=~/^supplemental/)) {
             if($activeClass == 1){
                 $active = 'class="active"';
             }
         }
-        $r->print('<li '.$active.' onclick="javascript:showPage(this,\'supplCourseDocuments\',\'mainnav\',\'maincoursedoc\');"><a href="#"><b>'.$tabtitles{'supplemental'}{$crstype}.'</b></a></li>');
+        $r->print('<li '.$active
+            .' onclick="javascript:showPage(this,\'supplCourseDocuments\',\'mainnav\',\'maincoursedoc\');"><a href="#"><b>'.$tabtitles{'supplemental'}{$crstype}.'</b></a></li>');
         $r->print('</ul>');
     } else {
         $r->print('<br />');
@@ -3119,7 +3119,7 @@ HIDDENFORM
 
 	my $recoverform=(<<RFORM);
 	<form action="/adm/groupsort" method="post" name="recover">
-	<a class="LC_menubuttons_link" href="javascript:groupopen('$readfile',1,0)">$lt{'reco'}</a>
+	<a class="LC_menubuttons_link" href="javascript:groupopen('$readfile',1)">$lt{'reco'}</a>
 	</form>
 RFORM
 
@@ -3276,9 +3276,13 @@ NGFFORM
 	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/page.png" alt="'.$lt{newp}.'"  onclick="javascript:makenewpage(document.newpage,\''.$pageseq.'\');" />'=>$newpageform},
 	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/syllabus.png" alt="'.$lt{syll}.'" onclick="document.newsyl.submit()" />'=>$newsylform},
 	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/groupportfolio.png" alt="'.$lt{grpo}.'" onclick="document.newgroupfiles.submit()" />'=>$newgroupfileform},
-	); 
-	
-      }
+	);
+
+        my @importdoc = (
+        {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'newext\');" />'=>$extresourcesform},
+        {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" onclick="javascript:makeims();" />'=>$imspform},);
+        $fileuploadform =  create_form_ul(create_list_elements(@importdoc)) . '<hr/>' . $fileuploadform;
+
 	push @specialdocumentsforma, ({'<img class="LC_noBorder LC_middle" src="/res/adm/pages/navigation.png" alt="'.$lt{navc}.'" onclick="document.newnav.submit()" />'=>$newnavform},
 	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/simple.png" alt="'.$lt{sipa}.'" onclick="javascript:makesmppage();" />'=>$newsmppageform},
 	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/simpprob.png" alt="'.$lt{sipr}.'" onclick="javascript:makesmpproblem();" />'=>$newsmpproblemform},
@@ -3287,9 +3291,10 @@ NGFFORM
 	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/bchat.png" alt="'.$lt{bull}.'" onclick="javascript:makebulboard();" />'=>$newbulform},
 	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/myaboutme.png" alt="'.$lt{mypi}.'" onclick="javascript:makebulboard();" />'=>$newaboutmeform},
 	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/aboutme.png" alt="'.$lt{abou}.'" onclick="javascript:makeabout();" />'=>$newaboutsomeoneform},
-	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/chrt.png" alt="'.$lt{rost}.'" onclick="document.newroster.submit()" />'=>$newrosterform},);
+	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/clst.png" alt="'.$lt{rost}.'" onclick="document.newroster.submit()" />'=>$newrosterform},);
 
 	$specialdocumentsform = create_form_ul(create_list_elements(@specialdocumentsforma));
+      }
 
 if($env{'form.pagepath'}) {
 	
@@ -3303,21 +3308,19 @@ if($env{'form.pagepath'}) {
 my @tools = (
 #	{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" />'=>$extresourcesform},
 #	{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" />'=>$imspform},
-	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/recover.png" alt="'.$lt{reco}.'" onclick="javascript:groupopen(\''.$readfile.'\',1,0)" />'=>$recoverform},
+	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/recover.png" alt="'.$lt{reco}.'" onclick="javascript:groupopen(\''.$readfile.'\',1)" />'=>$recoverform},
 	);
 
-my @importdoc = (
-    {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'newext\');" />'=>$extresourcesform},
-    {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" onclick="javascript:makeims();" />'=>$imspform}, 
-);
-$fileuploadform =  create_form_ul(create_list_elements(@importdoc)) . '<hr/>' . $fileuploadform;
 my %orderhash = (
-		'00' => ['Newfolder',$newfolderform],
                 'aa' => ['Import Documents',$fileuploadform],
                 'bb' => ['Published Resources',$simpleeditdefaultform],
                 'cc' => ['Special Documents',$specialdocumentsform],
-		'dd' => ['Tools', create_form_ul(create_list_elements(@tools)).&generate_admin_options($containertag,$uploadtag,\%help,\%env)],
+		'dd' => ['Tools', create_form_ul(create_list_elements(@tools)).&generate_admin_options(\%help,\%env)],
                 );
+unless($env{'form.pagepath'}) {
+    $orderhash{'00'} = ['Newfolder',$newfolderform];
+}
+
 my $tid='1';
  $hadchanges=0;
         my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype);
@@ -3333,8 +3336,6 @@ $r->print(&generate_edit_table($tid,\%or
 
 $r->print('</div>');
 	}
-       if ($env{'form.pagepath'}) {
-       }
 # ----------------------------------------------------- Supplemental documents
        $active = 'style="display: none;"';
        if($activeClass == 1){
@@ -3481,8 +3482,8 @@ $r->print('</div></div>');
 }
 
 sub generate_admin_options {
-  my ($containertag,$uploadtag,$help_ref,$env_ref) = @_;
- my %lt=&Apache::lonlocal::texthash(
+  my ($help_ref,$env_ref) = @_;
+  my %lt=&Apache::lonlocal::texthash(
                                          'vc' => 'Verify Content',
                                          'cv' => 'Check/Set Resource Versions',
                                          'ls' => 'List Symbs',
@@ -3503,11 +3504,11 @@ sub generate_admin_options {
   if($dumpbut ne ''){
   push @list, {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/dump.png" alt="'.$lt{dcd}.'" />'=>$dumpbut};
   }
-  push @list, ({'<img class="LC_noBorder LC_middle" src="/res/adm/pages/imsexport.png" alt="'.$lt{imse}.'" class="LC_menubuttons_link" href=\'javascript:injectData(document.courseverify, "dummy", "exportcourse", "'.&mt('IMS Export').'")\' />'
+  push @list, ({'<img class="LC_noBorder LC_middle" src="/res/adm/pages/imsexport.png" alt="'.$lt{imse}.'" onclick="javascript:injectData(document.courseverify, \'dummy\', \'exportcourse\', \''.&mt('IMS Export').'\');" />'
           =>$exportbut},
 	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/symbs.png" alt="'.$lt{ls}.'"  onclick=\'javascript:injectData(document.courseverify, "dummy", "listsymbs", "'.$lt{'ls'}.'")\'  />'
         =>"<a class='LC_menubuttons_link' href='javascript:injectData(document.courseverify, \"dummy\", \"listsymbs\", \"$lt{'ls'}\")'>$lt{'ls'}</a><input type='hidden' name='folder' value='$env{'form.folder'}' />"},
-	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/log.png" alt="'.$lt{sl}.'"  onclick=\'javascript:injectData(document.courseverify, "dummy", "docslog", "'.$lt{'sl'}.'")\'  />'
+	{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/document-properties.png" alt="'.$lt{sl}.'"  onclick=\'javascript:injectData(document.courseverify, "dummy", "docslog", "'.$lt{'sl'}.'")\'  />'
         =>"<a class='LC_menubuttons_link' href='javascript:injectData(document.courseverify, \"dummy\", \"docslog\", \"$lt{'sl'}\")'>$lt{'sl'}</a>"},
 	);
   return '<form action="/adm/coursedocs" method="post" name="courseverify"><input type="hidden" id="dummy" />'.create_form_ul(create_list_elements(@list)).'</form>';
@@ -3534,7 +3535,9 @@ sub generate_edit_table {
             }elsif($activetab eq $name){
                $active = 'class="active"';
             }
-            $form .= '<li '.$active.' onclick="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"><a href="javascript:;"><b>'.&mt(${$orderhash{$name}}[0]).'</b></a></li>';
+            $form .= '<li '.$active
+                .' onmouseover="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"'
+                .' onclick="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"><a href="javascript:;"><b>'.&mt(${$orderhash{$name}}[0]).'</b></a></li>';
         } else {
 	    $form .= '<li '.$active.'>'.${$orderhash{$name}}[1].'</li>';
 
@@ -3586,6 +3589,18 @@ sub editing_js {
                                           p_ctr2b => '?[_98]'
                                         );
 
+    my $crstype = &Apache::loncommon::course_type();
+    my $docs_folderpath = &HTML::Entities::encode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.folderpath'},'<>&"');
+    my $docs_pagepath = &HTML::Entities::encode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.pagepath'},'<>&"');
+    my $main_container_page;
+    if ($docs_folderpath eq '') {
+        if ($docs_pagepath ne '') {
+            $main_container_page = 1;
+        }
+    }
+    my $toplevelmain = 'default&Main%20'.$crstype.'%20Documents';
+    my $toplevelsupp = 'supplemental&Supplemental%20'.$crstype.'%20Documents';
+
     return <<ENDNEWSCRIPT;
 function makenewfolder(targetform,folderseq) {
     var foldername=prompt('$lt{"p_mnf"}','$lt{"t_mnf"}');
@@ -3814,6 +3829,40 @@ function showPage(current, pageId, nav,
 	current.className = 'active';
 	currentData = document.getElementById(pageId);
 	currentData.style.display = 'block';
+        if (nav == 'mainnav') {
+            var storedpath = "$docs_folderpath";
+            if (storedpath == '') {
+                storedpath = "$docs_pagepath";
+            }
+            var storedpage = "$main_container_page";
+            var reg = new RegExp("^supplemental");
+            if (pageId == 'mainCourseDocuments') {
+                if (storedpage == 1) {
+                    document.simpleedit.folderpath.value = '';
+                    document.uploaddocument.folderpath.value = '';
+                } else {
+                    if (reg.test(storedpath)) {
+                        document.simpleedit.folderpath.value = '$toplevelmain';
+                        document.uploaddocument.folderpath.value = '$toplevelmain';
+                        document.newext.folderpath.value = '$toplevelmain';
+                    } else {
+                        document.simpleedit.folderpath.value = storedpath;
+                        document.uploaddocument.folderpath.value = storedpath;
+                        document.newext.folderpath.value = storedpath;
+                    }
+                }
+            } else {
+                if (reg.test(storedpath)) {
+                    document.simpleedit.folderpath.value = storedpath;
+                    document.supuploaddocument.folderpath.value = storedpath;
+                    document.supnewext.folderpath.value = storedpath;
+                } else {
+                    document.simpleedit.folderpath.value = '$toplevelsupp';
+                    document.supuploaddocument.folderpath.value = '$toplevelsupp';
+                    document.supnewext.folderpath.value = '$toplevelsupp';
+                }
+            }
+        }
 	return false;
 }