version 1.2, 2005/10/04 20:17:51
|
version 1.4, 2005/10/11 21:29:39
|
Line 151 sub print_display_option_form {
|
Line 151 sub print_display_option_form {
|
'enddate', |
'enddate', |
$now); |
$now); |
my $jscript; |
my $jscript; |
my %totals = (); |
|
my %personnel = (); |
|
my $output = <<"ENDONE"; |
my $output = <<"ENDONE"; |
$html |
$html |
<head> |
<head> |
Line 174 ENDONE
|
Line 172 ENDONE
|
'</td></tr></table></td>'; |
'</td></tr></table></td>'; |
$output .= &Apache::lonhtmlcommon::row_closure(); |
$output .= &Apache::lonhtmlcommon::row_closure(); |
$output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Choose sender(s)')); |
$output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Choose sender(s)')); |
# FIXME - need to complete work on domain_roles_get |
my %personnel = &Apache::lonnet::get_domain_roles($cdom,\@roles); |
# &Apache::lonnet::domain_roles_get($cdom,\@roles,\%personnel,%totals); |
|
$output .= '<td>'; |
$output .= '<td>'; |
if ($totals{'dc'} > 0) { |
my @domcc = (); |
foreach my $user (sort(keys(%{$personnel{'dc'}}))) { |
foreach my $server (keys %personnel) { |
my ($uname,$udom) = split(/:/,$user); |
print STDERR "key level 1 is $server\n"; |
my %userinfo = &Apache::lonnet::get('environment',['lastname','firstname'],$udom,$uname); |
foreach my $user (sort(keys %{$personnel{$server}})) { |
$output .= '<input type="checkbox" name="sender" value="'.$user.'" /> '.$userinfo{firstname}.' '.$userinfo{lastname}.' ('.$user.')'; |
print STDERR "key level 2 is $user\n"; |
|
my ($trole,$uname,$udom,$runame,$rudom,$rsec) = split(/:/,$user); |
|
unless (grep/^$uname:$udom$/,@domcc) { |
|
my %userinfo = &Apache::lonnet::get('environment',['lastname','firstname'],$udom,$uname); |
|
$output .= '<input type="checkbox" name="sender" value="'.$uname.':'.$udom.'" /> '.$userinfo{firstname}.' '.$userinfo{lastname}.' ('.$uname.':'.$udom.')'; |
|
push (@domcc,$uname.':'.$udom); |
|
} |
} |
} |
} |
} |
$output .= '</td>'; |
$output .= '</td>'; |
Line 394 function initialize_codes() {
|
Line 397 function initialize_codes() {
|
|
|
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs |
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs |
(undef,'Choose e-mail audience','Broadcast_system_email'); |
(undef,'Choose e-mail audience','Broadcast_system_email'); |
my $cb_jscript = &Apache::loncommon::coursebrowser_javascript($cdom,$cdom); |
my $cb_jscript = &Apache::loncommon::coursebrowser_javascript($cdom); |
my $output = <<"ENDONE"; |
my $output = <<"ENDONE"; |
$html |
$html |
<head> |
<head> |
Line 500 ENDONE
|
Line 503 ENDONE
|
my $col_width = '200'; |
my $col_width = '200'; |
|
|
&form_elements(\%longtypes,\%authtypes); |
&form_elements(\%longtypes,\%authtypes); |
foreach my $auth (%authtypes) { |
foreach my $auth (keys(%authtypes)) { |
if (exists($env{'form.'.$auth})) { |
if (exists($env{'form.'.$auth})) { |
my $default = $env{'form.'.$auth}; |
my $default = $env{'form.'.$auth}; |
$default =~ s/^,+//; |
$default =~ s/^,+//; |
Line 695 sub broadcast_email {
|
Line 698 sub broadcast_email {
|
sub get_user_info { |
sub get_user_info { |
my ($user,%email_defaults,$ltext) = @_; |
my ($user,%email_defaults,$ltext) = @_; |
my ($uname,$udom) = split(/:/,$user); |
my ($uname,$udom) = split(/:/,$user); |
my %userinfo = &Apache::lonnet::get('environment',['permanenetemail','notification','critnotification',],$udom,$uname); |
|
my @emailtypes = ('permanentemail','critnotification','notification'); |
my @emailtypes = ('permanentemail','critnotification','notification'); |
|
my %userinfo = &Apache::lonnet::get('environment',\@emailtypes,$udom,$uname); |
my $email = ''; |
my $email = ''; |
foreach my $type (@emailtypes) { |
foreach my $type (@emailtypes) { |
$email = $userinfo{$type}; |
$email = $userinfo{$type}; |
Line 739 sub form_elements {
|
Line 742 sub form_elements {
|
|
|
sub store_mail { |
sub store_mail { |
my ($subject,$message,$domain,$recipients,$attachmenturl,$ltext) = @_; |
my ($subject,$message,$domain,$recipients,$attachmenturl,$ltext) = @_; |
my %status = (); |
|
my %servers = (); |
my %servers = (); |
my $msgid=&packagemail($subject,$message,$domain, |
my $msgid=&packagemail($subject,$message,$domain, |
$recipients,\%servers,$attachmenturl); |
$recipients,\%servers,$attachmenturl); |
# Store in dc email db files on appropriate servers. |
# Store in dc email db files on appropriate servers. |
foreach my $server (keys(%servers)) { |
foreach my $server (keys(%servers)) { |
# FIXME This needs to be via a subroutine in lonnet |
unless (&Apache::lonnet::dcmailput($domain,$msgid,\%servers,$server) eq 'ok') { |
$status{$server} = &Apache::lonnet::critical( |
&logthis('Storage of dc mail failed for domain'.$domain.' for server: '. |
'dcmailput:'.$domain.':'.&Apache::lonnet::escape($msgid).'='. |
$server.'. Message ID was '.$msgid); |
&Apache::lonnet::escape($servers{$server}),$server); |
} |
} |
} |
} |
} |
|
|
Line 811 sub unpackagemail {
|
Line 813 sub unpackagemail {
|
my $value=$parser->get_text('/'.$entry); |
my $value=$parser->get_text('/'.$entry); |
my ($username,$email); |
my ($username,$email); |
if ($entry eq 'recipient') { |
if ($entry eq 'recipient') { |
my $attr = $token->[2]; |
$username = $token->[2]{'username'}; |
$username = $$attr{'username'}; |
|
$username = &HTML::Entities::decode($username,'<>&"'); |
$username = &HTML::Entities::decode($username,'<>&"'); |
$content{recipients}{$username} = |
$content{recipients}{$username} = |
&HTML::Entities::decode($value,'<>&"'); |
&HTML::Entities::decode($value,'<>&"'); |