. */ include_once __DIR__.'/../../../core.php'; use API\Services; use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Referente; use Modules\Anagrafiche\Sede; $servizio_abilitato = Services::isEnabled() && Services::verificaRisorsaAttiva('Servizio Newsletter'); if (!empty($is_title_request)) { echo tr('Notifiche interne'); return; } if (!empty($is_number_request)) { echo ' '.( $servizio_abilitato ? tr('Clicca qui per avviare la sincronizzazione con il servizio esterno la gestione dei disiscritti') : tr('Servizio non abilitato') ).' '; return; } // Avviso di servizio non abilitato if (!$servizio_abilitato) { echo '
'.tr('Servizio non abilitato: contatta gli sviluppatori ufficiali per la gestione delle Newsletter tramite servizio esterno').'.
'; return; } $response = Services::request('GET', 'opt-out'); $response = Services::responseBody($response); // Individuazione email interessate $email_disiscritte = collect($response['emails']); // Ricerca dei riferimenti locali collegati alle email $anagrafiche = Anagrafica::whereIn('email', $email_disiscritte) ->where('enable_newsletter', '=', true) ->get(); $sedi = Sede::whereIn('email', $email_disiscritte) ->where('enable_newsletter', '=', true) ->get(); $referenti = Referente::whereIn('email', $email_disiscritte) ->where('enable_newsletter', '=', true) ->get(); $destinatari = $anagrafiche ->concat($sedi) ->concat($referenti); // Messaggio informativo di nessun utente disiscritto rispetto alla sincronizzazione precedente if ($destinatari->count() == 0) { echo '

'.tr('Non ci sono nuovi utenti disiscritti dal servizio di newsletter').'.

'; return; } // Elenco dei nuovi utenti disiscritti echo '

'.tr("I seguenti utenti si sono disiscritti dalla newsletter dall'ultima sincronizzazione").'

'; foreach ($destinatari as $destinatario) { // Aggiornamento iscrizione locale $destinatario->enable_newsletter = false; $destinatario->save(); $anagrafica = $destinatario instanceof Anagrafica ? $destinatario : $destinatario->anagrafica; $descrizione = $anagrafica->ragione_sociale; if ($destinatario instanceof Sede) { $descrizione .= ' ['.$destinatario->nomesede.']'; } elseif ($destinatario instanceof Referente) { $descrizione .= ' ['.$destinatario->nome.']'; } echo ' '; } echo '
'.tr('Anagrafica').' '.tr('Email').'
'.$descrizione.' '.$destinatario->email.'
';