Example #1
0
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;
}
Example #2
0
 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();
     }
 }
Example #3
0
/**
 * @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;
}
Example #4
0
 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]);
 }
Example #6
0
}
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());
Example #7
0
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'];
}
Example #8
0
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");
}
Example #9
0
 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);
 }
Example #10
0
    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;
     }
 }