diff --git a/modules/anagrafiche/ajax/select.php b/modules/anagrafiche/ajax/select.php index 2e73111ed..fcd445565 100644 --- a/modules/anagrafiche/ajax/select.php +++ b/modules/anagrafiche/ajax/select.php @@ -75,7 +75,7 @@ switch ($resource) { $idagente_default = 0; } - $ids = array_column($results, $id); + $ids = array_column($results, 'idanagrafica'); $pos = array_search($idagente_default, $ids); if ($pos !== false) { $results[$pos]['_bgcolor_'] = '#ff0'; @@ -84,7 +84,7 @@ switch ($resource) { case 'tecnici': $query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))) AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale"; - + foreach ($elements as $element) { $filter[] = 'an_anagrafiche.idanagrafica='.prepare($element); } @@ -92,13 +92,13 @@ switch ($resource) { if (empty($filter)) { $where[] = "descrizione='Tecnico'"; $where[] = 'deleted=0'; - + //come tecnico posso aprire attività solo a mio nome $user = Auth::user(); if ($user['gruppo'] == 'Tecnici' AND !empty($user['idanagrafica']) ) { $where[] = 'an_anagrafiche.idanagrafica='.$user['idanagrafica']; } - + } if (!empty($search)) { diff --git a/modules/anagrafiche/plugins/statistiche.php b/modules/anagrafiche/plugins/statistiche.php index 54d2eec04..b9c53d93a 100644 --- a/modules/anagrafiche/plugins/statistiche.php +++ b/modules/anagrafiche/plugins/statistiche.php @@ -5,6 +5,7 @@ include_once __DIR__.'/../../../core.php'; include_once Modules::filepath('Preventivi', 'modutil.php'); // Interventi +$rsi = []; if (in_array('Cliente', explode(',', $records[0]['tipianagrafica']))) { //Clienti $rsi = $dbo->fetchArray('SELECT ragione_sociale, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS data, (SELECT SUM(prezzo_ore_consuntivo+prezzo_km_consuntivo+prezzo_dirittochiamata) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS totale FROM in_interventi INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE in_interventi.idanagrafica='.prepare($id_record)); diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php index 73748a55c..833faa74f 100644 --- a/modules/ddt/actions.php +++ b/modules/ddt/actions.php @@ -31,10 +31,10 @@ switch (post('op')) { // Tipo di pagamento predefinito dall'anagrafica $query = 'SELECT id FROM co_pagamenti WHERE id=(SELECT '.$campo.' AS pagamento FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')'; $rs = $dbo->fetchArray($query); - $idpagamento = $rs[0]['id']; + $idpagamento = isset($rs[0]) ? $rs[0]['id'] : null; // Se il ddt è un ddt cliente e non è stato associato un pagamento predefinito al cliente leggo il pagamento dalle impostazioni - if ($dir == 'entrata' && $idpagamento == '') { + if ($dir == 'entrata' && empty($idpagamento)) { $idpagamento = get_var('Tipo di pagamento predefinito'); } diff --git a/modules/ddt/row-list.php b/modules/ddt/row-list.php index c5effd9fc..0479168f8 100644 --- a/modules/ddt/row-list.php +++ b/modules/ddt/row-list.php @@ -215,7 +215,7 @@ $totale = sum([ $netto_a_pagare = sum([ $totale, - $marca_da_bollo, + //$marca_da_bollo, // Variabile non inizializzata! -$records[0]['ritenutaacconto'], ]); diff --git a/modules/ddt/variables.php b/modules/ddt/variables.php index 6fd6a6fcb..af05fc0af 100644 --- a/modules/ddt/variables.php +++ b/modules/ddt/variables.php @@ -8,6 +8,6 @@ FROM dt_ddt WHERE id='.prepare($id_record)); return [ 'email' => $r['email'], 'numero' => empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'], - 'descrizione' => $r['descrizione'], + 'note' => $r['note'], 'data' => Translator::dateToLocale($r['data']), ]; diff --git a/modules/fatture/add.php b/modules/fatture/add.php index 8942fe238..7405e6e7d 100644 --- a/modules/fatture/add.php +++ b/modules/fatture/add.php @@ -24,7 +24,7 @@ if ($module['name'] == 'Fatture di vendita') {
- {[ "type": "select", "label": "", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='' AND deleted=0 ORDER BY ragione_sociale", "value": "", "icon-after": "add||tipoanagrafica=" ]} + {[ "type": "select", "label": "", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='' AND deleted=0 ORDER BY ragione_sociale", "value": "", "icon-after": "add||tipoanagrafica=" ]}
diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index 15d1303fe..902cbd655 100644 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -9,11 +9,10 @@ $tipodoc = $rs[0]['descrizione']; $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica']; $_SESSION['superselect']['ddt'] = $dir; - if ($dir == 'entrata') { - $conto = 'vendite'; + $conto = 'vendite'; } else { - $conto = 'acquisti'; + $conto = 'acquisti'; } ?> @@ -69,10 +68,10 @@ if ($dir == 'entrata') { $label = tr('Numero fattura'); } ?> - + {[ "type": "hidden", "label": "Segmento", "name": "id_segment", "class": "text-center", "value": "$id_segment$" ]} - +
{[ "type": "text", "label": "", "name": "numero_esterno", "class": "alphanumeric-mask text-center", "value": "$numero_esterno$" ]}
@@ -143,7 +142,7 @@ if ($dir == 'entrata') {
{[ "type": "select", "label": "", "name": "idpagamento", "required": 1, "values": "query=SELECT id, descrizione, (SELECT id FROM co_banche WHERE id_pianodeiconti3 = co_pagamenti.idconto_ ) AS idbanca FROM co_pagamenti GROUP BY descrizione ORDER BY descrizione ASC", "value": "$idpagamento$", "extra": "onchange=\"$('#idbanca').val( $(this).find('option:selected').data('idbanca') ).change(); \" " ]}
- +
{[ "type": "select", "label": "", "name": "idbanca", "required": 0, "values": "query=SELECT id, CONCAT (nome, ' - ' , iban) AS descrizione FROM co_banche WHERE deleted = 0 ORDER BY nome ASC", "value": "$idbanca$" ]}
@@ -153,7 +152,7 @@ if ($dir == 'entrata') { + ?>
{[ "type": "select", "label": "", "name": "idaspettobeni", "placeholder": "-", "values": "query=SELECT id, descrizione FROM dt_aspettobeni ORDER BY descrizione ASC", "value": "$idaspettobeni$" ]} @@ -183,7 +182,7 @@ if ($tipodoc == 'Fattura accompagnatoria di vendita') {
@@ -202,13 +201,11 @@ if ($dir == 'uscita') {
fetchNum($query2); +$n2 = $dbo->fetchNum('SELECT id FROM co_movimenti WHERE iddocumento='.prepare($id_record).' AND primanota=1'); -$query3 = 'SELECT SUM(da_pagare-pagato) AS differenza, SUM(da_pagare) FROM co_scadenziario GROUP BY iddocumento HAVING iddocumento='.$id_record; -$rs3 = $dbo->fetchArray($query3); -$differenza = $rs3[0]['differenza']; -$da_pagare = $rs3[0]['da_pagare']; +$rs3 = $dbo->fetchArray('SELECT SUM(da_pagare-pagato) AS differenza, SUM(da_pagare) FROM co_scadenziario GROUP BY iddocumento HAVING iddocumento='.prepare($id_record)); +$differenza = isset($rs3[0]) ? $rs3[0]['differenza'] : null; +$da_pagare = isset($rs3[0]) ? $rs3[0]['da_pagare'] : null; if (($n2 <= 0 && $records[0]['stato'] == 'Emessa') || $differenza != 0) { ?> @@ -306,11 +303,11 @@ if ($records[0]['stato'] != 'Pagato' && $records[0]['stato'] != 'Emessa') { Ddt '; } - - // Lettura ordini - $ordini_query = 'SELECT COUNT(*) AS tot FROM or_ordini WHERE idanagrafica='.prepare($records[0]['idanagrafica']).' AND idstatoordine IN (SELECT id FROM or_statiordine WHERE descrizione IN(\'Bozza\', \'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoordine=(SELECT id FROM or_tipiordine WHERE dir='.prepare($dir).') AND or_ordini.id IN (SELECT idordine FROM or_righe_ordini WHERE or_righe_ordini.idordine = or_ordini.id AND (qta - qta_evasa) > 0)'; - $ordini = $dbo->fetchArray($ordini_query)[0]['tot']; - echo ' + + // Lettura ordini + $ordini_query = 'SELECT COUNT(*) AS tot FROM or_ordini WHERE idanagrafica='.prepare($records[0]['idanagrafica']).' AND idstatoordine IN (SELECT id FROM or_statiordine WHERE descrizione IN(\'Bozza\', \'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoordine=(SELECT id FROM or_tipiordine WHERE dir='.prepare($dir).') AND or_ordini.id IN (SELECT idordine FROM or_righe_ordini WHERE or_righe_ordini.idordine = or_ordini.id AND (qta - qta_evasa) > 0)'; + $ordini = $dbo->fetchArray($ordini_query)[0]['tot']; + echo ' Ordine '; diff --git a/modules/fatture/variables.php b/modules/fatture/variables.php index 6cd389338..2dbd1645d 100644 --- a/modules/fatture/variables.php +++ b/modules/fatture/variables.php @@ -8,6 +8,6 @@ FROM co_documenti WHERE id='.prepare($id_record)); return [ 'email' => $r['email'], 'numero' => empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'], - 'descrizione' => $r['descrizione'], + 'note' => $r['note'], 'data' => Translator::dateToLocale($r['data']), ]; diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index 8750a0f0a..5defcb0f6 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -219,6 +219,7 @@ switch (post('op')) { $idsede = post('idsede'); $data_richiesta = post('data_richiesta'); $richiesta = post('richiesta'); + $idautomezzo = null; if (!empty($codice) && !empty($post['idanagrafica']) && !empty($post['idtipointervento'])) { // Salvataggio modifiche intervento diff --git a/modules/my_impianti/plugins/my_impianti.interventi.php b/modules/my_impianti/plugins/my_impianti.interventi.php index 82a0cea1e..0677eb5bd 100644 --- a/modules/my_impianti/plugins/my_impianti.interventi.php +++ b/modules/my_impianti/plugins/my_impianti.interventi.php @@ -2,7 +2,7 @@ include_once __DIR__.'/../../../core.php'; -$matricole = (array) $post['matricole']; +$matricole = (array) post('matricole'); // Salvo gli impianti selezionati if (filter('op') == 'link_myimpianti') { diff --git a/modules/ordini/actions.php b/modules/ordini/actions.php index 0e8e6889a..0a8143f8e 100644 --- a/modules/ordini/actions.php +++ b/modules/ordini/actions.php @@ -34,12 +34,11 @@ switch (post('op')) { $campo = ($dir == 'entrata') ? 'idpagamento_vendite' : 'idpagamento_acquisti'; // Tipo di pagamento predefinito dall'anagrafica - $query = 'SELECT id FROM co_pagamenti WHERE id=(SELECT '.$campo.' AS pagamento FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')'; - $rs = $dbo->fetchArray($query); - $idpagamento = $rs[0]['id']; + $rs = $dbo->fetchArray('SELECT id FROM co_pagamenti WHERE id=(SELECT '.$campo.' AS pagamento FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')'); + $idpagamento = isset($rs[0]) ? $rs[0]['id'] : null; // Se l'ordine è un ordine cliente e non è stato associato un pagamento predefinito al cliente leggo il pagamento dalle impostazioni - if ($dir == 'entrata' && $idpagamento == '') { + if ($dir == 'entrata' && empty($idpagamento)) { $idpagamento = get_var('Tipo di pagamento predefinito'); } @@ -377,10 +376,10 @@ switch (post('op')) { // Tipo di pagamento predefinito dall'anagrafica $query = 'SELECT id FROM co_pagamenti WHERE id=(SELECT '.$campo.' AS pagamento FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')'; $rs = $dbo->fetchArray($query); - $idpagamento = $rs[0]['id']; + $idpagamento = isset($rs[0]) ? $rs[0]['id'] : null; // Se l'ordine è un ordine cliente e non è stato associato un pagamento predefinito al cliente leggo il pagamento dalle impostazioni - if ($dir == 'entrata' && $idpagamento == '') { + if ($dir == 'entrata' && empty($idpagamento)) { $idpagamento = get_var('Tipo di pagamento predefinito'); } diff --git a/modules/ordini/row-list.php b/modules/ordini/row-list.php index 9d4ada8e8..9b875bf7e 100644 --- a/modules/ordini/row-list.php +++ b/modules/ordini/row-list.php @@ -210,7 +210,7 @@ $totale = sum([ $netto_a_pagare = sum([ $totale, - $marca_da_bollo, + //$marca_da_bollo, // Variabile non inizializzata! -$records[0]['ritenutaacconto'], ]); diff --git a/modules/ordini/variables.php b/modules/ordini/variables.php index 0c22be4d0..c9caba61d 100644 --- a/modules/ordini/variables.php +++ b/modules/ordini/variables.php @@ -8,6 +8,6 @@ FROM or_ordini WHERE id='.prepare($id_record)); return [ 'email' => $r['email'], 'numero' => empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'], - 'descrizione' => $r['descrizione'], + 'note' => $r['note'], 'data' => Translator::dateToLocale($r['data']), ]; diff --git a/src/HTMLBuilder/Handler/DefaultHandler.php b/src/HTMLBuilder/Handler/DefaultHandler.php index 755d61b5f..a8d8bc728 100644 --- a/src/HTMLBuilder/Handler/DefaultHandler.php +++ b/src/HTMLBuilder/Handler/DefaultHandler.php @@ -103,6 +103,7 @@ class DefaultHandler implements HandlerInterface $values['type'] = $original['type']; $values['value'] = $original['value']; $values['name'] = $original['name']; + $values['id'] = $original['id']; $values['class'] = []; // Delega al metodo "text", per la generazione del codice HTML diff --git a/src/Prints.php b/src/Prints.php index 2eb00cc89..341642804 100644 --- a/src/Prints.php +++ b/src/Prints.php @@ -244,6 +244,7 @@ class Prints } // Impostazioni personalizzate della stampa + $custom = []; if (file_exists($infos['full_directory'].'/custom/settings.php')) { $custom = include $infos['full_directory'].'/custom/settings.php'; } elseif (file_exists($infos['full_directory'].'/settings.php')) { diff --git a/templates/info.php b/templates/info.php index e1256942f..f8c722cb6 100644 --- a/templates/info.php +++ b/templates/info.php @@ -14,12 +14,12 @@ if (empty($id_sede) || $id_sede == '-1') { $rsc = $dbo->fetchArray($queryc); // Lettura dati aziendali -$rsf = $dbo->fetchArray("SELECT *, (SELECT iban FROM co_banche WHERE id IN (SELECT idbanca FROM co_documenti WHERE id = ".prepare($id_record)." ) ) AS codiceiban, (SELECT nome FROM co_banche WHERE id IN (SELECT idbanca FROM co_documenti WHERE id = ".prepare($id_record)." ) ) AS appoggiobancario, (SELECT bic FROM co_banche WHERE id IN (SELECT idbanca FROM co_documenti WHERE id = ".prepare($id_record)." ) ) AS bic FROM an_anagrafiche WHERE idanagrafica = (SELECT valore FROM zz_settings WHERE nome='Azienda predefinita')"); +$rsf = $dbo->fetchArray('SELECT *, (SELECT iban FROM co_banche WHERE id IN (SELECT idbanca FROM co_documenti WHERE id = '.prepare($id_record).' ) ) AS codiceiban, (SELECT nome FROM co_banche WHERE id IN (SELECT idbanca FROM co_documenti WHERE id = '.prepare($id_record).' ) ) AS appoggiobancario, (SELECT bic FROM co_banche WHERE id IN (SELECT idbanca FROM co_documenti WHERE id = '.prepare($id_record)." ) ) AS bic FROM an_anagrafiche WHERE idanagrafica = (SELECT valore FROM zz_settings WHERE nome='Azienda predefinita')"); // Prefissi e contenuti del replace $replace = [ - 'c_' => $rsc[0], - 'f_' => $rsf[0], + 'c_' => isset($rsc[0]) ? $rsc[0] : [], + 'f_' => isset($rsf[0]) ? $rsf[0] : [], ]; // Rinominazione di particolari campi all'interno delle informazioni su anagrafica e azienda @@ -37,7 +37,13 @@ foreach ($replace as $prefix => $values) { // Rinominazione dei campi foreach ($rename as $key => $value) { - $values[$value] = $values[$key]; + $val = null; + + if (isset($values[$key])) { + $val = $values[$key]; + } + + $values[$value] = $val; unset($values[$key]); }