function getTenementInfo($param) { if (isset($param['tenement_id'])) { $tenement_id = intval($param['tenement_id']); $row = Tenement::getFullStatic($tenement_id); if ($row) { $vals = Tenement::getPropertiesValStatic($row); $vals['id'] = $row['id']; $vals['city_id'] = $row['city_id']; $vals['street_id'] = $row['street_id']; $vals['lat'] = $row['lat']; $vals['lon'] = $row['lon']; $vals['address'] = $row['street'] . ', ' . $row['number']; echo json_encode($vals); } else { echo ''; } } else { $city_id = intval($param['city_id']); $number = clearTextData($param['number']); $street = clearTextData($param['street']); $sql = "city_id={$city_id} AND name='{$street}'"; $res = Street::getListLink($sql); $num_rows = $res->numRows(); if ($num_rows < 1) { /* * Добавлять без проверки на человека не будем чтобы не было дыры */ //$street_id = $streetObj->add(array('city_id'=>$city_id, 'name'=>$street)); echo ''; } else { $row = $res->fetchRow(); $street_id = $row['id']; $res = Tenement::getBy("city_id={$city_id} AND street_id={$street_id} AND number LIKE '{$number}'"); if ($res) { $row = $res->fetchRow(); } if ($row) { $vals = Tenement::getPropertiesValStatic($row); $vals['id'] = $row['id']; $vals['city_id'] = $row['city_id']; $vals['street_id'] = $row['street_id']; $vals['lat'] = $row['lat']; $vals['lon'] = $row['lon']; $vals['address'] = $street . ', ' . $row['number']; echo json_encode($vals); } else { echo ''; } } } }
public function update($values, $prefix = '') { $id = $this->id; $options = array(); foreach (self::$_properties as $k => $v) { if ($k == 'street') { $v = clearTextData($values[$k]); $db_res = Street::getListLink('name="' . $v . '" AND city_id=' . intval($values['city_id']) . ' AND status=1'); $row = $db_res->fetchRow(); if ($row) { $options['street_id'] = $row['id']; } else { $street_id = Street::createStatic(array('name' => $v, 'status' => 0)); $options['street_id'] = $street_id; } } elseif ($k != 'city') { $options[$k] = $values[$prefix . $k]; } } parent::update($options, ''); }
public function update($values) { $id = $this->id; $options = array(); $values['price_m'] = intval($values['price'] / $values['total_area']); foreach (self::$_properties as $k => $v) { if ($k == 'street') { $v = clearTextData($values[$k]); $db_res = Street::getListLink('name="' . $v . '" AND city_id=' . intval($values['city_id']) . ' AND status=' . REALTY_STATUS_ACTIVE); $row = $db_res->fetchRow(); if ($row) { $options['street_id'] = $row['id']; } else { $street_id = Street::create(array('name' => $v, 'status' => 0)); $options['street_id'] = $street_id; } } elseif ($k != 'city') { $options[$k] = $values[$k]; } } parent::update($options); }