--- loncom/interface/loncoursedata.pm 2003/02/25 20:36:29 1.52 +++ loncom/interface/loncoursedata.pm 2003/03/03 21:52:24 1.55 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursedata.pm,v 1.52 2003/02/25 20:36:29 matthew Exp $ +# $Id: loncoursedata.pm,v 1.55 2003/03/03 21:52:24 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -280,7 +280,6 @@ The returned structure is a hash referen source => '/s/o/u/r/c/e', type => (container|assessment), num_assess => 2, # only for container - contents => [ {},{},{},{} ], # only for container parts => [11,13,15], # only for assessment response_ids => [12,14,16], # only for assessment contents => [........] # only for container @@ -324,6 +323,7 @@ sub get_sequence_assessment_data { symb => $symb, type => 'container', num_assess => 0, + num_assess_parts => 0, contents => [], }; push (@Sequences,$top); push (@Nested_Sequences, $top); @@ -369,10 +369,13 @@ sub get_sequence_assessment_data { src => $src, symb => $symb, type => 'assessment', + parts => $parts, + num_parts => scalar(@$parts), }; push(@Assessments,$assessment); push(@{$currentmap->{'contents'}},$assessment); $currentmap->{'num_assess'}++; + $currentmap->{'num_assess_parts'}+= scalar(@$parts); } return ($top,\@Sequences,\@Assessments); } @@ -1305,21 +1308,20 @@ sub DownloadStudentCourseData { $WhatIWant .= ')'; # $WhatIWant = '.'; + my %prog_state; if($status eq 'true') { - &Apache::lonhtmlcommon::Create_PrgWin($r, $title, $heading); + %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r, $title, + $heading,($#$students)+1); } - my $displayString; - my $count=0; foreach (@$students) { my %cache; if($c->aborted()) { return 'Aborted'; } if($status eq 'true') { - $count++; - my $displayString = $count.'/'.$studentCount.': '.$_; - &Apache::lonhtmlcommon::Update_PrgWin($displayString, $r); + &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state, + 'last student '.$_); } my $downloadTime='Not downloaded'; @@ -1356,7 +1358,7 @@ sub DownloadStudentCourseData { next; } } - if($status eq 'true') { &Apache::lonhtmlcommon::Close_PrgWin($r); } + if($status eq 'true') { &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); } return 'OK'; } @@ -1377,10 +1379,11 @@ sub DownloadStudentCourseDataSeparate { &CheckForResidualDownload($cacheDB, 'true', 'true', $courseID, $r, $c); my $studentCount = scalar(@$students); + my %prog_state; if($status eq 'true') { - &Apache::lonhtmlcommon::Create_PrgWin($r, $title, $heading); + %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r, $title, + $heading,($#$students)+1); } - my $count=0; my $displayString=''; foreach (@$students) { if($c->aborted()) { @@ -1388,9 +1391,8 @@ sub DownloadStudentCourseDataSeparate { } if($status eq 'true') { - $count++; - $displayString = $count.'/'.$studentCount.': '.$_; - &Apache::lonhtmlcommon::Update_PrgWin($displayString, $r); + &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state, + 'last student '.$_); } my %cache; @@ -1435,7 +1437,8 @@ sub DownloadStudentCourseDataSeparate { } untie(%downloadData); } - if($status eq 'true') { &Apache::lonhtmlcommon::Close_PrgWin($r); } + if($status eq 'true') { &Apache::lonhtmlcommon::Close_PrgWin($r, + \%prog_state); } return &CheckForResidualDownload($cacheDB, 'true', 'true', $courseID, $r, $c); @@ -1474,8 +1477,10 @@ sub CheckForResidualDownload { my $heading = 'Process Course Data'; my $title = 'LON-CAPA Statistics'; my $studentCount = scalar(@students); + my %prog_state; if($status eq 'true') { - &Apache::lonhtmlcommon::Create_PrgWin($r, $title, $heading); + %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r, $title, + $heading,$#students+1); } my $count=1; @@ -1483,8 +1488,8 @@ sub CheckForResidualDownload { last if($c->aborted()); if($status eq 'true') { - my $displayString = $count.'/'.$studentCount.': '.$name; - &Apache::lonhtmlcommon::Update_PrgWin($displayString, $r); + &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state, + 'last student '.$name); } if($extract eq 'true') { @@ -1495,7 +1500,8 @@ sub CheckForResidualDownload { $count++; } - if($status eq 'true') { &Apache::lonhtmlcommon::Close_PrgWin($r); } + if($status eq 'true') { &Apache::lonhtmlcommon::Close_PrgWin($r, + \%prog_state); } untie(%cache); untie(%downloadData); @@ -1684,13 +1690,26 @@ $ENV{'course.'.$cid.'.domain'}, and $ENV Returns a reference to a hash which contains: keys '$sname:$sdom' - values [$end,$start,$id,$section,$fullname] + values [$sdom,$sname,$end,$start,$id,$section,$fullname,$status] + +The constant values CL_SDOM, CL_SNAME, CL_END, etc. can be used +as indices into the returned list to future-proof clients against +changes in the list order. =cut ################################################ ################################################ +sub CL_SDOM { return 0; } +sub CL_SNAME { return 1; } +sub CL_END { return 2; } +sub CL_START { return 3; } +sub CL_ID { return 4; } +sub CL_SECTION { return 5; } +sub CL_FULLNAME { return 6; } +sub CL_STATUS { return 7; } + sub get_classlist { my ($cid,$cdom,$cnum) = @_; $cid = $cid || $ENV{'request.course.id'};