--- loncom/interface/londocs.pm	2009/02/04 14:45:51	1.337
+++ loncom/interface/londocs.pm	2009/03/01 19:38:13	1.349
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Documents
 #
-# $Id: londocs.pm,v 1.337 2009/02/04 14:45:51 ehlerst Exp $
+# $Id: londocs.pm,v 1.349 2009/03/01 19:38:13 biermanm Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -133,7 +133,7 @@ sub dumpbutton {
 sub clean {
     my ($title)=@_;
     $title=~s/[^\w\/\!\$\%\^\*\-\_\=\+\;\:\,\\\|\`\~]+/\_/gs;
-    return $title;	
+    return $title;
 }
 
 
@@ -175,8 +175,8 @@ sub dumpcourse {
 	    my $fail=0;
 	    for (my $i=0;$i<$#dirs;$i++) {
 		$makepath.='/'.$dirs[$i];
-		unless (-e $makepath) { 
-		    unless(mkdir($makepath,0777)) { $fail=1; } 
+		unless (-e $makepath) {
+		    unless(mkdir($makepath,0777)) { $fail=1; }
 		}
 	    }
 	    $r->print('<br /><tt>'.$item.'</tt> => <tt>'.$newfilename.'</tt>: ');
@@ -759,7 +759,7 @@ sub replicate_content {
     if ($caller eq 'templateupload') {
         $url = $symb;
         $url =~ s#//#/#g;
-    } else { 
+    } else {
         ($map,$ind,$url)=&Apache::lonnet::decode_symb($symb);
     }
     my $content;
@@ -799,9 +799,9 @@ sub replicate_content {
                     $$message = 'Could not render '.$url.' server message - '.$rtncode."<br />\n";
                 }
             } elsif ($caller eq 'noedit') {
-# Need to render the resource without the LON-CAPA Internal header and the Post discussion footer, and then set $content equal to this. 
+# Need to render the resource without the LON-CAPA Internal header and the Post discussion footer, and then set $content equal to this.
                 $repstatus = 'ok';
-                $content = 'Not the owner of this resource'; 
+                $content = 'Not the owner of this resource';
             }
             if ($repstatus eq 'ok') {
                 print $copiedfile $content;
@@ -852,8 +852,8 @@ sub extract_media {
             }
         }
         if ($caller eq 'resource') {
-            my $respath =  $Apache::lonnet::perlvar{'lonDocRoot'}.'/res';  
-            my $embed_path = &Apache::lonnet::filelocation($respath,$embed_url); 
+            my $respath =  $Apache::lonnet::perlvar{'lonDocRoot'}.'/res';
+            my $embed_path = &Apache::lonnet::filelocation($respath,$embed_url);
             $embed_content = &Apache::lonnet::getfile($embed_path);
             unless ($embed_content eq -1) {
                 $repstatus = 'ok';
@@ -921,7 +921,7 @@ sub group_import {
 
     while (@files) {
 	my ($name, $url, $residx) = @{ shift(@files) };
-        if (($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/(default_\d+\.)(page|sequence)$}) 
+        if (($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/(default_\d+\.)(page|sequence)$})
 	     && ($caller eq 'londocs')
 	     && (!&Apache::lonnet::stat_file($url))) {
 	    
@@ -944,7 +944,7 @@ sub group_import {
             }
         }
 	if ($url) {
-	    if (!$residx 
+	    if (!$residx
 		|| defined($LONCAPA::map::zombies[$residx])) {
 		$residx = &LONCAPA::map::getresidx($url,$residx);
 		push(@LONCAPA::map::order, $residx);
@@ -953,7 +953,7 @@ sub group_import {
 	    if ($url=~m{^http://} || $url=~m{^https://}) { $ext = 'true'; }
 	    $url  = &LONCAPA::map::qtunescape($url);
 	    $name = &LONCAPA::map::qtunescape($name);
-	    $LONCAPA::map::resources[$residx] = 
+	    $LONCAPA::map::resources[$residx] =
 		join(':', ($name, $url, $ext, 'normal', 'res'));
 	}
     }
@@ -984,9 +984,9 @@ sub breadcrumbs {
 	my $url='/adm/coursedocs?folderpath='.
 	    &escape($folderpath);
 	    my $name=&unescape($foldername);
-# randompick number, hidden, encrypted, random order, is appended with ":"s to the foldername	
+# randompick number, hidden, encrypted, random order, is appended with ":"s to the foldername
  	    $name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)$//;
-	    if ($1 ne '') { 
+	    if ($1 ne '') {
                $randompick=$1;
             } else {
                $randompick=-1;
@@ -1125,7 +1125,7 @@ sub docs_change_log {
 	    foreach my $key (@changes) {
 		$wholeentry.=':'.$docslog{$id}{'logentry'}{$key};
 	    }
-	    if ($wholeentry!~/\Q$env{'form.containingphrase'}\E/i) { next; }         
+	    if ($wholeentry!~/\Q$env{'form.containingphrase'}\E/i) { next; }
 	}
         my $count = 0;
         my $time =
@@ -1223,7 +1223,7 @@ sub update_paste_buffer {
         &Apache::lonnet::appenv({'docs.markedcopy_supplemental' => $title});
 	($title) = &parse_supplemental_title($title);
     } elsif ($env{'docs.markedcopy_supplemental'}) {
-        &Apache::lonnet::delenv('docs\\.markedcopy_supplemental');
+        &Apache::lonnet::delenv('docs.markedcopy_supplemental');
     }
     $url=~s{http(&colon;|:)//https(&colon;|:)//}{https$2//};
 
@@ -1327,7 +1327,7 @@ sub do_paste_from_buffer {
     }
 # published maps can only exists once, so remove it from paste buffer when done
     if (($url=~/\.(page|sequence)$/) && ($url=~m {^/res/})) {
-	&Apache::lonnet::delenv('docs\\.markedcopy');
+	&Apache::lonnet::delenv('docs.markedcopy');
     }
     if ($url=~ m{/smppg$}) {
 	my $db_name = &Apache::lonsimplepage::get_db_name($url);
@@ -1338,7 +1338,7 @@ sub do_paste_from_buffer {
 	    $db_name =~ s{_\d*$ }{_$now}x;
 	    my $result=&Apache::lonnet::put($db_name,\%contents,
 					    $coursedom,$coursenum);
-	    $url =~ s{/(\d*)/smppg$ }{/$now/smppg}x; 
+	    $url =~ s{/(\d*)/smppg$ }{/$now/smppg}x;
 	    $title=&mt('Copy of').' '.$title;
 	}
     }
@@ -1352,7 +1352,7 @@ sub do_paste_from_buffer {
         if ($folder =~ /^supplemental/) {
             $title = $env{'docs.markedcopy_supplemental'};
         } else {
-            (undef,undef,$title) = 
+            (undef,undef,$title) =
                 &parse_supplemental_title($env{'docs.markedcopy_supplemental'});
         }
     } else {
@@ -1376,7 +1376,7 @@ sub uniqueness_check {
         $url=&LONCAPA::map::qtescape($url);
         if ($newurl eq $url) {
             $unique = 0;
-            last;    
+            last;
         }
     }
     return $unique;
@@ -1430,7 +1430,7 @@ sub handle_edit_cmd {
 	&LONCAPA::map::makezombie($LONCAPA::map::order[$idx]);
 	splice(@LONCAPA::map::order, $idx, 1);
 
-    } elsif ($cmd eq 'up' 
+    } elsif ($cmd eq 'up'
 	     && ($idx) && (defined($LONCAPA::map::order[$idx-1]))) {
 	@LONCAPA::map::order[$idx-1,$idx] = @LONCAPA::map::order[$idx,$idx-1];
 
@@ -1497,7 +1497,7 @@ sub editor {
 	}
 	    
 	if ($env{'form.pastemarked'}) {
-            my $paste_res = 
+            my $paste_res =
                 &do_paste_from_buffer($coursenum,$coursedom,$folder);
             if ($paste_res eq 'ok') {
                 ($errtext,$fatal) = &storemap($coursenum,$coursedom,$folder.'.'.$container);
@@ -1660,7 +1660,7 @@ sub process_file_upload {
    <input type="hidden" name="phasetwo" value="'.$total_embedded.'" />';
 		    $phase_status = 'phasetwo';
 
-                    $$upload_output .= 
+                    $$upload_output .=
 			'This file contains embedded multimedia objects, which need to be uploaded to LON-CAPA.<br />'.
 			&Apache::loncommon::ask_for_embedded_content(
                             '/adm/coursedocs',$state,$allfiles,$codebase);
@@ -1763,12 +1763,12 @@ sub entryline {
 	my $incindex=$index+1;
 	my $selectbox='';
 	if (($folder!~/^supplemental/) &&
-	    ($#LONCAPA::map::order>0) && 
+	    ($#LONCAPA::map::order>0) &&
 	    ((split(/\:/,
-	     $LONCAPA::map::resources[$LONCAPA::map::order[0]]))[1] 
-	     ne '') && 
+	     $LONCAPA::map::resources[$LONCAPA::map::order[0]]))[1]
+	     ne '') &&
 	    ((split(/\:/,
-	     $LONCAPA::map::resources[$LONCAPA::map::order[1]]))[1] 
+	     $LONCAPA::map::resources[$LONCAPA::map::order[1]]))[1]
 	     ne '')) {
 	    $selectbox=
 		'<input type="hidden" name="currentpos" value="'.$incindex.'" />'.
@@ -1805,8 +1805,8 @@ sub entryline {
 		}
 	    }
 	}
-        if ($url=~/^\/res\/lib\/templates\//) { 
-           $nocopy=1; 
+        if ($url=~/^\/res\/lib\/templates\//) {
+           $nocopy=1;
            $nocut=1;
         }
         my $copylink='&nbsp;';
@@ -1899,6 +1899,7 @@ END
     }
     
     my $orig_url = $url;
+    $orig_url=~s{http(&colon;|:)//https(&colon;|:)//}{https$2//};
     my $external = ($url=~s{^http(|s)(&colon;|:)//}{/adm/wrapper/ext/});
     if ((!$isfolder) && ($residx) && ($folder!~/supplemental/) && (!$ispage)) {
 	my $symb=&Apache::lonnet::symbclean(
@@ -1920,7 +1921,7 @@ END
 	    } elsif ($url!~/\.(sequence|page)$/) {
 		$url='/adm/coursedocs/showdoc'.$url;
 	    }
-	} elsif ($url=~m|^/ext/|) { 
+	} elsif ($url=~m|^/ext/|) {
 	    $url='/adm/wrapper'.$url;
 	    $external = 1;
 	}
@@ -1941,7 +1942,7 @@ END
 	my $foldername=&escape($foldertitle);
 	my $folderpath=$env{'form.folderpath'};
 	if ($folderpath) { $folderpath.='&' };
-# Append randompick number, hidden, and encrypted with ":" to foldername, 
+# Append randompick number, hidden, and encrypted with ":" to foldername,
 # so it gets transferred between levels
 	$folderpath.=$folderarg.'&'.$foldername.':'.(&LONCAPA::map::getparameter($orderidx,
                                               'parameter_randompick'))[0]
@@ -1961,7 +1962,7 @@ END
     	my $ro_set=
 	    ((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i?' checked="checked"':'');
 	$rand_order_text ='
-<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" onClick="this.form.changeparms.value=\'randomorder\';this.form.submit()" '.$ro_set.' /> '.&mt('Random Order').' </label></span>';   
+<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" onClick="this.form.changeparms.value=\'randomorder\';this.form.submit()" '.$ro_set.' /> '.&mt('Random Order').' </label></span>';
     }
     if ($ispage) {
         my $pagename=&escape($pagetitle);
@@ -2252,7 +2253,7 @@ sub checkversions {
     if ($haschanged) {
         if (&Apache::lonnet::put('resourceversions',\%newsetversions,
 			  $env{'course.'.$env{'request.course.id'}.'.domain'},
-			  $env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') {		
+			  $env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') {
 	    $r->print('<h1>'.&mt('Your Version Settings have been Saved').'</h1>');
 	} else {
 	    $r->print('<h1><span class="LC_error">'.&mt('An Error Occured while Attempting to Save your Version Settings').'</span></h1>');
@@ -2404,7 +2405,7 @@ ENDHEADERS
                 $entries_per_col = $num_entries/4 + 1;
             }
             my $entries_count = 0;
-            $r->print('<td valign="top"><font size="-2">'); 
+            $r->print('<td valign="top"><font size="-2">');
             my $cols_output = 1;
             for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) {
 		my $url=$root.'.'.$prevvers.'.'.$extension;
@@ -2483,7 +2484,7 @@ sub changewarning {
 	$message='Changes will become active for your current session after [_1], or the next time you log in.';
     }
     $r->print("\n\n".
-'<script type="text/javascript">function reinit(tf) { tf.submit();'.$postexec.' }</script>'."\n". 
+'<script type="text/javascript">function reinit(tf) { tf.submit();'.$postexec.' }</script>'."\n".
 '<form name="reinitform" method="post" action="/adm/roles" target="loncapaclient">'.
 '<input type="hidden" name="orgurl" value="'.$url.
 '" /><input type="hidden" name="selectrole" value="1" /><h3><span class="LC_warning">'.
@@ -2537,7 +2538,7 @@ sub handler {
 		    'Option_Response_Simple');
     $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(
+    $help{'My Personal Information Page'} = &Apache::loncommon::help_open_topic(
 		  'Docs_About_My_Personal_Info,Docs_Editing_Templated_Pages');
     $help{'Group Files'} = &Apache::loncommon::help_open_topic('Docs_About_Group_Files');
     $help{'Caching'} = &Apache::loncommon::help_open_topic('Caching');
@@ -2615,15 +2616,15 @@ sub handler {
        $showdoc='/'.$1;
     }
     unless ($showdoc) { # got called from remote
-       if (($env{'form.folder'}=~/^(?:group|default)_/) || 
+       if (($env{'form.folder'}=~/^(?:group|default)_/) ||
           ($env{'form.folder'} =~ m:^\d+/(pages|sequences)/:)) {
            $forcestandard = 1;
        } 
        $forcesupplement=($env{'form.folder'}=~/^supplemental_/);
 
-       if ($allowed) { 
+       if ($allowed) {
          &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cmd']);
-         $script=&Apache::lonratedt::editscript('simple'); 
+         $script=&Apache::lonratedt::editscript('simple');
        }
     } else { # got called in sequence from course
        $allowed=0;
@@ -2633,7 +2634,7 @@ sub handler {
     my $coursenum=$env{'course.'.$env{'request.course.id'}.'.num'};
     my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'};
 
-# get personal data 
+# get personal data
     my $uname=$env{'user.name'};
     my $udom=$env{'user.domain'};
     my $plainname=&escape(&Apache::loncommon::plainname($uname,$udom));
@@ -2659,7 +2660,7 @@ sub handler {
   if ($allowed) {
       if (($env{'form.uploaddoc.filename'}) &&
 	  ($env{'form.cmd'}=~/^upload_(\w+)/)) {
-# Process file upload - phase one - upload and parse primary file.  
+# Process file upload - phase one - upload and parse primary file.
 	  undef($hadchanges);
           $upload_result = &process_file_upload(\$upload_output,$coursenum,
 						$coursedom,\%allfiles,
@@ -2684,8 +2685,8 @@ sub handler {
                   $newname{$i} = &process_secondary_uploads(\$upload_output,$coursedom,$coursenum,'embedded_item_',$i,$residx);
                   $origname{$i} = &unescape($env{'form.embedded_orig_'.$i});
                   if (exists($env{'form.embedded_codebase_'.$i})) {
-                      $javacodebase =  &unescape($env{'form.embedded_codebase_'.$i});  
-                      $origname{$i} =~ s#^\Q$javacodebase\E/##; 
+                      $javacodebase =  &unescape($env{'form.embedded_codebase_'.$i});
+                      $origname{$i} =~ s#^\Q$javacodebase\E/##;
                   }
                   my @attributes = ();
                   if ($env{'form.embedded_attrib_'.$i} =~ /:/) {
@@ -2722,7 +2723,7 @@ sub handler {
                           }
                           if ($content =~ m#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#) {
                           } 
-                          $content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#$1$newname{$item}$2#gi; 
+                          $content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#$1$newname{$item}$2#gi;
                       }
                       if (exists($codebase{$item})) {
                           $content =~ s/(codebase\s*=\s*["']?)\Q$codebase{$item}\E(["']?)/$1.$2/i; #' stupid emacs
@@ -2734,7 +2735,7 @@ sub handler {
                   my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'};
                   my $url = &Apache::lonnet::store_edited_file($primary_url,$content,$docudom,$docuname,\$saveresult);
               } else {
-                  &Apache::lonnet::logthis('retrieval of uploaded file - '.$primary_url.' - for editing, failed: '.$getstatus); 
+                  &Apache::lonnet::logthis('retrieval of uploaded file - '.$primary_url.' - for editing, failed: '.$getstatus);
               }
           }
       }
@@ -2760,15 +2761,15 @@ sub handler {
                 'extr' => 'External Resource',
                 'syll' => 'Syllabus',
                 'navc' => 'Navigate Contents',
-                'sipa' => 'Simple Page',
+                'sipa' => 'Simple Course Page',
                 'sipr' => 'Simple Problem',
                 'drbx' => 'Drop Box',
                 'scuf' => 'Score Upload Form',
                 'bull' => 'Discussion Board',
-                'mypi' => 'My Personal Info',
+                'mypi' => 'My Personal Information Page',
                 'grpo' => 'Group Files',
                 'rost' => 'Course Roster',
-		'abou' => 'About User',
+				'abou' => 'Personal Information Page for a User',
                 'imsf' => 'Import IMS package',
                 'file' =>  'File',
                 'title' => 'Title',
@@ -2832,7 +2833,7 @@ FUFORM
 	<p>
 	$lt{'copm'}<br />
 	<input type="text" size="40" name="importmap" /><br />
-	<span class="LC_nobreak"><input type="button" 
+	<span class="LC_nobreak"><input type="button"
 	onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"
 	value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" />
 	$help{'Load_Map'}</span>
@@ -2888,7 +2889,7 @@ HIDDENFORM
     }
 # --------------------------------------------------------- Main tab structure
     my $activeClass = 1;
-    $r->print('<div class="LC_ContentBoxSpecial"><ul class="LC_TabContent" id="mainnav">');
+    $r->print('<ul class="LC_TabContentBigger" id="mainnav">');
     if (($standard) && ($allowed) && (!$forcesupplement)) {
 	my $active = '';
         if($activeClass == 1){
@@ -2905,7 +2906,7 @@ HIDDENFORM
 	$r->print('<li '.$active.'onclick="javascript:showPage(this,\'Supplemental Course Documents\',\'mainnav\',\'maincoursedoc\');">'.&mt('Supplemental Course Documents').'</li>');
     }
     $r->print('<li onclick="javascript:showPage(this,\'Special Admin Options\',\'mainnav\',\'maincoursedoc\');">'.&mt('Special Admin Options').'</li>');
-    $r->print('</ul><div id="maincoursedoc" style="margin:0 0;padding:0 0;">');
+    $r->print('</ul><div class="LC_ContentBoxSpecial" style="margin:0 0;padding:0 0;"><div id="maincoursedoc" style="margin:0 0;padding:0 0;">');
 # --------------------------------------------------------- Standard documents
     if (($standard) && ($allowed) && (!$forcesupplement)) {
        my $active = 'style="display: none;"';
@@ -2928,11 +2929,6 @@ HIDDENFORM
        } else {
            #$postexec='self.close();';
        }
-       $hadchanges=0;
-       if ($hadchanges) {
-	   &mark_hash_old();
-       }
-       &changewarning($r,$postexec);
        my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
                      '.sequence';
        my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
@@ -2994,13 +2990,13 @@ NSPROBFORM
 
 	my $newdropboxform=(<<NDBFORM);
 	<form action="/adm/coursedocs" method="post" name="newdropbox">
-	$uploadtag      
+	$uploadtag
 	<input type="hidden" name="importdetail" value="" />
-	<span class="LC_nobreak">          
+	<span class="LC_nobreak">
 	<input name="newdropbox" type="button" value="$lt{'drbx'}"
 	onClick="javascript:makedropbox();" />
-	</span>         
-	</form> 
+	</span>
+	</form>
 NDBFORM
 
 	my $newexuploadform=(<<NEXUFORM);
@@ -3034,7 +3030,7 @@ NBFORM
 	value="$plainname=/adm/$udom/$uname/aboutme" />
 	<span class="LC_nobreak">
 	<input name="newaboutme" type="submit" value="$lt{'mypi'}" />
-	$help{'My Personal Info'}
+	$help{'My Personal Information Page'}
 	</span>
 	</form>
 NAMFORM
@@ -3063,6 +3059,8 @@ NASOFORM
 	</form>
 NROSTFORM
 
+my $specialdocumentsform;
+
        unless ($env{'form.pagepath'}) {
 	   my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
 
@@ -3114,23 +3112,16 @@ NSYLFORM
 	</form>
 NGFFORM
 
-
-        my $specialdocumentsform=(<<SPDOFORM);
-	<br />$newfolderform
-	<br />$newpageform
-	<br />$newsylform
-	<br />$newnavform
-	<br />$newsmppageform
-	<br />$newsmpproblemform
-	<br />$newdropboxform
-	<br />$newexuploadform
-	<br />$newbulform
-	<br />$newaboutmeform
-	<br />$newaboutsomeoneform
-	<br />$newgroupfileform
-	<br />$newrosterform
-SPDOFORM
-
+	$specialdocumentsform="<br />$newfolderform<br />$newpageform<br />$newsylform<br />$newgroupfileform";
+      }
+	$specialdocumentsform.="<br />$newnavform<br />$newsmppageform
+				<br />$newsmpproblemform<br />$newdropboxform
+       				<br />$newexuploadform<br />$newbulform
+       				<br />$newaboutmeform<br />$newaboutsomeoneform
+       				<br />$newrosterform";
+if($env{'form.pagepath'}) {
+	$specialdocumentsform="<br />$newsmpproblemform<br />$newexuploadform";
+}
 
 my %orderhash = (
                 'aa' => 'New Document',
@@ -3149,13 +3140,18 @@ my $tid='1';
 my $content='content';
 my $navigation='navigation';
 my $varcd = 'Main Course Documents';
-$r->print(&generate_edit_table($tid,$content,$navigation,$varcd,\%namehash,\%orderhash)); 
-my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type);
+$r->print(&generate_edit_table($tid,$content,$navigation,$varcd,\%namehash,\%orderhash));
+ $hadchanges=0;
+        my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type);
        if ($error) {
            $r->print('<p><span class="LC_error">'.$error.'</span></p>');
        }
+       if ($hadchanges) {
+           &mark_hash_old();
+       }
+
+       &changewarning($r,'');
 $r->print('</div>');
-      }
        if ($env{'form.pagepath'}) {
        }
     }
@@ -3248,7 +3244,7 @@ SNSFORM
 	value="$plainname=/adm/$udom/$uname/aboutme" />
 	<span class="LC_nobreak">
 	<input name="newaboutme" type="submit" value="$lt{'mypi'}" />
-	$help{'My Personal Info'}
+	$help{'My Personal Information Page'}
 	</span>
 	</form>
 SNAMFORM
@@ -3350,12 +3346,10 @@ ENDOPTIONFORM
 
 sub generate_edit_table {
     my ($tid,$content,$navigation,$varcd,$namehash_ref,$orderhash_ref) = @_;
-    my %namehash = %{$namehash_ref};             #name verlinkt mit id
-    my %orderhash = %{$orderhash_ref};           #name mit kürzel verlinkt mit name
+    my %namehash = %{$namehash_ref};
+    my %orderhash = %{$orderhash_ref};
     my $form;
 
-    
-
     $form = '<div class="LC_ContentBoxSpecial"><h4 class="LC_hcell">'.&mt($varcd).'</h4>';
     $form .= '<ul id="'.$navigation.$tid.'" class="LC_TabContent">';
     foreach my $name (sort(keys(%orderhash))){
@@ -3365,6 +3359,7 @@ sub generate_edit_table {
             $form .= '<li onclick="javascript:showPage(this, \''.$tid.$orderhash{$name}.'\', \''.$navigation.$tid.'\',\''.$content.$tid.'\');">'.&mt($orderhash{$name}).'</li>';
         }
     }
+    $form .= '</ul>';
     $form .= '<div id="'.$content.$tid.'" style="padding: 0 0; margin: 0 0;">';
     foreach my $field (keys(%namehash)){
         $form .= '<div id="'.$tid.$field.'" class="LC_ContentBox" style="display: none;">'.$namehash{$field}.'</div>';
@@ -3383,12 +3378,12 @@ sub editing_js {
                                           p_mnp => 'Name of New Page',
                                           t_mnp => 'New Page',
                                           p_mxu => 'Title for the Uploaded Score',
-                                          p_msp => 'Title for the Page',
+                                          p_msp => 'Name of Simple Course Page',
                                           p_msb => 'Title for the Problem',
                                           p_mdb => 'Title for the Drop Box',
                                           p_mbb => 'Title for the Discussion Board',
-                                          p_mab => "Enter user:domain for User's 'About Me' Page",
-                                          p_mab2 => "About [_99]",
+                                          p_mab => "Enter user:domain for User's Personal Information Page",
+                                          p_mab2 => "Personal Information Page [_99]",
                                           p_mab_alrt1 => 'Not a valid user:domain',
                                           p_mab_alrt2 => 'Please enter both user and domain in the format user:domain',
                                           p_chn => 'New Title',
@@ -3436,7 +3431,7 @@ function edittext(targetname,residx,titl
 
 function makeexamupload() {
    var title=prompt('$lt{"p_mxu"}');
-   if (title) { 
+   if (title) {
     this.document.forms.newexamupload.importdetail.value=
 	escape(title)+'=/res/lib/templates/examupload.problem';
     this.document.forms.newexamupload.submit();
@@ -3445,7 +3440,7 @@ function makeexamupload() {
 
 function makesmppage() {
    var title=prompt('$lt{"p_msp"}');
-   if (title) { 
+   if (title) {
     this.document.forms.newsmppg.importdetail.value=
 	escape(title)+'=/adm/$udom/$uname/$now/smppg';
     this.document.forms.newsmppg.submit();
@@ -3454,7 +3449,7 @@ function makesmppage() {
 
 function makesmpproblem() {
    var title=prompt('$lt{"p_msb"}');
-   if (title) { 
+   if (title) {
     this.document.forms.newsmpproblem.importdetail.value=
 	escape(title)+'=/res/lib/templates/simpleproblem.problem';
     this.document.forms.newsmpproblem.submit();
@@ -3463,7 +3458,7 @@ function makesmpproblem() {
 
 function makedropbox() {
    var title=prompt('$lt{"p_mdb"}');
-   if (title) { 
+   if (title) {
     this.document.forms.newdropbox.importdetail.value=
         escape(title)+'=/res/lib/templates/DropBox.problem';
     this.document.forms.newdropbox.submit();
@@ -3629,7 +3624,7 @@ Available help topics
 
 =item mapread()
 
-Mapread read maps into LONCAPA::map:: global arrays 
+Mapread read maps into LONCAPA::map:: global arrays
 @order and @resources, determines status
 sets @order - pointer to resources in right order
 sets @resources - array with the resources with correct idx