--- loncom/interface/loncoursedata.pm 2002/08/03 18:47:24 1.11 +++ loncom/interface/loncoursedata.pm 2002/08/05 14:16:19 1.12 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # (Publication Handler # -# $Id: loncoursedata.pm,v 1.11 2002/08/03 18:47:24 stredwic Exp $ +# $Id: loncoursedata.pm,v 1.12 2002/08/05 14:16:19 stredwic Exp $ # # Copyright Michigan State University Board of Trustees # @@ -182,7 +182,7 @@ database. =cut sub DownloadCourseInformation { - my ($namedata,$courseID,$lastDownloadTime)=@_; + my ($namedata,$courseID,$lastDownloadTime,$WhatIWant)=@_; my %courseData; my ($name,$domain) = split(/\:/,$namedata); @@ -197,13 +197,10 @@ sub DownloadCourseInformation { } # Download course data - my $WhatIWant = '(version:(\w|\/|\.)+?$|'; - $WhatIWant .= '\d+?:(\w|\/|\.)+?:(resource\.\d+\.'; - $WhatIWant .= '(solved|tries|previous|awarded|(\d+\.submission))'; - $WhatIWant .= '|timestamp)'; - $WhatIWant .= ')'; -# %courseData=&Apache::lonnet::dump($courseID, $domain, $name, $WhatIWant); - %courseData=&Apache::lonnet::dump($courseID, $domain, $name); + if(!defined($WhatIWant)) { + $WhatIWant = '.'; + } + %courseData=&Apache::lonnet::dump($courseID, $domain, $name, $WhatIWant); $courseData{'UpToDate'} = 'false'; $courseData{'lastDownloadTime'}=time; return \%courseData; @@ -284,7 +281,11 @@ sub ProcessTopResourceMap { $currentSequence=-1; my $topLevelSequenceNumber = $currentSequence; + my $problemCount=0; + my $problemCount2=0; my %sequenceRecord; + my $sequenceCount=0; + my $sequenceCount2=0; while(1) { if($c->aborted()) { last; @@ -293,6 +294,7 @@ sub ProcessTopResourceMap { #if page || sequence if(defined($hash{'map_pc_'.$hash{'src_'.$currentResourceID}}) && !defined($sequenceRecord{$currentResourceID})) { + $sequenceCount++; $sequenceRecord{$currentResourceID}++; push(@sequences, $currentSequence); push(@currentResource, $currentResourceID); @@ -323,17 +325,22 @@ sub ProcessTopResourceMap { last; } } + next; } # Handle gradable resources: exams, problems, etc $currentResourceID=~/(\d+)\.(\d+)/; my $partA=$1; my $partB=$2; + if($hash{'src_'.$currentResourceID}=~/\.problem$/) { + $problemCount++; + } if($hash{'src_'.$currentResourceID}=~ /\.(problem|exam|quiz|assess|survey|form)$/ && $partA eq $currentSequence && !defined($sequenceRecord{$currentSequence.':'. $currentResourceID})) { + $problemCount2++; $sequenceRecord{$currentSequence.':'.$currentResourceID}++; my $Problem = &Apache::lonnet::symbclean( &Apache::lonnet::declutter($hash{'map_id_'.$partA}). @@ -409,6 +416,7 @@ sub ProcessTopResourceMap { $lastResourceID=pop(@finishResource); if(defined($cache->{$currentSequence.':problems'})) { + $sequenceCount2++; # Capture sequence information here $cache->{$currentSequence.':title'}= $hash{'title_'.$currentResourceID}; @@ -473,6 +481,10 @@ sub ProcessTopResourceMap { $currentResourceID=pop(@currentResource); } + $cache->{'jasoncount'}=$problemCount; + $cache->{'jasoncount2'}=$problemCount2; + $cache->{'jasonseq'}=$sequenceCount; + $cache->{'jasonseq2'}=$sequenceCount2; unless (untie(%hash)) { &Apache::lonnet::logthis("WARNING: ". "Could not untie coursemap $fn (browse)".