示例#1
0
 /**
  * Construct laps from splits object
  */
 protected function constructLapsFromSplits()
 {
     if ($this->handmadeLapsDiffer() && !Request::param('calculate-for-splits')) {
         $this->Laps->readFrom($this->Context->activity()->splits());
         return;
     }
     if ($this->handmadeLapsTimeDiffers()) {
         $this->constructLapsFromSplitsDistances();
     } else {
         $this->constructLapsFromSplitsTimes();
     }
     $num = $this->Laps->num();
     foreach ($this->Context->activity()->splits()->asArray() as $i => $split) {
         if ($i < $num) {
             $this->Laps->at($i)->setMode($split->isActive() ? Lap::MODE_ACTIVE : Lap::MODE_RESTING);
         }
     }
 }
示例#2
0
 /**
  * Construct laps from splits object
  */
 protected function constructLapsFromSplits()
 {
     if ($this->handmadeLapsDiffer() && !Request::param('calculate-for-splits')) {
         $this->Laps->readFrom($this->Context->activity()->splits());
         return;
     }
     $Distances = array();
     $sum = 0;
     foreach ($this->Context->activity()->splits()->asArray() as $split) {
         $Distances[] = $split->distance() + $sum;
         $sum += $split->distance();
     }
     $this->Laps->calculateFrom($Distances, $this->Context->trackdata(), $this->Context->route());
     $num = $this->Laps->num();
     foreach ($this->Context->activity()->splits()->asArray() as $i => $split) {
         if ($i < $num) {
             $this->Laps->at($i)->setMode($split->isActive() ? Lap::MODE_ACTIVE : Lap::MODE_RESTING);
         }
     }
 }