コード例 #1
0
 /**
  * Run recalculations
  */
 public function run()
 {
     $Query = $this->getQuery();
     $Update = $this->prepareUpdate();
     while ($Data = $Query->fetch()) {
         $Elevation = \Runalyze\Model\Object::explode($Data['elevations']);
         $Calculator = new Elevation\Calculation\Calculator($Elevation);
         $Calculator->calculate();
         if ($Calculator->totalElevation() != $Data['elevation'] || $Calculator->elevationUp() != $Data['elevation_up']) {
             $Update->bindValue(':id', $Data['id']);
             $Update->bindValue(':elevation', $Calculator->totalElevation());
             $Update->bindValue(':elevation_up', $Calculator->elevationUp());
             $Update->bindValue(':elevation_down', $Calculator->elevationDown());
             $Update->execute();
             $this->NumberOfRoutes++;
         }
         $this->Results[$Data['id']] = array($Calculator->totalElevation(), $Calculator->elevationUp(), $Calculator->elevationDown());
     }
 }