' . __FUNCTION__ . ''; $addr_check = new AddressCheck(); $addr_check->set_filters($_GET); $buildings_rows = $addr_check->get_buildings(); $mieszkania_rows = $addr_check->get_mieszkania(); echo'
buildings_rows (F.' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($buildings_rows);echo'
'; echo'
mieszkania_rows (F.' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($mieszkania_rows);echo'
'; ?> $building) { $miekszania = array(); if (array_key_exists($building->S_ADDRESS_STREET, $mieszkania_rows)) { $miekszania = $mieszkania_rows[$building->S_ADDRESS_STREET]; unset($mieszkania_rows[$building->S_ADDRESS_STREET]); } ?> A_STATUS}"; ?>"> T_BUILDING_KLATKI == 0)? ' class="klatki-0"' : ''; ?>>T_BUILDING_KLATKI; ?> T_BUILDING_MIESZKANIA == 0)? ' class="mieszk-0"' : ''; ?>>T_BUILDING_MIESZKANIA; ?> T_BUILDING_MIESZKANIA > 0 && $building->T_BUILDING_MIESZKANIA != count($miekszania))? ' class="err-mieszk-count"' : ''; ?>> ' . "(0)" . ''; } else { echo '' . "(" . count($miekszania) . ")" . ''; $m_street_err = array(); foreach ($miekszania as $m_id => $m_street) { if (substr($m_street, 0, strlen($building->S_ADDRESS_STREET)) !== $building->S_ADDRESS_STREET) { $m_street_err []= $m_id; } } if (!empty($m_street_err)) { echo '' . " " . count($m_street_err) . " błędnych adresów" . ''; } $js = "if(this.nextSibling.style.display=='block'){this.nextSibling.style.display='none'}else{this.nextSibling.style.display='block'};return false;"; echo ''; echo '
'; foreach ($miekszania as $m_id => $m_street) { if (in_array($m_id, $m_street_err)) { echo '' . "{$m_street}" . ''; } else { echo "{$m_street}"; } echo " " . '' . "Edytuj $m_id" . ''; echo '
'; } echo '
'; } echo ''; echo '
'; } if (!empty($mieszkania_rows)) { $bad_mieszkania_rows_cnt = count($mieszkania_rows); echo'
 (F.' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($mieszkania_rows);echo'
'; foreach ($mieszkania_rows as $b_street => $v_mieszkania) { echo ''; echo ''; echo ''; echo ''; } } echo ''; echo '
BUILDING USERS2_MARKETING
A_STATUS P_ADDRESS_STREET S_ADDRESS_STREET KLATKI MIESZKANIA Ilość mieszkań
A_STATUS; ?> P_ADDRESS_STREET; ?> S_ADDRESS_STREET; ?> Edytuj
' . '' . ((empty($b_street))? "Brak danych" : $b_street) . '' . ''; if (empty($v_mieszkania)) { echo '' . "(0)" . ''; } else { echo '' . "(" . count($v_mieszkania) . ")" . ''; echo '' . " " . count($v_mieszkania) . " błędnych adresów" . ''; $js = "if(this.nextSibling.style.display=='block'){this.nextSibling.style.display='none'}else{this.nextSibling.style.display='block'};return false;"; echo ''; echo '
'; foreach ($v_mieszkania as $m_id => $m_street) { echo '' . "{$m_street}" . ''; echo " " . '' . "Edytuj $m_id" . ''; echo '
'; } echo '
'; } echo '
'; echo '

' . "Podsumowanie:" . '
'; if ($bad_mieszkania_rows_cnt > 0) { echo "$bad_mieszkania_rows_cnt błędnie przypisanych mieszkań"; } echo '

'; die(''); } class AddressCheck { var $_filters = array(); function set_filters($filters) { $this->_filters = $filters; } function sort_mieszkania_callback($street_a, $street_b) { $a = array(); $street_arr = explode('/', $street_a, 2); $nr_domu_a = intval( preg_replace('/[^0-9]/', '', end($street_arr)) ); $b = array(); $street_arr = explode('/', $street_b, 2); $nr_domu_b = intval( preg_replace('/[^0-9]/', '', end($street_arr)) ); if ($nr_domu_a < $nr_domu_b) { return -1; } else if ($nr_domu_a > $nr_domu_b) { return 1; } else { return 0; } } function sort_buildings_callback($row_a, $row_b) { $a = array(); $a['nr_domu'] = intval( preg_replace('/[^0-9]/', '', $row_a->S_ADDRESS_STREET) ); $a['street_short'] = preg_replace('/[0-9]/', '', $row_a->S_ADDRESS_STREET); $b = array(); $b['nr_domu'] = intval( preg_replace('/[^0-9]/', '', $row_b->S_ADDRESS_STREET) ); $b['street_short'] = preg_replace('/[0-9]/', '', $row_b->S_ADDRESS_STREET); if ($a['street_short'] < $b['street_short']) { return -1; } else if ($a['street_short'] > $b['street_short']) { return 1; } else if ($a['nr_domu'] < $b['nr_domu']) { return -1; } else if ($a['nr_domu'] > $b['nr_domu']) { return 1; } else { return 0; } } function get_buildings() { $buildings = array(); $db = DB::getDB(); $sql_where = "b.`A_STATUS` not in ('DELETED')"; $sql = "select b.`ID` , b.`A_STATUS` , b.`S_ADDRESS_STREET` , b.`P_ADDRESS_STREET` , b.`T_BUILDING_KLATKI` , b.`T_BUILDING_MIESZKANIA` from `BUILDINGS` as b where {$sql_where} order by b.`S_ADDRESS_STREET` ASC "; $res = $db->query($sql); while ($r = $db->fetch($res)) { $r->S_ADDRESS_STREET = strtoupper($r->S_ADDRESS_STREET); $buildings [$r->ID]= $r; } uasort($buildings, array($this, 'sort_buildings_callback')); return $buildings; } function get_mieszkania() { $mieszkania = array(); $db = DB::getDB(); $sql = "select m.`ID` , m.`S_ADDRESS_STREET` , m.`T_TELBOX_BUILDING_IN` from `USERS2_MARKETING` as m where m.`A_STATUS` not in ('DELETED') "; $res = $db->query($sql); while ($r = $db->fetch($res)) { $r->T_TELBOX_BUILDING_IN = strtoupper($r->T_TELBOX_BUILDING_IN); $r->S_ADDRESS_STREET = strtoupper($r->S_ADDRESS_STREET); $mieszkania [$r->T_TELBOX_BUILDING_IN] [$r->ID] = $r->S_ADDRESS_STREET; } foreach ($mieszkania as $b_street => $v_arr) { uasort($mieszkania[$b_street], array($this, 'sort_mieszkania_callback')); } return $mieszkania; } }