Fix per emissione fatture con php8.1

This commit is contained in:
Pek5892 2024-04-12 09:12:45 +02:00
parent 7b8018c68a
commit f98ae71340
18 changed files with 32 additions and 30 deletions

View File

@ -52,7 +52,7 @@
"owasp/csrf-protector-php": "^1.0", "owasp/csrf-protector-php": "^1.0",
"phpmailer/phpmailer": "^6.0", "phpmailer/phpmailer": "^6.0",
"respect/validation": "^2.0", "respect/validation": "^2.0",
"servo/fluidxml": "^1.21", "servo/fluidxml": "^2.0",
"slim/flash": "^0.4.0", "slim/flash": "^0.4.0",
"spipu/html2pdf": "^5.0.0", "spipu/html2pdf": "^5.0.0",
"symfony/filesystem": "^5.0", "symfony/filesystem": "^5.0",

View File

@ -236,7 +236,7 @@ function translateTemplate()
]; ];
$template = replace($template, $replaces); $template = replace($template, $replaces);
$template = HTMLBuilder::replace($template); $template = $template ? HTMLBuilder::replace($template) : '';
$template = replace($template, $replaces); $template = replace($template, $replaces);
// Informazioni estese sulle azioni dell'utente // Informazioni estese sulle azioni dell'utente

View File

