function encoder_redirect_success(Street $new_Street) { $new_Street_name = $new_Street->getStreetName(); $dir = "VIEW/html/Encoder/Add_Place/Add_Place_Street_inc.php?success_edit=1"; $url = BASE_URL . $dir; header("Location:{$url}"); //redirect the encoder to the Streets add place exit; }
public function add_streets() { for ($i = 0; $i < $this->number_of_streets; $i++) { $street = new Street(self::rand_street(), mt_rand(2, 25), mt_rand(49835418, 50071181), mt_rand(36130919, 36452959), mt_rand(49835418, 50071181), mt_rand(36130919, 36452959), mt_rand(3, 50)); $street->add_buildings(); $this->arr_of_streets[] = $street; //$street->display(); } }
/** * @param Category $new_category * this will redirect the user to the add street */ function encoder_redirect_success(Street $street) { $street_name = $street->getStreetName(); $street_name_amharic = $street->getStreetNameAmharic(); $dir = "VIEW/html/Encoder/Add_Place/Add_Place_Street_inc.php?success=1&street_name={$street_name}&street_name_amharic={$street_name_amharic}"; $url = BASE_URL . $dir; header("Location:{$url}"); //redirect the encoder to the regions add place exit; }
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 actionPeriod($start = null, $end = null) { /*if(is_null($start) || is_null($end)) { \Yii::$app->getSession()->setFlash('error', 'Не выбраны интервалы'); $this->redirect('/addressload/address/index'); }*/ $dateStart = (new \DateTime($start))->format('Y-m-d'); $dateEnd = (new \DateTime($end))->format('Y-m-d'); $cities[] = ['Load', 'Num of cities', 'Num of connected']; $streets[] = ['Load', 'Num of streets', 'Streets Without Houses', 'StreetsConnected']; $houses[] = ['Load', 'Num of houses', 'Houses connected']; foreach (City::findBySql("SELECT LOADDATE,CITIESTOTAL,CITIESWITHOUTSTREETS,CITIESCONNECTED FROM CITY WHERE LOADDATE BETWEEN TO_DATE('" . $dateStart . "','yyyy-mm-dd') AND TO_DATE('" . $dateEnd . "','yyyy-mm-dd')")->all() as $city) { $cities[] = [(string) $city->LOADDATE, (int) $city->CITIESTOTAL, (int) $city->CITIESWITHOUTSTREETS, (int) $city->CITIESCONNECTED]; } foreach (Street::findBySql("SELECT LOADDATE,STREETSTOTAL,STREETSWITHOUTHOUSES,STREETSCONNECTED FROM STREET WHERE LOADDATE BETWEEN TO_DATE('" . $dateStart . "','yyyy-mm-dd') AND TO_DATE('" . $dateEnd . "','yyyy-mm-dd')")->all() as $street) { $streets[] = [(string) $street->LOADDATE, (int) $street->STREETSTOTAL, (int) $street->STREETSWITHOUTHOUSES, (int) $street->STREETSCONNECTED]; } foreach (House::findBySql("SELECT LOADDATE,HOUSESTOTAL,HOUSESCONNECTED FROM HOUSE WHERE LOADDATE BETWEEN TO_DATE('" . $start . "','yyyy-mm-dd') AND TO_DATE('" . $end . "','yyyy-mm-dd')")->all() as $house) { $houses[] = [(string) $house->LOADDATE, (int) $house->HOUSESTOTAL, (int) $house->HOUSESCONNECTED]; } return $this->render('index', ['cities' => $cities, 'streets' => $streets, 'houses' => $houses]); }
} class Street { protected $speedLimit; protected $cars; public function __construct($speedLimit = 200) { $this->cars = array(); // 对变量进行初始化 $this->speedLimit = $speedLimit; } protected function isStreetLegal(Car $car) { if ($car->getMaximumSpeed() < $this->speedLimit) { return true; } else { return false; } } public function addCar(Car $car) { if ($this->isStreetLegal($car)) { echo 'The Car was allowed on the road.'; $this->cars[] = $car; } else { echo 'The Car is too fast and was not allowed on the road'; } } } $street = new Street(); $street->addCar(new FastCar());
function getAnyStreet($param) { $id = intval($param['id']); $db_res = Street::getListByCityLink("city_id={$id} LIMIT 1"); $row = $db_res->fetchRow(); echo $row['id'] . '|' . $row['name']; }
function import($s) { if (!isset($_SESSION['user_id'])) { header("Location: index.html"); exit(); } $amount=-1; $num_updated_all = 0; if (isset($_FILES["userfile"])) { if (is_uploaded_file($_FILES['userfile']['tmp_name'])) { $filename = $_FILES['userfile']['tmp_name']; $rows = file($filename); unset($rows[0]); $amount=0; foreach ($rows as $row) { $row = iconv("windows-1251", "utf-8", $row); $el = explode('|',$row); $date = $el[33];//дата объявления //if ($date<date('d.m.Y')) $type_deal = $el[0];//1 - продажа, 2 - аренда $status = ($el[0]==1) ? REALTY_STATUS_IMPORT_SALE : REALTY_STATUS_IMPORT_RENT; $is_city = $el[1];//1-город 2-республика if ($is_city != 1) continue; $rooms = $el[2];//11-комната 22-дом 27-участок 28-уч. под застройку 41-гараж if ($rooms>11) continue; $phone = $el[6]; $an_name = $el[7]; $phone2 = $el[8]; $name2 = $el[9]; $street = $el[10]; //echo "\n$street _\n"; if(!preg_match("/[0-9]+[а-яА-Я]*$/", $street)) { //нет номера дома //continue; } //echo "\n$street\n"; preg_match("/[0-9]+[а-яА-Я]*$/", $street,$nums_tenement); $num = mb_strtolower($nums_tenement[0],'UTF-8');//strtolower($nums_tenement[0]); $street_name = str_replace($num,'',$street); $street_name = trim(str_replace(' ',' ',$street_name)); $street_clear2 = str_replace('ул','',$street_name); $street_clear2 = str_replace('.','',$street_clear2); $street_arr = explode(' ',$street_clear2); //находим самую длинную строку в названии улицы $i = 0; $max_len = ''; $last_len = 0; if(count($street_arr)) { foreach ($street_arr as $c) { if (strlen($c)>$last_len) { $max_len = $c; $last_len = strlen($c); } $i++; } } if ($max_len=='') continue; //echo "\nmax_len=$max_len"; $row = Street::findBy("name LIKE '%$max_len%'"); if (!$row) { $street_id = Street::createStatic(array('name'=>$street_name,'city_id'=>0, 'status'=>0)); } else { $street_id = $row['id']; $street_name = $row['name']; } $storey = $el[12]; $stores = $el[13]; $tenement_type = $el[15]; if ($tenement_type=='КИРП') $type_id=0; elseif ($tenement_type=='ПАН') $type_id=1; elseif ($tenement_type=='БЛОК') $type_id=3; elseif ($tenement_type=='ДЕР') $type_id=4; else $type_id=2; $total_area = str_replace(',','.',$el[16]); //if ($total_area=='') continue; $living_area = str_replace(',','.',$el[17]); $kitchen_area = str_replace(',','.',$el[18]); if (!$kitchen_area) $kitchen_area=9; $description = $el[26]; $price = str_replace(',','.',$el[27]); //if (!($price>0)) continue; $price_k = $el[28];//1-тыс. 2-млн. 5-руб/м 6-у.е./м if ($price_k==1) $price *= 1000; elseif ($price_k==2) $price *= 1000000; elseif ($price_k==5) $price *= $total_area; $haggle = $el[29];//торг/чистая продажа $date_end = $el[31];//срок сдачи дома $row = Tenement::findBy("street_id='$street_id' AND number='$num'"); if ($row) { $tenement_id=$row['id']; } else { $num = clearTextData($num); $options = array( 'city_id'=>0, 'street_id'=>$street_id, 'number'=>$num, 'type_id'=>clearTextData($type_id), 'storeys'=>clearTextData($stores), 'hot_water'=>1, 'type_energy'=>0, 'type_heating'=>0, 'user_id'=>$_SESSION['user_id'], 'status'=>REALTY_STATUS_NEW ); $address = urlencode('Йошкар-Ола, '.$street_name.', д.'.$num); $geo_url = 'http://psearch-maps.yandex.ru/1.x/?text='.$address.'&key='.YANDEX_KEY.'&format=json'; $json = file_get_contents($geo_url); $d = json_decode($json); if (isset($d->{'response'}->{'GeoObjectCollection'}->{'featureMember'}[0]->{'GeoObject'}->{'Point'}->{'pos'})) { $coords = explode(' ',$d->{'response'}->{'GeoObjectCollection'}->{'featureMember'}[0]->{'GeoObject'}->{'Point'}->{'pos'}); $options['lon'] = $coords[0]; $options['lat'] = $coords[1]; } $tenement_id = Tenement::addStatic($options); } if (!$tenement_id) continue; $num_updated = Flat::updateByCondition("tenement_id='$tenement_id' AND rooms='$rooms' AND storey='$storey' AND price='$price' AND user_id='{$_SESSION['user_id']}'",array('updated_on'=>date('Y-m-d H:i:s'))); $num_updated_all += $num_updated; if ($num_updated>0) continue; $contacts = ($phone2!='') ? $phone2.' '.$name2 : $phone.' '.$an_name; $options = array( 'tenement_id'=>$tenement_id, 'price'=>clearTextData($price), 'rooms'=>clearTextData($rooms), 'storey'=>clearTextData($storey), 'total_area'=>clearTextData($total_area), 'kitchen_area'=>clearTextData($kitchen_area), 'living_area'=>clearTextData($living_area), 'description'=>clearTextData($description,1000), 'contacts'=>clearTextData($contacts), 'user_id'=>$_SESSION['user_id'], 'status'=>$status ); Flat::addStatic($options); $amount++; } $dest = IMPORT_PATH.$_SESSION['user_id'].'_'.date('d').'_'.date('m').'_'.date('H').'_'.date('i').'_'.date('s').'.txt'; move_uploaded_file($filename,$dest); } } $s->assign("amount",$amount); $s->assign("num_updated_all",$num_updated_all); $s->display("import.tpl"); }
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); }
protected $cars; public function __construct($speedLimit = 200) { $this->cars = array(); $this->speedLimit = $speedLimit; } public function isStreetLegal($car) { if ($car instanceof ISpeedInfo) { if ($car->getMaximumSpeed() < $this->speedLimit) { return true; } else { return false; } } else { // 扩展类必须实现ISpeedInfo才能使street合法 return false; } } public function addCar($car) { if ($this->isStreetLegal($car)) { echo 'The Car is was allowed on the road'; $this->cars[] = $car; } else { echo 'The Car is too fast and was not allowed on the road'; } } } $street = new Street(); $street->addCar(new Car());
/** * @param Street $street * @return bool * this function takes a street object * parameter and adds it to the database */ function Add_Street(Street $street) { $street_name = $street->getStreetName(); $street_name_amharic = $street->getStreetNameAmharic(); $about_street = $street->getAboutStreet(); $about_street_amharic = $street->getAboutStreetAmharic(); $query = "INSERT INTO Street (Name,Name_Amharic,About_Street,About_Street_Amharic) VALUE ('{$street_name}','{$street_name_amharic}','{$about_street}','{$about_street_amharic}')"; $result = mysqli_query($this->getDbc(), $query); if ($result) { return TRUE; } else { return False; } }
function Edit_Street(Street $Street, $Street_ID) { $Street_Name = $Street->getStreetName(); $Street_Name_Amharic = $Street->getStreetNameAmharic(); $About_Street = $Street->getStreetName(); $About_Street_Amharic = $Street->getStreetNameAmharic(); $query = "UPDATE street\n\t\t\t\t\tset Name='{$Street_Name}',Name_Amharic='{$Street_Name_Amharic}',\n\t\t\t\t\tAbout_Street='{$About_Street}',About_Street_Amharic='{$About_Street_Amharic}'\n\t\t\t\t\twhere ID='{$Street_ID}'"; $result = mysqli_query($this->getDbc(), $query); if ($result) { return TRUE; } else { return FALSE; } }