version 1.62, 2008/08/20 21:28:14
|
version 1.66.2.1, 2008/09/20 04:02:46
|
Line 169 sub propagate_id_change {
|
Line 169 sub propagate_id_change {
|
} |
} |
|
|
sub update_classlist { |
sub update_classlist { |
my ($cdom,$cnum,$udom,$uname,$user) = @_; |
my ($cdom,$cnum,$udom,$uname,$user,$newend) = @_; |
my ($uid,$classlistentry); |
my ($uid,$classlistentry); |
my $fullname = |
my $fullname = |
&Apache::lonnet::format_name($user->{'firstname'},$user->{'middlename'}, |
&Apache::lonnet::format_name($user->{'firstname'},$user->{'middlename'}, |
Line 180 sub update_classlist {
|
Line 180 sub update_classlist {
|
my @classinfo = split(/:/,$classhash{$uname.':'.$udom}); |
my @classinfo = split(/:/,$classhash{$uname.':'.$udom}); |
my $ididx=&Apache::loncoursedata::CL_ID() - 2; |
my $ididx=&Apache::loncoursedata::CL_ID() - 2; |
my $nameidx=&Apache::loncoursedata::CL_FULLNAME() - 2; |
my $nameidx=&Apache::loncoursedata::CL_FULLNAME() - 2; |
|
my $endidx = &Apache::loncoursedata::CL_END() - 2; |
|
my $startidx = &Apache::loncoursedata::CL_START() - 2; |
for (my $i=0; $i<@classinfo; $i++) { |
for (my $i=0; $i<@classinfo; $i++) { |
if ($i == $ididx) { |
if ($i == $endidx) { |
|
if ($newend ne '') { |
|
$classlistentry .= $newend.':'; |
|
} else { |
|
$classlistentry .= $classinfo[$i].':'; |
|
} |
|
} elsif ($i == $startidx) { |
|
if ($newend ne '') { |
|
if ($classinfo[$i] > $newend) { |
|
$classlistentry .= $newend.':'; |
|
} else { |
|
$classlistentry .= $classinfo[$i].':'; |
|
} |
|
} else { |
|
$classlistentry .= $classinfo[$i].':'; |
|
} |
|
} elsif ($i == $ididx) { |
if (defined($user->{'id'})) { |
if (defined($user->{'id'})) { |
$classlistentry .= $user->{'id'}.':'; |
$classlistentry .= $user->{'id'}.':'; |
} else { |
} else { |
$classlistentry .= $classinfo[$i].':'; |
$classlistentry .= $classinfo[$i].':'; |
} |
} |
} elsif ($i == $nameidx) { |
} elsif ($i == $nameidx) { |
$classlistentry .= $fullname.':'; |
if (defined($user->{'lastname'})) { |
|
$classlistentry .= $fullname.':'; |
|
} else { |
|
$classlistentry .= $classinfo[$i].':'; |
|
} |
} else { |
} else { |
$classlistentry .= $classinfo[$i].':'; |
$classlistentry .= $classinfo[$i].':'; |
} |
} |
Line 1315 sub print_userlist {
|
Line 1337 sub print_userlist {
|
if ($context eq 'course') { |
if ($context eq 'course') { |
if (($env{'form.showrole'} eq 'st') || ($env{'form.showrole'} eq 'Any')) { |
if (($env{'form.showrole'} eq 'st') || ($env{'form.showrole'} eq 'Any')) { |
my $classlist = &Apache::loncoursedata::get_classlist(); |
my $classlist = &Apache::loncoursedata::get_classlist(); |
%userlist = %{$classlist}; |
if (ref($classlist) eq 'HASH') { |
|
%userlist = %{$classlist}; |
|
} |
} |
} |
if ($env{'form.showrole'} ne 'st') { |
if ($env{'form.showrole'} ne 'st') { |
my $showroles; |
my $showroles; |
Line 2219 END
|
Line 2243 END
|
time.'_'.rand(1000000000).'.csv'; |
time.'_'.rand(1000000000).'.csv'; |
unless ($CSVfile = Apache::File->new('>/home/httpd'.$CSVfilename)) { |
unless ($CSVfile = Apache::File->new('>/home/httpd'.$CSVfilename)) { |
$r->log_error("Couldn't open $CSVfilename for output $!"); |
$r->log_error("Couldn't open $CSVfilename for output $!"); |
$r->print("Problems occured in writing the csv file. ". |
$r->print(&mt('Problems occurred in writing the CSV file. ' |
"This error has been logged. ". |
.'This error has been logged. ' |
"Please alert your LON-CAPA administrator."); |
.'Please alert your LON-CAPA administrator.')); |
$CSVfile = undef; |
$CSVfile = undef; |
} |
} |
# |
# |
Line 2533 END
|
Line 2557 END
|
$r->print(&Apache::loncommon::end_data_table().'<br />'); |
$r->print(&Apache::loncommon::end_data_table().'<br />'); |
} elsif ($mode eq 'excel') { |
} elsif ($mode eq 'excel') { |
$excel_workbook->close(); |
$excel_workbook->close(); |
$r->print('<p><a href="'.$excel_filename.'">'. |
$r->print(&mt('[_1]Your Excel spreadsheet[_2] is ready for download.', '<p><a href="'.$excel_filename.'">','</a>')."</p>\n"); |
&mt('Your Excel spreadsheet').'</a> '.&mt('is ready for download').'.</p>'."\n"); |
|
} elsif ($mode eq 'csv') { |
} elsif ($mode eq 'csv') { |
close($CSVfile); |
close($CSVfile); |
$r->print('<a href="'.$CSVfilename.'">'. |
$r->print(&mt('[_1]Your CSV file[_2] is ready for download.', '<p><a href="'.$CSVfilename.'">','</a>')."</p>\n"); |
&mt('Your CSV file').'</a> is ready for download.'. |
|
"\n"); |
|
$r->rflush(); |
$r->rflush(); |
} |
} |
if ($mode eq 'autoenroll') { |
if ($mode eq 'autoenroll') { |
Line 3486 sub upfile_drop_add {
|
Line 3507 sub upfile_drop_add {
|
if ($context eq 'course') { |
if ($context eq 'course') { |
my ($cnum,$cdom) = &get_course_identity(); |
my ($cnum,$cdom) = &get_course_identity(); |
my $roster = &Apache::loncoursedata::get_classlist(); |
my $roster = &Apache::loncoursedata::get_classlist(); |
%userlist = %{$roster}; |
if (ref($roster) eq 'HASH') { |
|
%userlist = %{$roster}; |
|
} |
my %advrolehash = &Apache::lonnet::get_my_roles($cnum,$cdom,undef, |
my %advrolehash = &Apache::lonnet::get_my_roles($cnum,$cdom,undef, |
\@statuses,\@poss_roles); |
\@statuses,\@poss_roles); |
&gather_userinfo($context,'view',\%userlist,$indexhash,\%info, |
&gather_userinfo($context,'view',\%userlist,$indexhash,\%info, |
Line 3877 sub upfile_drop_add {
|
Line 3900 sub upfile_drop_add {
|
'<input type="hidden" name="action" value="'.$env{'form.action'}.'" />'. |
'<input type="hidden" name="action" value="'.$env{'form.action'}.'" />'. |
&mt('There are no students with current/future access to the course.'). |
&mt('There are no students with current/future access to the course.'). |
'</form>'."\n"); |
'</form>'."\n"); |
} else { |
} elsif (ref($classlist) eq 'HASH') { |
# Remove the students we just added from the list of students. |
# Remove the students we just added from the list of students. |
foreach my $line (@userdata) { |
foreach my $line (@userdata) { |
my %entries=&Apache::loncommon::record_sep($line); |
my %entries=&Apache::loncommon::record_sep($line); |
Line 4256 sub classlist_drop {
|
Line 4279 sub classlist_drop {
|
my ($scope,$uname,$udom,$now) = @_; |
my ($scope,$uname,$udom,$now) = @_; |
my ($cdom,$cnum) = ($scope=~m{^/($match_domain)/($match_courseid)}); |
my ($cdom,$cnum) = ($scope=~m{^/($match_domain)/($match_courseid)}); |
if (&Apache::lonnet::is_course($cdom,$cnum)) { |
if (&Apache::lonnet::is_course($cdom,$cnum)) { |
my $user = $uname.':'.$udom; |
|
if (!&active_student_roles($cnum,$cdom,$uname,$udom)) { |
if (!&active_student_roles($cnum,$cdom,$uname,$udom)) { |
my $result = |
my %user; |
&Apache::lonnet::cput('classlist', |
my $result = &update_classlist($cdom,$cnum,$udom,$uname,\%user,$now); |
{ $user => $now },$cdom,$cnum); |
|
return &mt('Drop from classlist: [_1]', |
return &mt('Drop from classlist: [_1]', |
'<b>'.$result.'</b>').'<br />'; |
'<b>'.$result.'</b>').'<br />'; |
} |
} |