2017-08-04 16:28:16 +02:00
< ? php
2020-09-03 15:00:52 +02:00
use Geocoder\Provider\GoogleMaps ;
use Ivory\HttpAdapter\CurlHttpAdapter ;
use Modules\Anagrafiche\Anagrafica ;
2017-08-04 16:28:16 +02:00
include_once __DIR__ . '/../../core.php' ;
2020-09-03 15:00:52 +02:00
$google = setting ( 'Google Maps API key' );
2017-08-04 16:28:16 +02:00
switch ( post ( 'op' )) {
case 'delete-bulk' :
2020-09-03 15:00:52 +02:00
$id_tipo_azienda = $dbo -> fetchArray ( " SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='Azienda' " )[ 0 ][ 'idtipoanagrafica' ];
2018-06-26 14:30:26 +02:00
2019-05-16 04:52:16 +02:00
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' );
2018-06-26 14:30:26 +02:00
2019-05-16 04:52:16 +02:00
// Se l'anagrafica non è di tipo Azienda
2020-09-03 15:00:52 +02:00
if ( ! in_array ( $id_tipo_azienda , $tipi )) {
2019-05-16 04:52:16 +02:00
$dbo -> query ( 'UPDATE an_anagrafiche SET deleted_at = NOW() WHERE idanagrafica = ' . prepare ( $id ) . Modules :: getAdditionalsQuery ( $id_module ));
}
}
2018-06-26 14:30:26 +02:00
2019-05-16 04:52:16 +02:00
flash () -> info ( tr ( 'Anagrafiche eliminate!' ));
2017-08-04 16:28:16 +02:00
2020-09-03 15:00:52 +02:00
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 );
}
}
2017-08-04 16:28:16 +02:00
break ;
}
2019-05-13 17:01:43 +02:00
if ( App :: debug ()) {
2020-05-29 17:12:23 +02:00
$operations [ 'delete-bulk' ] = [
'text' => '<span><i class="fa fa-trash"></i> ' . tr ( 'Elimina selezionati' ) . '</span>' ,
'data' => [
'msg' => tr ( 'Vuoi davvero eliminare le anagrafiche selezionate?' ),
'button' => tr ( 'Procedi' ),
'class' => 'btn btn-lg btn-danger' ,
],
2019-05-16 04:52:16 +02:00
];
2019-05-13 17:01:43 +02:00
}
2020-09-03 15:00:52 +02:00
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' ,
],
];
}
2019-05-13 17:01:43 +02:00
return $operations ;