--- loncom/interface/lonnotify.pm 2006/07/11 15:37:59 1.22 +++ loncom/interface/lonnotify.pm 2008/09/16 03:30:30 1.28 @@ -1,3 +1,7 @@ +# The LearningOnline Network with CAPA +# Sending messages +# +# $Id: lonnotify.pm,v 1.28 2008/09/16 03:30: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); } } @@ -401,7 +410,7 @@ sub print_selection_form { internal => 'text', krb4 => 'text', krb5 => 'text', - local => 'text', + localauth => 'text', unix => 'text', ); $jscript .= &Apache::lonhtmlcommon::set_form_elements(\%elements); @@ -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)) { @@ -607,14 +619,14 @@ function goBack(target) { $output .= &Apache::loncommon::start_data_table(); if (keys(%recipients) > 0) { $output .= &Apache::loncommon::start_data_table_header_row(); - $output .= ' username:domain  '.$lt{'emad'}.''; + $output .= ' username:domain'.$lt{'emad'}.''; $output .= &Apache::loncommon::end_data_table_header_row(); } foreach my $username (sort(keys(%recipients))) { $output .= &Apache::loncommon::start_data_table_row(); if ($recipients{$username} =~ /\@/) { my $value=&escape($username).':'.&escape($recipients{$username}); - $output .= ''.$username.'  '.$recipients{$username}.''; + $output .= ''.$username.''.$recipients{$username}.''; } $output .= &Apache::loncommon::end_data_table_row(); } @@ -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}; @@ -766,7 +778,7 @@ sub form_elements { krb5 => 'Kerberos 5', internal => 'Internal (LON-CAPA)', unix => 'Filesystem (UNIX)', - local => 'Local/Customized', + localauth => 'Local/Customized', ); return; } @@ -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') {