Fix per emissione fatture con php8.1
This commit is contained in:
parent
7b8018c68a
commit
f98ae71340
|
@ -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",
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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');
|
||||||
|
|
||||||
|
|
|
@ -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';
|
||||||
|
|
|
@ -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';
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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';
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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';
|
||||||
|
|
|
@ -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';
|
||||||
|
|
|
@ -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';
|
||||||
|
|
|
@ -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,
|
||||||
]));
|
]));
|
||||||
|
|
|
@ -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';
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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'] ??= '';
|
||||||
|
|
Loading…
Reference in New Issue