Diff for /loncom/interface/loncoursedata.pm between versions 1.6 and 1.8

version 1.6, 2002/07/25 21:23:51 version 1.8, 2002/07/30 21:31:48
Line 106  sub DownloadClasslist { Line 106  sub DownloadClasslist {
     my ($courseDomain,$courseNumber)=split(/\_/,$courseID);      my ($courseDomain,$courseNumber)=split(/\_/,$courseID);
     my %classlist;      my %classlist;
   
 #    my $modifiedTime = &GetFileTimestamp($courseDomain, $courseNumber,      my $modifiedTime = &GetFileTimestamp($courseDomain, $courseNumber,
 #                                     'classlist.db',                                        'classlist.db', 
 #                                     $Apache::lonnet::perlvar{'lonUsersDir'});                                       $Apache::lonnet::perlvar{'lonUsersDir'});
   
 #    if($lastDownloadTime ne 'Not downloaded' &&      if($lastDownloadTime ne 'Not downloaded' &&
 #       $lastDownloadTime >= $modifiedTime && $modifiedTime >= 0) {         $lastDownloadTime >= $modifiedTime && $modifiedTime >= 0) {
 #        $classlist{'lastDownloadTime'}=time;          $classlist{'lastDownloadTime'}=time;
 #        $classlist{'UpToDate'} = 'true';          $classlist{'UpToDate'} = 'true';
 #        return \%classlist;          return \%classlist;
 #    }      }
   
     %classlist=&Apache::lonnet::dump('classlist',$courseDomain, $courseNumber);      %classlist=&Apache::lonnet::dump('classlist',$courseDomain, $courseNumber);
     my ($checkForError)=keys (%classlist);      my ($checkForError)=keys (%classlist);
Line 186  sub DownloadCourseInformation { Line 186  sub DownloadCourseInformation {
     my %courseData;      my %courseData;
     my ($name,$domain) = split(/\:/,$namedata);      my ($name,$domain) = split(/\:/,$namedata);
   
 #    my $modifiedTime = &GetFileTimestamp($domain, $name,      my $modifiedTime = &GetFileTimestamp($domain, $name,
 #                                      $courseID.'.db',                                         $courseID.'.db', 
 #                                      $Apache::lonnet::perlvar{'lonUsersDir'});                                        $Apache::lonnet::perlvar{'lonUsersDir'});
 #    if($lastDownloadTime >= $modifiedTime) {  
 #        $courseData{'lastDownloadTime'}=time;      if($lastDownloadTime >= $modifiedTime) {
 #        $courseData{'UpToDate'} = 'true';          $courseData{'lastDownloadTime'}=time;
 #        return \%courseData;          $courseData{'UpToDate'} = 'true';
 #    }          return \%courseData;
       }
   
     # Download course data      # Download course data
     %courseData=&Apache::lonnet::dump($courseID, $domain, $name);      %courseData=&Apache::lonnet::dump($courseID, $domain, $name);
Line 336  sub ProcessTopResourceMap { Line 337  sub ProcessTopResourceMap {
     ':'.$currentResourceID;      ':'.$currentResourceID;
     }      }
   
               $cache->{$currentResourceID.':source'} = 
                   $hash{'src_'.$currentResourceID};
     my $meta=$hash{'src_'.$currentResourceID};      my $meta=$hash{'src_'.$currentResourceID};
 #            $cache->{$currentResourceID.':title'}=  #            $cache->{$currentResourceID.':title'}=
 #                &Apache::lonnet::metdata($meta,'title');  #                &Apache::lonnet::metdata($meta,'title');
Line 343  sub ProcessTopResourceMap { Line 346  sub ProcessTopResourceMap {
                 $hash{'title_'.$currentResourceID};                  $hash{'title_'.$currentResourceID};
   
             # Get Parts for problem              # Get Parts for problem
     foreach (split(/\,/,&Apache::lonnet::metadata($meta,'keys'))) {              my %beenHere;
  if($_=~/^stores\_(\d+)\_tries$/) {              foreach (split(/\,/,&Apache::lonnet::metadata($meta,'packages'))) {
     my $Part=&Apache::lonnet::metadata($meta,$_.'.part');                  if(/^\w+response_\d+.*/) {
                     if(!defined($cache->{$currentSequence.':'.                      my (undef, $partId, $responseId) = split(/_/,$_);
                                           $currentResourceID.':parts'})) {                      if($beenHere{'p:'.$partId} ==  0) {
                         $cache->{$currentSequence.':'.$currentResourceID.                          $beenHere{'p:'.$partId}++;
                                    ':parts'}=$Part;                          if(!defined($cache->{$currentSequence.':'.
                     } else {                                              $currentResourceID.':parts'})) {
                         $cache->{$currentSequence.':'.$currentResourceID.                              $cache->{$currentSequence.':'.$currentResourceID.
                                    ':parts'}.=':'.$Part;                                       ':parts'}=$partId;
                           } else {
                               $cache->{$currentSequence.':'.$currentResourceID.
                                        ':parts'}.=':'.$partId;
                           }
                     }                      }
                     foreach (split(/\,/,                      if($beenHere{'r:'.$partId.':'.$responseId} == 0) {
                              &Apache::lonnet::metadata($meta,'packages'))) {                          $beenHere{'r:'.$partId.':'.$responseId}++;
                         if($_=~/^optionresponse\_($Part)\_(\w+)$/) {                          if(!defined($cache->{$currentSequence.':'.
                             if(defined($cache->{'OptionResponses'})) {                                               $currentResourceID.':'.$partId.
                                 $cache->{'OptionResponses'}.= ':::'.                                               ':responseIDs'})) {
                                     $hash{'src_'.$currentResourceID}.'::'.                              $cache->{$currentSequence.':'.$currentResourceID.
                                     $hash{'title_'.$currentResourceID}.'::'.                                       ':'.$partId.':responseIDs'}=$responseId;
                                     $Part.'::'.$Problem;                          } else {
                             } else {                              $cache->{$currentSequence.':'.$currentResourceID.
                                 $cache->{'OptionResponses'}=                                       ':'.$partId.':responseIDs'}.=':'.
                                     $hash{'src_'.$currentResourceID}.'::'.                                                                    $responseId;
                                     $hash{'title_'.$currentResourceID}.'::'.                          }
                                     $Part.'::'.$Problem;                      }
                             }                      if(/^optionresponse/ && 
                          $beenHere{'o:'.$partId.':'.$currentResourceID} == 0) {
                           $beenHere{'o:'.$partId.$currentResourceID}++;
                           if(defined($cache->{'OptionResponses'})) {
                               $cache->{'OptionResponses'}.= ':::'.
                                   $currentResourceID.':'.
                                   $partId.':'.$responseId;
                           } else {
                               $cache->{'OptionResponses'}= $currentResourceID.
                                   ':'.$partId.':'.$responseId;
                         }                          }
                     }                      }
                 }                  }
     }              }
  }          }
   
  # if resource == finish resource, then it is the end of a sequence/page   # if resource == finish resource, then it is the end of a sequence/page
  if($currentResourceID eq $lastResourceID) {   if($currentResourceID eq $lastResourceID) {
Line 559  sub ProcessClasslist { Line 575  sub ProcessClasslist {
         }          }
         $cache->{$name.':Status'}=$status;          $cache->{$name.':Status'}=$status;
         $cache->{$name.':section'}=$sec;          $cache->{$name.':section'}=$sec;
   
           if($sec eq '' || !defined($sec) || $sec eq ' ') {
               $sec = 'none';
           }
           if(defined($cache->{'sectionList'})) {
               if($cache->{'sectionList'} !~ /(^$sec:|^$sec$|:$sec$|:$sec:)/) {
                   $cache->{'sectionList'} .= ':'.$sec;
               }
           } else {
               $cache->{'sectionList'} = $sec;
           }
     }      }
   
     $cache->{'ClasslistTimestamp'}=time;      $cache->{'ClasslistTimestamp'}=time;

Removed from v.1.6  
changed lines
  Added in v.1.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>