From 6369cb466e5c281acde039ce15eccfbc328d2c0f Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Mon, 8 Apr 2024 15:44:33 +0200 Subject: [PATCH] Ottimizzazione file con php8.1 --- composer.json | 3 +- include/common/articolo.php | 2 +- include/common/form.php | 2 +- include/init/init.php | 2 +- include/init/requirements.php | 6 ++-- include/manager.php | 2 +- include/top.php | 2 +- lib/functions.php | 2 +- lib/util.php | 14 ++++------ modules/aggiornamenti/database.php | 2 +- modules/anagrafiche/add.php | 2 +- modules/anagrafiche/ajax/select.php | 4 +-- modules/anagrafiche/edit.php | 4 +-- modules/anagrafiche/src/Anagrafica.php | 4 +-- modules/articoli/modutil.php | 6 ++-- .../articoli/plugins/articoli.movimenti.php | 2 +- modules/articoli/src/API/v1/Articoli.php | 4 +-- modules/articoli/src/Articolo.php | 4 +-- modules/articoli/src/Movimento.php | 6 +--- modules/automezzi/actions.php | 4 +-- modules/banche/src/Banca.php | 2 +- .../src/Combinazione.php | 12 ++------ modules/contratti/bulk.php | 12 +++----- modules/ddt/actions.php | 2 +- modules/ddt/bulk.php | 12 +++----- modules/ddt/modutil.php | 4 +-- modules/ddt/src/DDT.php | 8 ++---- modules/fasce_orarie/edit.php | 2 +- modules/fatture/actions.php | 6 ++-- modules/fatture/bulk.php | 4 +-- modules/fatture/init.php | 4 +-- modules/fatture/modutil.php | 8 ++---- .../fatture/src/Components/RelationTrait.php | 2 +- modules/fatture/src/Fattura.php | 14 +++------- modules/fatture/src/Gestori/Bollo.php | 8 ++---- modules/import/edit.php | 2 +- modules/interventi/actions.php | 4 +-- modules/interventi/ajax_tecnici.php | 4 +-- modules/interventi/bulk.php | 2 +- modules/interventi/modutil.php | 18 ++++-------- .../widgets/interventi_da_pianificare.php | 4 +-- modules/liste_newsletter/actions.php | 2 +- modules/newsletter/actions.php | 2 +- modules/newsletter/ajax/table.php | 4 +-- modules/ordini/actions.php | 2 +- modules/ordini/bulk.php | 12 +++----- modules/ordini/plugins/ordini.consuntivo.php | 8 +++--- modules/pagamenti/src/Pagamento.php | 8 +++--- modules/preventivi/bulk.php | 12 +++----- modules/primanota/movimenti.php | 10 +++---- modules/statistiche/edit.php | 12 ++++---- modules/stato_servizi/edit.php | 2 +- modules/stato_servizi/elenco-moduli.php | 4 +-- plugins/componenti/allegati.php | 2 +- plugins/exportFE/src/FatturaElettronica.php | 20 ++++--------- plugins/exportFE/src/Validator.php | 2 +- plugins/importFE/actions.php | 24 ++++------------ plugins/importFE/generate.php | 2 +- plugins/importFE/src/FatturaElettronica.php | 4 +-- plugins/importFE/src/FatturaOrdinaria.php | 2 +- plugins/importFE/src/InvoiceHook.php | 4 +-- plugins/listino_fornitori/edit.php | 4 +-- .../pianificazione_fatturazione/actions.php | 2 +- .../pianificazione_fatturazione/ajax_rate.php | 4 +-- .../src/Pianificazione.php | 12 ++------ plugins/pianificazione_interventi/actions.php | 4 +-- .../widgets/promemoria_da_pianificare.php | 4 +-- plugins/presentazioni_bancarie/actions.php | 4 +-- .../src/Cbi/CbiSepa.php | 2 +- .../src/Cbi/Records/BaseRecord.php | 4 +-- plugins/statistiche_anagrafiche/info.php | 12 +++----- rector.php | 28 +++++++++++++++++++ src/AJAX.php | 4 +-- src/API/App/AppResource.php | 4 +-- src/API/Services.php | 24 +++++----------- src/App.php | 2 +- src/Common/Components/Component.php | 4 +-- src/Common/Document.php | 16 ++--------- src/Database.php | 8 ++---- src/Exporter/CSVExporter.php | 4 +-- src/Filter.php | 2 +- src/HTMLBuilder/HTMLBuilder.php | 4 +-- src/HTMLBuilder/Handler/ChoicesHandler.php | 2 +- src/HTMLBuilder/Handler/DefaultHandler.php | 2 +- src/HTMLBuilder/Handler/SelectHandler.php | 10 +++---- src/HTMLBuilder/Manager/ButtonManager.php | 8 +++--- src/HTMLBuilder/Manager/FieldManager.php | 2 +- src/HTMLBuilder/Manager/FileManager.php | 2 +- src/HTMLBuilder/Manager/WidgetManager.php | 2 +- src/HTMLBuilder/Wrapper/HTMLWrapper.php | 8 +++--- src/Importer/CSVImporter.php | 2 +- src/Intl/FileLoader.php | 4 +-- src/Intl/Formatter.php | 4 +-- src/Models/Module.php | 4 +-- src/Models/Upload.php | 6 ++-- src/Notifications/EmailNotification.php | 2 +- src/Prints.php | 4 +-- src/Traits/LocalPoolTrait.php | 4 +-- src/Update.php | 2 +- src/Util/Autofill.php | 4 +-- src/Util/FileSystem.php | 6 ++-- src/Util/Generator.php | 2 +- src/Util/Ini.php | 2 +- src/Util/Query.php | 4 +-- src/Util/Singleton.php | 2 +- update/2_4_23.php | 4 +-- 106 files changed, 233 insertions(+), 360 deletions(-) create mode 100644 rector.php diff --git a/composer.json b/composer.json index 3e93f74c6..67bd808b2 100755 --- a/composer.json +++ b/composer.json @@ -67,7 +67,8 @@ "willdurand/geocoder": "^4.2" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.10.0" + "friendsofphp/php-cs-fixer": "^3.10.0", + "rector/rector": "^1.0" }, "autoload": { "psr-4": { diff --git a/include/common/articolo.php b/include/common/articolo.php index dcba05b57..7cca9ea6d 100755 --- a/include/common/articolo.php +++ b/include/common/articolo.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -$result['idarticolo'] = isset($result['idarticolo']) ? $result['idarticolo'] : null; +$result['idarticolo'] ??= null; $qta_minima = 0; $id_listino = $dbo->selectOne('an_anagrafiche', 'id_listino', ['idanagrafica' => $options['idanagrafica']])['id_listino']; diff --git a/include/common/form.php b/include/common/form.php index dbfda5970..5f2d72acd 100755 --- a/include/common/form.php +++ b/include/common/form.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -$result['id'] = isset($result['id']) ? $result['id'] : null; +$result['id'] ??= null; // Form di inserimento riga documento echo ' diff --git a/include/init/init.php b/include/init/init.php index d235319fa..07debefc9 100755 --- a/include/init/init.php +++ b/include/init/init.php @@ -99,7 +99,7 @@ if (post('action') == 'init') { 'password' => Auth::hashPassword(post('admin_password')), 'email' => post('admin_email'), 'idgruppo' => $admin['id'], - 'idanagrafica' => isset($id_record) ? $id_record : 0, + 'idanagrafica' => $id_record ?? 0, 'enabled' => 1, ]); diff --git a/include/init/requirements.php b/include/init/requirements.php index 30c0226e9..68fc5ad7e 100755 --- a/include/init/requirements.php +++ b/include/init/requirements.php @@ -84,7 +84,7 @@ foreach ($modules as $name => $values) { $status = isset($available_modules) ? in_array($name, $available_modules) : $_SERVER[$values['server']] == 'On'; if ($name == 'mod_mime' && $php_interface != 'apache') { - $headers = get_headers((!empty($config['redirectHTTPS']) && !isHTTPS(true)) ? 'https://' : 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], 1); + $headers = get_headers((!empty($config['redirectHTTPS']) && !isHTTPS(true)) ? 'https://' : 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], true); if (isset($headers['Content-Type'])) { $status = 1; } else { @@ -431,11 +431,11 @@ foreach ($config_to_check as $name => $values) { if ($type == 'value') { $description = tr('Valore consigliato: _SUGGESTED_ (Valore attuale: _ACTUAL_)', [ '_SUGGESTED_' => $values['suggested_value'], - '_ACTUAL_' => (!empty($values['section']) ? ${$values['section']}[$name] : $$name), + '_ACTUAL_' => (!empty($values['section']) ? ${$values['section']}[$name] : ${$name}), ]); } - $status = ($values['operator'](!empty($values['section']) ? ${$values['section']}[$name] : $$name, $values['value_to_check']) ? 1 : 0); + $status = ($values['operator'](!empty($values['section']) ? ${$values['section']}[$name] : ${$name}, $values['value_to_check']) ? 1 : 0); $config[] = [ 'name' => $name, diff --git a/include/manager.php b/include/manager.php index cc4591193..d24db4e43 100755 --- a/include/manager.php +++ b/include/manager.php @@ -99,7 +99,7 @@ if (!empty($type) && $type != 'menu' && $type != 'custom') { $_SESSION['module_'.$id_module]['selected'] = []; $selezione = array_keys($_SESSION['module_'.$id_module]['selected']); - $table_id = 'main_'.rand(0, 99); + $table_id = 'main_'.random_int(0, 99); echo ' diff --git a/include/top.php b/include/top.php index e2b4e99ab..3dc0e7f35 100755 --- a/include/top.php +++ b/include/top.php @@ -47,7 +47,7 @@ echo ' if (file_exists(base_dir().'/manifest.json')) { echo ' - '; + '; } // CSS diff --git a/lib/functions.php b/lib/functions.php index 427ccba0d..f38017402 100755 --- a/lib/functions.php +++ b/lib/functions.php @@ -442,7 +442,7 @@ function session_get($name, $default = null) $session = &$session[$piece]; } - return isset($session) ? $session : $default; + return $session ?? $default; } /** diff --git a/lib/util.php b/lib/util.php index db0a503f2..26eb29656 100755 --- a/lib/util.php +++ b/lib/util.php @@ -38,9 +38,7 @@ if (!function_exists('array_column')) { */ function array_column($array, $key) { - return array_map(function ($v) use ($key) { - return is_object($v) ? $v->$key : $v[$key]; - }, $array); + return array_map(fn($v) => is_object($v) ? $v->$key : $v[$key], $array); } } @@ -55,9 +53,7 @@ if (!function_exists('array_clean')) { function array_clean($array) { if (!empty($array)) { - return array_unique(array_values(array_filter($array, function ($value) { - return !empty($value); - }))); + return array_unique(array_values(array_filter($array, fn($value) => !empty($value)))); } } } @@ -448,8 +444,8 @@ if (!function_exists('color_inverse')) { $R2 = 255; $G2 = 255; $B2 = 255; - $L1 = 0.2126 * pow($R1 / 255, 2.2) + 0.7152 * pow($G1 / 255, 2.2) + 0.0722 * pow($B1 / 255, 2.2); - $L2 = 0.2126 * pow($R2 / 255, 2.2) + 0.7152 * pow($G2 / 255, 2.2) + 0.0722 * pow($B2 / 255, 2.2); + $L1 = 0.2126 * ($R1 / 255) ** 2.2 + 0.7152 * ($G1 / 255) ** 2.2 + 0.0722 * ($B1 / 255) ** 2.2; + $L2 = 0.2126 * ($R2 / 255) ** 2.2 + 0.7152 * ($G2 / 255) ** 2.2 + 0.0722 * ($B2 / 255) ** 2.2; if ($L1 > $L2) { $lum = ($L1 + 0.05) / ($L2 + 0.05); } else { @@ -602,6 +598,6 @@ if (!function_exists('adjustBrightness')) { $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT); } - return '#'.implode($hexCode); + return '#'.implode('', $hexCode); } } diff --git a/modules/aggiornamenti/database.php b/modules/aggiornamenti/database.php index 5a2b04fe7..d03390660 100644 --- a/modules/aggiornamenti/database.php +++ b/modules/aggiornamenti/database.php @@ -260,7 +260,7 @@ if (!empty($results) || !empty($results_settings) || !empty($results_settings_ad '.$key.' '; } @@ -218,7 +218,7 @@ if (!empty($sessioni)) { if ($show_costi) { echo ' '; } diff --git a/modules/interventi/bulk.php b/modules/interventi/bulk.php index f6dee4889..8e6a5a6b5 100755 --- a/modules/interventi/bulk.php +++ b/modules/interventi/bulk.php @@ -34,7 +34,7 @@ use Util\Zip; $id_fatture = (new Module())->getByField('name', 'Fatture di vendita', Models\Locale::getPredefined()->id); if (!isset($_SESSION['module_'.$id_fatture]['id_segment'])) { $segments = Modules::getSegments($id_fatture); - $_SESSION['module_'.$id_fatture]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null; + $_SESSION['module_'.$id_fatture]['id_segment'] = $segments[0]['id'] ?? null; } $id_segment = $_SESSION['module_'.$id_fatture]['id_segment']; $idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [ diff --git a/modules/interventi/modutil.php b/modules/interventi/modutil.php index ca4a14512..f7e78433d 100755 --- a/modules/interventi/modutil.php +++ b/modules/interventi/modutil.php @@ -190,9 +190,7 @@ if (!function_exists('aggiungi_intervento_in_fattura')) { } else { $decimals = setting('Cifre decimali per quantità'); - $ore_di_lavoro = $sessioni->groupBy(function ($item, $key) { - return $item['prezzo_orario'].'|'.$item['sconto_unitario'].'|'.$item['tipo_sconto']; - }); + $ore_di_lavoro = $sessioni->groupBy(fn($item, $key) => $item['prezzo_orario'].'|'.$item['sconto_unitario'].'|'.$item['tipo_sconto']); foreach ($ore_di_lavoro as $gruppo) { $sessione = $gruppo->first(); $riga = Riga::build($fattura); @@ -234,9 +232,7 @@ if (!function_exists('aggiungi_intervento_in_fattura')) { } // Diritti di chiamata raggruppati per costo - $diritti_chiamata = $sessioni->where('prezzo_diritto_chiamata', '>', 0)->groupBy(function ($item, $key) { - return $item['prezzo_diritto_chiamata']; - }); + $diritti_chiamata = $sessioni->where('prezzo_diritto_chiamata', '>', 0)->groupBy(fn($item, $key) => $item['prezzo_diritto_chiamata']); foreach ($diritti_chiamata as $gruppo) { $diritto_chiamata = $gruppo->first(); $riga = Riga::build($fattura); @@ -267,9 +263,7 @@ if (!function_exists('aggiungi_intervento_in_fattura')) { } // Viaggi raggruppati per costo - $viaggi = $sessioni->where('prezzo_km_unitario', '>', 0)->groupBy(function ($item, $key) { - return $item['prezzo_km_unitario'].'|'.$item['scontokm_unitario'].'|'.$item['tipo_scontokm']; - }); + $viaggi = $sessioni->where('prezzo_km_unitario', '>', 0)->groupBy(fn($item, $key) => $item['prezzo_km_unitario'].'|'.$item['scontokm_unitario'].'|'.$item['tipo_scontokm']); foreach ($viaggi as $gruppo) { $qta_trasferta = $gruppo->sum('km'); if ($qta_trasferta == 0) { @@ -323,7 +317,7 @@ if (!function_exists('aggiungi_intervento_in_fattura')) { if ($copia->isArticolo()) { $copia->serials = $riga->serials; $articolo = ArticoloOriginale::find($copia->idarticolo); - $copia->id_conto = ($articolo->idconto_vendita ? $articolo->idconto_vendita : $id_conto); + $copia->id_conto = ($articolo->idconto_vendita ?: $id_conto); } $copia->save(); @@ -371,9 +365,7 @@ if (!function_exists('verifica_numero_intervento')) { do { $numero = Generator::generate($maschera, $ultimo, 1, Generator::dateToPattern($data), $data); - $filtered = $documenti->reject(function ($item, $key) use ($numero) { - return $item->codice == $numero; - }); + $filtered = $documenti->reject(fn($item, $key) => $item->codice == $numero); if ($documenti->count() == $filtered->count()) { return $numero; diff --git a/modules/interventi/widgets/interventi_da_pianificare.php b/modules/interventi/widgets/interventi_da_pianificare.php index 6d924cc61..5b35fe40b 100755 --- a/modules/interventi/widgets/interventi_da_pianificare.php +++ b/modules/interventi/widgets/interventi_da_pianificare.php @@ -24,9 +24,7 @@ include_once __DIR__.'/../../../core.php'; // Interventi da pianificare NON completati $interventi_da_pianificare = Intervento::doesntHave('sessioni') ->orderByRaw('IF(data_scadenza IS NULL, data_richiesta, data_scadenza)') - ->whereHas('stato', function ($query) { - return $query->where('is_completato', '=', 0); - }) + ->whereHas('stato', fn($query) => $query->where('is_completato', '=', 0)) ->get(); $raggruppamenti = $interventi_da_pianificare->groupBy(function ($item, $key) { $data = $item->data_scadenza ?: $item->data_richiesta; diff --git a/modules/liste_newsletter/actions.php b/modules/liste_newsletter/actions.php index 151edd888..a03a38f5c 100755 --- a/modules/liste_newsletter/actions.php +++ b/modules/liste_newsletter/actions.php @@ -80,7 +80,7 @@ switch (filter('op')) { // Selezione manuale $id_receivers = post('receivers'); foreach ($id_receivers as $id_receiver) { - list($tipo, $id) = explode('_', $id_receiver); + [$tipo, $id] = explode('_', $id_receiver); if ($tipo == 'anagrafica') { $type = Anagrafica::class; } elseif ($tipo == 'sede') { diff --git a/modules/newsletter/actions.php b/modules/newsletter/actions.php index 3511148f2..0920565bb 100755 --- a/modules/newsletter/actions.php +++ b/modules/newsletter/actions.php @@ -168,7 +168,7 @@ switch (filter('op')) { // Selezione manuale $id_receivers = post('receivers'); foreach ($id_receivers as $id_receiver) { - list($tipo, $id) = explode('_', $id_receiver); + [$tipo, $id] = explode('_', $id_receiver); if ($tipo == 'anagrafica') { $type = Anagrafica::class; } elseif ($tipo == 'sede') { diff --git a/modules/newsletter/ajax/table.php b/modules/newsletter/ajax/table.php index c894b1659..3478fea55 100644 --- a/modules/newsletter/ajax/table.php +++ b/modules/newsletter/ajax/table.php @@ -25,7 +25,7 @@ if (!empty($search)) { include_once __DIR__.'/select.php'; $results = collect($results)->mapToGroups(function ($item, $key) { - list($tipo, $id) = explode('_', $item['id']); + [$tipo, $id] = explode('_', $item['id']); return [$tipo => $id]; }); @@ -82,7 +82,7 @@ foreach ($destinatari_filtrati as $destinatario) { input([ 'type' => 'text', 'name' => 'email', - 'id' => 'email_'.rand(0, 99999), + 'id' => 'email_'.random_int(0, 99999), 'readonly' => '1', 'class' => 'email-mask', 'value' => $origine->email, diff --git a/modules/ordini/actions.php b/modules/ordini/actions.php index 69acb82f9..883c71bf0 100755 --- a/modules/ordini/actions.php +++ b/modules/ordini/actions.php @@ -635,7 +635,7 @@ switch (post('op')) { } $id_iva = ($ordine->anagrafica->idiva_vendite && (!$originale->idiva_vendita || $aliquota_articolo != 0) ? $ordine->anagrafica->idiva_vendite : $originale->idiva_vendita) ?: setting('Iva predefinita'); } else { - $id_iva = ($ordine->anagrafica->idiva_acquisti ? $ordine->anagrafica->idiva_acquisti : ($originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita'))); + $id_iva = ($ordine->anagrafica->idiva_acquisti ?: ($originale->idiva_vendita ?: setting('Iva predefinita'))); } $id_anagrafica = $ordine->idanagrafica; $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA'); diff --git a/modules/ordini/bulk.php b/modules/ordini/bulk.php index e48d049f7..134b62b35 100644 --- a/modules/ordini/bulk.php +++ b/modules/ordini/bulk.php @@ -32,7 +32,7 @@ use Modules\Ordini\Tipo; $id_modulo_fatture = (new Module())->getByField('name', 'Fatture di vendita', Models\Locale::getPredefined()->id); if (!isset($_SESSION['module_'.$id_modulo_fatture]['id_segment'])) { $segments = Modules::getSegments($id_modulo_fatture); - $_SESSION['module_'.$id_modulo_fatture]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null; + $_SESSION['module_'.$id_modulo_fatture]['id_segment'] = $segments[0]['id'] ?? null; } $id_segment = $_SESSION['module_'.$id_modulo_fatture]['id_segment']; $id_segment_ordini = $_SESSION['module_'.$id_module]['id_segment']; @@ -72,13 +72,9 @@ switch (post('op')) { // Ricerca fattura per anagrafica tra le registrate $id_sede = $raggruppamento == 'sede' ? $documento_import->idsede : 0; if ($raggruppamento == 'sede') { - $fattura = $documenti->first(function ($item, $key) use ($id_anagrafica, $id_sede) { - return $item->anagrafica->id == $id_anagrafica && $item->idsede_destinazione == $id_sede; - }); + $fattura = $documenti->first(fn($item, $key) => $item->anagrafica->id == $id_anagrafica && $item->idsede_destinazione == $id_sede); } else { - $fattura = $documenti->first(function ($item, $key) use ($id_anagrafica) { - return $item->anagrafica->id == $id_anagrafica; - }); + $fattura = $documenti->first(fn($item, $key) => $item->anagrafica->id == $id_anagrafica); } // Ricerca fattura per anagrafica se l'impostazione di accodamento è selezionata @@ -118,7 +114,7 @@ switch (post('op')) { // Fix per idconto righe fattura $articolo = ArticoloOriginale::find($copia->idarticolo); - $copia->id_conto = ($articolo->idconto_vendita ? $articolo->idconto_vendita : $idconto); + $copia->id_conto = ($articolo->idconto_vendita ?: $idconto); // Aggiornamento seriali dalla riga dell'ordine if ($copia->isArticolo()) { diff --git a/modules/ordini/plugins/ordini.consuntivo.php b/modules/ordini/plugins/ordini.consuntivo.php index ad0c4d53c..df18f5271 100644 --- a/modules/ordini/plugins/ordini.consuntivo.php +++ b/modules/ordini/plugins/ordini.consuntivo.php @@ -380,8 +380,8 @@ foreach ($materiali_art as $key => $materiali_array1) { foreach ($materiali_array1 as $materiali_array2) { foreach ($materiali_array2 as $materiale) { $margine = $materiale['ricavo'] - $materiale['costo']; - $margine_prc = (int) (1 - ($materiale['costo'] / ($materiale['ricavo'] ? $materiale['ricavo'] : 1))) * 100; - $ricarico_prc = ($materiale['ricavo'] && $materiale['costo']) ? (int) ((($materiale['ricavo'] / ($materiale['costo'] ? $materiale['costo'] : 1)) - 1) * 100) : 100; + $margine_prc = (int) (1 - ($materiale['costo'] / ($materiale['ricavo'] ?: 1))) * 100; + $ricarico_prc = ($materiale['ricavo'] && $materiale['costo']) ? (int) ((($materiale['ricavo'] / ($materiale['costo'] ?: 1)) - 1) * 100) : 100; echo ' @@ -398,8 +398,8 @@ foreach ($materiali_art as $key => $materiali_array1) { ksort($materiali_righe); foreach ($materiali_righe as $key => $materiale) { $margine = $materiale['ricavo'] - $materiale['costo']; - $margine_prc = (int) (1 - ($materiale['costo'] / ($materiale['ricavo'] ? $materiale['ricavo'] : 1))) * 100; - $ricarico_prc = ($materiale['ricavo'] && $materiale['costo']) ? (int) ((($materiale['ricavo'] / ($materiale['costo'] ? $materiale['costo'] : 1)) - 1) * 100) : 100; + $margine_prc = (int) (1 - ($materiale['costo'] / ($materiale['ricavo'] ?: 1))) * 100; + $ricarico_prc = ($materiale['ricavo'] && $materiale['costo']) ? (int) ((($materiale['ricavo'] / ($materiale['costo'] ?: 1)) - 1) * 100) : 100; echo ' diff --git a/modules/pagamenti/src/Pagamento.php b/modules/pagamenti/src/Pagamento.php index 72afa661d..36fbb7f33 100755 --- a/modules/pagamenti/src/Pagamento.php +++ b/modules/pagamenti/src/Pagamento.php @@ -72,7 +72,7 @@ class Pagamento extends Model if ($rata->num_giorni % 30 == 0) { $date->addMonthsNoOverflow(round($rata->num_giorni / 30)); } else { - $date->addDay($rata->num_giorni); + $date->addDay(); } } @@ -82,7 +82,7 @@ class Pagamento extends Model if ($rata->num_giorni % 30 == 0) { $date->addMonthsNoOverflow(round($rata->num_giorni / 30)); } else { - $date->addDay($rata->num_giorni); + $date->addDay(); } $date->modify('last day of this month'); @@ -102,7 +102,7 @@ class Pagamento extends Model if ($rata->num_giorni % 30 == 0) { $date->addMonthsNoOverflow(round($rata->num_giorni / 30)); } else { - $date->addDay($rata->num_giorni); + $date->addDay(); } // Individuazione giorno effettivo (se il giorno indicato è eccessivamente grande, viene preso il massimo possibile) @@ -118,7 +118,7 @@ class Pagamento extends Model $regola_pagamento = database()->selectOne('an_pagamenti_anagrafiche', '*', ['idanagrafica' => $id_anagrafica, 'mese' => $date->format('m')]); if (!empty($regola_pagamento)) { $date->modify('last day of this month'); - $date->addDay($regola_pagamento->giorno_fisso); + $date->addDay(); } // Conversione della data in stringa standard diff --git a/modules/preventivi/bulk.php b/modules/preventivi/bulk.php index b04844d9d..8de22dcb8 100755 --- a/modules/preventivi/bulk.php +++ b/modules/preventivi/bulk.php @@ -31,7 +31,7 @@ use Modules\Preventivi\Stato as StatoPreventivo; $id_fatture = (new Module())->getByField('name', 'Fatture di vendita', Models\Locale::getPredefined()->id); if (!isset($_SESSION['module_'.$id_fatture]['id_segment'])) { $segments = Modules::getSegments($id_fatture); - $_SESSION['module_'.$id_fatture]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null; + $_SESSION['module_'.$id_fatture]['id_segment'] = $segments[0]['id'] ?? null; } $id_segment = $_SESSION['module_'.$id_fatture]['id_segment']; $idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [ @@ -73,13 +73,9 @@ switch (post('op')) { // Ricerca fattura per anagrafica tra le registrate $id_sede = $raggruppamento == 'sede' ? $documento_import->idsede : 0; if ($raggruppamento == 'sede') { - $fattura = $documenti->first(function ($item, $key) use ($id_anagrafica, $id_sede) { - return $item->anagrafica->id == $id_anagrafica && $item->idsede_destinazione == $id_sede; - }); + $fattura = $documenti->first(fn($item, $key) => $item->anagrafica->id == $id_anagrafica && $item->idsede_destinazione == $id_sede); } else { - $fattura = $documenti->first(function ($item, $key) use ($id_anagrafica) { - return $item->anagrafica->id == $id_anagrafica; - }); + $fattura = $documenti->first(fn($item, $key) => $item->anagrafica->id == $id_anagrafica); } // Ricerca fattura per anagrafica se l'impostazione di accodamento è selezionata @@ -119,7 +115,7 @@ switch (post('op')) { // Fix per idconto righe fattura $articolo = ArticoloOriginale::find($copia->idarticolo); - $copia->idconto = ($articolo->idconto_vendita ? $articolo->idconto_vendita : $idconto); + $copia->idconto = ($articolo->idconto_vendita ?: $idconto); // Aggiornamento seriali dalla riga dell'ordine if ($copia->isArticolo()) { diff --git a/modules/primanota/movimenti.php b/modules/primanota/movimenti.php index b0412cca4..de66a66cd 100755 --- a/modules/primanota/movimenti.php +++ b/modules/primanota/movimenti.php @@ -46,8 +46,8 @@ function renderRiga($id, $riga, &$totale_dare, &$totale_avere) '; - $totale_dare += ($riga['dare'] ? $riga['dare'] : 0); - $totale_avere += ($riga['avere'] ? $riga['avere'] : 0); + $totale_dare += ($riga['dare'] ?: 0); + $totale_avere += ($riga['avere'] ?: 0); } function renderTabella($nome, $righe, &$totale_dare, &$totale_avere) @@ -78,7 +78,7 @@ function renderTabella($nome, $righe, &$totale_dare, &$totale_avere) '; foreach ($righe as $riga) { - renderRiga($counter++, $riga, $totale_dare, $totale_avere); + renderRiga($counter++, $riga); } // Totale per controllare sbilancio @@ -169,9 +169,7 @@ renderRiga('-id-', [ 'iddocumento' => '-id_documento-', 'id_scadenza' => '-id_scadenza-', - ], - $totale_dare, - $totale_avere + ] ); echo ' diff --git a/modules/statistiche/edit.php b/modules/statistiche/edit.php index face69050..fe3b2ef6a 100755 --- a/modules/statistiche/edit.php +++ b/modules/statistiche/edit.php @@ -393,7 +393,7 @@ foreach ($tipi as $tipo) { $interventi = Stats::monthly($interventi, $start, $end); // Random color - $background = '#'.dechex(rand(256, 16777215)); + $background = '#'.dechex(random_int(256, 16777215)); $dataset .= '{ label: "'.$tipo['descrizione'].'", @@ -449,7 +449,7 @@ foreach ($tipi as $tipo) { $interventi = Stats::monthly($interventi, $start, $end); // Random color - $background = '#'.dechex(rand(256, 16777215)); + $background = '#'.dechex(random_int(256, 16777215)); $dataset .= '{ label: "'.$tipo['descrizione'].'", @@ -523,7 +523,7 @@ foreach ($tecnici as $tecnico) { $background = strtoupper($tecnico['colore']); if (empty($background) || $background == '#FFFFFF') { // Random color - $background = '#'.dechex(rand(256, 16777215)); + $background = '#'.dechex(random_int(256, 16777215)); } $dataset .= '{ @@ -674,7 +674,7 @@ ORDER BY YEAR(`an_anagrafiche`.`created_at`) ASC, MONTH(`an_anagrafiche`.`created_at`) ASC'); // Random color -$background = '#'.dechex(rand(256, 16777215)); +$background = '#'.dechex(random_int(256, 16777215)); $dataset .= '{ label: "'.tr('Nuovi clienti').'", @@ -685,7 +685,7 @@ $dataset .= '{ },'; // Random color -$background = '#'.dechex(rand(256, 16777215)); +$background = '#'.dechex(random_int(256, 16777215)); $dataset .= '{ label: "'.tr('Clienti acquisiti').'", @@ -696,7 +696,7 @@ $dataset .= '{ },'; // Random color -$background = '#'.dechex(rand(256, 16777215)); +$background = '#'.dechex(random_int(256, 16777215)); $dataset .= '{ label: "'.tr('Nuovi fornitori').'", diff --git a/modules/stato_servizi/edit.php b/modules/stato_servizi/edit.php index 7818f6170..b11154ec5 100755 --- a/modules/stato_servizi/edit.php +++ b/modules/stato_servizi/edit.php @@ -151,7 +151,7 @@ if (Services::isEnabled()) { echo ' - + '; } diff --git a/modules/stato_servizi/elenco-moduli.php b/modules/stato_servizi/elenco-moduli.php index dcb196bdc..35d24c186 100644 --- a/modules/stato_servizi/elenco-moduli.php +++ b/modules/stato_servizi/elenco-moduli.php @@ -278,9 +278,7 @@ function renderElencoModuli($elenco, $depth = 0) ->where('zz_plugins_lang.id_lang', '=', Models\Locale::getDefault()->id); }) ->where('idmodule_to', '=', $record['id']) - ->get()->map(function ($i) { - return (array) $i; - })->toArray(); + ->get()->map(fn($i) => (array) $i)->toArray(); $elenco_plugin = renderElencoModuli($plugins, $depth + 1); } diff --git a/plugins/componenti/allegati.php b/plugins/componenti/allegati.php index 4936cbc74..505f50ce5 100644 --- a/plugins/componenti/allegati.php +++ b/plugins/componenti/allegati.php @@ -19,4 +19,4 @@ include_once __DIR__.'/../../core.php'; -echo '{( "name": "filelist_and_upload", "id":"'.rand(1, 999).'", "id_record": "'.get('id').'", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'" )}'; +echo '{( "name": "filelist_and_upload", "id":"'.random_int(1, 999).'", "id_record": "'.get('id').'", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'" )}'; diff --git a/plugins/exportFE/src/FatturaElettronica.php b/plugins/exportFE/src/FatturaElettronica.php index d77199792..b80cbd590 100755 --- a/plugins/exportFE/src/FatturaElettronica.php +++ b/plugins/exportFE/src/FatturaElettronica.php @@ -282,7 +282,7 @@ class FatturaElettronica $json = json_decode($response->getBody(), true); - return isset($json['data'][0]['OU'][0]['cod_uni_ou']) ? $json['data'][0]['OU'][0]['cod_uni_ou'] : null; + return $json['data'][0]['OU'][0]['cod_uni_ou'] ?? null; } public static function getDirectory() @@ -1146,7 +1146,7 @@ class FatturaElettronica */ protected static function getDatiOrdineAcquisto($fattura, $lista = null) { - $lista = isset($lista) ? $lista : $fattura->getOrdiniAcquisto(); + $lista ??= $fattura->getOrdiniAcquisto(); $result = []; foreach ($lista as $element) { @@ -1387,9 +1387,7 @@ class FatturaElettronica $result = []; // Righe del documento - $iva_descrizioni = $righe->first(function ($item, $key) { - return $item->aliquota != null; - })->aliquota; + $iva_descrizioni = $righe->first(fn($item, $key) => $item->aliquota != null)->aliquota; $order = 1; foreach ($righe as $idx => $riga) { @@ -1558,11 +1556,7 @@ class FatturaElettronica } // Riepiloghi per IVA per percentuale - $riepiloghi_percentuale = $righe->filter(function ($item, $key) { - return $item->aliquota != null && $item->aliquota->codice_natura_fe == null; - })->groupBy(function ($item, $key) { - return $item->aliquota->percentuale; - }); + $riepiloghi_percentuale = $righe->filter(fn($item, $key) => $item->aliquota != null && $item->aliquota->codice_natura_fe == null)->groupBy(fn($item, $key) => $item->aliquota->percentuale); foreach ($riepiloghi_percentuale as $riepilogo) { $totale = round($riepilogo->sum('totale_imponibile') + $riepilogo->sum('rivalsa_inps'), 2); $imposta = round($riepilogo->sum('iva') + $riepilogo->sum('iva_rivalsa_inps'), 2); @@ -1594,11 +1588,7 @@ class FatturaElettronica } // Riepiloghi per IVA per natura - $riepiloghi_natura = $righe->filter(function ($item, $key) { - return $item->aliquota != null && $item->aliquota->codice_natura_fe != null; - })->groupBy(function ($item, $key) { - return $item->aliquota->codice_natura_fe; - }); + $riepiloghi_natura = $righe->filter(fn($item, $key) => $item->aliquota != null && $item->aliquota->codice_natura_fe != null)->groupBy(fn($item, $key) => $item->aliquota->codice_natura_fe); foreach ($riepiloghi_natura as $riepilogo) { $totale = round($riepilogo->sum('totale_imponibile') + $riepilogo->sum('rivalsa_inps'), 2); $imposta = round($riepilogo->sum('iva') + $riepilogo->sum('iva_rivalsa_inps'), 2); diff --git a/plugins/exportFE/src/Validator.php b/plugins/exportFE/src/Validator.php index 812ac0bae..00c135f69 100755 --- a/plugins/exportFE/src/Validator.php +++ b/plugins/exportFE/src/Validator.php @@ -596,7 +596,7 @@ class Validator } } elseif (!is_null($input)) { $info = static::$validators[$key]; - $size = isset($info['size']) ? $info['size'] : null; + $size = $info['size'] ?? null; $output = $input; diff --git a/plugins/importFE/actions.php b/plugins/importFE/actions.php index 6e15e5058..fb55247c5 100755 --- a/plugins/importFE/actions.php +++ b/plugins/importFE/actions.php @@ -254,34 +254,20 @@ switch (filter('op')) { } // Ricerca del tipo di documento più utilizzato - $tipi = $fatture->groupBy(function ($item, $key) { - return $item->tipo->id; - })->transform(function ($item, $key) { - return $item->count(); - }); + $tipi = $fatture->groupBy(fn($item, $key) => $item->tipo->id)->transform(fn($item, $key) => $item->count()); $id_tipo = $tipi->sort()->keys()->last(); // Ricerca del conto più utilizzato - $conti = $righe->groupBy(function ($item, $key) { - return $item->idconto; - })->transform(function ($item, $key) { - return $item->count(); - }); + $conti = $righe->groupBy(fn($item, $key) => $item->idconto)->transform(fn($item, $key) => $item->count()); $id_conto = $conti->sort()->keys()->last(); $conto = $database->fetchOne('SELECT * FROM co_pianodeiconti3 WHERE id = '.prepare($id_conto)); // Ricerca dell'IVA più utilizzata secondo percentuali $iva = []; - $percentuali_iva = $righe->groupBy(function ($item, $key) { - return $item->aliquota->percentuale; - }); + $percentuali_iva = $righe->groupBy(fn($item, $key) => $item->aliquota->percentuale); foreach ($percentuali_iva as $key => $values) { - $aliquote = $values->mapToGroups(function ($item, $key) { - return [$item->aliquota->id => $item->aliquota]; - }); - $id_aliquota = $aliquote->map(function ($item, $key) { - return $item->count(); - })->sort()->keys()->last(); + $aliquote = $values->mapToGroups(fn($item, $key) => [$item->aliquota->id => $item->aliquota]); + $id_aliquota = $aliquote->map(fn($item, $key) => $item->count())->sort()->keys()->last(); $aliquota = $aliquote[$id_aliquota]->first(); $iva[$key] = [ diff --git a/plugins/importFE/generate.php b/plugins/importFE/generate.php index bdf587862..6267f8c6d 100755 --- a/plugins/importFE/generate.php +++ b/plugins/importFE/generate.php @@ -143,7 +143,7 @@ if (in_array($dati_generali['TipoDocumento'], ['TD16', 'TD17', 'TD18', 'TD19', ' } // Individuazione metodo di pagamento di base -$metodi = isset($pagamenti[0]['DettaglioPagamento']) ? $pagamenti[0]['DettaglioPagamento'] : []; +$metodi = $pagamenti[0]['DettaglioPagamento'] ?? []; $metodi = isset($metodi[0]) ? $metodi : [$metodi]; $codice_modalita_pagamento = $metodi[0]['ModalitaPagamento']; diff --git a/plugins/importFE/src/FatturaElettronica.php b/plugins/importFE/src/FatturaElettronica.php index 7bb4ee969..fa23467da 100755 --- a/plugins/importFE/src/FatturaElettronica.php +++ b/plugins/importFE/src/FatturaElettronica.php @@ -87,9 +87,7 @@ class FatturaElettronica $plugins = $module->plugins; if (!empty($plugins)) { - $plugin = $plugins->first(function ($value, $key) { - return $value->getTranslation('name') == 'Fatturazione Elettronica'; - }); + $plugin = $plugins->first(fn($value, $key) => $value->getTranslation('name') == 'Fatturazione Elettronica'); self::$directory = base_dir().'/'.$plugin->upload_directory; } diff --git a/plugins/importFE/src/FatturaOrdinaria.php b/plugins/importFE/src/FatturaOrdinaria.php index cbea28482..8140dc031 100755 --- a/plugins/importFE/src/FatturaOrdinaria.php +++ b/plugins/importFE/src/FatturaOrdinaria.php @@ -263,7 +263,7 @@ class FatturaOrdinaria extends FatturaElettronica $has_serial_riferimento = false; if (!empty($tipi_riferimenti[$key]) && is_subclass_of($tipi_riferimenti[$key], Component::class) && !empty($id_riferimenti[$key])) { $riga_origine = ($tipi_riferimenti[$key])::find($id_riferimenti[$key]); - list($riferimento_precedente, $nuovo_riferimento) = $obj->impostaOrigine($riga_origine); + [$riferimento_precedente, $nuovo_riferimento] = $obj->impostaOrigine($riga_origine); // Correzione della descrizione $obj->descrizione = str_replace($riferimento_precedente, '', $obj->descrizione); diff --git a/plugins/importFE/src/InvoiceHook.php b/plugins/importFE/src/InvoiceHook.php index 6c1d5f6c8..7ba0aa05b 100755 --- a/plugins/importFE/src/InvoiceHook.php +++ b/plugins/importFE/src/InvoiceHook.php @@ -50,9 +50,7 @@ class InvoiceHook extends CachedManager if (!empty($plugins)) { $notify = !empty($count); - $plugin = $plugins->first(function ($value, $key) { - return $value->getTranslation('name') == 'Fatturazione Elettronica'; - }); + $plugin = $plugins->first(fn($value, $key) => $value->getTranslation('name') == 'Fatturazione Elettronica'); $link = base_path().'/controller.php?id_module='.$module->id.'#tab_'.$plugin->id; } diff --git a/plugins/listino_fornitori/edit.php b/plugins/listino_fornitori/edit.php index 99d7cc218..b95c81891 100644 --- a/plugins/listino_fornitori/edit.php +++ b/plugins/listino_fornitori/edit.php @@ -50,9 +50,7 @@ echo '

'.tr('Elenco fornitori').'

'; $dettagli_fornitori = DettaglioFornitore::where('id_articolo', $id_record)->get() - ->mapToGroups(function ($item, $key) { - return [$item->id_fornitore => $item]; - }); + ->mapToGroups(fn($item, $key) => [$item->id_fornitore => $item]); $prezzi_fornitori = DettaglioPrezzo::where('id_articolo', $id_articolo) ->where('dir', 'uscita') ->get() diff --git a/plugins/pianificazione_fatturazione/actions.php b/plugins/pianificazione_fatturazione/actions.php index 7f0ba100f..21e09cdf0 100755 --- a/plugins/pianificazione_fatturazione/actions.php +++ b/plugins/pianificazione_fatturazione/actions.php @@ -131,7 +131,7 @@ switch ($operazione) { $riga->setPrezzoUnitario($prezzo_unitario, $r->idiva); $riga->setSconto($r->tipo_sconto == 'PRC' ? $r->sconto_percentuale : $r->sconto_unitario, $r->tipo_sconto); $riga->qta = $qta_riga; - $riga->setProvvigione($r->provvigione_percentuale ? $r->provvigione_percentuale : $r->provvigione_unitaria, $r->tipo_provvigione); + $riga->setProvvigione($r->provvigione_percentuale ?: $r->provvigione_unitaria, $r->tipo_provvigione); $riga->idpianificazione = $pianificazioni[$rata]; $riga->save(); diff --git a/plugins/pianificazione_fatturazione/ajax_rate.php b/plugins/pianificazione_fatturazione/ajax_rate.php index 59ea49f18..a7596a072 100644 --- a/plugins/pianificazione_fatturazione/ajax_rate.php +++ b/plugins/pianificazione_fatturazione/ajax_rate.php @@ -81,9 +81,7 @@ switch ($action) { ->whereYear('co_fatturazione_contratti.data_scadenza', $year) ->get(); - $raggruppamenti = $pianificazioni->groupBy(function ($item) { - return ucfirst($item->data_scadenza->format('m')); - }); + $raggruppamenti = $pianificazioni->groupBy(fn($item) => ucfirst($item->data_scadenza->format('m'))); $ret = []; foreach ($raggruppamenti as $i => $item) { diff --git a/plugins/pianificazione_fatturazione/src/Pianificazione.php b/plugins/pianificazione_fatturazione/src/Pianificazione.php index 9c2985c9d..6a84aeb8d 100644 --- a/plugins/pianificazione_fatturazione/src/Pianificazione.php +++ b/plugins/pianificazione_fatturazione/src/Pianificazione.php @@ -86,9 +86,7 @@ class Pianificazione extends Document $p = $this; - return $pianificazioni->search(function ($item) use ($p) { - return $item->id == $p->id; - }) + 1; + return $pianificazioni->search(fn($item) => $item->id == $p->id) + 1; } public function getRighe() @@ -98,15 +96,11 @@ class Pianificazione extends Document $numero_righe = $righe->count() / $pianificazioni->count(); $p = $this; - $index = $pianificazioni->search(function ($item) use ($p) { - return $item->id == $p->id; - }); + $index = $pianificazioni->search(fn($item) => $item->id == $p->id); $skip = $pianificazioni->count(); - return $righe->filter(function ($value, $key) use ($skip, $index) { - return $key % $skip == $index; - }); + return $righe->filter(fn($value, $key) => $key % $skip == $index); } public function articoli() diff --git a/plugins/pianificazione_interventi/actions.php b/plugins/pianificazione_interventi/actions.php index a36a00700..68b2b1549 100755 --- a/plugins/pianificazione_interventi/actions.php +++ b/plugins/pianificazione_interventi/actions.php @@ -102,9 +102,7 @@ switch ($operazione) { $promemoria_contratto = $contratto->promemoria() ->where('idtipointervento', $promemoria_originale->tipo->id) ->get() - ->groupBy(function ($item) { - return $item->data_richiesta->toDateString(); - }); + ->groupBy(fn($item) => $item->data_richiesta->toDateString()); $date_preimpostate = $promemoria_contratto->keys()->toArray(); diff --git a/plugins/pianificazione_interventi/widgets/promemoria_da_pianificare.php b/plugins/pianificazione_interventi/widgets/promemoria_da_pianificare.php index 6671a23d2..60e8a295e 100644 --- a/plugins/pianificazione_interventi/widgets/promemoria_da_pianificare.php +++ b/plugins/pianificazione_interventi/widgets/promemoria_da_pianificare.php @@ -38,9 +38,7 @@ if ($elenco_promemoria->isEmpty()) { return; } -$raggruppamenti = $elenco_promemoria->groupBy(function ($item) { - return $item->data_richiesta->format('Y-m'); -}); +$raggruppamenti = $elenco_promemoria->groupBy(fn($item) => $item->data_richiesta->format('Y-m')); $counter = 0; foreach ($raggruppamenti as $mese => $raggruppamento) { diff --git a/plugins/presentazioni_bancarie/actions.php b/plugins/presentazioni_bancarie/actions.php index 55092d279..9f321dfee 100644 --- a/plugins/presentazioni_bancarie/actions.php +++ b/plugins/presentazioni_bancarie/actions.php @@ -43,9 +43,7 @@ switch (filter('op')) { $descrizione = 'Fattura num. '.$documento->numero_esterno ?: $documento->numero; // Individuazione altre scadenze del documento $scadenze_documento = $documento->scadenze->sortBy('scadenza'); - $pos = $scadenze_documento->search(function ($item, $key) use ($scadenza) { - return $item->id == $scadenza->id; - }); + $pos = $scadenze_documento->search(fn($item, $key) => $item->id == $scadenza->id); // Generazione della descrizione del pagamento $descrizione .= tr(' pag _NUM_/_TOT_', [ diff --git a/plugins/presentazioni_bancarie/src/Cbi/CbiSepa.php b/plugins/presentazioni_bancarie/src/Cbi/CbiSepa.php index 19544f844..1969fe925 100644 --- a/plugins/presentazioni_bancarie/src/Cbi/CbiSepa.php +++ b/plugins/presentazioni_bancarie/src/Cbi/CbiSepa.php @@ -75,7 +75,7 @@ class CbiSepa } $credtm = date('Y-m-d\TH:i:s'); - $msgid = dechex(rand(100, 999).date('siHdmY')).'-'; + $msgid = dechex(random_int(100, 999).date('siHdmY')).'-'; $content = file_get_contents(base_dir().'/plugins/presentazioni_bancarie/template/template_CBIPaymentRequest.xml'); diff --git a/plugins/presentazioni_bancarie/src/Cbi/Records/BaseRecord.php b/plugins/presentazioni_bancarie/src/Cbi/Records/BaseRecord.php index 9c8aca933..d76d211f4 100644 --- a/plugins/presentazioni_bancarie/src/Cbi/Records/BaseRecord.php +++ b/plugins/presentazioni_bancarie/src/Cbi/Records/BaseRecord.php @@ -85,7 +85,7 @@ abstract class BaseRecord implements RecordInterface public function get(string $name): ?string { - return isset($this->dati[$name]) ? $this->dati[$name] : null; + return $this->dati[$name] ?? null; } public function set(string $name, ?string $value): void @@ -99,7 +99,7 @@ abstract class BaseRecord implements RecordInterface // Pad automatico sulla base del tipo if ($record['tipo'] == 'string') { - $value = $this->padString($value, $record['dimensione'], isset($record['forzaPadding']) ? $record['forzaPadding'] : STR_PAD_RIGHT); + $value = $this->padString($value, $record['dimensione'], $record['forzaPadding'] ?? STR_PAD_RIGHT); } elseif ($record['tipo'] == 'numeric') { $value = $this->padNumber($value, $record['dimensione']); } elseif ($record['tipo'] == 'constant') { diff --git a/plugins/statistiche_anagrafiche/info.php b/plugins/statistiche_anagrafiche/info.php index 622796641..c53fa813c 100755 --- a/plugins/statistiche_anagrafiche/info.php +++ b/plugins/statistiche_anagrafiche/info.php @@ -93,18 +93,14 @@ $totale_ddt_uscita = $ddt_uscita->sum('totale_imponibile'); $segmenti = $dbo->select('zz_segments', 'id', [], ['autofatture' => 0]); $fatture_vendita = Fattura::whereBetween('data', [$start, $end]) ->where('idanagrafica', $id_record) - ->whereHas('tipo', function ($query) { - return $query->where('co_tipidocumento.dir', '=', 'entrata') - ->where('co_tipidocumento.reversed', '=', 0); - }) + ->whereHas('tipo', fn($query) => $query->where('co_tipidocumento.dir', '=', 'entrata') + ->where('co_tipidocumento.reversed', '=', 0)) ->whereIn('id_segment', array_column($segmenti, 'id')) ->get(); $note_credito = Fattura::whereBetween('data', [$start, $end]) ->where('idanagrafica', $id_record) - ->whereHas('tipo', function ($query) { - return $query->where('co_tipidocumento.dir', '=', 'entrata') - ->where('co_tipidocumento.reversed', '=', 1); - }) + ->whereHas('tipo', fn($query) => $query->where('co_tipidocumento.dir', '=', 'entrata') + ->where('co_tipidocumento.reversed', '=', 1)) ->get(); $totale_fatture_vendita = $fatture_vendita->sum('totale_imponibile') - $note_credito->sum('totale_imponibile'); diff --git a/rector.php b/rector.php new file mode 100644 index 000000000..50ca55162 --- /dev/null +++ b/rector.php @@ -0,0 +1,28 @@ +paths([ + __DIR__ . '/api', + __DIR__ . '/config', + __DIR__ . '/include', + __DIR__ . '/lib', + __DIR__ . '/modules', + __DIR__ . '/plugins', + __DIR__ . '/src', + __DIR__ . '/update', + ]); + + // register a single rule + $rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class); + + // define sets of rules + $rectorConfig->sets([ + LevelSetList::UP_TO_PHP_81 + ]); +}; diff --git a/src/AJAX.php b/src/AJAX.php index a86b87e5b..1760a8f28 100755 --- a/src/AJAX.php +++ b/src/AJAX.php @@ -70,7 +70,7 @@ class AJAX } } - $results = isset($results) ? $results : []; + $results ??= []; $total = array_key_exists('recordsFiltered', $results) ? $results['recordsFiltered'] : count($results); $list = array_key_exists('results', $results) ? $results['results'] : $results; @@ -262,7 +262,7 @@ class AJAX $results = self::selectResults($query, $where, $filter, $search_fields, $limit, $custom); } - return isset($results) ? $results : null; + return $results ?? null; } /** diff --git a/src/API/App/AppResource.php b/src/API/App/AppResource.php index de5fdf54e..b6f3ef859 100644 --- a/src/API/App/AppResource.php +++ b/src/API/App/AppResource.php @@ -188,9 +188,7 @@ abstract class AppResource extends Resource implements RetrieveInterface, Create protected function mapModifiedRecords($records) { if ($records instanceof Collection) { - return $records->mapToGroups(function ($item, $key) { - return [$item['id'] => $item]; - })->toArray(); + return $records->mapToGroups(fn($item, $key) => [$item['id'] => $item])->toArray(); } return array_reduce($records, function ($accumulator, $item) { diff --git a/src/API/Services.php b/src/API/Services.php index 022494aa9..b0bb4a79b 100755 --- a/src/API/Services.php +++ b/src/API/Services.php @@ -85,9 +85,7 @@ class Services { return self::getServiziAttivi() ->flatten(1) - ->filter(function ($item) use ($limite_scadenze) { - return isset($item['data_conclusione']) && Carbon::parse($item['expiration_at'])->greaterThan(Carbon::now()) && Carbon::parse($item['data_conclusione'])->lessThan($limite_scadenze); - }); + ->filter(fn($item) => isset($item['data_conclusione']) && Carbon::parse($item['expiration_at'])->greaterThan(Carbon::now()) && Carbon::parse($item['data_conclusione'])->lessThan($limite_scadenze)); } /** @@ -99,9 +97,7 @@ class Services { return self::getServiziAttivi() ->flatten(1) - ->filter(function ($item) { - return isset($item['data_conclusione']) && Carbon::parse($item['data_conclusione'])->lessThan(Carbon::now()); - }); + ->filter(fn($item) => isset($item['data_conclusione']) && Carbon::parse($item['data_conclusione'])->lessThan(Carbon::now())); } /** @@ -121,9 +117,7 @@ class Services */ public static function verificaRisorsaAttiva($servizio) { - return self::isEnabled() && self::getRisorseAttive()->search(function ($item) use ($servizio) { - return $item['name'] == $servizio; - }) !== false; + return self::isEnabled() && self::getRisorseAttive()->search(fn($item) => $item['name'] == $servizio) !== false; } /** @@ -136,10 +130,8 @@ class Services public static function getRisorseInScadenza($limite_scadenze) { return self::getRisorseAttive() - ->filter(function ($item) use ($limite_scadenze) { - return (isset($item['expiration_at']) && Carbon::parse($item['expiration_at'])->greaterThan(Carbon::now()) && Carbon::parse($item['expiration_at'])->lessThan($limite_scadenze)) - || (isset($item['credits']) && $item['credits'] < 100); - }); + ->filter(fn($item) => (isset($item['expiration_at']) && Carbon::parse($item['expiration_at'])->greaterThan(Carbon::now()) && Carbon::parse($item['expiration_at'])->lessThan($limite_scadenze)) + || (isset($item['credits']) && $item['credits'] < 100)); } /** @@ -150,10 +142,8 @@ class Services public static function getRisorseScadute() { return self::getRisorseAttive() - ->filter(function ($item) { - return (isset($item['expiration_at']) && Carbon::parse($item['expiration_at'])->lessThan(Carbon::now())) - || (isset($item['credits']) && $item['credits'] < 0); - }); + ->filter(fn($item) => (isset($item['expiration_at']) && Carbon::parse($item['expiration_at'])->lessThan(Carbon::now())) + || (isset($item['credits']) && $item['credits'] < 0)); } /** diff --git a/src/App.php b/src/App.php index 691097406..9f6313e84 100755 --- a/src/App.php +++ b/src/App.php @@ -89,7 +89,7 @@ class App $result = array_merge($defaultConfig, $config); // Operazioni di normalizzazione sulla configurazione - $result['debug'] = isset(self::$config['debug']) ? self::$config['debug'] : !empty($result['debug']); + $result['debug'] = self::$config['debug'] ?? !empty($result['debug']); $result['lang'] = $result['lang'] == 'it' ? 'it_IT' : $result['lang']; self::$config = $result; diff --git a/src/Common/Components/Component.php b/src/Common/Components/Component.php index 83c6287b9..ac8e4e94f 100644 --- a/src/Common/Components/Component.php +++ b/src/Common/Components/Component.php @@ -116,7 +116,7 @@ abstract class Component extends Model */ public function setQtaAttribute($value) { - list($qta, $diff) = $this->parseQta($value); + [$qta, $diff] = $this->parseQta($value); $this->attributes['qta'] = $qta; // Aggiornamento della quantità evasa di origine @@ -227,7 +227,7 @@ abstract class Component extends Model $model->original_type = $this->original_type; // Aggiornamento dei riferimenti - list($riferimento_precedente, $nuovo_riferimento) = $model->impostaOrigine($this); + [$riferimento_precedente, $nuovo_riferimento] = $model->impostaOrigine($this); // Correzione della descrizione $attributes['descrizione'] = str_replace($riferimento_precedente, '', $attributes['descrizione']); diff --git a/src/Common/Document.php b/src/Common/Document.php index 194263952..b9c77cefc 100755 --- a/src/Common/Document.php +++ b/src/Common/Document.php @@ -67,13 +67,7 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt ->get(), ])->flatten(); - return $riferimenti->reject(function ($item) { - return empty($item->original_document_type); - })->unique(function ($item) { - return $item->original_document_type.'|'.$item->original_document_id; - })->mapToGroups(function ($item) { - return [$item->original_document_type => ($item->original_document_type)::find($item->original_document_id)]; - }); + return $riferimenti->reject(fn($item) => empty($item->original_document_type))->unique(fn($item) => $item->original_document_type.'|'.$item->original_document_id)->mapToGroups(fn($item) => [$item->original_document_type => ($item->original_document_type)::find($item->original_document_id)]); } /** @@ -85,9 +79,7 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt { $results = $this->mergeCollections($this->descrizioni, $this->righe, $this->articoli, $this->sconti); - return $results->sortBy(function ($item) { - return [$item->order, $item->id]; - }); + return $results->sortBy(fn($item) => [$item->order, $item->id]); } /** @@ -97,9 +89,7 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt { $righe = $this->getRighe(); - return $righe->first(function ($item) use ($type, $id) { - return $item instanceof $type && $item->id == $id; - }); + return $righe->first(fn($item) => $item instanceof $type && $item->id == $id); } /** diff --git a/src/Database.php b/src/Database.php index b750dbdcc..5de1e0fbc 100755 --- a/src/Database.php +++ b/src/Database.php @@ -122,7 +122,7 @@ class Database extends Util\Singleton */ public static function getConnection($new = false, $data = []) { - $class = get_called_class(); + $class = static::class; if (empty(parent::$instance[$class]) || !parent::$instance[$class]->isConnected() || $new) { $config = App::getConfig(); @@ -345,11 +345,7 @@ class Database extends Util\Singleton $result = $this->fetchArray($query, $parameters); - if (isset($result[0])) { - return $result[0]; - } - - return $result; + return $result[0] ?? $result; } /** diff --git a/src/Exporter/CSVExporter.php b/src/Exporter/CSVExporter.php index fa0d89a23..518bf2fa6 100644 --- a/src/Exporter/CSVExporter.php +++ b/src/Exporter/CSVExporter.php @@ -55,9 +55,7 @@ abstract class CSVExporter implements ExporterInterface public function setHeader() { $fields = $this->getAvailableFields(); - $header = array_map(function ($item) { - return $item['label']; - }, $fields); + $header = array_map(fn($item) => $item['label'], $fields); return $this->csv->insertOne($header); } diff --git a/src/Filter.php b/src/Filter.php index ffb8bbc7d..c8e94b15f 100755 --- a/src/Filter.php +++ b/src/Filter.php @@ -45,7 +45,7 @@ class Filter $value = null; if (empty($method)) { - $value = (self::post($property, $raw) !== null) ? self::post($property, $raw) : self::get($property, $raw); + $value = self::post($property, $raw) ?? self::get($property, $raw); } elseif (strtolower($method) == 'post') { $value = self::post($property, $raw); } elseif (strtolower($method) == 'get') { diff --git a/src/HTMLBuilder/HTMLBuilder.php b/src/HTMLBuilder/HTMLBuilder.php index e992a45e3..5f49e6c28 100755 --- a/src/HTMLBuilder/HTMLBuilder.php +++ b/src/HTMLBuilder/HTMLBuilder.php @@ -401,7 +401,7 @@ class HTMLBuilder // Sostituzione delle variabili $nome$ col relativo valore da database elseif (is_string($json[$key]) && preg_match_all('/\$([a-z0-9\_]+)\$/i', $json[$key], $m)) { for ($i = 0; $i < count($m[0]); ++$i) { - $record = isset(self::$record[$m[1][$i]]) ? self::$record[$m[1][$i]] : ''; + $record = self::$record[$m[1][$i]] ?? ''; $json[$key] = str_replace($m[0][$i], prepareToField($record), $json[$key]); } } @@ -434,7 +434,7 @@ class HTMLBuilder $values['name'] = str_replace(' ', '_', $values['name']); $values['id'] = empty($values['id']) ? $values['name'] : $values['id']; $values['id'] = str_replace(['[', ']', ' '], ['', '', '_'], $values['id']); - $values['value'] = isset($values['value']) ? $values['value'] : ''; + $values['value'] ??= ''; // Gestione delle classi CSS $values['class'] = []; diff --git a/src/HTMLBuilder/Handler/ChoicesHandler.php b/src/HTMLBuilder/Handler/ChoicesHandler.php index d2b630f30..23e6be717 100755 --- a/src/HTMLBuilder/Handler/ChoicesHandler.php +++ b/src/HTMLBuilder/Handler/ChoicesHandler.php @@ -66,7 +66,7 @@ class ChoicesHandler implements HandlerInterface } // Gestione dei placeholder - $values['placeholder'] = isset($values['placeholder']) ? $values['placeholder'] : $values['label']; + $values['placeholder'] ??= $values['label']; // Gestione valori custom if (!empty($values['values'])) { diff --git a/src/HTMLBuilder/Handler/DefaultHandler.php b/src/HTMLBuilder/Handler/DefaultHandler.php index a13817588..4c0864a7b 100755 --- a/src/HTMLBuilder/Handler/DefaultHandler.php +++ b/src/HTMLBuilder/Handler/DefaultHandler.php @@ -289,7 +289,7 @@ class DefaultHandler implements HandlerInterface $values['decimals'] = $decimals; // Se non è previsto un valore minimo, lo imposta a 1 - $values['min-value'] = isset($values['min-value']) ? $values['min-value'] : '0.'.str_repeat('0', $decimals - 1).'1'; + $values['min-value'] ??= '0.'.str_repeat('0', $decimals - 1).'1'; } } diff --git a/src/HTMLBuilder/Handler/SelectHandler.php b/src/HTMLBuilder/Handler/SelectHandler.php index 9221de6a5..dce2471b1 100755 --- a/src/HTMLBuilder/Handler/SelectHandler.php +++ b/src/HTMLBuilder/Handler/SelectHandler.php @@ -32,9 +32,9 @@ class SelectHandler implements HandlerInterface { $values['class'][] = 'openstamanager-input'; $values['class'][] = 'select-input'; - $values['data-select2-id'][] = $values['id'].'_'.rand(0, 999); + $values['data-select2-id'][] = $values['id'].'_'.random_int(0, 999); - $source = isset($values['ajax-source']) ? $values['ajax-source'] : (isset($values['select-source']) ? $values['select-source'] : null); + $source = $values['ajax-source'] ?? $values['select-source'] ?? null; // Individuazione della classe per la corretta gestione JavaScript $values['class'][] = !empty($source) ? 'superselectajax' : 'superselect'; @@ -71,7 +71,7 @@ class SelectHandler implements HandlerInterface unset($values['select-source']); // Informazioni aggiuntive per il select - $infos = isset($values['select-options']) ? $values['select-options'] : []; + $infos = $values['select-options'] ?? []; $values['data-select-options'] = json_encode($infos); unset($values['select-options']); @@ -106,9 +106,9 @@ class SelectHandler implements HandlerInterface // Impostazione del placeholder $values['placeholder'] = !empty($values['placeholder']) ? $values['placeholder'] : tr("Seleziona un'opzione"); - $values['data-placeholder'] = isset($values['placeholder']) ? $values['placeholder'] : null; + $values['data-placeholder'] = $values['placeholder'] ?? null; - $values['data-maximum-selection-length'] = isset($values['maximum-selection-length']) ? $values['maximum-selection-length'] : null; + $values['data-maximum-selection-length'] = $values['maximum-selection-length'] ?? null; unset($values['values']); diff --git a/src/HTMLBuilder/Manager/ButtonManager.php b/src/HTMLBuilder/Manager/ButtonManager.php index 2e7c6ef03..5f064c508 100755 --- a/src/HTMLBuilder/Manager/ButtonManager.php +++ b/src/HTMLBuilder/Manager/ButtonManager.php @@ -30,7 +30,7 @@ class ButtonManager implements ManagerInterface { public function manage($options) { - $options['parameters'] = isset($options['parameters']) ? $options['parameters'] : null; + $options['parameters'] ??= null; // Impostazione id HTML automatico if (empty($options['html_id'])) { @@ -89,10 +89,10 @@ class ButtonManager implements ManagerInterface { $info = $this->getInfo($options); - $class = isset($options['class']) ? $options['class'] : 'btn-info'; + $class = $options['class'] ?? 'btn-info'; $class = !empty($class) ? ' class="btn '.$class.'" ' : ''; - $title = isset($options['label']) ? $options['label'] : $info['title']; + $title = $options['label'] ?? $info['title']; $icon = !empty($options['icon']) ? $options['icon'] : $info['icon']; $icon = str_replace('|default|', $info['icon'], $icon); @@ -140,7 +140,7 @@ class ButtonManager implements ManagerInterface $list = $this->getList($options); $count = count($list); - $options['class'] = isset($options['class']) ? $options['class'] : 'btn-info'; + $options['class'] ??= 'btn-info'; if ($count > 1) { $result = ' diff --git a/src/HTMLBuilder/Manager/FieldManager.php b/src/HTMLBuilder/Manager/FieldManager.php index 7b3fde900..d0054c65f 100755 --- a/src/HTMLBuilder/Manager/FieldManager.php +++ b/src/HTMLBuilder/Manager/FieldManager.php @@ -80,7 +80,7 @@ class FieldManager implements ManagerInterface
'; } - $field['value'] = isset($field['value']) ? $field['value'] : ''; + $field['value'] ??= ''; // Gestione valori multipli $values = json_decode((string) $field['value'], true); diff --git a/src/HTMLBuilder/Manager/FileManager.php b/src/HTMLBuilder/Manager/FileManager.php index 57c22a668..70bcf2bc5 100755 --- a/src/HTMLBuilder/Manager/FileManager.php +++ b/src/HTMLBuilder/Manager/FileManager.php @@ -40,7 +40,7 @@ class FileManager implements ManagerInterface public function manage($options) { $options['readonly'] = !empty($options['readonly']) ? true : false; - $options['showpanel'] = isset($options['showpanel']) ? $options['showpanel'] : true; + $options['showpanel'] ??= true; $options['id_plugin'] = !empty($options['id_plugin']) ? $options['id_plugin'] : null; diff --git a/src/HTMLBuilder/Manager/WidgetManager.php b/src/HTMLBuilder/Manager/WidgetManager.php index 788e17e2d..678ecff3c 100755 --- a/src/HTMLBuilder/Manager/WidgetManager.php +++ b/src/HTMLBuilder/Manager/WidgetManager.php @@ -106,7 +106,7 @@ class WidgetManager implements ManagerInterface $value = null; if (!empty($query)) { $value = $database->fetchArray($query)[0]['dato']; - if (!preg_match('/\\d/', $value)) { + if (!preg_match('/\d/', $value) === false) { $value = '-'; } } diff --git a/src/HTMLBuilder/Wrapper/HTMLWrapper.php b/src/HTMLBuilder/Wrapper/HTMLWrapper.php index 15fd65ab0..981efa4b5 100755 --- a/src/HTMLBuilder/Wrapper/HTMLWrapper.php +++ b/src/HTMLBuilder/Wrapper/HTMLWrapper.php @@ -63,7 +63,7 @@ class HTMLWrapper implements WrapperInterface public function after(&$values, &$extras) { - $rand = rand(0, 99); + $rand = random_int(0, 99); $pseudo_id = $values['id'].$rand; $result = ''; @@ -113,8 +113,8 @@ class HTMLWrapper implements WrapperInterface $value = explode('|', $values['validation']); $name = $value[0]; - $id_module = isset($value[1]) ? $value[1] : '$id_module$'; - $id_record = isset($value[2]) ? $value[2] : '$id_record$'; + $id_module = $value[1] ?? '$id_module$'; + $id_record = $value[2] ?? '$id_record$'; $result .= '
- '.($setting['current'] ? $setting['current'] : '⚠️ Impostazione mancante').' + '.($setting['current'] ?: '⚠️ Impostazione mancante').' '.$setting['expected'].' diff --git a/modules/anagrafiche/add.php b/modules/anagrafiche/add.php index e3a28840a..f82fff8c8 100755 --- a/modules/anagrafiche/add.php +++ b/modules/anagrafiche/add.php @@ -43,7 +43,7 @@ echo '
- {[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "id": "idtipoanagrafica_add", "multiple": "1", "required": 1, "values": "query=SELECT `an_tipianagrafiche`.`id`, `name` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `an_tipianagrafiche`.`id` NOT IN (SELECT DISTINCT(`x`.`idtipoanagrafica`) FROM `an_tipianagrafiche_anagrafiche` x INNER JOIN `an_tipianagrafiche` t ON `x`.`idtipoanagrafica` = `t`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`t`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `x`.`idanagrafica` WHERE `an_tipianagrafiche`.`id` = '.prepare($id_tipo_azienda).' AND `deleted_at` IS NULL) ORDER BY `name`", "value": "'.(isset($idtipoanagrafica) ? $idtipoanagrafica : null).'", "readonly": '.(!empty(get('readonly_tipo')) ? 1 : 0).' ]} + {[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "id": "idtipoanagrafica_add", "multiple": "1", "required": 1, "values": "query=SELECT `an_tipianagrafiche`.`id`, `name` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `an_tipianagrafiche`.`id` NOT IN (SELECT DISTINCT(`x`.`idtipoanagrafica`) FROM `an_tipianagrafiche_anagrafiche` x INNER JOIN `an_tipianagrafiche` t ON `x`.`idtipoanagrafica` = `t`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`t`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `x`.`idanagrafica` WHERE `an_tipianagrafiche`.`id` = '.prepare($id_tipo_azienda).' AND `deleted_at` IS NULL) ORDER BY `name`", "value": "'.($idtipoanagrafica ?? null).'", "readonly": '.(!empty(get('readonly_tipo')) ? 1 : 0).' ]}
diff --git a/modules/anagrafiche/ajax/select.php b/modules/anagrafiche/ajax/select.php index 07e5c2e4e..c1e926d11 100755 --- a/modules/anagrafiche/ajax/select.php +++ b/modules/anagrafiche/ajax/select.php @@ -360,9 +360,9 @@ switch ($resource) { * FROM (SELECT '0' AS id, (SELECT `lat` FROM `an_anagrafiche` |where|) AS lat, (SELECT `lng` FROM `an_anagrafiche` |where|) AS lng, (SELECT `idzona` FROM `an_anagrafiche` |where|) AS idzona, CONCAT_WS(' - ', \"".tr('Sede legale')."\" , (SELECT CONCAT (`citta`, IF(`indirizzo`!='',CONCAT(' (', `indirizzo`, ')'), ''), ' (',`ragione_sociale`,')') FROM `an_anagrafiche` |where|)) AS descrizione - + UNION - + SELECT `id`, `lat`, diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index 71bd5385f..875f831b7 100755 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -473,9 +473,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) { '; $banche = Banca::where('id_anagrafica', $anagrafica->id)->get(); - $banca_predefinita = $banche->first(function ($item) { - return !empty($item['predefined']); - }); + $banca_predefinita = $banche->first(fn($item) => !empty($item['predefined'])); $modulo_banche = (new Module())->getByField('name', 'Banche', Models\Locale::getPredefined()->id); if (!$banche->isEmpty()) { echo ' diff --git a/modules/anagrafiche/src/Anagrafica.php b/modules/anagrafiche/src/Anagrafica.php index 365d24e7d..41f9567dd 100755 --- a/modules/anagrafiche/src/Anagrafica.php +++ b/modules/anagrafiche/src/Anagrafica.php @@ -192,9 +192,7 @@ class Anagrafica extends Model */ public function isTipo($type) { - return $this->tipi()->get()->search(function ($item, $key) use ($type) { - return TipoAnagrafica::find($item->id)->getTranslation('name', \Models\Locale::getPredefined()->id) == $type; - }) !== false; + return $this->tipi()->get()->search(fn($item, $key) => TipoAnagrafica::find($item->id)->getTranslation('name', \Models\Locale::getPredefined()->id) == $type) !== false; } public function delete() diff --git a/modules/articoli/modutil.php b/modules/articoli/modutil.php index 7f5ddeb76..fe244edac 100755 --- a/modules/articoli/modutil.php +++ b/modules/articoli/modutil.php @@ -32,19 +32,19 @@ if (!function_exists('aggiorna_sedi_movimenti')) { $idsede = ($rs[0]['dir'] == 'uscita') ? $rs[0]['idsede_destinazione'] : $rs[0]['idsede_partenza']; - $dbo->query('UPDATE `mg_movimenti` SET `idsede`='.prepare($idsede).' WHERE `reference_type`='.prepare('Modules\DDT\DDT').' AND `reference_id`='.prepare($id)); + $dbo->query('UPDATE `mg_movimenti` SET `idsede`='.prepare($idsede).' WHERE `reference_type`='.prepare(\Modules\DDT\DDT::class).' AND `reference_id`='.prepare($id)); } elseif ($module == 'documenti') { $rs = $dbo->fetchArray('SELECT `idsede_partenza`, `idsede_destinazione`, `dir` FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id`='.prepare($id)); $idsede = ($rs[0]['dir'] == 'uscita') ? $rs[0]['idsede_destinazione'] : $rs[0]['idsede_partenza']; - $dbo->query('UPDATE mg_movimenti SET idsede='.prepare($idsede).' WHERE reference_type='.prepare('Modules\Fatture\Fattura').' AND reference_id='.prepare($id)); + $dbo->query('UPDATE mg_movimenti SET idsede='.prepare($idsede).' WHERE reference_type='.prepare(\Modules\Fatture\Fattura::class).' AND reference_id='.prepare($id)); } elseif ($module == 'interventi') { $rs = $dbo->fetchArray('SELECT idsede_partenza, idsede_destinazione FROM in_interventi WHERE in_interventi.id='.prepare($id)); $idsede = $rs[0]['idsede_partenza']; - $dbo->query('UPDATE mg_movimenti SET idsede='.prepare($idsede).' WHERE reference_type='.prepare('Modules\Interventi\Intervento').' AND reference_id='.prepare($id)); + $dbo->query('UPDATE mg_movimenti SET idsede='.prepare($idsede).' WHERE reference_type='.prepare(\Modules\Interventi\Intervento::class).' AND reference_id='.prepare($id)); } } } diff --git a/modules/articoli/plugins/articoli.movimenti.php b/modules/articoli/plugins/articoli.movimenti.php index 473af72fd..71c64a3d8 100755 --- a/modules/articoli/plugins/articoli.movimenti.php +++ b/modules/articoli/plugins/articoli.movimenti.php @@ -149,7 +149,7 @@ if (!empty($movimenti)) { // Data $utente = $dbo->table('zz_users')->where('id', $movimento->idutente)->first(); - $data = ($movimento->data ? $movimento->data : $movimento->data_movimento); + $data = ($movimento->data ?: $movimento->data_movimento); echo '
'.dateFormat($data).' - {[ "type": "number", "name": "sconto_unitario_'.$sessione['id'].'", "value": "'.Translator::numberToLocale($sessione['sconto_unitario']).'", "onchange": "aggiornaSessioneInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "choice|untprc|'.($sessione['tipo_sconto'] ? $sessione['tipo_sconto'] : $tipo_sconto).'", "disabled": "'.$block_edit.'" ]} + {[ "type": "number", "name": "sconto_unitario_'.$sessione['id'].'", "value": "'.Translator::numberToLocale($sessione['sconto_unitario']).'", "onchange": "aggiornaSessioneInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "choice|untprc|'.($sessione['tipo_sconto'] ?: $tipo_sconto).'", "disabled": "'.$block_edit.'" ]} - {[ "type": "number", "name": "scontokm_unitario_'.$sessione['id'].'", "value": "'.Translator::numberToLocale($sessione['scontokm_unitario']).'", "onchange": "aggiornaSessioneInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "choice|untprc|'.($sessione['tipo_sconto_km'] ? $sessione['tipo_sconto_km'] : $tipo_sconto).'", "disabled": "'.$block_edit.'" ]} + {[ "type": "number", "name": "scontokm_unitario_'.$sessione['id'].'", "value": "'.Translator::numberToLocale($sessione['scontokm_unitario']).'", "onchange": "aggiornaSessioneInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "choice|untprc|'.($sessione['tipo_sconto_km'] ?: $tipo_sconto).'", "disabled": "'.$block_edit.'" ]}
'.Modules::link('Articoli', $materiale['id'], $key).'
'.$key.'
'.$servizio['name'].''.(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? ' ' : '').(($servizio['credits'] !== null) ? $servizio['credits'] : '-').(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? '' : '').''.(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? ' ' : '').($servizio['credits'] ?? '-').(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? '' : '').' '.((Carbon::now()->diffInDays($scadenza, false) < $days && $scadenza) ? ' ' : '').dateFormat($scadenza).' ('.$scadenza->diffForHumans().')'.((Carbon::now()->diffInDays($scadenza, false) < $days && $scadenza) ? '' : '').'