--- loncom/interface/lonmsgdisplay.pm 2006/05/01 05:57:26 1.20 +++ loncom/interface/lonmsgdisplay.pm 2006/05/11 19:04:31 1.23 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging display # -# $Id: lonmsgdisplay.pm,v 1.20 2006/05/01 05:57:26 raeburn Exp $ +# $Id: lonmsgdisplay.pm,v 1.23 2006/05/11 19:04:31 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -262,7 +262,7 @@ sub discourse { my $r=shift; my $classlist = &Apache::loncoursedata::get_classlist(); my ($classgroups,$studentgroups) = - &Apache::loncoursedata::get_group_memberships($classlist); + &Apache::loncoursedata::get_group_memberships($classlist); my %lt=&Apache::lonlocal::texthash('cfa' => 'Check All', 'cfs' => 'Check Section/Group', 'cfn' => 'Uncheck All'); @@ -318,19 +318,17 @@ ENDDISHEADER if (keys(%coursepersonnel) > 0) { $r->print('

Non-students

'); $r->print(&Apache::loncommon::start_data_table()); - $r->print(&Apache::loncommon::start_data_table_row()); - $r->print('NameUsername:DomainRole'); - $r->print(&Apache::loncommon::end_data_table_row()); - foreach my $role (sort keys %coursepersonnel) { - foreach (split(/\,/,$coursepersonnel{$role})) { - my ($puname,$pudom)=split(/\:/,$_); + $r->print('NameUsername:DomainRole'); + foreach my $role (sort(keys(%coursepersonnel))) { + foreach my $user (split(/\,/,$coursepersonnel{$role})) { + my ($puname,$pudom)=split(/\:/,$user); $r->print(&Apache::loncommon::start_data_table_row()); $r->print(''. - '('.$_.'),'.$role.''); + '('.$user.'),'.$role.''); $r->print(&Apache::loncommon::end_data_table_row()); } } @@ -339,9 +337,7 @@ ENDDISHEADER if (keys(%{$classlist}) > 0) { $r->print('

Students

'); $r->print(&Apache::loncommon::start_data_table()); - $r->print(&Apache::loncommon::start_data_table_row()); - $r->print('NameUsername:DomainSectionGroups'); - $r->print(&Apache::loncommon::end_data_table_row()); + $r->print('NameUsername:DomainSectionGroups'); my $sort = sub { my $aname=lc($classlist->{$a}[&Apache::loncoursedata::CL_FULLNAME()]); if (!$aname) { $aname=$a; } @@ -360,8 +356,9 @@ ENDDISHEADER next if ($status ne 'Active'); next if ($env{'request.course.sec'} && $section ne $env{'request.course.sec'}); - my @studentsgroups = &Apache::loncoursedata::get_students_groups( - $student,$status,$classgroups); + my @studentsgroups = + &Apache::loncoursedata::get_students_groups($student,$status, + $classgroups); my $grouplist = join(', ',@studentsgroups); my $key = 'send_to_&&&'.$section.'&&&_'.$student; if (! defined($fullname) || $fullname eq '') {$fullname = $sname;} @@ -377,7 +374,7 @@ ENDDISHEADER $groupcount.'" />'); if (defined($env{'form.group'})) { if ($env{'form.group'} eq $group) { - $checked = 'checked=checked'; + $checked = 'checked="checked"'; } } } @@ -904,7 +901,9 @@ sub compout { } my $citation=&displayresource(%content); if ($env{'form.recdom'}) { $defdom=$env{'form.recdom'}; } - $r->print( + if ($env{'form.text'}) { $dismsg=$env{'form.text'}; } + if ($env{'form.subject'}) { $dissub=$env{'form.subject'}; } + $r->print( '
'."\n". ''."\n". @@ -1357,7 +1356,7 @@ END my ($setuname,$setudom,$title) = &parse_block_record($$records{$record}); - $title = &HTML::Entities::encode($title,'"<>'); + $title = &HTML::Entities::encode($title,'"<>&'); my $settername = &Apache::loncommon::plainname($setuname,$setudom); $r->print(&Apache::loncommon::start_data_table_row()); $r->print(<<"END"); @@ -1657,7 +1656,7 @@ sub header { $r->print(&Apache::loncommon::start_page('Communication and Messages', $extra)); $r->print(&Apache::lonhtmlcommon::breadcrumbs - (undef,($title?$title:'Communication and Messages'))); + (($title?$title:'Communication and Messages'))); } @@ -1905,7 +1904,7 @@ sub handler { ['display','replyto','forward','markread','markdel','markunread', 'sendreply','compose','sendmail','critical','recname','recdom', 'recordftf','sortedby','block','folder','startdis','interdis', - 'showcommentbaseurl','dismode','group']); + 'showcommentbaseurl','dismode','group','subject','text']); $sqs='&sortedby='.$env{'form.sortedby'}; # ------------------------------------------------------ They checked for email