--- loncom/interface/lonmsgdisplay.pm	2009/10/13 16:37:57	1.137
+++ loncom/interface/lonmsgdisplay.pm	2010/01/25 18:09:42	1.145
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Routines for messaging display
 #
-# $Id: lonmsgdisplay.pm,v 1.137 2009/10/13 16:37:57 amueller Exp $
+# $Id: lonmsgdisplay.pm,v 1.145 2010/01/25 18:09:42 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -146,7 +146,7 @@ sub folderlist {
     );
     $actions{'select_form_order'} = ['view','rename','delete'];
 
-    my %statushash = &get_msgstatus_types();
+    my %statushash = &Apache::lonlocal::texthash(&get_msgstatus_types());
 
     $statushash{'select_form_order'} = ['','new','read','replied','forwarded'];
 
@@ -219,8 +219,7 @@ function folder_choice(targetform,caller
 </script>|;
     my %show = ('select_form_order' => [10,20,50,100,200],
 		map {$_=>$_} (10,20,50,100,200));
-		
-		   
+
     $output .= '
 <form method="post" action="/adm/email" name="folderlist">
 <table border="0" cellspacing="2" cellpadding="2">
@@ -273,12 +272,13 @@ sub get_permanent_folders {
 }
 
 sub get_msgstatus_types {
-    my %statushash = &Apache::lonlocal::texthash(
-                                '' => 'Any',
-                                new => 'Unread',
-                                read => 'Read',
-                                replied => 'Replied to',
-                                forwarded => 'Forwarded',
+    # Don't translate here!
+    my %statushash = (
+        ''          => 'Any',
+        'new'       => 'Unread',
+        'read'      => 'Read',
+        'replied'   => 'Replied to',
+        'forwarded' => 'Forwarded',
     );
     return %statushash;
 }
@@ -291,18 +291,30 @@ sub scrollbuttons {
     my %statushash = &get_msgstatus_types();
     my $status;
     if ($msgstatus eq '') {
-        $status = &mt('All');
+        $status = 'All'; # Don't translate here!
     } else {
         $status = $statushash{$msgstatus};
     }
-    return
-   '<b>'.&mt('Page').'</b>: '. 
-   '<input type="submit" name="firstview" value="|&lt;" />'.
-   '<input type="submit" name="prevview" value="&lt;" />'.
-   ' <input type="text" size="5" name="startdis" value="'.$start.'" onchange="this.form.submit()" /> / '.$maxdis.' '.
-   '<input type="submit" name="nextview" value="&gt;" />'.
-   '<input type="submit" name="lastview" value="&gt;|" /><br />'.
-   &mt('<b>[_1] messages</b>: showing messages [_2] through [_3] of [_4].',$status,$first,$finish,$total).'</form>';
+    my $output = '<b>'.&mt('Page:').'</b> ';
+    if ($maxdis == 1) {
+        # No buttons if only one page is displayed
+        $output .= '1/1';
+    } else {
+        $output .=
+           '<input type="submit" name="firstview" value="|&lt;" />'.
+           '<input type="submit" name="prevview" value="&lt;" />'.
+           ' <input type="text" size="5" name="startdis" value="'.$start.'" onchange="this.form.submit()" /> / '.$maxdis.' '.
+           '<input type="submit" name="nextview" value="&gt;" />'.
+           '<input type="submit" name="lastview" value="&gt;|" />';
+    }
+    $output .=
+        '<br />'
+       .'<b>'.&mt($status.' messages:').'</b> '
+       .&mt('showing messages [_1] through [_2] of [_3].',
+            $first,$finish,$total)
+       .'</form>';
+
+    return $output;
 }
 # =============================================================== Status Change
 
@@ -509,6 +521,7 @@ sub movemsg {
 sub discourse {
     my ($statushash) = @_;
     my ($result,$active,$previous,$future);
+    my $crstype = &Apache::loncommon::course_type();
     my ($course_personnel,
 	$current_members,
 	$expired_members,
@@ -524,8 +537,14 @@ sub discourse {
                                                                \%defaultUsers,
                                                                1,"selectedusers",1,'email')
        ) {
+       my $bcc_curr_hdr;
+       if ($crstype eq 'Community') {
+           $bcc_curr_hdr = &mt('Bcc: community participants with current access');
+       } else {
+           $bcc_curr_hdr = &mt('Bcc: course members with current access');
+       }
        $result .= '<fieldset id="LC_activeusers"><legend>'
-                 .&mt('Bcc: course members with current access')
+                 .$bcc_curr_hdr
                  .'</legend>'
                  .'<form name="activeusers">';
        $result .= $tmptext.'</form></fieldset><br />';
@@ -539,8 +558,14 @@ sub discourse {
                                                                \%defaultUsers,
                                                                1, "selectedusers",0,'email')
        ) {
+       my $bcc_prev_hdr;
+       if ($crstype eq 'Community') {
+           $bcc_prev_hdr = &mt('Bcc: community participants with expired access');
+       } else {
+           $bcc_prev_hdr = &mt('Bcc: course members with expired access');
+       }
        $result .= '<fieldset id="LC_previoususers"><legend>'
-                 .&mt('Bcc: course members with expired access')
+                 .$bcc_prev_hdr
                  .'</legend>'
                  .'<form name="previoususers">';
        $result .= $tmptext.'</form></fieldset><br />';
@@ -555,8 +580,15 @@ sub discourse {
                                                                \%defaultUsers,
                                                                1, "selectedusers",0,'email')
        ) {
+       my $bcc_future_hdr;
+       if ($crstype eq 'Community') {
+           $bcc_future_hdr = &mt('Bcc: community participants with future access');
+       } else {
+           $bcc_future_hdr = &mt('Bcc: course members with future access');
+       }
+
        $result .= '<fieldset id="LC_futureusers"><legend>'
-                 .&mt('Bcc: course members with future access')
+                 .$bcc_future_hdr
                  .'</legend>'
                  .'<form name="futureusers">';
        $result .= $tmptext.'</form></fieldset>';
@@ -730,10 +762,16 @@ sub groupmail_header {
     }
     &Apache::lonhtmlcommon::clear_breadcrumbs();
     if ($refarg) {
+        my $brtitle;
+        if (&Apache::loncommon::course_type() eq 'Community') {
+            $brtitle = 'View community groups';  
+        } else {
+            $brtitle = 'View course groups';
+        }  
         &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>"/adm/coursegroups",
               text=>"Groups",
-              title=>"View course groups"});
+              title=>$brtitle});
     }
     &Apache::lonhtmlcommon::add_breadcrumb
         ({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg",
@@ -828,8 +866,11 @@ sub discrit {
     }
     # Check to see if there were any messages.
     if ($result eq '') {
-        $result = "<h2>".&mt('You have no critical messages.')."</h2>".
-	    '<a href="/adm/roles">'.&mt('Select a course').'</a><br />'.
+        $result =
+            '<p class="LC_info">'.
+            &mt('You have no critical messages.').
+            '</p>'.
+            '<a href="/adm/roles">'.&mt('Select a course').'</a><br />'.
             '<a href="/adm/email">'.&mt('Communicate').'</a>';
     } else {
         $r->print($header);
@@ -1032,18 +1073,20 @@ ENDDISHEADER
     my @temp=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus);
     my $totalnumber=$#temp+1;
     if ($totalnumber < 1) {
+        $r->print('<p class="LC_info">');
         if ($msgstatus eq '') {
-	    $r->print('<h2>'.&mt('Empty Folder').'</h2>');
+            $r->print(&mt('There are no messages in this folder.'));
         } elsif ($msgstatus eq 'replied') {
-            $r->print('<h2>'.&mt('You have not replied to any messages in this folder.').'</h2>');
-        } else { 
-            $r->print('<h2>'.&mt('There are no '.lc($statushash{$msgstatus}).' messages in this folder.').'</h2>');
+            $r->print(&mt('You have not replied to any messages in this folder.'));
+        } else {
+            $r->print(&mt('There are no '.lc($statushash{$msgstatus}).' messages in this folder.'));
         }
+        $r->print('</p>');
         if ($numblocked > 0) {
             $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,
                                          \%setters));
         }
-	return;
+        return;
     }
     my $interdis = $env{'form.interdis'};
     my $number=int($totalnumber/$interdis);
@@ -1268,9 +1311,9 @@ sub compout {
         &printheader($r,'/adm/email?compose=multiforward',
              'Forwarding Multiple Messages');
         if ($multiforward > 1) {
-            $r->print(&mt('Each of the [quant,_1,message] you checked'
+            $r->print(&mt('Each of the[_1] [quant,_2,message] [_3]you checked'
                          .' will be forwarded to the recipient(s) you select below.'
-                         ,'<b>'.$multiforward.'</b>')
+                         ,'<b>',$multiforward,'</b>')
                     .'<br />');
         } else {
             $r->print(&mt('The message you checked will be forwarded to the recipient(s) you select below.').'<br />');
@@ -1315,22 +1358,36 @@ sub compout {
     if (&Apache::lonnet::allowed('srm',$env{'request.course.id'})
 	|| &Apache::lonnet::allowed('srm',$env{'request.course.id'}.
 				    '/'.$env{'request.course.sec'})) {
+         my $crstype = &Apache::loncommon::course_type();
 	 my $crithelp = Apache::loncommon::help_open_topic("Course_Critical_Message");
+         my $rsstxt;
+         if (&Apache::loncommon::course_type() eq 'Community') {
+             $rsstxt = &mt('Include in community RSS newsfeed');
+         } else {
+             $rsstxt = &mt('Include in course RSS newsfeed');
+         }
          $dispcrit=
  '<span class="LC_nobreak"><label><input type="checkbox" name="critmsg" /> '.&mt('Send as critical message').'.</label>'.$crithelp.'&nbsp;&nbsp;'.&mt('Require return receipt?').'<label><input type="radio" name="sendbck" value="1" />'.&mt('Yes').'</label>&nbsp;&nbsp;<label><input type="radio" name="sendbck" value="" checked="checked" />'.&mt('No').'</label></span><br />'.
  '<label><input type="checkbox" name="permanent" /> '.
 &mt('Send copy to permanent e-mail address (if known)').'</label><br />'.
 '<label><input type="checkbox" name="rsspost" /> '.
-		  &mt('Include in course RSS newsfeed').'</label><br />';
+		  $rsstxt.'</label><br />';
     }
     if ($broadcast ne 'group') {
         if (&Apache::lonnet::allowed('dff',$env{'request.course.id'}) ||
             &Apache::lonnet::allowed('dff',$env{'request.course.id'}.
                                      '/'.$env{'request.course.sec'})) {
 
+            my $rectxt;
+            if (&Apache::loncommon::course_type() eq 'Community') {
+                $rectxt = &mt("Include in community's 'User records' for recipient(s)");
+            } else {
+                $rectxt = &mt("Include in course's 'User records' for recipient(s)");
+            }
+
             $dispcrit.='<label>'.
                        '<input type="checkbox" name="courserecord" value="1" /> '.
-                       &mt("Include in course's 'User records' for recipient(s)").
+                       $rectxt.
                        '</label><br />';
         }
     }
@@ -1787,9 +1844,9 @@ sub retrieve_instructor_comments {
 
 sub disfacetoface {
     my ($r,$user,$domain,$target)=@_;
-	if ($target eq '') {
-    	my $target=$env{'form.grade_target'};
-	}
+    if ($target eq '') {
+        $target=$env{'form.grade_target'};
+    }
     unless ($env{'request.course.id'}) { return; }
     if  (!&Apache::lonnet::allowed('dff',$env{'request.course.id'})
 	 && ! &Apache::lonnet::allowed('dff',$env{'request.course.id'}.
@@ -1805,7 +1862,9 @@ sub disfacetoface {
     foreach my $key (sort(keys(%records))) {
         my %content=&Apache::lonmsg::unpackagemsg($records{$key});
         next if ($content{'senderdomain'} eq '');
-	&Apache::lonfeedback::newline_to_br(\$content{'message'});
+    if (!&Apache::lonfeedback::contains_block_html($content{'message'})) {
+		&Apache::lonfeedback::newline_to_br(\$content{'message'});
+	}
         if ($content{'subject'}=~/^Record/) {
 	    $result.='<h3>'.&mt('Record').'</h3>';
         } elsif ($content{'subject'}=~/^Broadcast/) {
@@ -1982,12 +2041,18 @@ sub examblock {
 	$r->print('Not allowed');
 	return;
     }
-    my $usertype = (&Apache::loncommon::course_type() eq 'Community') ? 'members'
-	                                                              : 'students';
+    my $usertype;
+    my $crstype = &Apache::loncommon::course_type();
+    if ($crstype eq 'Community') {
+        $usertype = 'members';
+    } else {
+	$usertype = 'students';
+    }
+    my $lctype = lc($crstype);
     my %lt=&Apache::lonlocal::texthash(
             'comb' => 'Communication Blocking',
             'cbds' => 'Communication blocking during scheduled exams',
-            'desc' => "You can use communication blocking to prevent $usertype enrolled in this course from displaying LON-CAPA messages sent by other $usertype during an online exam. As blocking of communication could potentially interrupt legitimate communication between $usertype who are also both enrolled in a different LON-CAPA course, please be careful that you select the correct start and end times for your scheduled exam when setting or modifying these parameters.",
+            'desc' => "You can use communication blocking to prevent $usertype enrolled in this $lctype from displaying LON-CAPA messages sent by other $usertype during an online exam. As blocking of communication could potentially interrupt legitimate communication between $usertype who are also both enrolled in a different LON-CAPA course or community, please be careful that you select the correct start and end times for your scheduled exam when setting or modifying these parameters.",
              'mecb' => 'Modify existing communication blocking periods',
              'ncbc' => 'No communication blocks currently saved',
              'stor' => 'Save',
@@ -2164,7 +2229,7 @@ sub display_blocker_status {
     <th>$ltext->{'setb'}</th>
     <th>$ltext->{'even'}</th>
     <th>$ltext->{'blck'}</th>
-    <th>$ltext->{'actn'}?</th>
+    <th>$ltext->{'actn'}</th>
   </tr>
 END
     foreach my $record (sort(keys(%{$records}))) {
@@ -2184,7 +2249,7 @@ END
                            $setuname,$setudom);
         $r->print(&Apache::loncommon::start_data_table_row());
         $r->print(<<"END");
-        <td>$ltext->{'star'}:&nbsp;$startform<br/>$ltext->{'endd'}:&nbsp;&nbsp;$endform</td>
+        <td>$ltext->{'star'}:&nbsp;$startform<br />$ltext->{'endd'}:&nbsp;&nbsp;$endform</td>
         <td>$settername</td>
         <td><input type="text" name="title_$parmcount" size="15" value="$title" /><input type="hidden" name="key_$parmcount" value="$record" /></td>
         <td>
@@ -2198,7 +2263,12 @@ END
         }
         $r->print(<<"END");
         </td>      
-        <td><label>$lt{'modi'}?&nbsp;<input type="checkbox" name="modify_$parmcount" /></label><br /><label>$lt{'canc'}?&nbsp;&nbsp;<input type="checkbox" name="cancel_$parmcount" /></label>
+        <td><span class="LC_nobreak"><label>
+        <input type="checkbox" name="modify_$parmcount" />$lt{'modi'}
+        </label><br />
+        <label>
+        <input type="checkbox" name="cancel_$parmcount" />$lt{'canc'}
+        </label></span>
 END
         $r->print(&Apache::loncommon::end_data_table_row());
         $parmcount++;
@@ -2235,7 +2305,7 @@ END
      <th>$ltext->{'dura'}</th>
      <th>$ltext->{'even'} $lt{'exam'}</th>
      <th>$ltext->{'blck'}</th>
-     <th>$ltext->{'actn'}?</th>
+     <th>$ltext->{'actn'}</th>
    </tr>
 END
     $r->print(&Apache::loncommon::start_data_table_row());
@@ -2249,7 +2319,9 @@ END
      }
      $r->print(<<"END");
      </td> 
-     <td><label>$lt{'addb'}?&nbsp;<input type="checkbox" name="add_$parmcount" value="1" /></label></td>
+     <td><label>
+     <input type="checkbox" name="add_$parmcount" value="1" />$lt{'addb'}
+     </label></td>
 END
     $r->print(&Apache::loncommon::end_data_table_row());
     $r->print(&Apache::loncommon::end_data_table());
@@ -2839,10 +2911,10 @@ sub header {
     if ($baseurl) {
 	$extra .= "<base href=\"".&Apache::lonnet::absolute_url()."/$baseurl\" />";
     }
-    $r->print(&Apache::loncommon::start_page('Communication',
+    $r->print(&Apache::loncommon::start_page('Messages',
  					$extra));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs
-     		(($title?$title:'Send and Receive Messages')));
+     		(($title?$title:'Send and display messages')));
 }
 
 # ---------------------------------------------------------------- Print header
@@ -3200,10 +3272,11 @@ sub sendoffmail {
                        '','','','',$recipid);
             }
         }
-        if (!$env{'form.multiforward'}) { 
+        if (!$env{'form.multiforward'}) {
             if ($sendstatus=~/^(\s*(?:ok|con_delayed)\s*)*$/) {
-	        $r->print('<br /><span class="LC_success">'.&mt('Completed.').
-                          '</span>');
+                my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Completed.'));
+                $message = &Apache::loncommon::confirmwrapper($message);
+                $r->print($message);
 	        if ($env{'form.displayedcrit'}) {
 	            &discrit($r);
                 }
@@ -3213,8 +3286,10 @@ sub sendoffmail {
 	            &Apache::loncommunicate::menu($r);
 	        }
             } else {
-	        $r->print('<p>'.&Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1).'<br /> '.
-		          &mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus).'</p>');
+                my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1);
+                $message .= '<br />'.&mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus);
+                $message = &Apache::loncommon::confirmwrapper($message);
+                $r->print($message);
             }
         }
     }
@@ -3252,7 +3327,7 @@ sub handler {
     &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb
         ({href=>"/adm/communicate",
-          text=>"Communication/Messages",
+          text=>"Messages",
           faq=>12,bug=>'Communication Tools',});
 
 # ------------------------------------------------------------------ Get Folder
@@ -3333,9 +3408,10 @@ sub handler {
 	my ($result,$msg) = 
 	    &statuschange($env{'form.markdel'},'deleted',$folder);
 	if (!$result) {
-	    $r->print('<p class="LC_error">'.
-		      &mt('Failed to delete the message.').'</p>'.
-		      '<p class="LC_error">'.$msg."</p>\n");
+            my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Failed to delete the message.'),1);
+            $message .= '<p class="LC_error">'.$msg.'</p>';
+            $message = &Apache::loncommon::confirmwrapper($message);
+            $r->print($message);
 	}
 	&Apache::loncommunicate::menu($r);
 	&disall($r,($folder?$folder:$dismode),$msgstatus);
@@ -3357,7 +3433,10 @@ sub handler {
             $total ++;
         }
         &printheader($r,'','Marked Messages Read');
-        $r->print(&mt('Marked [quant,_1,message] read',$total).'<p>');
+        my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Marked [quant,_1,message] read',$total));
+        $message = &Apache::loncommon::confirmwrapper($message);
+        $r->print($message);
+      # $r->print('<p>');
         &Apache::loncommunicate::menu($r);
         &disall($r,($folder?$folder:$dismode),$msgstatus);
     } elsif ($env{'form.markedaction'} eq 'markedunread') {
@@ -3368,7 +3447,10 @@ sub handler {
             $total ++;
         }
         &printheader($r,'','Marked Messages Unread');
-        $r->print(&mt('Marked [quant,_1,message] unread',$total).'<p>');
+        my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Marked [quant,_1,message] unread',$total));
+        $message = &Apache::loncommon::confirmwrapper($message);
+        $r->print($message);
+      # $r->print('<p>');
         &Apache::loncommunicate::menu($r);
         &disall($r,($folder?$folder:$dismode),$msgstatus);
     } elsif ($env{'form.markedaction'} eq 'markedmove') {
@@ -3391,18 +3473,17 @@ sub handler {
 		    push(@failed_msg,$msg);
 	        }
 	    }
-	    if ($failed) {
-                $r->print('<p class="LC_error">'
-                         .&mt('Failed to move [quant,_1,message]',$failed)
-                         .'</p>');
-	        $r->print('<p class="LC_error">'.
-	   	          join("</p>\n<p class=\"LC_error\">",@failed_msg).
-		          "</p>\n");
-	    }
-            $r->print('<p class="LC_success">'
-                     .&mt('Moved [quant,_1,message]',$total)
-                     .'</p>'
-                     .'<p>');
+            my $message = '';
+            if ($failed) {
+                $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Failed to move [quant,_1,message]',$failed),1);
+                $message .= '<p class="LC_error">'.
+		            join("</p>\n<p class=\"LC_error\">",@failed_msg).
+		            "</p>\n";
+            }
+            $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Moved [quant,_1,message]',$total));
+            $message = &Apache::loncommon::confirmwrapper($message);
+            $r->print($message);
+          # $r->print('<p>');
         }
 	&Apache::loncommunicate::menu($r);
 	&disall($r,($folder?$folder:$dismode),$msgstatus);
@@ -3420,18 +3501,17 @@ sub handler {
 	    }
 	}
 	&printheader($r,'','Deleted Messages');
+        my $message = '';
 	if ($failed) {
-            $r->print('<p class="LC_error">'
-                     .&mt('Failed to delete [quant,_1,message]',$failed)
-                     .'</p>');
-	    $r->print('<p class="LC_error">'.
+            $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Failed to delete [quant,_1,message]',$failed),1);
+            $message .= '<p class="LC_error">'.
 		      join("</p>\n<p class=\"LC_error\">",@failed_msg).
-		      "</p>\n");
+		      "</p>\n";
 	}
-        $r->print('<p class="LC_success">'
-                 .&mt('Deleted [quant,_1,message]',$total)
-                 .'</p>'
-                 .'<p>');
+        $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Deleted [quant,_1,message]',$total));
+        $message = &Apache::loncommon::confirmwrapper($message);
+        $r->print($message);
+      # $r->print('<p>');
 	&Apache::loncommunicate::menu($r);
 	&disall($r,($folder?$folder:$dismode),$msgstatus);
     } elsif ($env{'form.markunread'}) {
@@ -3487,19 +3567,19 @@ sub handler {
             }
             if (keys(%forwardok) > 0) {
                 my $count = keys(%forwardok);
-                $r->print('<br /><span class="LC_success">'.
-                          &mt('[quant,_1,message] forwarded.',$count).
-                          '</span>');
+                my $message = &Apache::lonhtmlcommon::confirm_success(&mt('[quant,_1,message] forwarded.',$count));
+                $message = &Apache::loncommon::confirmwrapper($message);
+                $r->print($message);
             }
             if (keys(%forwardfail) > 0) {
                 my $count = keys(%forwardfail);
-                $r->print('<p><span class="LC_error">'.
-                          &mt('Could not forward [quant,_1,message].',$count).
-                          '</span> ');
+                my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not forward [quant,_1,message].',$count),1);
                 foreach my $key (keys(%forwardfail)) {
-                    $r->print(&mt('Could not deliver forwarded message.').'</span> '.
-                              &mt('The recipient addresses may need to be corrected').' ('.$forwardfail{$key}.').<br /><br />');
+                    $message .= '<br />'.&mt('Could not deliver forwarded message.').'</span> '.
+                                &mt('The recipient addresses may need to be corrected').' ('.$forwardfail{$key}.')';
                 }
+                $message = &Apache::loncommon::confirmwrapper($message);
+                $r->print($message);
             }
             &Apache::loncommunicate::menu($r);
         } else {
@@ -3523,14 +3603,13 @@ sub handler {
         my $showfolder = $env{'form.newfolder'};
 	my ($makeresult,$warning) = &makefolder($env{'form.newfolder'});
         if ($makeresult eq 'ok') {
-            $r->print('<p class="LC_success">'
-                     .&mt('Folder "[_1]" created.',$showfolder)
-                     .'</p>');
+            my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Folder "[_1]" created.',$showfolder));
+            $message = &Apache::loncommon::confirmwrapper($message);
+            $r->print($message);
         } else {
-            $r->print('<p class="LC_warning">'
-                     .&mt('Creation failed.').' '.$makeresult.'<br />'
-                     .$warning
-                     .'</p>');
+            my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Creation failed.').' '.$makeresult.'<br />'.$warning,1);
+            $message = &Apache::loncommon::confirmwrapper($message);
+            $r->print($message);
             $showfolder = $folder;
         }
         &Apache::loncommunicate::menu($r);
@@ -3542,14 +3621,14 @@ sub handler {
         my $showfolder = '';
         my $delresult = &deletefolder($folder);
         if ($delresult eq 'ok') {
-            $r->print('<p class="LC_success">'
-                     .&mt('Folder "[_1]" deleted.',$folder)
-                     .'</p>');
+            my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Folder "[_1]" deleted.',$folder));
+            $message = &Apache::loncommon::confirmwrapper($message);
+            $r->print($message);
             $env{'form.folder'} = '';
         } else {
-            $r->print('<p class="LC_warning">'
-                     .&mt('Deletion failed.').' '.$delresult
-                     .'</p>');
+            my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Deletion failed.').' '.$delresult,1);
+            $message = &Apache::loncommon::confirmwrapper($message);
+            $r->print($message);
             $showfolder = $folder;
         }
         &Apache::loncommunicate::menu($r);
@@ -3559,13 +3638,13 @@ sub handler {
         my $showfolder = $env{'form.renamed'};
         my $renresult = &renamefolder($folder);
         if ($renresult eq 'ok') {
-            $r->print('<p class="LC_success">'
-                     .&mt('Folder "[_1]" renamed to "[_2]".',$folder,$showfolder)
-                     .'</p>');
+            my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Folder "[_1]" renamed to "[_2]".',$folder,$showfolder));
+            $message = &Apache::loncommon::confirmwrapper($message);
+            $r->print($message);
         } else {
-            $r->print('<p class="LC_warning">'
-                     .&mt('Renaming failed.').' '.$renresult
-                     .'</p>');
+            my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Renaming failed.').' '.$renresult,1);
+            $message = &Apache::loncommon::confirmwrapper($message);
+            $r->print($message);
             $showfolder = $folder;
         }
         &Apache::loncommunicate::menu($r);