--- loncom/interface/lonmsgdisplay.pm 2008/12/14 02:45:48 1.104 +++ loncom/interface/lonmsgdisplay.pm 2009/02/04 22:52:00 1.112 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging display # -# $Id: lonmsgdisplay.pm,v 1.104 2008/12/14 02:45:48 raeburn Exp $ +# $Id: lonmsgdisplay.pm,v 1.112 2009/02/04 22:52:00 weissno Exp $ # # Copyright Michigan State University Board of Trustees # @@ -555,16 +555,16 @@ sub discourse { } sub disgroup { - my ($cdom,$cnum,$group,$access_status) = @_; - my $result; + my ($r,$cdom,$cnum,$group,$access_status) = @_; + my $hasfloat; # Needs to be in a course if (!($env{'request.course.fn'})) { - $result = &mt('Error: you must have a course role selected to be able to send a broadcast message to a group in the course.'); - return $result; + $r->print(''.&mt('Error: you must have a course role selected to be able to send a broadcast message to a group in the course.').''); + return; } if ($cdom eq '' || $cnum eq '') { - $result = &mt('Error: could not determine domain or number of course'); - return $result; + $r->print(''.&mt('Error: could not determine domain or number of course').''); + return; } my ($memberinfo,$numitems) = &Apache::longroup::group_memberlist($cdom,$cnum,$group,{},[]); @@ -577,10 +577,15 @@ sub disgroup { push(@statustypes,('future','previous')); } if (keys(%{$memberinfo}) == 0) { - $result = &mt('As this group has no members, there are no '. - 'recipients to select.'); - return $result; + $r->print(''. + &mt('As this group has no members, there are no recipients to select'). + ''); + return; } else { + $hasfloat = 1; + unless($env{'environment.wysiwygeditor'} eq 'on') { + $r->print('
".&mt('No notes, face-to-face discussion records, critical messages, or broadcast messages in this [_1].',$lctype)."
"); } else { @@ -2377,7 +2392,16 @@ sub displaymessage { $bcclist = join(', ',@{$recipients{'bcc'}}); } } - if (!$tolist && ref($content{'recuser'}) eq 'ARRAY') { + + my $broadcast_link; + if (($content{'courseid'}) && ($content{'recipid'} && + (ref($recipients{'course_broadcast'}) eq 'ARRAY') || + (ref($recipients{'group_cc_broadcast'}) eq 'ARRAY') || + (ref($recipients{'group_bcc_broadcast'}) eq 'ARRAY'))) { + $broadcast_link = &recipients_link($r,\%content,\%recipients); + } + + if (((!$tolist) && (!$broadcast_link)) && ref($content{'recuser'}) eq 'ARRAY') { my @recipients; for (my $i=0; $i<@{$content{'recuser'}}; $i++) { $recipients[$i] = &Apache::loncommon::aboutmewrapper( @@ -2404,14 +2428,6 @@ sub displaymessage { $r->print(&Apache::loncommon::student_image_tag($content{'senderdomain'},$content{'sendername'}).''); } - my $broadcast_link; - if (($content{'courseid'}) && ($content{'recipid'} && - (ref($recipients{'course_broadcast'}) eq 'ARRAY') || - (ref($recipients{'group_cc_broadcast'}) eq 'ARRAY') || - (ref($recipients{'group_bcc_broadcast'}) eq 'ARRAY'))) { - $broadcast_link = &recipients_link($r,\%content,\%recipients); - } - # Display LON-CAPA Message (Start) # Subject $r->print('' @@ -2422,10 +2438,12 @@ sub displaymessage { ); if ($folder eq 'sent') { # To - $r->print(&Apache::lonhtmlcommon::row_title(&mt('To')) - .$tolist - .&Apache::lonhtmlcommon::row_closure() - ); + if ($tolist) { + $r->print(&Apache::lonhtmlcommon::row_title(&mt('To')) + .$tolist + .&Apache::lonhtmlcommon::row_closure() + ); + } if ($cclist) { $r->print(&Apache::lonhtmlcommon::row_title(&mt('Cc')) .$cclist @@ -2679,13 +2697,13 @@ sub recipients_link { $nothing=&Apache::lonhtmlcommon::javascript_nothing(); $height = 400; $width = 600; - my $start_page = - &Apache::loncommon::start_page('Broadcast List', undef, - {only_body => 1, - js_ready => 1,}); - my $end_page = &Apache::loncommon::end_page({js_ready => 1,}); - my $body = '