Diff for /loncom/interface/loncoursedata.pm between versions 1.5 and 1.9

version 1.5, 2002/07/25 19:31:32 version 1.9, 2002/07/30 23:07:10
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');
             $cache->{$currentResourceID.':title'}=              $cache->{$currentResourceID.':title'}=
                 $hash{'title_'.$currentResourceID};                  $hash{'title_'.$currentResourceID};
               $cache->{$currentResourceID.':source'}=
                   $hash{'src_'.$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;
                           }
                       }
                       if($beenHere{'r:'.$partId.':'.$responseId} == 0) {
                           $beenHere{'r:'.$partId.':'.$responseId}++;
                           if(!defined($cache->{$currentSequence.':'.
                                                $currentResourceID.':'.$partId.
                                                ':responseIDs'})) {
                               $cache->{$currentSequence.':'.$currentResourceID.
                                        ':'.$partId.':responseIDs'}=$responseId;
                           } else {
                               $cache->{$currentSequence.':'.$currentResourceID.
                                        ':'.$partId.':responseIDs'}.=':'.
                                                                     $responseId;
                           }
                     }                      }
                     foreach (split(/\,/,                      if(/^optionresponse/ && 
                              &Apache::lonnet::metadata($meta,'packages'))) {                         $beenHere{'o:'.$partId.':'.$currentResourceID} == 0) {
                         if($_=~/^optionresponse\_($Part)\_(\w+)$/) {                          $beenHere{'o:'.$partId.$currentResourceID}++;
                             if(defined($cache->{'OptionResponses'})) {                          if(defined($cache->{'OptionResponses'})) {
                                 $cache->{'OptionResponses'}.= ':::'.                              $cache->{'OptionResponses'}.= ':::'.
                                     $hash{'src_'.$currentResourceID}.'::'.                                  $currentResourceID.':'.
                                     $hash{'title_'.$currentResourceID}.'::'.                                  $partId.':'.$responseId;
                                     $Part.'::'.$Problem;                          } else {
                             } else {                              $cache->{'OptionResponses'}= $currentResourceID.
                                 $cache->{'OptionResponses'}=                                  ':'.$partId.':'.$responseId;
                                     $hash{'src_'.$currentResourceID}.'::'.  
                                     $hash{'title_'.$currentResourceID}.'::'.  
                                     $Part.'::'.$Problem;  
                             }  
                         }                          }
                     }                      }
                 }                  }
     }              }
  }          }
   
  # 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 515  sub ProcessClasslist { Line 533  sub ProcessClasslist {
         $cache->{$name.':domain'}=$studentDomain;          $cache->{$name.':domain'}=$studentDomain;
         if(!defined($cache->{$name.':lastDownloadTime'})) {          if(!defined($cache->{$name.':lastDownloadTime'})) {
             $cache->{$name.':lastDownloadTime'}='Not downloaded';              $cache->{$name.':lastDownloadTime'}='Not downloaded';
               $cache->{$name.':updateTime'}=' Not updated';
         }          }
   
         my ($checkForError)=keys(%$studentInformation);          my ($checkForError)=keys(%$studentInformation);
Line 558  sub ProcessClasslist { Line 577  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;
Line 604  sub ProcessStudentData { Line 634  sub ProcessStudentData {
   
     if($courseData->{'UpToDate'} eq 'true') {      if($courseData->{'UpToDate'} eq 'true') {
         $cache->{$name.':lastDownloadTime'}=$courseData->{'lastDownloadTime'};          $cache->{$name.':lastDownloadTime'}=$courseData->{'lastDownloadTime'};
           if($courseData->{'lastDownloadTime'} eq 'Not downloaded') {
               $cache->{$name.':updateTime'} = ' Not updated';
           } else {
               $cache->{$name.':updateTime'}=
                   localtime($courseData->{'lastDownloadTime'});
           }
         return;          return;
     }      }
   
Line 617  sub ProcessStudentData { Line 653  sub ProcessStudentData {
     }      }
   
     $cache->{$name.':lastDownloadTime'}=$courseData->{'lastDownloadTime'};      $cache->{$name.':lastDownloadTime'}=$courseData->{'lastDownloadTime'};
       if($courseData->{'lastDownloadTime'} eq 'Not downloaded') {
           $cache->{$name.':updateTime'} = ' Not updated';
       } else {
           $cache->{$name.':updateTime'}=
               localtime($courseData->{'lastDownloadTime'});
       }
     foreach (@courseKeys) {      foreach (@courseKeys) {
         $cache->{$name.':'.$_}=$courseData->{$_};          $cache->{$name.':'.$_}=$courseData->{$_};
     }      }

Removed from v.1.5  
changed lines
  Added in v.1.9


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