pow(2, 30) || $strasse_id > pow(2, 30) || strlen($hausnummer) > 32) { $this->redirect('Check','',['status' => 'error']); }*/ $hausnummerMatch = true; $gemeinde = new Gemeinde($gemeinde_id); $strasse = new Strasse($strasse_id); // try exact hausnummer $res = $this->db()->select("view_adresseProvider", "*", "gemeinde = '".$gemeinde->name."' AND strasse = '".$strasse->name."' AND hausnummer = '$hausnummer'"); if(!$this->db()->num_rows($res)) { $hausnummerMatch = false; // check for anschlüsse in the same street $res = $this->db()->select("view_adresseProvider", "*", "gemeinde = '".$gemeinde->name."' AND strasse = '".$strasse->name."'"); if(!$this->db()->num_rows($res)) { // XXX: if breitband stmk $this->layout()->setTemplate("Check/Result/Fail"); // xdsl anzeigen return $this->checkVull($request); } } // if multiple hausnummern, anschluss in street available, or multiple providers if($this->db()->num_rows($res)) { $addresses = []; $providers = []; $homeProvider = false; $multipleAddress = false; while($data = $this->db()->fetch_object($res)) { $addresses[] = new Hausnummer($data->id); if($data->provider_id == HOME_PROVIDER_ID) { $homeProvider = true; } if(!in_array($data->provider, $providers)) { $providers[$data->provider_id] = $data->provider; } if($data->hausnummer != $hausnummer) { $multipleAddress = true; } } $pc = new ProductController(); if($homeProvider && $multipleAddress) { $this->layout()->set("debug", "multi hausnummern, homeprovider"); $this->layout()->setTemplate("Check/Result/Street"); return true; } if($homeProvider) { $this->layout()->set("debug", "single hausnummer, homeprovider"); $this->layout()->setTemplate("Check/Result/Success"); $this->layout()->set("productsPrivate", $pc->getProducts(1, "fiber", "privat")); $this->layout()->set("productsBusiness", $pc->getProducts(1, "fiber", "business")); if($data->status == 1) { $this->layout()->set("debug", "single hausnummer, homeprovider, rohr am grundstück"); $this->layout()->setTemplate("Check/Result/Street"); } return true; } if(!$homeProvider) { $this->layout()->set("providers", $providers); $this->layout()->set("debug", "single hausnummer, partner provider"); $this->layout()->setTemplate("Check/Result/SuccessPartner"); return true; } return true; } /*elseif($this->db()->num_rows($res) == 1 && $hausnummerMatch) { // exactly 1 match $data = $this->db()->fetch_object($res); $address = new Hausnummer($data->id); $this->layout()->set("adresse", $address); $this->layout()->set("debug", "single address, only homeprovider"); $this->layout()->setTemplate("Check/Result/Success"); return true; }*/ } }