diff --git a/composer.json b/composer.json index 1a8fb3136..ff1cfc7f7 100755 --- a/composer.json +++ b/composer.json @@ -54,7 +54,8 @@ "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php70": "^1.8", "symfony/translation": "^3.3", - "symfony/var-dumper": "^3.3" + "symfony/var-dumper": "^3.3", + "willdurand/geocoder": "^3.3" }, "require-dev": { "codeception/codeception": "^3.0", diff --git a/modules/anagrafiche/bulk.php b/modules/anagrafiche/bulk.php index 00b945332..e06e100b4 100755 --- a/modules/anagrafiche/bulk.php +++ b/modules/anagrafiche/bulk.php @@ -1,24 +1,43 @@ fetchArray("SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='Azienda'")[0]['idtipoanagrafica']; + $id_tipo_azienda = $dbo->fetchArray("SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='Azienda'")[0]['idtipoanagrafica']; 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)); $tipi = array_column($anagrafica, 'idtipoanagrafica'); // 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)); } } 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; } @@ -33,4 +52,15 @@ if (App::debug()) { ]; } +if (App::debug() && $google) { + $operations['ricerca-coordinate'] = [ + 'text' => ' '.tr('Ricerca coordinate').'', + '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;