HEX
Server: Apache/2.4.63 (Unix)
System: Linux pinkman.beget.ru 5.10.258-0-beget-acl #1 SMP Mon Jun 8 11:35:04 UTC 2026 x86_64
User: kulikosl (3031)
PHP: 8.4.6
Disabled: NONE
Upload Files
File: /home/k/kulikosl/kulikosl.beget.tech/public_html/back/zootheme 2612/functions/yandex.php
<?php

function mygetcoods(){	

$answer=write_yandex_adress_en($_POST['adres']);

echo json_encode($answer,JSON_UNESCAPED_UNICODE);
wp_die();
 } 
add_action('wp_ajax_getcoods', 'mygetcoods');
add_action('wp_ajax_nopriv_getcoods', 'mygetcoods');







 function write_yandex_adress_en($adress)
{ 
global  $wpdb;
$table_adres = $wpdb->get_blog_prefix() . 'api_adresses';
$data['postal_code']='';
$data['formatted']='';
$data['short']='';
$data['url']='';
$data['country']='';
$data['province_1']='';
$data['province_2']='';
$data['area_1']='';
$data['area_2']='';
$data['locality']='';
$data['locality_clean']='';
$data['locality_clean_lat']='';
$data['locality_type']='город';
$data['district_1']='';
$data['district_2']='';
$data['street']='';
$data['street_clean']='';
$data['street_type']='';
$data['house']='';
$data['latitude']='';
$data['longitude']='';
$data['last_id']=0;
$data['result']=0;
$data['primary address']='';
	
	
	
$answer='';
$wp_version='';
 
$url='https://geocode-maps.yandex.ru/1.x/?apikey=45b87c68-cd94-4edd-a6cb-bf64e56ead36&format=json&lang=ru_RU&geocode='.$adress;
$remote_get = wp_remote_get( $url, array(
	'timeout'     => 5,
	'redirection' => 5,
	'httpversion' => '1.0',
	'user-agent'  => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ),
	'blocking'    => true,
	'headers'     => array(),
	'cookies'     => array(),
	'body'        => null,
	'compress'    => false,
	'decompress'  => true,
	'sslverify'   => true,
	'stream'      => false,
	'filename'    => null
) );

$red=$remote_get['body'];
$res=json_decode($red,true);
//pre($res);
//echo '<hr>';

