Diff for /loncom/interface/lonnotify.pm between versions 1.22 and 1.27

version 1.22, 2006/07/11 15:37:59 version 1.27, 2007/11/13 03:53:30
Line 1 Line 1
   # The LearningOnline Network with CAPA
   # Sending messages
   #
   # $Id$
 #  #
 # Copyright Michigan State University Board of Trustees  # Copyright Michigan State University Board of Trustees
 #  #
Line 27  package Apache::lonnotify; Line 31  package Apache::lonnotify;
 use strict;  use strict;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lonsupportreq;  use Apache::courseclassifier;
 use LONCAPA::Enrollment;  use LONCAPA::Enrollment;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use Apache::lonlocal;  use Apache::lonlocal;
Line 205  sub print_display_option_form { Line 209  sub print_display_option_form {
             my ($trole,$uname,$udom,$runame,$rudom,$rsec) = split(/:/,$user);              my ($trole,$uname,$udom,$runame,$rudom,$rsec) = split(/:/,$user);
             unless (grep/^$uname:$udom$/,@domcc) {              unless (grep/^$uname:$udom$/,@domcc) {
                 my %userinfo = &Apache::lonnet::get('environment',['lastname','firstname'],$udom,$uname);                  my %userinfo = &Apache::lonnet::get('environment',['lastname','firstname'],$udom,$uname);
                 $output .= '<input type="checkbox" name="sender" value="'.$uname.':'.$udom.'" />&nbsp;'.$userinfo{firstname}.' '.$userinfo{lastname}.'&nbsp;&nbsp;('.$uname.':'.$udom.')';                  $output .= '<input type="checkbox" name="sender" value="'.$uname.':'.$udom.'" />&nbsp;'.$userinfo{'firstname'}.' '.$userinfo{'lastname'}.'&nbsp;&nbsp;('.$uname.':'.$udom.')';
                 push (@domcc,$uname.':'.$udom);                  push (@domcc,$uname.':'.$udom);
             }              }
         }          }
