diff --git a/core.php b/core.php
index 007aefc6f..3d760daa7 100644
--- a/core.php
+++ b/core.php
@@ -159,8 +159,8 @@ if (!API::isAPIRequest()) {
register_shutdown_function('translateTemplate');
// Impostazione della sessione di base
- $_SESSION['infos'] = (array) $_SESSION['errors'];
- $_SESSION['warnings'] = (array) $_SESSION['errors'];
+ $_SESSION['infos'] = (array) $_SESSION['infos'];
+ $_SESSION['warnings'] = (array) $_SESSION['warnings'];
$_SESSION['errors'] = (array) $_SESSION['errors'];
// Imposto il periodo di visualizzazione dei record dal 01-01-yyy al 31-12-yyyy
diff --git a/modules/aggiornamenti/upload_modules.php b/modules/aggiornamenti/upload_modules.php
index 6ed45e84a..acff9f5ee 100644
--- a/modules/aggiornamenti/upload_modules.php
+++ b/modules/aggiornamenti/upload_modules.php
@@ -14,7 +14,7 @@ $type = $_POST['type'];
if (!extension_loaded('zip')) {
$_SESSION['errors'][] = _('Estensione php_zip non caricata!').'
'._('Verifica e attivala sul tuo php.ini');
-} elseif (strstr($filename, '.zip')) {
+} elseif (!ends_with($filename, '.zip')) {
$_SESSION['errors'][] = _('Il file non è un archivio zip!');
} elseif (!empty($tmp) && is_file($tmp)) {
$zip = new ZipArchive();
diff --git a/modules/articoli/modutil.php b/modules/articoli/modutil.php
index 2c34d234a..ec9ed76b3 100644
--- a/modules/articoli/modutil.php
+++ b/modules/articoli/modutil.php
@@ -15,7 +15,7 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
// DDT
if (!empty($array['idddt'])) {
- $rs = $dbo->fetchArray('SELECT numero, numero_esterno, dt_ddt.descrizione AS tipo, dt_ddt.dir FROM dt_ddt LEFT JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($array['idddt']));
+ $rs = $dbo->fetchArray('SELECT numero, numero_esterno, dt_tipiddt.descrizione AS tipo, dt_tipiddt.dir FROM dt_ddt LEFT JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($array['idddt']));
$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
$tipo = strtolower($rs[0]['tipo']);
}
diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php
index f2addb724..990aa6cc8 100644
--- a/modules/ddt/actions.php
+++ b/modules/ddt/actions.php
@@ -190,16 +190,7 @@ switch (post('op')) {
$iva = ($subtot - $sconto) / 100 * $rs[0]['percentuale'];
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
- // Se la riga che sto inserendo è simile ad altre già inserite, aggiorno solo la quantità e l'iva...
- $query = 'SELECT id FROM dt_righe_ddt WHERE idddt='.prepare($id_record).' AND descrizione='.prepare($descrizione).' AND (iva/qta)='.prepare($iva / $qta).' AND (iva_indetraibile/qta)='.prepare($iva_indetraibile / $qta).' AND (subtotale/qta)='.prepare($subtot / $qta).' AND um='.prepare($um).' AND sconto='.prepare($sconto);
- $rs = $dbo->fetchArray($query);
- if (sizeof($rs) > 0) {
- $query = 'UPDATE dt_righe_ddt SET qta=qta+'.$qta.', iva=iva+'.$iva.', iva_indetraibile=iva_indetraibile+'.$iva_indetraibile.' WHERE id='.prepare($rs[0]['id']);
- }
- // ...altrimenti aggiungo una nuova riga
- else {
- $query = 'INSERT INTO dt_righe_ddt(idddt, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idgruppo, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'))';
- }
+ $query = 'INSERT INTO dt_righe_ddt(idddt, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idgruppo, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'))';
if ($dbo->query($query)) {
$_SESSION['infos'][] = _('Riga aggiunta!');
diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php
index 3d17647db..1463afe8f 100644
--- a/modules/fatture/actions.php
+++ b/modules/fatture/actions.php
@@ -548,7 +548,7 @@ switch (post('op')) {
$ritenutaacconto = ($prezzo) / 100 * $rs[0]['percentuale'];
// Aggiunta riga contratto sul documento
- $query = 'INSERT INTO co_righe_documenti(iddocumento, idcontratto, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, idgruppo, `order`) VALUES('.prepare($id_record).', '.prepare($idcontratto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($idconto).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($prezzo).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).", '-', 1, ".prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
+ $query = 'INSERT INTO co_righe_documenti(iddocumento, idcontratto, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, idgruppo, `order`) VALUES('.prepare($id_record).', '.prepare($idcontratto).', '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($prezzo).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).", '-', 1, ".prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
if ($dbo->query($query)) {
$_SESSION['infos'][] = str_replace('_NUM_', $numero, _('Contratto _NUM_ aggiunto!'));
diff --git a/modules/ordini/creaddt.php b/modules/ordini/creaddt.php
index 5db0f360a..d7868e10f 100644
--- a/modules/ordini/creaddt.php
+++ b/modules/ordini/creaddt.php
@@ -6,8 +6,10 @@ $module = Modules::getModule($id_module);
if ($module['name'] == 'Ordini cliente') {
$dir = 'entrata';
+ $module_name = 'Ddt di vendita';
} else {
$dir = 'uscita';
+ $module_name = 'Ddt di acquisto';
}
// Info documento
@@ -24,7 +26,7 @@ $idconto = $rs[0]['idconto'];
echo "
Ordine numero $numero
"; echo "Seleziona le righe che vuoi inserire nel ddt e la quantità: