Ejemplo n.º 1
0
 public function __construct($medlem)
 {
     global $db;
     $this->setMedlem($medlem);
     $this->strackor = Stracka::listByMedlem($this->getMedlem());
     $medlemTotalSteg = $medlem->getStegTotal();
     $medlemTotalKm = Steg::stegToKm($medlemTotalSteg);
     $sql = "SELECT DISTINCT kommunTill_id FROM " . self::TABLE . " WHERE medlem_id = " . $this->getMedlem()->getId();
     $kommunIds = $db->valuesAsArray($sql);
     $kommuner = Kommun::listByIds($kommunIds);
     $this->avstand = Kommun::listAvstandByIds($kommunIds);
     $totalKm = 0;
     $i = 0;
     $static;
     $lastStracka = null;
     foreach ($this->listStrackor() as $stracka) {
         $thisKommun = $kommuner[$stracka->getKommunTillId()];
         $thisKm = 0;
         if ($lastStracka != null) {
             $thisKm = $this->getAvstand($thisKommun, $kommuner[$lastStracka->getKommunTillId()]);
         }
         $totalKm += $thisKm;
         if ($stracka->getStatic() == 1) {
             $static = true;
         } else {
             $static = false;
         }
         if ($totalKm <= $medlemTotalKm) {
             $this->currentIndex = count($this->rutt);
         }
         $this->rutt[] = array("Kommun" => $thisKommun, "TotalKm" => $totalKm, "ThisKm" => $thisKm, "fastRutt" => $static, "id" => $stracka->getId(), "temp" => $stracka->getTempStatus());
         $lastStracka = $stracka;
     }
     if (isset($this->rutt[$this->currentIndex + 1])) {
         $this->kmTillNasta = round($this->rutt[$this->currentIndex + 1]["TotalKm"] - Steg::stegToKm($medlem->getStegTotal()));
     } else {
         $this->kmTillNasta = 0;
     }
 }