Line 379  sub print_selection_form { Line 383  sub print_selection_form {
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
           ({text=>"Select Audience"});            ({text=>"Select Audience"});
   
     $totcodes = &Apache::lonsupportreq::retrieve_instcodes(\%coursecodes,$cdom,$totcodes);      $totcodes = &Apache::courseclassifier::retrieve_instcodes(\%coursecodes,$cdom,$totcodes);
     if ($totcodes > 0) {      if ($totcodes > 0) {
         $format_reply = &Apache::lonnet::auto_instcode_format($caller,$cdom,\%coursecodes,\%codes,\@codetitles,\%cat_titles,\%cat_order);          $format_reply = &Apache::lonnet::auto_instcode_format($caller,$cdom,\%coursecodes,\%codes,\@codetitles,\%cat_titles,\%cat_order);
         if ($format_reply eq 'ok') {          if ($format_reply eq 'ok') {
             my $numtypes = @codetitles;              my $numtypes = @codetitles;
             &Apache::lonsupportreq::build_code_selections(\%codes,\@codetitles,\%cat_titles,\%cat_order,\%idlist,\%idnums,\%idlist_titles);              &Apache::courseclassifier::build_code_selections(\%codes,\@codetitles,\%cat_titles,\%cat_order,\%idlist,\%idnums,\%idlist_titles);
             &Apache::lonsupportreq::javascript_code_selections($formname,$numtypes,\%cat_titles,\$jscript,\%idlist,\%idnums,\%idlist_titles,\@codetitles);              my ($scripttext,$longtitles) = &Apache::courseclassifier::javascript_definitions(\@codetitles,\%idlist,\%idlist_titles,\%idnums,\%cat_titles);
               my $longtitles_str = join('","',@{$longtitles});
               my $allidlist = $idlist{$codetitles[0]};
               $jscript .= &Apache::courseclassifier::courseset_js_start($formname,$longtitles_str,$allidlist);
               $jscript .= $scripttext;
               $jscript .= &Apache::courseclassifier::javascript_code_selections($formname,@codetitles);
         }          }
     }      }
   
Line 496  function goBack(target) { Line 505  function goBack(target) {
   'Broadcast e-mail to users', $formname));    'Broadcast e-mail to users', $formname));
   
     my $coursefilter = $env{'form.coursepick'};      my $coursefilter = $env{'form.coursepick'};
     my %courses = ();      my %courses;
     if ($coursefilter eq 'all') {      if ($coursefilter eq 'all') {
         %courses = &Apache::lonnet::courseiddump($cdom,'.','.','.','.','.',          %courses = &Apache::lonnet::courseiddump($cdom,'.','.','.','.','.',
                                                  undef,undef,'Course');                                                   undef,undef,'Course');
Line 518  function goBack(target) { Line 527  function goBack(target) {
     } elsif ($coursefilter eq 'specific') {      } elsif ($coursefilter eq 'specific') {
         if ($env{'form.coursetotal'} > 1) {          if ($env{'form.coursetotal'} > 1) {
             my @course_ids = split(/&&/,$env{'form.courselist'});              my @course_ids = split(/&&/,$env{'form.courselist'});
             foreach (@course_ids) {              foreach my $cid (@course_ids) {
                 $courses{$_} = '';                  $courses{$cid} = '';
             }              }
         } else {          } else {
             $courses{$env{'form.courselist'}} = '';              $courses{$env{'form.courselist'}} = '';
Line 572  function goBack(target) { Line 581  function goBack(target) {
         $access{$type} = $type;          $access{$type} = $type;
     }      }
     foreach my $course_id (keys(%courses)) {      foreach my $course_id (keys(%courses)) {
         my ($cdom,$cnum) = split(/_/,$course_id);          my %coursehash = 
               &Apache::lonnet::coursedescription($course_id,{'one_time' => 1});
           my $cdom = $coursehash{'domain'};
           my $cnum = $coursehash{'num'};
         &Apache::loncommon::get_course_users($cdom,$cnum,\%access,\@roles,\@sections,\%users);          &Apache::loncommon::get_course_users($cdom,$cnum,\%access,\@roles,\@sections,\%users);
     }      }
     foreach my $role (keys(%users)) {      foreach my $role (keys(%users)) {
Line 607  function goBack(target) { Line 619  function goBack(target) {
  $output .= &Apache::loncommon::start_data_table();   $output .= &Apache::loncommon::start_data_table();
         if (keys(%recipients) > 0) {          if (keys(%recipients) > 0) {
     $output .= &Apache::loncommon::start_data_table_header_row();      $output .= &Apache::loncommon::start_data_table_header_row();
             $output .= '<th>&nbsp;<th>username:domain</th><th>&nbsp;&nbsp;</th><th>'.$lt{'emad'}.'</th>';              $output .= '<th>&nbsp;<th>username:domain</th><th>'.$lt{'emad'}.'</th>';
     $output .= &Apache::loncommon::end_data_table_header_row();      $output .= &Apache::loncommon::end_data_table_header_row();
         }          }
         foreach my $username (sort(keys(%recipients))) {          foreach my $username (sort(keys(%recipients))) {
     $output .= &Apache::loncommon::start_data_table_row();      $output .= &Apache::loncommon::start_data_table_row();
             if ($recipients{$username} =~ /\@/) {              if ($recipients{$username} =~ /\@/) {
                 my $value=&escape($username).':'.&escape($recipients{$username});                  my $value=&escape($username).':'.&escape($recipients{$username});
                 $output .= '<td><input type="checkbox" name="recipient" value="'.$value.'" /></td><td>'.$username.'</td><td>&nbsp;&nbsp;</td><td>'.$recipients{$username}.'</td>';                  $output .= '<td><input type="checkbox" name="recipient" value="'.$value.'" /></td><td>'.$username.'</td><td>'.$recipients{$username}.'</td>';
             }              }
     $output .= &Apache::loncommon::end_data_table_row();      $output .= &Apache::loncommon::end_data_table_row();
         }          }
Line 730  sub get_user_info { Line 742  sub get_user_info {
     my ($user,%email_defaults) = @_;      my ($user,%email_defaults) = @_;
     my ($uname,$udom) = split(/:/,$user);      my ($uname,$udom) = split(/:/,$user);
     my @emailtypes = ('permanentemail','critnotification','notification');      my @emailtypes = ('permanentemail','critnotification','notification');
     my %userinfo = &Apache::lonnet::get('environment',\@emailtypes,$udom,$uname);      my %userinfo = &Apache::loncommon::getemails($uname,$udom);
     my $email = '';      my $email = '';
     foreach my $type (@emailtypes) {      foreach my $type (@emailtypes) {
         $email = $userinfo{$type};          $email = $userinfo{$type};
Line 778  sub store_mail { Line 790  sub store_mail {
                         $attachmenturl,$recipients,undef,undef,'dcmail');                          $attachmenturl,$recipients,undef,undef,'dcmail');
   
 # Store in dc email db files on primary library server for domain.  # Store in dc email db files on primary library server for domain.
     my $server = $Apache::lonnet::domain_primary{$domain};      my $server = &Apache::lonnet::domain($domain,'primary');
     if (defined($server)) {      if (defined($server)) {
         unless (&Apache::lonnet::dcmailput($domain,$msgid,$message,$server)           unless (&Apache::lonnet::dcmailput($domain,$msgid,$message,$server) 
                                                             eq 'ok') {                                                              eq 'ok') {

Removed from v.1.22  
changed lines
  Added in v.1.27


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.