From f98ae713405e0e0df399247b6c87857bc721f890 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Fri, 12 Apr 2024 09:12:45 +0200 Subject: [PATCH] Fix per emissione fatture con php8.1 --- composer.json | 2 +- lib/functions.php | 2 +- modules/contratti/actions.php | 2 +- modules/contratti/row-add.php | 4 ++-- modules/ddt/row-add.php | 4 ++-- modules/fatture/init.php | 6 ++++-- modules/fatture/row-add.php | 6 +++--- modules/fatture/src/Components/RelationTrait.php | 2 +- modules/fatture/src/Fattura.php | 4 ++-- modules/fatture/src/Gestori/Movimenti.php | 4 ++-- modules/interventi/modals/anteprima_firma.php | 2 +- modules/interventi/row-add.php | 4 ++-- modules/ordini/row-add.php | 4 ++-- modules/preventivi/row-add.php | 4 ++-- plugins/exportFE/src/FatturaElettronica.php | 2 +- plugins/pianificazione_interventi/row-add.php | 6 +++--- src/API/Response.php | 2 +- src/HTMLBuilder/HTMLBuilder.php | 2 +- 18 files changed, 32 insertions(+), 30 deletions(-) diff --git a/composer.json b/composer.json index 704bd00e6..d40624e14 100755 --- a/composer.json +++ b/composer.json @@ -52,7 +52,7 @@ "owasp/csrf-protector-php": "^1.0", "phpmailer/phpmailer": "^6.0", "respect/validation": "^2.0", - "servo/fluidxml": "^1.21", + "servo/fluidxml": "^2.0", "slim/flash": "^0.4.0", "spipu/html2pdf": "^5.0.0", "symfony/filesystem": "^5.0", diff --git a/lib/functions.php b/lib/functions.php index 3eb6c276f..8207c02c4 100755 --- a/lib/functions.php +++ b/lib/functions.php @@ -236,7 +236,7 @@ function translateTemplate() ]; $template = replace($template, $replaces); - $template = HTMLBuilder::replace($template); + $template = $template ? HTMLBuilder::replace($template) : ''; $template = replace($template, $replaces); // Informazioni estese sulle azioni dell'utente diff --git a/modules/contratti/actions.php b/modules/contratti/actions.php index 826812895..d2001af8c 100644 --- a/modules/contratti/actions.php +++ b/modules/contratti/actions.php @@ -320,7 +320,7 @@ switch (post('op')) { // Scollegamento intervento da contratto case 'unlink': - if (get('idcontratto') !== null && get('idintervento') !== null) { + if (!empty(get('idcontratto')) && !empty(get('idintervento'))) { $idcontratto = get('idcontratto'); $idintervento = get('idintervento'); diff --git a/modules/contratti/row-add.php b/modules/contratti/row-add.php index f965029a3..26b4a1fab 100755 --- a/modules/contratti/row-add.php +++ b/modules/contratti/row-add.php @@ -64,11 +64,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita'); // Importazione della gestione dedicata $file = 'riga'; -if (get('is_descrizione') !== null) { +if (!empty(get('is_descrizione'))) { $file = 'descrizione'; $options['op'] = 'manage_descrizione'; -} elseif (get('is_sconto') !== null) { +} elseif (!empty(get('is_sconto'))) { $file = 'sconto'; $options['op'] = 'manage_sconto'; diff --git a/modules/ddt/row-add.php b/modules/ddt/row-add.php index 579938dc9..b8440e2c4 100755 --- a/modules/ddt/row-add.php +++ b/modules/ddt/row-add.php @@ -67,11 +67,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita'); // Importazione della gestione dedicata $file = 'riga'; -if (get('is_descrizione') !== null) { +if (!empty(get('is_descrizione'))) { $file = 'descrizione'; $options['op'] = 'manage_descrizione'; -} elseif (get('is_sconto') !== null) { +} elseif (!empty(get('is_sconto'))) { $file = 'sconto'; $options['op'] = 'manage_sconto'; diff --git a/modules/fatture/init.php b/modules/fatture/init.php index 7233198c3..258da8b70 100755 --- a/modules/fatture/init.php +++ b/modules/fatture/init.php @@ -71,7 +71,7 @@ if (isset($id_record)) { $note_accredito = $dbo->fetchArray("SELECT `co_documenti`.`id`, IF(`numero_esterno` != '', `numero_esterno`, `numero`) AS numero, data FROM `co_documenti` JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id` WHERE `reversed` = 1 AND `ref_documento`=".prepare($id_record)); // Blocco gestito dallo stato della Fattura Elettronica - $stato_fe = StatoFE::find($fattura->codice_stato_fe)->id_record; + $stato_fe = StatoFE::find($fattura->codice_stato_fe); $abilita_genera = empty($fattura->codice_stato_fe) || intval($stato_fe['is_generabile']); // Controllo autofattura e gestione avvisi @@ -81,7 +81,9 @@ if (isset($id_record)) { $fattura_acquisto_originale = null; if (!empty($fattura)) { - $reverse_charge = $fattura->getRighe()->first(fn ($item, $key) => $item->aliquota != null && substr($item->aliquota->codice_natura_fe, 0, 2) == 'N6')->id; + $reverse_charge = $fattura->getRighe()->first(function ($item, $key) { + return $item->aliquota != null && $item->aliquota->codice_natura_fe !== null && substr($item->aliquota->codice_natura_fe, 0, 2) == 'N6'; + })->id; $autofattura_vendita = Fattura::find($fattura->id_autofattura); $abilita_autofattura = (($fattura->anagrafica->nazione->iso2 != 'IT' && !empty($fattura->anagrafica->nazione->iso2)) || $reverse_charge) && $dir == 'uscita' && $fattura->id_autofattura == null; diff --git a/modules/fatture/row-add.php b/modules/fatture/row-add.php index a19474d1b..6521429d1 100755 --- a/modules/fatture/row-add.php +++ b/modules/fatture/row-add.php @@ -93,11 +93,11 @@ $options['id_ritenuta_acconto_predefined'] = $id_ritenuta_acconto; // Importazione della gestione dedicata $file = 'riga'; -if (get('is_descrizione') !== null) { +if (!empty(get('is_descrizione'))) { $file = 'descrizione'; $options['op'] = 'manage_descrizione'; -} elseif (get('is_articolo') !== null) { +} elseif (!empty(get('is_articolo'))) { $file = 'articolo'; // Aggiunta sconto di default da listino per le vendite @@ -110,7 +110,7 @@ if (get('is_descrizione') !== null) { } $options['op'] = 'manage_articolo'; -} elseif (get('is_sconto') !== null) { +} elseif (!empty(get('is_sconto'))) { $file = 'sconto'; $options['op'] = 'manage_sconto'; diff --git a/modules/fatture/src/Components/RelationTrait.php b/modules/fatture/src/Components/RelationTrait.php index d274b7eb0..32614b119 100755 --- a/modules/fatture/src/Components/RelationTrait.php +++ b/modules/fatture/src/Components/RelationTrait.php @@ -48,7 +48,7 @@ trait RelationTrait */ public function getDatiAggiuntiviFEAttribute() { - $result = json_decode($this->attributes['dati_aggiuntivi_fe'], true); + $result = $this->attributes['dati_aggiuntivi_fe'] ? json_decode($this->attributes['dati_aggiuntivi_fe'], true) : ''; return (array) $result; } diff --git a/modules/fatture/src/Fattura.php b/modules/fatture/src/Fattura.php index 996e19b17..783ff4a15 100755 --- a/modules/fatture/src/Fattura.php +++ b/modules/fatture/src/Fattura.php @@ -362,7 +362,7 @@ class Fattura extends Document */ public function getDatiAggiuntiviFEAttribute() { - $result = json_decode($this->attributes['dati_aggiuntivi_fe'], true); + $result = ($this->attributes['dati_aggiuntivi_fe'] ? json_decode($this->attributes['dati_aggiuntivi_fe'], true) : ''); return (array) $result; } @@ -535,7 +535,7 @@ class Fattura extends Document { $file = $this->getFatturaElettronica(); - return !empty($this->progressivo_invio) and file_exists($file->filepath); + return !empty($this->progressivo_invio) && $file->filepath && file_exists($file->filepath); } /** diff --git a/modules/fatture/src/Gestori/Movimenti.php b/modules/fatture/src/Gestori/Movimenti.php index 2633a222c..45d7e8681 100644 --- a/modules/fatture/src/Gestori/Movimenti.php +++ b/modules/fatture/src/Gestori/Movimenti.php @@ -217,8 +217,8 @@ class Movimenti $mastrino = $this->generateMastrino(); foreach ($movimenti as $element) { - $dare = round($element['dare'], 8); - $avere = round($element['avere'], 8); + $dare = $element['dare'] ? round($element['dare'], 8) : 0; + $avere = $element['avere'] ? round($element['avere'], 8) : 0; $totale_dare += $dare; $totale_avere += $avere; diff --git a/modules/interventi/modals/anteprima_firma.php b/modules/interventi/modals/anteprima_firma.php index d2d3c128b..c642e0c0c 100644 --- a/modules/interventi/modals/anteprima_firma.php +++ b/modules/interventi/modals/anteprima_firma.php @@ -19,7 +19,7 @@ include_once __DIR__.'/../../../core.php'; -if (get('anteprima') !== null) { +if (!empty(get('anteprima'))) { // Lettura dati intervento $query = 'SELECT codice FROM in_interventi WHERE id='.prepare($id_record); $rs = $dbo->fetchArray($query); diff --git a/modules/interventi/row-add.php b/modules/interventi/row-add.php index 752b73e0d..573d3f5ed 100755 --- a/modules/interventi/row-add.php +++ b/modules/interventi/row-add.php @@ -73,11 +73,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita'); // Importazione della gestione dedicata $file = 'riga'; -if (get('is_descrizione') !== null) { +if (!empty(get('is_descrizione'))) { $file = 'descrizione'; $options['op'] = 'manage_descrizione'; -} elseif (get('is_sconto') !== null) { +} elseif (!empty(get('is_sconto'))) { $file = 'sconto'; $options['op'] = 'manage_sconto'; diff --git a/modules/ordini/row-add.php b/modules/ordini/row-add.php index d3a4ca115..03c63d792 100755 --- a/modules/ordini/row-add.php +++ b/modules/ordini/row-add.php @@ -65,11 +65,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita'); // Importazione della gestione dedicata $file = 'riga'; -if (get('is_descrizione') !== null) { +if (!empty(get('is_descrizione'))) { $file = 'descrizione'; $options['op'] = 'manage_descrizione'; -} elseif (get('is_sconto') !== null) { +} elseif (!empty(get('is_sconto'))) { $file = 'sconto'; $options['op'] = 'manage_sconto'; diff --git a/modules/preventivi/row-add.php b/modules/preventivi/row-add.php index b6bbe329c..129295ba3 100755 --- a/modules/preventivi/row-add.php +++ b/modules/preventivi/row-add.php @@ -64,11 +64,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita'); // Importazione della gestione dedicata $file = 'riga'; -if (get('is_descrizione') !== null) { +if (!empty(get('is_descrizione'))) { $file = 'descrizione'; $options['op'] = 'manage_descrizione'; -} elseif (get('is_sconto') !== null) { +} elseif (!empty(get('is_sconto'))) { $file = 'sconto'; $options['op'] = 'manage_sconto'; diff --git a/plugins/exportFE/src/FatturaElettronica.php b/plugins/exportFE/src/FatturaElettronica.php index 0e064b17c..da4085e78 100755 --- a/plugins/exportFE/src/FatturaElettronica.php +++ b/plugins/exportFE/src/FatturaElettronica.php @@ -312,7 +312,7 @@ class FatturaElettronica } // Registrazione come allegato - \Uploads::upload($this->toXML(), array_merge($data, [ + Uploads::upload($this->toXML(), array_merge($data, [ 'name' => $name, 'original_name' => $filename, ])); diff --git a/plugins/pianificazione_interventi/row-add.php b/plugins/pianificazione_interventi/row-add.php index b1b6a47c6..029829fbc 100755 --- a/plugins/pianificazione_interventi/row-add.php +++ b/plugins/pianificazione_interventi/row-add.php @@ -53,11 +53,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita'); // Importazione della gestione dedicata $file = 'riga'; -if (get('is_descrizione') !== null) { +if (!empty(get('is_descrizione'))) { $file = 'descrizione'; $options['op'] = 'manage_descrizione'; -} elseif (get('is_articolo') !== null) { +} elseif (!empty(get('is_articolo'))) { $file = 'articolo'; // Aggiunta sconto di default da listino per le vendite @@ -69,7 +69,7 @@ if (get('is_descrizione') !== null) { } $options['op'] = 'manage_articolo'; -} elseif (get('is_sconto') !== null) { +} elseif (!empty(get('is_sconto'))) { $file = 'sconto'; $options['op'] = 'manage_sconto'; diff --git a/src/API/Response.php b/src/API/Response.php index 8b3d7b277..eb2042fb9 100755 --- a/src/API/Response.php +++ b/src/API/Response.php @@ -180,7 +180,7 @@ class Response $flags = JSON_FORCE_OBJECT; // Beautify forzato dei risultati - if (get('beautify') !== null) { + if (!empty(get('beautify'))) { $flags |= JSON_PRETTY_PRINT; } diff --git a/src/HTMLBuilder/HTMLBuilder.php b/src/HTMLBuilder/HTMLBuilder.php index ccff5df08..260695d62 100755 --- a/src/HTMLBuilder/HTMLBuilder.php +++ b/src/HTMLBuilder/HTMLBuilder.php @@ -431,7 +431,7 @@ class HTMLBuilder } // Valori particolari - $values['name'] = str_replace(' ', '_', $values['name']); + $values['name'] = $values['name'] ? str_replace(' ', '_', $values['name']) : ''; $values['id'] = empty($values['id']) ? $values['name'] : $values['id']; $values['id'] = str_replace(['[', ']', ' '], ['', '', '_'], $values['id']); $values['value'] ??= '';