Base per la geolocalizzazione automatica
This commit is contained in:
parent
a67064e459
commit
32b0aa83a6
|
@ -54,7 +54,8 @@
|
||||||
"symfony/polyfill-ctype": "^1.8",
|
"symfony/polyfill-ctype": "^1.8",
|
||||||
"symfony/polyfill-php70": "^1.8",
|
"symfony/polyfill-php70": "^1.8",
|
||||||
"symfony/translation": "^3.3",
|
"symfony/translation": "^3.3",
|
||||||
"symfony/var-dumper": "^3.3"
|
"symfony/var-dumper": "^3.3",
|
||||||
|
"willdurand/geocoder": "^3.3"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"codeception/codeception": "^3.0",
|
"codeception/codeception": "^3.0",
|
||||||
|
|
|
@ -1,24 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Geocoder\Provider\GoogleMaps;
|
||||||
|
use Ivory\HttpAdapter\CurlHttpAdapter;
|
||||||
|
use Modules\Anagrafiche\Anagrafica;
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
$google = setting('Google Maps API key');
|
||||||
|
|
||||||
switch (post('op')) {
|
switch (post('op')) {
|
||||||
case 'delete-bulk':
|
case 'delete-bulk':
|
||||||
|
$id_tipo_azienda = $dbo->fetchArray("SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='Azienda'")[0]['idtipoanagrafica'];
|
||||||
$idtipoanagrafica_azienda = $dbo->fetchArray("SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='Azienda'")[0]['idtipoanagrafica'];
|
|
||||||
|
|
||||||
foreach ($id_records as $id) {
|
foreach ($id_records as $id) {
|
||||||
$anagrafica = $dbo->fetchArray('SELECT an_tipianagrafiche.idtipoanagrafica FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica='.prepare($id));
|
$anagrafica = $dbo->fetchArray('SELECT an_tipianagrafiche.idtipoanagrafica FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica='.prepare($id));
|
||||||
$tipi = array_column($anagrafica, 'idtipoanagrafica');
|
$tipi = array_column($anagrafica, 'idtipoanagrafica');
|
||||||
|
|
||||||
// Se l'anagrafica non è di tipo Azienda
|
// Se l'anagrafica non è di tipo Azienda
|
||||||
if (!in_array($idtipoanagrafica_azienda, $tipi)) {
|
if (!in_array($id_tipo_azienda, $tipi)) {
|
||||||
$dbo->query('UPDATE an_anagrafiche SET deleted_at = NOW() WHERE idanagrafica = '.prepare($id).Modules::getAdditionalsQuery($id_module));
|
$dbo->query('UPDATE an_anagrafiche SET deleted_at = NOW() WHERE idanagrafica = '.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
flash()->info(tr('Anagrafiche eliminate!'));
|
flash()->info(tr('Anagrafiche eliminate!'));
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'ricerca-coordinate':
|
||||||
|
$curl = new CurlHttpAdapter();
|
||||||
|
$geocoder = new GoogleMaps($curl, null, null, true, $google);
|
||||||
|
|
||||||
|
foreach ($id_records as $id) {
|
||||||
|
$anagrafica = Anagrafica::find($id);
|
||||||
|
if (empty($anagrafica->lat) && empty($anagrafica->lng) && !empty($anagrafica->sedeLegale->citta) && !empty($anagrafica->sedeLegale->cap)) {
|
||||||
|
$address = $geocoder->geocode($anagrafica->sedeLegale->citta.' '.$anagrafica->sedeLegale->cap)->first();
|
||||||
|
$coordinates = $address->getCoordinates();
|
||||||
|
dd($coordinates);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,4 +52,15 @@ if (App::debug()) {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (App::debug() && $google) {
|
||||||
|
$operations['ricerca-coordinate'] = [
|
||||||
|
'text' => '<span><i class="fa fa-map"></i> '.tr('Ricerca coordinate').'</span>',
|
||||||
|
'data' => [
|
||||||
|
'msg' => tr('Ricercare le coordinate per le anagrafiche selezionate senza latitudine e longitudine?'),
|
||||||
|
'button' => tr('Procedi'),
|
||||||
|
'class' => 'btn btn-lg btn-warning',
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
return $operations;
|
return $operations;
|
||||||
|
|
Loading…
Reference in New Issue