Diff for /loncom/interface/lonmsgdisplay.pm between versions 1.102 and 1.107

version 1.102, 2008/12/11 14:55:15 version 1.107, 2009/01/04 17:43:19
Line 353  sub makefolder { Line 353  sub makefolder {
         }          }
     } else {      } else {
         $outcome =           $outcome = 
     &mt('Error - could not obtain lock on e-mail folders record.');      &mt('Error - could not obtain lock on message folders record.');
     }      }
     return ($outcome,$warning);      return ($outcome,$warning);
 }  }
Line 555  sub discourse { Line 555  sub discourse {
 }  }
   
 sub disgroup {  sub disgroup {
     my ($cdom,$cnum,$group,$access_status) = @_;      my ($r,$cdom,$cnum,$group,$access_status) = @_;
     my $result;      my $hasfloat;
     #  Needs to be in a course      #  Needs to be in a course
     if (!($env{'request.course.fn'})) {      if (!($env{'request.course.fn'})) {
         $result = &mt('Error: you must have a course role selected to be able to send a broadcast           $r->print('<span class="LC_error">'.&mt('Error: you must have a course role selected to be able to send a broadcast message to a group in the course.').'</span>');
 e-mail to a group in the course.');          return;
         return $result;  
     }      }
     if ($cdom eq '' || $cnum eq '') {      if ($cdom eq '' || $cnum eq '') {
         $result = &mt('Error: could not determine domain or number of course');          $r->print('<span class="LC_error">'.&mt('Error: could not determine domain or number of course').'</span>');
         return $result;          return;
     }      }
     my ($memberinfo,$numitems) =      my ($memberinfo,$numitems) =
                  &Apache::longroup::group_memberlist($cdom,$cnum,$group,{},[]);                   &Apache::longroup::group_memberlist($cdom,$cnum,$group,{},[]);
Line 578  e-mail to a group in the course.'); Line 577  e-mail to a group in the course.');
         push(@statustypes,('future','previous'));          push(@statustypes,('future','previous'));
     }      }
     if (keys(%{$memberinfo}) == 0) {      if (keys(%{$memberinfo}) == 0) {
         $result = &mt('As this group has no members, there are no '.          $r->print('<span class="LC_warning">'.
                       'recipients to select.');                    &mt('As this group has no members, there are no recipients to select').
         return $result;                    '</span>');
           return;
     } else {      } else {
           $hasfloat = 1;
           $r->print('<div class="LC_left_float">');
         my %Sortby = (          my %Sortby = (
                          active   => {},                           active   => {},
                          previous => {},                           previous => {},
Line 607  e-mail to a group in the course.'); Line 609  e-mail to a group in the course.');
                 push(@{$Sortby{$status}{$$memberinfo{$user}{fullname}}},$user);                  push(@{$Sortby{$status}{$$memberinfo{$user}{fullname}}},$user);
             }              }
         }          }
         $result .= &group_check_uncheck();          $r->print(&group_check_uncheck());
         foreach my $status (@statustypes)  {          foreach my $status (@statustypes)  {
             if (ref($numitems) eq 'HASH') {              if (ref($numitems) eq 'HASH') {
                 if ((defined($$numitems{$status})) && ($$numitems{$status})) {                  if ((defined($$numitems{$status})) && ($$numitems{$status})) {
Line 615  e-mail to a group in the course.'); Line 617  e-mail to a group in the course.');
                     if (ref($access_status) eq 'HASH') {                      if (ref($access_status) eq 'HASH') {
                         $access_status->{$status} = $$numitems{$status};                          $access_status->{$status} = $$numitems{$status};
                     }                      }
                     $result.='<fieldset><legend><b>'.$lt{$status}.                      $r->print('<fieldset><legend><b>'.$lt{$status}.
                              '</b></legend><form name="'.$formname.'">'.                                '</b></legend><form name="'.$formname.'">'.
                              '<span class="LC_nobreak">'.                                '<span class="LC_nobreak">'.
                              '<input type="button" value="'.&mt('Check All').'" '.                                '<input type="button" value="'.&mt('Check All').'" '.
                              'onclick="javascript:toggleAll('."this.form,'check'".')" />'.                                'onclick="javascript:toggleAll('."this.form,'check'".')" />'.
                              '&nbsp;&nbsp;'.                                '&nbsp;&nbsp;'.
                              '<input type="button" value="'.&mt('Uncheck All').'" '.                                '<input type="button" value="'.&mt('Uncheck All').'" '.
                              'onclick="javascript:toggleAll('."this.form,'uncheck'".')" />'.                                'onclick="javascript:toggleAll('."this.form,'uncheck'".')" />'.
                              '</span>';                                '</span>');
                     if ($status eq 'active') {                      if ($status eq 'active') {
                         $result .= '&nbsp;&nbsp;&nbsp;<select name="groupmail">'.                          $r->print(('&nbsp;'x3).'<select name="groupmail">'.
                                    '<option value="bcc" selected="selected">'.&mt('Bcc').'</option>'.                                   '<option value="bcc" selected="selected">'.&mt('Bcc').'</option>'.
                                    '<option value="cc">'.&mt('Cc').'</option>'.                                   '<option value="cc">'.&mt('Cc').'</option>'.
                                '</select>';                                 '</select>');
                     }                      }
                     $result .= '<br />'.&Apache::loncommon::start_data_table().                      $r->print('<br />'.&Apache::loncommon::start_data_table().
                                &Apache::loncommon::start_data_table_header_row().                                 &Apache::loncommon::start_data_table_header_row().
                                "<th>$lt{'name'}</a></th>".                                 "<th>$lt{'name'}</th>".
                                "<th>$lt{'usnm'}</a></th>".                                 "<th>$lt{'usnm'}</th>".
                                "<th>$lt{'doma'}</a></th>".                                 "<th>$lt{'doma'}</th>".
                                &Apache::loncommon::end_data_table_header_row();                                 &Apache::loncommon::end_data_table_header_row());
                     foreach my $key (sort(keys(%{$Sortby{$status}}))) {                      foreach my $key (sort(keys(%{$Sortby{$status}}))) {
                         foreach my $user (@{$Sortby{$status}{$key}}) {                          foreach my $user (@{$Sortby{$status}{$key}}) {
                             $result .=                              $r->print(&Apache::loncommon::start_data_table_row().
                                 &Apache::loncommon::start_data_table_row().                                  '<td><span class="LC_nobreak"><input type="checkbox" '.
                                 '<td><input type="checkbox" '.  
                                 'name="selectedusers_forminput" value="'.                                  'name="selectedusers_forminput" value="'.
                                 $user.':'.$status.'" />'.                                  $user.':'.$status.'" />'.
                                 $$memberinfo{$user}{'fullname'}.'</td>'.                                  $$memberinfo{$user}{'fullname'}.'</span></td>'.
                                 '<td>'.$$memberinfo{$user}{'uname'}.'</td>'.                                  '<td>'.$$memberinfo{$user}{'uname'}.'</td>'.
                                 '<td>'.$$memberinfo{$user}{'udom'}.'</td>'.                                  '<td>'.$$memberinfo{$user}{'udom'}.'</td>'.
                                 &Apache::loncommon::end_data_table_row();                                  &Apache::loncommon::end_data_table_row());
                         }                          }
                     }                      }
                     $result .= &Apache::loncommon::end_data_table().'</form></fieldset><br />';                      $r->print(&Apache::loncommon::end_data_table().'</form>'.
                                 '</fieldset><br /></div>');
                 }                  }
             }              }
         }          }
     }      }
     return $result;      return $hasfloat;
 }  }
   
 sub group_check_uncheck {  sub group_check_uncheck {
Line 1323  sub compout { Line 1325  sub compout {
         } else {          } else {
             $can_grp_broadcast = &check_group_priv($group);              $can_grp_broadcast = &check_group_priv($group);
             if ($can_grp_broadcast) {              if ($can_grp_broadcast) {
                 $r->print('<div class="LC_left_float">'.                  $hasfloat = &disgroup($r,$cdom,$cnum,$group,\%access_status);
                           &disgroup($cdom,$cnum,$group,\%access_status).  
                          '</div>');  
                 $hasfloat = 1;  
             }              }
         }          }
         if ($hasfloat) {          if ($hasfloat) {
Line 1814  $content{'sendername'}.':'. Line 1813  $content{'sendername'}.':'.
      }       }
     # Check to see if there were any messages.      # Check to see if there were any messages.
     if ($result eq '') {      if ($result eq '') {
         my $lctype = lc(&Apache::loncommon::course_type());          my $lctype = &mt(lc(&Apache::loncommon::course_type()));
  if ($target ne 'tex') {    if ($target ne 'tex') { 
     $r->print("<p><b>".&mt('No notes, face-to-face discussion records, critical messages, or broadcast messages in this [_1].',$lctype)."</b></p>");      $r->print("<p><b>".&mt('No notes, face-to-face discussion records, critical messages, or broadcast messages in this [_1].',$lctype)."</b></p>");
  } else {   } else {
Line 2312  sub displaymessage { Line 2311  sub displaymessage {
               .$li_end;                .$li_end;
     }      }
 # Print functions  # Print functions
     $r->print('<div>'      $r->print('<div class="LC_left_float">'
              .'<fieldset>'               .'<fieldset>'
              .'<legend>'               .'<legend><span class="LC_mail_functions">'
              .&mt('Functions')               .&mt('Functions')
              .'</legend>'               .'</span></legend>'
              .$functionlist               .$functionlist
              .'</fieldset>'               .'</fieldset>'
              .'</div>'               .'</div>'
Line 2353  sub displaymessage { Line 2352  sub displaymessage {
   
 # Print actions  # Print actions
         if ($actionlist) {          if ($actionlist) {
             $r->print('<div>'              $r->print('<div class="LC_left_float">'
                      .'<fieldset>'                       .'<fieldset>'
                      .'<legend>'                       .'<legend>'
                      .&mt('Currently available actions (will open extra window):')                       .&mt('[_1]Currently available actions[_2] (will open extra window):','<span class="LC_mail_functions">','</span>')
                      .'</legend>'                       .'</legend>'
                      .$actionlist                       .$actionlist
                      .'</fieldset>'                       .'</fieldset>'
Line 2378  sub displaymessage { Line 2377  sub displaymessage {
             $bcclist = join(', ',@{$recipients{'bcc'}});              $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;          my @recipients;
         for (my $i=0; $i<@{$content{'recuser'}}; $i++) {          for (my $i=0; $i<@{$content{'recuser'}}; $i++) {
             $recipients[$i] =  &Apache::loncommon::aboutmewrapper(              $recipients[$i] =  &Apache::loncommon::aboutmewrapper(
Line 2400  sub displaymessage { Line 2408  sub displaymessage {
     if (defined($content{'baseurl'})) {      if (defined($content{'baseurl'})) {
         $baseurl = &Apache::lonenc::check_encrypt($content{'baseurl'});          $baseurl = &Apache::lonenc::check_encrypt($content{'baseurl'});
     }      }
       $r->print('<div class="LC_clear_float_footer">');
     if ($from_student && $see_anonymous ) {      if ($from_student && $see_anonymous ) {
  $r->print(&Apache::loncommon::student_image_tag($content{'senderdomain'},$content{'sendername'}));   $r->print(&Apache::loncommon::student_image_tag($content{'senderdomain'},$content{'sendername'}).'</br>');
     }  
   
     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)      # Display LON-CAPA Message (Start)
     # Subject      # Subject
     $r->print('<br />'      $r->print('</div>'
              .&Apache::lonhtmlcommon::start_pick_box()               .&Apache::lonhtmlcommon::start_pick_box()
              .&Apache::lonhtmlcommon::row_title(&mt('Subject'))               .&Apache::lonhtmlcommon::row_title(&mt('Subject'))
              .$content{'subject'}               .$content{'subject'}
Line 2422  sub displaymessage { Line 2423  sub displaymessage {
     );      );
     if ($folder eq 'sent') {      if ($folder eq 'sent') {
         # To          # To
         $r->print(&Apache::lonhtmlcommon::row_title(&mt('To'))          if ($tolist) {
                  .$tolist              $r->print(&Apache::lonhtmlcommon::row_title(&mt('To'))
                  .&Apache::lonhtmlcommon::row_closure()                       .$tolist
         );                       .&Apache::lonhtmlcommon::row_closure()
               );
           }
         if ($cclist) {          if ($cclist) {
             $r->print(&Apache::lonhtmlcommon::row_title(&mt('Cc'))              $r->print(&Apache::lonhtmlcommon::row_title(&mt('Cc'))
                      .$cclist                       .$cclist

Removed from v.1.102  
changed lines
  Added in v.1.107


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>