Parcourir la source

Teryt - bug fix

Mariusz Muszyński il y a 8 ans
Parent
commit
9bf29a53be
1 fichiers modifiés avec 4 ajouts et 0 suppressions
  1. 4 0
      SE/se-lib/Teryt.php

+ 4 - 0
SE/se-lib/Teryt.php

@@ -132,6 +132,8 @@ class Teryt {
 
 		}
 
+		$ulicaNeeded = DB::getPDO()->fetchValue("select count(*) from `" . self::ULIC_TABLE . "` where 1 = 1 {$where}") > 0 ? true : false;
+
 		if (isset($args['ulica'])) {
 			$args['ulica'] = trim(preg_replace('/osiedle/i', 'os.', $args['ulica']));
 			$args['ulica'] = trim(preg_replace('/aleja/i', 'al.', $args['ulica']));
@@ -242,6 +244,7 @@ class Teryt {
 				$where = "and WOJ = '{$return['WOJ']}' and POW = '{$return['POW']}' and GMI = '{$return['GMI']}'";
 				$query = "select WOJ, POW, GMI, SYM from `" . self::SIMC_TABLE . "` where NAZWA like " . DB::getPDO()->quote($args['ulica']) . " {$where}";
 				$result = DB::getPDO()->fetchall($query);
+				if (count($result) == 1) $ulicaNeeded = false;
 			}
 
 			if (!$result) {
@@ -257,6 +260,7 @@ class Teryt {
 				$return['GMI'] = $result[0]['GMI'];
 				$return['SYM'] = $result[0]['SYM'];
 				if (isset($result[0]['SYM_UL'])) $return['SYM_UL'] = $result[0]['SYM_UL'];
+				elseif ($ulicaNeeded) throw new Exception("Ulica not found, but needed");
 			}
 
 			if (!isset($return['SYM'])) {