Diff for /loncom/homework/structuretags.pm between versions 1.291 and 1.292

version 1.291, 2005/04/29 21:22:33 version 1.292, 2005/06/03 18:17:57
Line 372  sub store_aggregates { Line 372  sub store_aggregates {
         }          }
         if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) {          if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) {
             $aggregate{$symb."\0".$part."\0users"} = 1;              $aggregate{$symb."\0".$part."\0users"} = 1;
           } else {
               my $last_reset = &get_last_reset($symb,$cdomain,$cname,$part); 
               if ($last_reset) {
                   if (&get_num_tries($last_reset,$part) == 0) {
                       $aggregate{$symb."\0".$part."\0users"} = 1;
                   }
               }
         }          }
         $aggregate{$symb."\0".$part."\0attempts"} = 1;          $aggregate{$symb."\0".$part."\0attempts"} = 1;
     }      }
     if (%aggregate) {      if (keys (%aggregate) > 0) {
  &Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate,   &Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate,
       $cdomain,$cname);                               $cdomain,$cname);
       }
   }
   
   # ----------- Timestamp of last reset of aggregates
   sub get_last_reset {
       my ($symb,$cdomain,$cname,$part) =@_;
       my $last_reset = '';
       my %resethash = &Apache::lonnet::restore($symb,'nohist_resourcetracker',$cdomain,$cname);
       if ($resethash{'version'}) {
           for (my $version=$resethash{'version'};$version>=1;$version--) {
               if (exists($resethash{$version.':'.$part."\0".'prev_attempts'})) {
                   $last_reset = $resethash{$version.':timestamp'};
                   last;
               }
           }
       }
       return $last_reset;
   }
   
   # ----------- Provides number of tries since last reset of aggregates
   sub get_num_tries {
       my ($last_reset,$part) = @_;
       my $timestamp = '';
       my $num_tries = 0;
       if ($Apache::lonhomework::history{'version'}) {
           for (my $version=$Apache::lonhomework::history{'version'};$version>=1;$version--) {
               if (exists($Apache::lonhomework::history{$version.':resource.'.$part.'.solved'})) {
                   $timestamp = $Apache::lonhomework::history{$version.':timestamp'};
                   if ($timestamp > $last_reset) {
                       $num_tries ++;
                   } else {
                       last;
                   }
               }
           }
     }      }
       return $num_tries;
 }  }
   
   
 sub checkout_msg {  sub checkout_msg {
     my %lt=&Apache::lonlocal::texthash(       my %lt=&Apache::lonlocal::texthash( 
  'resource'=>'The resource needs to be checked out',   'resource'=>'The resource needs to be checked out',

Removed from v.1.291  
changed lines
  Added in v.1.292


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