@ -320,7 +320,7 @@ switch (post('op')) {
// Scollegamento intervento da contratto // Scollegamento intervento da contratto
case 'unlink': case 'unlink':
if (get('idcontratto') !== null && get('idintervento') !== null) { if (!empty(get('idcontratto')) && !empty(get('idintervento'))) {
$idcontratto = get('idcontratto'); $idcontratto = get('idcontratto');
$idintervento = get('idintervento'); $idintervento = get('idintervento');

View File

@ -64,11 +64,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Importazione della gestione dedicata // Importazione della gestione dedicata
$file = 'riga'; $file = 'riga';
if (get('is_descrizione') !== null) { if (!empty(get('is_descrizione'))) {
$file = 'descrizione'; $file = 'descrizione';
$options['op'] = 'manage_descrizione'; $options['op'] = 'manage_descrizione';
} elseif (get('is_sconto') !== null) { } elseif (!empty(get('is_sconto'))) {
$file = 'sconto'; $file = 'sconto';
$options['op'] = 'manage_sconto'; $options['op'] = 'manage_sconto';

View File

@ -67,11 +67,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Importazione della gestione dedicata // Importazione della gestione dedicata
$file = 'riga'; $file = 'riga';
if (get('is_descrizione') !== null) { if (!empty(get('is_descrizione'))) {
$file = 'descrizione'; $file = 'descrizione';
$options['op'] = 'manage_descrizione'; $options['op'] = 'manage_descrizione';
} elseif (get('is_sconto') !== null) { } elseif (!empty(get('is_sconto'))) {
$file = 'sconto'; $file = 'sconto';
$options['op'] = 'manage_sconto'; $options['op'] = 'manage_sconto';

View File

@ -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)); $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 // 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']); $abilita_genera = empty($fattura->codice_stato_fe) || intval($stato_fe['is_generabile']);
// Controllo autofattura e gestione avvisi // Controllo autofattura e gestione avvisi
@ -81,7 +81,9 @@ if (isset($id_record)) {
$fattura_acquisto_originale = null; $fattura_acquisto_originale = null;
if (!empty($fattura)) { 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); $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; $abilita_autofattura = (($fattura->anagrafica->nazione->iso2 != 'IT' && !empty($fattura->anagrafica->nazione->iso2)) || $reverse_charge) && $dir == 'uscita' && $fattura->id_autofattura == null;

View File

@ -93,11 +93,11 @@ $options['id_ritenuta_acconto_predefined'] = $id_ritenuta_acconto;
// Importazione della gestione dedicata // Importazione della gestione dedicata
$file = 'riga'; $file = 'riga';
if (get('is_descrizione') !== null) { if (!empty(get('is_descrizione'))) {
$file = 'descrizione'; $file = 'descrizione';
$options['op'] = 'manage_descrizione'; $options['op'] = 'manage_descrizione';
} elseif (get('is_articolo') !== null) { } elseif (!empty(get('is_articolo'))) {
$file = 'articolo'; $file = 'articolo';
// Aggiunta sconto di default da listino per le vendite // Aggiunta sconto di default da listino per le vendite
@ -110,7 +110,7 @@ if (get('is_descrizione') !== null) {
} }
$options['op'] = 'manage_articolo'; $options['op'] = 'manage_articolo';
} elseif (get('is_sconto') !== null) { } elseif (!empty(get('is_sconto'))) {
$file = 'sconto'; $file = 'sconto';
$options['op'] = 'manage_sconto'; $options['op'] = 'manage_sconto';

View File

@ -48,7 +48,7 @@ trait RelationTrait
*/ */
public function getDatiAggiuntiviFEAttribute() 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; return (array) $result;
} }

View File

@ -362,7 +362,7 @@ class Fattura extends Document
*/ */
public function getDatiAggiuntiviFEAttribute() 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; return (array) $result;
} }
@ -535,7 +535,7 @@ class Fattura extends Document
{ {
$file = $this->getFatturaElettronica(); $file = $this->getFatturaElettronica();
return !empty($this->progressivo_invio) and file_exists($file->filepath); return !empty($this->progressivo_invio) && $file->filepath && file_exists($file->filepath);
} }
/** /**

View File

@ -217,8 +217,8 @@ class Movimenti
$mastrino = $this->generateMastrino(); $mastrino = $this->generateMastrino();
foreach ($movimenti as $element) { foreach ($movimenti as $element) {
$dare = round($element['dare'], 8); $dare = $element['dare'] ? round($element['dare'], 8) : 0;
$avere = round($element['avere'], 8); $avere = $element['avere'] ? round($element['avere'], 8) : 0;
$totale_dare += $dare; $totale_dare += $dare;
$totale_avere += $avere; $totale_avere += $avere;

View File

@ -19,7 +19,7 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
if (get('anteprima') !== null) { if (!empty(get('anteprima'))) {
// Lettura dati intervento // Lettura dati intervento
$query = 'SELECT codice FROM in_interventi WHERE id='.prepare($id_record); $query = 'SELECT codice FROM in_interventi WHERE id='.prepare($id_record);
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);

View File

@ -73,11 +73,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Importazione della gestione dedicata // Importazione della gestione dedicata
$file = 'riga'; $file = 'riga';
if (get('is_descrizione') !== null) { if (!empty(get('is_descrizione'))) {
$file = 'descrizione'; $file = 'descrizione';
$options['op'] = 'manage_descrizione'; $options['op'] = 'manage_descrizione';
} elseif (get('is_sconto') !== null) { } elseif (!empty(get('is_sconto'))) {
$file = 'sconto'; $file = 'sconto';
$options['op'] = 'manage_sconto'; $options['op'] = 'manage_sconto';

View File

@ -65,11 +65,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Importazione della gestione dedicata // Importazione della gestione dedicata
$file = 'riga'; $file = 'riga';
if (get('is_descrizione') !== null) { if (!empty(get('is_descrizione'))) {
$file = 'descrizione'; $file = 'descrizione';
$options['op'] = 'manage_descrizione'; $options['op'] = 'manage_descrizione';
} elseif (get('is_sconto') !== null) { } elseif (!empty(get('is_sconto'))) {
$file = 'sconto'; $file = 'sconto';
$options['op'] = 'manage_sconto'; $options['op'] = 'manage_sconto';

View File

@ -64,11 +64,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Importazione della gestione dedicata // Importazione della gestione dedicata
$file = 'riga'; $file = 'riga';
if (get('is_descrizione') !== null) { if (!empty(get('is_descrizione'))) {
$file = 'descrizione'; $file = 'descrizione';
$options['op'] = 'manage_descrizione'; $options['op'] = 'manage_descrizione';
} elseif (get('is_sconto') !== null) { } elseif (!empty(get('is_sconto'))) {
$file = 'sconto'; $file = 'sconto';
$options['op'] = 'manage_sconto'; $options['op'] = 'manage_sconto';

View File

@ -312,7 +312,7 @@ class FatturaElettronica
} }
// Registrazione come allegato // Registrazione come allegato
\Uploads::upload($this->toXML(), array_merge($data, [ Uploads::upload($this->toXML(), array_merge($data, [
'name' => $name, 'name' => $name,
'original_name' => $filename, 'original_name' => $filename,
])); ]));

View File

@ -53,11 +53,11 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
// Importazione della gestione dedicata // Importazione della gestione dedicata
$file = 'riga'; $file = 'riga';
if (get('is_descrizione') !== null) { if (!empty(get('is_descrizione'))) {
$file = 'descrizione'; $file = 'descrizione';
$options['op'] = 'manage_descrizione'; $options['op'] = 'manage_descrizione';
} elseif (get('is_articolo') !== null) { } elseif (!empty(get('is_articolo'))) {
$file = 'articolo'; $file = 'articolo';
// Aggiunta sconto di default da listino per le vendite // Aggiunta sconto di default da listino per le vendite
@ -69,7 +69,7 @@ if (get('is_descrizione') !== null) {
} }
$options['op'] = 'manage_articolo'; $options['op'] = 'manage_articolo';
} elseif (get('is_sconto') !== null) { } elseif (!empty(get('is_sconto'))) {
$file = 'sconto'; $file = 'sconto';
$options['op'] = 'manage_sconto'; $options['op'] = 'manage_sconto';

View File

@ -180,7 +180,7 @@ class Response
$flags = JSON_FORCE_OBJECT; $flags = JSON_FORCE_OBJECT;
// Beautify forzato dei risultati // Beautify forzato dei risultati
if (get('beautify') !== null) { if (!empty(get('beautify'))) {
$flags |= JSON_PRETTY_PRINT; $flags |= JSON_PRETTY_PRINT;
} }

View File

@ -431,7 +431,7 @@ class HTMLBuilder
} }
// Valori particolari // 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'] = empty($values['id']) ? $values['name'] : $values['id'];
$values['id'] = str_replace(['[', ']', ' '], ['', '', '_'], $values['id']); $values['id'] = str_replace(['[', ']', ' '], ['', '', '_'], $values['id']);
$values['value'] ??= ''; $values['value'] ??= '';