--- loncom/interface/lonnotify.pm 2006/07/29 00:48:21 1.23
+++ loncom/interface/lonnotify.pm 2007/11/13 03:53:30 1.27
@@ -1,3 +1,7 @@
+# The LearningOnline Network with CAPA
+# Sending messages
+#
+# $Id: lonnotify.pm,v 1.27 2007/11/13 03:53:30 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -27,7 +31,7 @@ package Apache::lonnotify;
use strict;
use Apache::lonnet;
use Apache::loncommon;
-use Apache::lonsupportreq;
+use Apache::courseclassifier;
use LONCAPA::Enrollment;
use Apache::Constants qw(:common :http);
use Apache::lonlocal;
@@ -205,7 +209,7 @@ sub print_display_option_form {
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 .= ' '.$userinfo{firstname}.' '.$userinfo{lastname}.' ('.$uname.':'.$udom.')';
+ $output .= ' '.$userinfo{'firstname'}.' '.$userinfo{'lastname'}.' ('.$uname.':'.$udom.')';
push (@domcc,$uname.':'.$udom);
}
}
@@ -379,13 +383,18 @@ sub print_selection_form {
&Apache::lonhtmlcommon::add_breadcrumb
({text=>"Select Audience"});
- $totcodes = &Apache::lonsupportreq::retrieve_instcodes(\%coursecodes,$cdom,$totcodes);
+ $totcodes = &Apache::courseclassifier::retrieve_instcodes(\%coursecodes,$cdom,$totcodes);
if ($totcodes > 0) {
$format_reply = &Apache::lonnet::auto_instcode_format($caller,$cdom,\%coursecodes,\%codes,\@codetitles,\%cat_titles,\%cat_order);
if ($format_reply eq 'ok') {
my $numtypes = @codetitles;
- &Apache::lonsupportreq::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);
+ &Apache::courseclassifier::build_code_selections(\%codes,\@codetitles,\%cat_titles,\%cat_order,\%idlist,\%idnums,\%idlist_titles);
+ 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);
}
}
@@ -496,7 +505,7 @@ function goBack(target) {
'Broadcast e-mail to users', $formname));
my $coursefilter = $env{'form.coursepick'};
- my %courses = ();
+ my %courses;
if ($coursefilter eq 'all') {
%courses = &Apache::lonnet::courseiddump($cdom,'.','.','.','.','.',
undef,undef,'Course');
@@ -518,8 +527,8 @@ function goBack(target) {
} elsif ($coursefilter eq 'specific') {
if ($env{'form.coursetotal'} > 1) {
my @course_ids = split(/&&/,$env{'form.courselist'});
- foreach (@course_ids) {
- $courses{$_} = '';
+ foreach my $cid (@course_ids) {
+ $courses{$cid} = '';
}
} else {
$courses{$env{'form.courselist'}} = '';
@@ -572,7 +581,10 @@ function goBack(target) {
$access{$type} = $type;
}
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);
}
foreach my $role (keys(%users)) {
@@ -730,7 +742,7 @@ sub get_user_info {
my ($user,%email_defaults) = @_;
my ($uname,$udom) = split(/:/,$user);
my @emailtypes = ('permanentemail','critnotification','notification');
- my %userinfo = &Apache::lonnet::get('environment',\@emailtypes,$udom,$uname);
+ my %userinfo = &Apache::loncommon::getemails($uname,$udom);
my $email = '';
foreach my $type (@emailtypes) {
$email = $userinfo{$type};
@@ -778,7 +790,7 @@ sub store_mail {
$attachmenturl,$recipients,undef,undef,'dcmail');
# 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)) {
unless (&Apache::lonnet::dcmailput($domain,$msgid,$message,$server)
eq 'ok') {