version 1.27, 2006/01/12 01:30:44
|
version 1.28, 2006/02/07 05:08:21
|
Line 28 package LONCAPA::Enrollment;
|
Line 28 package LONCAPA::Enrollment;
|
use Apache::loncoursedata; |
use Apache::loncoursedata; |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::lonmsg; |
use Apache::lonmsg; |
|
use Apache::lonlocal; |
use HTML::Entities; |
use HTML::Entities; |
use LONCAPA::Configuration; |
use LONCAPA::Configuration; |
use Time::Local; |
use Time::Local; |
Line 36 use lib '/home/httpd/lib/perl';
|
Line 37 use lib '/home/httpd/lib/perl';
|
use strict; |
use strict; |
|
|
sub update_LC { |
sub update_LC { |
my ($dom,$crs,$adds,$drops,$startdate,$enddate,$authtype,$autharg,$classesref,$groupref,$logmsg,$newusermsg,$context) = @_; |
my ($dom,$crs,$adds,$drops,$startdate,$enddate,$authtype,$autharg,$classesref,$groupref,$logmsg,$newusermsg,$context,$phototypes) = @_; |
# Get institutional code and title of this class |
# Get institutional code and title of this class |
my %courseinfo = (); |
my %courseinfo = (); |
&get_courseinfo($dom,$crs,\%courseinfo); |
&get_courseinfo($dom,$crs,\%courseinfo); |
Line 75 sub update_LC {
|
Line 76 sub update_LC {
|
my $addresult = ''; |
my $addresult = ''; |
my $dropresult = ''; |
my $dropresult = ''; |
my $switchresult = ''; |
my $switchresult = ''; |
|
my $photoresult = ''; |
if ($context eq "updatenow") { |
if ($context eq "updatenow") { |
$linefeed = "</li>\n<li>"; |
$linefeed = "</li>\n<li>"; |
} elsif ($context eq "automated") { |
} elsif ($context eq "automated") { |
Line 192 sub update_LC {
|
Line 194 sub update_LC {
|
@{$unameFromINid{$stuID}} = $uname; |
@{$unameFromINid{$stuID}} = $uname; |
} |
} |
} |
} |
|
|
# Explicitly allow access to creation/modification of students if called as an automated process. |
# Explicitly allow access to creation/modification of students if called as an automated process. |
if ($context eq 'automated') { |
if ($context eq 'automated') { |
$env{'allowed.cst'}='F'; |
$env{'allowed.cst'}='F'; |
Line 323 sub update_LC {
|
Line 326 sub update_LC {
|
} else { |
} else { |
&execute_add($context,'newstudent',$uname,$dom,$auth,$authparam,$first,$middle,$last,$gene,$pid,$usec,$end,$start,$emailenc,$cid,\$addresult,\$enrollcount,$linefeed,$logmsg); |
&execute_add($context,'newstudent',$uname,$dom,$auth,$authparam,$first,$middle,$last,$gene,$pid,$usec,$end,$start,$emailenc,$cid,\$addresult,\$enrollcount,$linefeed,$logmsg); |
} |
} |
|
if ($courseinfo{'showphotos'}) { |
|
my ($result,$resulttype) = |
|
&Apache::lonnet::auto_checkphotos($uname,$dom,$pid); |
|
if ($resulttype) { |
|
push(@{$$phototypes{$resulttype}},$uname); |
|
} |
|
} |
} |
} |
} |
} |
} |
} |
} |
} |
|
if ($courseinfo{'showphotos'}) { |
|
if (keys(%{$phototypes})>0) { |
|
my %lt = &photo_response_types(); |
|
foreach my $type (sort(keys(%{$phototypes}))) { |
|
my $numphoto = @{$$phototypes{$type}}; |
|
if ($numphoto > 0) { |
|
if ($context eq 'updatenow') { |
|
$photoresult .= '<br /><b>'. |
|
&mt('For [_1] students, photos ',$numphoto). |
|
$lt{$type}.'</b><ul><li>'; |
|
} else { |
|
$photoresult .= "\nFor $numphoto students, photos ". |
|
$lt{$type}."\n"; |
|
} |
|
foreach my $user (@{$$phototypes{$type}}) { |
|
$photoresult .= $user.$linefeed; |
|
} |
|
if ($context eq 'updatenow') { |
|
$photoresult = substr($photoresult,0, |
|
rindex($photoresult,"<li>")); |
|
$photoresult .= '</ul><br />'; |
|
} else { |
|
$photoresult .= "\n"; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|
# Do drops |
# Do drops |
if ( ($drops == 1) && (@reg_students > 0) ) { |
if ( ($drops == 1) && (@reg_students > 0) ) { |
foreach my $uname (@localstudents) { |
foreach my $uname (@localstudents) { |
Line 365 sub update_LC {
|
Line 404 sub update_LC {
|
if ($context eq "updatenow") { |
if ($context eq "updatenow") { |
$addresult = substr($addresult,0,rindex($addresult,"<li>")); |
$addresult = substr($addresult,0,rindex($addresult,"<li>")); |
$addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:<br/><ul><li>".$addresult."</ul><br/><br/>"; |
$addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:<br/><ul><li>".$addresult."</ul><br/><br/>"; |
|
if ($courseinfo{'showphotos'}) { |
|
|
|
} |
} else { |
} else { |
$addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:\n\n".$addresult."\n\n"; |
$addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:\n\n".$addresult."\n\n"; |
} |
} |
Line 402 sub update_LC {
|
Line 444 sub update_LC {
|
} |
} |
} |
} |
my $changecount = $enrollcount + $dropcount + $switchcount; |
my $changecount = $enrollcount + $dropcount + $switchcount; |
return ($changecount,$addresult.$dropresult.$switchresult); |
return ($changecount,$addresult.$photoresult.$dropresult.$switchresult); |
} |
} |
|
|
sub create_newuser { |
sub create_newuser { |
Line 787 sub get_courseinfo {
|
Line 829 sub get_courseinfo {
|
my ($dom,$crs,$courseinfo) = @_; |
my ($dom,$crs,$courseinfo) = @_; |
my $owner; |
my $owner; |
if (defined($dom) && defined($crs)) { |
if (defined($dom) && defined($crs)) { |
my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$dom,$crs); |
my %settings = &Apache::lonnet::get('environment',['internal.coursecode','internal.showphotos','description'],$dom,$crs); |
if ( defined($settings{'internal.coursecode'}) ) { |
if ( defined($settings{'internal.coursecode'}) ) { |
$$courseinfo{'inst_code'} = $settings{'internal.coursecode'}; |
$$courseinfo{'inst_code'} = $settings{'internal.coursecode'}; |
|
|
} |
} |
if ( defined($settings{'description'}) ) { |
if ( defined($settings{'description'}) ) { |
$$courseinfo{'description'} = $settings{'description'}; |
$$courseinfo{'description'} = $settings{'description'}; |
} |
} |
|
if ( defined($settings{'internal.showphotos'}) ) { |
|
$$courseinfo{'showphotos'} = $settings{'internal.showphotos'}; |
|
} |
} |
} |
return; |
return; |
} |
} |
Line 811 sub CL_middlename { return 8;}
|
Line 855 sub CL_middlename { return 8;}
|
sub CL_startdate { return 9; } |
sub CL_startdate { return 9; } |
sub CL_studentID { return 10; } |
sub CL_studentID { return 10; } |
|
|
|
sub photo_response_types { |
|
my %lt = &Apache::lonlocal::texthash ( |
|
'same' => 'remained unchanged', |
|
'update' => 'were updated', |
|
'new' => 'were added', |
|
'missing' => 'were missing', |
|
'error' => 'were not imported because an error occurred', |
|
'nouser' => 'were for users without accounts', |
|
'noid' => 'were for users without student IDs', |
|
); |
|
return %lt; |
|
} |
|
|
|
|
1; |
1; |