//pre($res);
$ans=array();  
$answers['total']=0;
$cits=array('Москва','Санкт-Петербург');
foreach($res['response']['GeoObjectCollection']['featureMember'] as $bin){
 //pre($bin);
//echo '<hr>';
$components=$bin['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['Components'];
$addr=$bin['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['formatted'];

$coords=$bin['GeoObject']['Point']['pos'];
 //pre($ni);
$mydata=array();
$mydata['country']='';
$mydata['province']='';
$mydata['locality']='';
$mydata['type']=$bin['GeoObject']['metaDataProperty']['GeocoderMetaData']['kind'];

foreach($components as $comp){
 //pre($comp);
if($comp['kind']=='country'){
$mydata['country']=$comp['name'];
}	
if($comp['kind']=='province'){
$mydata['province']=$comp['name'];
}
if($comp['kind']=='locality'){
$mydata['locality']=$comp['name'];
}
if($comp['kind']=='house'){
$mydata['house']=$comp['name'];
}
 $mydata['formated']=$addr;
 $mydata['coords']=$coords;
  		
}
 //pre($mydata);




if(mb_strlen($mydata['locality'])>0 || in_array($mydata['province'], $cits)){
if(in_array($mydata['province'], $cits))$mydata['locality']=$mydata['province'];

$ans[]=$mydata;	
}
$answers['total']=count($ans);
$answers['result']=$ans[0];
} 

$coords=$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['Point']['pos'];
if($coords)
{
$ex=explode(' ', $coords);	
$long=$ex[0];
$lat=$ex[1];
$mydata['latitude']=$lat;
$mydata['longitude']=$long;
$answers['latitude']=$lat;
$answers['longitude']=$long;

 }
$answers['formated']=$addr;

$answers['adres']=$adress;
return $answers;
  
 die(); 


if(isset($res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['formatted'])){

//pre($res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['Components']);
$c=array();

//pre($res['response']);
 
$c['formatted']=$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['formatted'];
$short=str_replace('Россия, ', '', $res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['formatted']);
$c['short']=$short;
//$c['url']=$short;

$check_key=$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['formatted'];

$data=array();
$data['formatted']=$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['formatted'];
$data['short']=$short;
$data['url']= $short ;
$data['postal_code']=0;
$c['postal_code']=0;
if(isset($res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['postal_code'])){
$data['postal_code']=$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['postal_code'];
$c['postal_code']=$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['postal_code'];
}




$components=$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['Components'];
foreach($components as $key=>$value)
{
 $c[$value['kind']][]=$value['name'];	
 
}

foreach($c as $ke=>$val)
{
	
if($ke=='house')$data['house']=$val[0];	
if($ke=='street')$data['street']=$val[0];	
if($ke=='locality')$data['locality']=$val[0];
if($ke=='country')$data['country']=$val[0];	

if($ke=='area'){
$i=1;
foreach($val as $v){
$data['area_'.$i]=$v;
$i++;	
}	
}

if($ke=='province'){
$i=1;
foreach($val as $v){
$data['province_'.$i]=$v;
$i++;	
}	
}


if($ke=='district'){
$i=1;
foreach($val as $v){
$data['district_'.$i]=$v;
$i++;	
}	
}








//форматируем улицы
if($ke=='street')
{

$a = $val[0];

if (strpos($a, ' улица') !== false) {
$tr=str_replace(' улица', '', $val[0]);
$data['street_clean']=$tr;
$data['street_type']='улица';
}	
elseif (strpos($a, 'улица ') !== false) {
$tr=str_replace('улица ', '', $val[0]);
$data['street_clean']=$tr;
$data['street_type']='улица';
}	
elseif (strpos($a, ' проспект') !== false) {
$tr=str_replace(' проспект', '', $val[0]);
$data['street_clean']=$tr;
$data['street_type']='проспект';
}	
elseif (strpos($a, 'проспект ') !== false) {
$tr=str_replace('проспект ', '', $val[0]);
$data['street_clean']=$tr;
$data['street_type']='проспект';
}		
elseif (strpos($a, ' шоссе') !== false) {
$tr=str_replace(' шоссе', '', $val[0]);
$data['street_clean']=$tr;
$data['street_type']='шоссе';
}	
elseif (strpos($a, 'шоссе ') !== false) {
$tr=str_replace('шоссе ', '', $val[0]);
$data['street_clean']=$tr;
$data['street_type']='шоссе';
}	
elseif (strpos($a, ' переулок') !== false) {
$tr=str_replace(' переулок', '', $val[0]);
$data['street_clean']=$tr;
$data['street_type']='переулок';
}	
elseif (strpos($a, 'переулок ') !== false) {
$tr=str_replace('переулок ', '', $val[0]);
$data['street_clean']=$tr;
$data['street_type']='переулок';
}	
else{
$data['street_clean']=$a;
$data['street_type']='улица';
}	
	
 	
	
	
	
	
}


//форматируем город
if($ke=='locality'){
$a = $val[0];

if (strpos($a, ' село') !== false) {
$tr=str_replace(' село', '', $val[0]);
$data['locality_clean']=$tr;
$data['locality_type']='село';
}	
elseif (strpos($a, 'село ') !== false) {
$tr=str_replace('село ', '', $val[0]);
$data['locality_clean']=$tr;
$data['locality_type']='село';
}

elseif (strpos($a, ' деревня') !== false) {
$tr=str_replace(' деревня', '', $val[0]);
$data['locality_clean']=$tr;
$data['locality_type']='деревня';
}	
elseif (strpos($a, 'деревня ') !== false) {
$tr=str_replace('деревня ', '', $val[0]);
$data['locality_clean']=$tr;
$data['locality_type']='деревня';
}

elseif (strpos($a, ' посёлок городского типа') !== false) {
$tr=str_replace(' посёлок городского типа', '', $val[0]);
$data['locality_clean']=$tr;
$data['locality_type']='посёлок городского типа';
}	
elseif (strpos($a, 'посёлок городского типа ') !== false) {
$tr=str_replace('посёлок городского типа ', '', $val[0]);
$data['locality_clean']=$tr;
$data['locality_type']='посёлок городского типа';
}









else{
$data['locality_clean']=$a;
$data['locality_type']='город';
}

$data['locality_clean_lat']=$data['locality_clean'];


}



 

}

 
//$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['formatted']
//$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']['Address']['postal_code']
 //['[Address']['Components']

 //$coords=$res['response']['featureMember'][0]['GeoObject']['metaDataProperty']['GeocoderMetaData']




$coords=$res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['Point']['pos'];
if($coords)
{
$ex=explode(' ', $coords);	
$long=$ex[0];
$lat=$ex[1];
$data['latitude']=$lat;
$data['longitude']=$long;

 }


$data['result']=1;
$data['primary address']=$check_key;


}
else{
$data['result']=0;
$data['primary address']=$adress;
}
  
 // pre($data);
 
 return $data;
 }
 
 ?>