Merge branch 'master' into sandrino-patch-1

This commit is contained in:
Martino 2023-01-26 10:58:21 +01:00
commit ab69d84362
3 changed files with 457 additions and 445 deletions

View File

@ -1,443 +1,452 @@
<?php <?php
if( $docroot == '' ){ if( $docroot == '' ){
die( _("Accesso negato!") ); die( _("Accesso negato!") );
} }
switch( $html->form('op', 'post') ){ switch( $html->form('op', 'post') ){
case "update": case "update":
$idanagrafica = $_POST['id_record']; $idanagrafica = $_POST['id_record'];
if( $modules_info[$module_name]["permessi"] == 'rw' ){ if( $modules_info[$module_name]["permessi"] == 'rw' ){
//leggo tutti i valori passati dal POST e li salvo in un array //leggo tutti i valori passati dal POST e li salvo in un array
$html_post = array(); $html_post = array();
foreach ($_POST as $key => $value) { foreach ($_POST as $key => $value) {
$html_post[$key] = save($value); $html_post[$key] = save($value);
} }
if( isset($_POST['id_record']) ){ if( isset($_POST['id_record']) ){
include ($docroot . "/lib/salva_personalizzati.php"); include ($docroot . "/lib/salva_personalizzati.php");
$data_nascita = saveDate($html_post['data_nascita']); $data_nascita = saveDate($html_post['data_nascita']);
if( $data_nascita == '' ){ if( $data_nascita == '' ){
$data_nascita = ''; $data_nascita = '';
} }
( $_POST['perc_netto'] == 'on' ) ? $perc_netto=1 : $perc_netto=0; ( $_POST['perc_netto'] == 'on' ) ? $perc_netto=1 : $perc_netto=0;
( $_POST['perc_iva'] == 'on' ) ? $perc_iva=1 : $perc_iva=0; ( $_POST['perc_iva'] == 'on' ) ? $perc_iva=1 : $perc_iva=0;
$perc_agente = force_decimal($_POST['perc_agente']); $perc_agente = force_decimal($_POST['perc_agente']);
$query = "UPDATE an_anagrafiche SET ". $query = "UPDATE an_anagrafiche SET ".
"componente_filename=\"".$html_post['componente_filename']."\",". "componente_filename=\"".$html_post['componente_filename']."\",".
"ragione_sociale=\"".$html_post['ragione_sociale']."\",". "ragione_sociale=\"".$html_post['ragione_sociale']."\",".
"tipo=\"".$html_post['tipo']."\",". "tipo=\"".$html_post['tipo']."\",".
"piva=\"".$html_post['piva']."\",". "piva=\"".$html_post['piva']."\",".
"codice_fiscale=\"".$html_post['codice_fiscale']."\",". "codice_fiscale=\"".$html_post['codice_fiscale']."\",".
"data_nascita=\"".$data_nascita."\",". "data_nascita=\"".$data_nascita."\",".
"luogo_nascita=\"".$html_post['luogo_nascita']."\",". "luogo_nascita=\"".$html_post['luogo_nascita']."\",".
"sesso=\"".$html_post['sesso']."\",". "sesso=\"".$html_post['sesso']."\",".
"capitale_sociale=\"".$html_post['capitale_sociale']."\",". "capitale_sociale=\"".$html_post['capitale_sociale']."\",".
"indirizzo=\"".$html_post['indirizzo']."\",". "indirizzo=\"".$html_post['indirizzo']."\",".
"indirizzo2=\"".$html_post['indirizzo2']."\",". "indirizzo2=\"".$html_post['indirizzo2']."\",".
"citta=\"".$html_post['citta']."\",". "citta=\"".$html_post['citta']."\",".
"cap=\"".$html_post['cap']."\",". "cap=\"".$html_post['cap']."\",".
"provincia=\"".$html_post['provincia']."\",". "provincia=\"".$html_post['provincia']."\",".
"km=\"".str_replace( ",", ".", $html_post['km'] )."\",". "km=\"".str_replace( ",", ".", $html_post['km'] )."\",".
"id_nazione=\"".$html_post['nazione']."\",". "id_nazione=\"".$html_post['nazione']."\",".
"telefono=\"".$html_post['telefono']."\",". "telefono=\"".$html_post['telefono']."\",".
"cellulare=\"".$html_post['cellulare']."\",". "cellulare=\"".$html_post['cellulare']."\",".
"fax=\"".$html_post['fax']."\",". "fax=\"".$html_post['fax']."\",".
"email=\"".$html_post['email']."\",". "email=\"".$html_post['email']."\",".
"idsede_fatturazione=\"".$html_post['idsede_fatturazione']."\",". "idsede_fatturazione=\"".$html_post['idsede_fatturazione']."\",".
"note=\"".$html_post['note']."\",". "note=\"".$html_post['note']."\",".
"codiceri=\"".$html_post['codiceri']."\",". "codiceri=\"".$html_post['codiceri']."\",".
"codicerea=\"".$html_post['codicerea']."\",". "codicerea=\"".$html_post['codicerea']."\",".
"appoggiobancario=\"".$html_post['appoggiobancario']."\",". "appoggiobancario=\"".$html_post['appoggiobancario']."\",".
"filiale=\"".$html_post['filiale']."\",". "filiale=\"".$html_post['filiale']."\",".
"codiceiban=\"".$html_post['codiceiban']."\",". "codiceiban=\"".$html_post['codiceiban']."\",".
"bic=\"".$html_post['bic']."\",". "bic=\"".$html_post['bic']."\",".
"diciturafissafattura=\"".$html_post['diciturafissafattura']."\",". "diciturafissafattura=\"".$html_post['diciturafissafattura']."\",".
"idpagamento=\"".$html_post['idpagamento']."\",". "idpagamento=\"".$html_post['idpagamento']."\",".
"idlistino=\"".$html_post['idlistino']."\",". "idlistino=\"".$html_post['idlistino']."\",".
"idiva=\"".$html_post['idiva']."\",". "idiva=\"".$html_post['idiva']."\",".
"settore=\"".$html_post['settore']."\",". "settore=\"".$html_post['settore']."\",".
"marche=\"".$html_post['marche']."\",". "marche=\"".$html_post['marche']."\",".
"dipendenti=\"".$html_post['dipendenti']."\",". "dipendenti=\"".$html_post['dipendenti']."\",".
"macchine=\"".$html_post['macchine']."\",". "macchine=\"".$html_post['macchine']."\",".
"idagente=\"".$html_post['idagente']."\",". "idagente=\"".$html_post['idagente']."\",".
"idrelazione=\"".$html_post['idrelazione']."\",". "idrelazione=\"".$html_post['idrelazione']."\",".
"sitoweb=\"".$html_post['sitoweb']."\",". "sitoweb=\"".$html_post['sitoweb']."\",".
"idzona=\"".$html_post['idzona']."\",". "idzona=\"".$html_post['idzona']."\",".
"nome_cognome=\"".$html_post['nome_cognome']."\",". "nome_cognome=\"".$html_post['nome_cognome']."\",".
"iscrizione_tribunale=\"".$html_post['iscrizione_tribunale']."\",". "iscrizione_tribunale=\"".$html_post['iscrizione_tribunale']."\",".
"cciaa=\"".$html_post['cciaa']."\",". "cciaa=\"".$html_post['cciaa']."\",".
"cciaa_citta=\"".$html_post['cciaa_citta']."\",". "cciaa_citta=\"".$html_post['cciaa_citta']."\",".
"n_alboartigiani=\"".$html_post['n_alboartigiani']."\",". "n_alboartigiani=\"".$html_post['n_alboartigiani']."\",".
"foro_competenza=\"".$html_post['foro_competenza']."\",". "foro_competenza=\"".$html_post['foro_competenza']."\",".
"colore=\"".$html_post['colore']."\",". "colore=\"".$html_post['colore']."\",".
"colore_marker=\"".$html_post['colore_marker']."\",". "colore_marker=\"".$html_post['colore_marker']."\",".
"cod_sogei=\"".$html_post['cod_sogei']."\",". "cod_sogei=\"".$html_post['cod_sogei']."\",".
"lng=\"".$html_post['lng']."\",". "lng=\"".$html_post['lng']."\",".
"lat=\"".$html_post['lat']."\",". "lat=\"".$html_post['lat']."\",".
"cod_sogei_pec=\"".$html_post['cod_sogei_pec']."\",". "cod_sogei_pec=\"".$html_post['cod_sogei_pec']."\",".
"perc_agente=\"".$perc_agente."\",". "perc_agente=\"".$perc_agente."\",".
"perc_netto=\"".$perc_netto."\",". "perc_netto=\"".$perc_netto."\",".
"esigibilita_iva=\"".$html_post['esigibilita_iva']."\",". "esigibilita_iva=\"".$html_post['esigibilita_iva']."\",".
"identificativo_xml=\"".$html_post['identificativo_xml']."\",". "identificativo_xml=\"".$html_post['identificativo_xml']."\",".
"perc_iva=\"".$perc_iva."\",". "perc_iva=\"".$perc_iva."\",".
"default_ritenuta_acconto=\"".$html_post['default_ritenuta_acconto']."\",". // release 2.3.5 "default_ritenuta_acconto=\"".$html_post['default_ritenuta_acconto']."\",". // release 2.3.5
"default_rivalsa_inps=\"".$html_post['default_rivalsa_inps']."\",". // release 2.3.5 "default_rivalsa_inps=\"".$html_post['default_rivalsa_inps']."\",". // release 2.3.5
"idtipointervento_default=\"".$html_post['idtipointervento_default']."\"". "idtipointervento_default=\"".$html_post['idtipointervento_default']."\"".
"WHERE idanagrafica='$idanagrafica' ".$additional_where['Anagrafiche']; "WHERE idanagrafica='$idanagrafica' ".$additional_where['Anagrafiche'];
$rs = $dbo->query( $query ); $rs = $dbo->query( $query );
// log anagrafiche // log anagrafiche
add_storico($idanagrafica,"Eseguito modifica salvataggio anagrafica"); add_storico($idanagrafica,"Eseguito modifica salvataggio anagrafica");
// testo se inserito banca appoggiobancario // testo se inserito banca appoggiobancario
$idbanca_vendite=$html_post['idbanca_vendite']; $idbanca_vendite=$html_post['idbanca_vendite'];
if( $idbanca_vendite > 0 ){ if( $idbanca_vendite > 0 ){
$rs_banca = $dbo->fetchArray("SELECT * FROM co_banche WHERE id='".$idbanca_vendite."'"); $rs_banca = $dbo->fetchArray("SELECT * FROM co_banche WHERE id='".$idbanca_vendite."'");
$query = "UPDATE an_anagrafiche SET idbanca_vendite='".$idbanca_vendite."', appoggiobancario='".$rs_banca[0]['nome']."', filiale='".$rs_banca[0]['filiale']."',codiceiban='".$rs_banca[0]['iban']."',bic='".$rs_banca[0]['bic']."' WHERE idanagrafica='$idanagrafica'"; $query = "UPDATE an_anagrafiche SET idbanca_vendite='".$idbanca_vendite."', appoggiobancario='".$rs_banca[0]['nome']."', filiale='".$rs_banca[0]['filiale']."',codiceiban='".$rs_banca[0]['iban']."',bic='".$rs_banca[0]['bic']."' WHERE idanagrafica='$idanagrafica'";
$rs = $dbo->query( $query ); $rs = $dbo->query( $query );
} }
/* /*
Salvataggio info componente (campo `contenuto`) Salvataggio info componente (campo `contenuto`)
*/ */
$filename = save( $_POST['componente_filename'] ); $filename = save( $_POST['componente_filename'] );
$post_array = array(); $post_array = array();
foreach( $_POST as $impostazione_post=>$valore_impostazione_post ){ foreach( $_POST as $impostazione_post=>$valore_impostazione_post ){
//Creo l'array con tutti i valori passati dal POST //Creo l'array con tutti i valori passati dal POST
$impostazione_post = str_replace( "_", " ", $impostazione_post ); $impostazione_post = str_replace( "_", " ", $impostazione_post );
$post_array[$impostazione_post] = save($valore_impostazione_post); $post_array[$impostazione_post] = save($valore_impostazione_post);
} }
$nome = save($_POST['Nome']); $nome = save($_POST['Nome']);
//Lettura info componente //Lettura info componente
if( file_exists($docroot."/files/my_impianti/".$filename) ) if( file_exists($docroot."/files/my_impianti/".$filename) )
$contenuto = file_get_contents( $docroot."/files/my_impianti/".$filename ); $contenuto = file_get_contents( $docroot."/files/my_impianti/".$filename );
else else
$contenuto = ''; $contenuto = '';
//Converto 'contenuto' di questo componente in un array //Converto 'contenuto' di questo componente in un array
$ini_array = parse_ini_string( $contenuto, true ); $ini_array = parse_ini_string( $contenuto, true );
//Creo variabile contenuto temporaneo //Creo variabile contenuto temporaneo
$contenuto_tmp = array(); $contenuto_tmp = array();
//Resetto il valore di contenuto //Resetto il valore di contenuto
$contenuto = ''; $contenuto = '';
//Per ogni sezione dell'array estratto dal file ini //Per ogni sezione dell'array estratto dal file ini
foreach ($ini_array as $sezione => $array_impostazioni){ foreach ($ini_array as $sezione => $array_impostazioni){
$sezione = str_replace( "\r\n", "\n", $sezione ); $sezione = str_replace( "\r\n", "\n", $sezione );
$sezione = str_replace( "\n", "<br/>", $sezione ); $sezione = str_replace( "\n", "<br/>", $sezione );
$contenuto .= "[&quot;".$sezione."&quot;]\n"; $contenuto .= "[&quot;".$sezione."&quot;]\n";
//Per ogni impostazione //Per ogni impostazione
foreach ($array_impostazioni as $impostazione => $valore_impostazione){ foreach ($array_impostazioni as $impostazione => $valore_impostazione){
//Quando trovo l'impostazione 'valore' la sostituisco con il valore passato dal post //Quando trovo l'impostazione 'valore' la sostituisco con il valore passato dal post
if ($impostazione=='valore'){ if ($impostazione=='valore'){
$da = array($impostazione => $valore_impostazione); $da = array($impostazione => $valore_impostazione);
$a = array($impostazione => $post_array[$sezione]); $a = array($impostazione => $post_array[$sezione]);
$contenuto_tmp = array_replace($ini_array[$sezione], $da, $a); $contenuto_tmp = array_replace($ini_array[$sezione], $da, $a);
foreach ($contenuto_tmp as $impostazione_tmp => $valore_impostazione_tmp){ foreach ($contenuto_tmp as $impostazione_tmp => $valore_impostazione_tmp){
$valore = $valore_impostazione_tmp; $valore = $valore_impostazione_tmp;
$valore = str_replace( "\r\n", "\n", $valore ); $valore = str_replace( "\r\n", "\n", $valore );
$valore = str_replace( "\n", "<br/>", $valore ); $valore = str_replace( "\n", "<br/>", $valore );
$contenuto .= save($impostazione_tmp)." = &quot;".save($valore)."&quot;\n"; $contenuto .= save($impostazione_tmp)." = &quot;".save($valore)."&quot;\n";
} }
} }
} }
} }
$dbo->query("UPDATE an_anagrafiche SET contenuto=\"".($contenuto)."\" WHERE idanagrafica='".$idanagrafica."'"); $dbo->query("UPDATE an_anagrafiche SET contenuto=\"".($contenuto)."\" WHERE idanagrafica='".$idanagrafica."'");
array_push( $_SESSION['infos'], "Informazioni per l'anagrafica ''".$html_post['ragione_sociale']."'' salvate correttamente!"); array_push( $_SESSION['infos'], "Informazioni per l'anagrafica ''".$html_post['ragione_sociale']."'' salvate correttamente!");
//Aggiorno il codice anagrafica se non è già presente, altrimenti lo ignoro //Aggiorno il codice anagrafica se non è già presente, altrimenti lo ignoro
$esiste = $dbo->fetchNum("SELECT idanagrafica FROM an_anagrafiche WHERE codice=\"".$html_post['codice']."\" AND NOT idanagrafica=\"".$idanagrafica."\"", 1); $esiste = $dbo->fetchNum("SELECT idanagrafica FROM an_anagrafiche WHERE codice=\"".$html_post['codice']."\" AND NOT idanagrafica=\"".$idanagrafica."\"", 1);
//Aggiorno gli agenti //Aggiorno gli agenti
$dbo->query("DELETE FROM an_anagrafiche_agenti WHERE idanagrafica=\"".$idanagrafica."\""); $dbo->query("DELETE FROM an_anagrafiche_agenti WHERE idanagrafica=\"".$idanagrafica."\"");
$rs = $dbo->fetchArray("SELECT idagente FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."'"); $rs = $dbo->fetchArray("SELECT idagente FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."'");
$idagente = $rs[0]['idagente']; $idagente = $rs[0]['idagente'];
$dbo->query("INSERT INTO an_anagrafiche_agenti( idanagrafica, idagente ) VALUES( \"".$idanagrafica."\", \"".$idagente."\" )"); $dbo->query("INSERT INTO an_anagrafiche_agenti( idanagrafica, idagente ) VALUES( \"".$idanagrafica."\", \"".$idagente."\" )");
//Aggiorno le tipologie di anagrafica //Aggiorno le tipologie di anagrafica
$dbo->query("DELETE FROM an_tipianagrafiche_anagrafiche WHERE idanagrafica=\"".$idanagrafica."\""); $dbo->query("DELETE FROM an_tipianagrafiche_anagrafiche WHERE idanagrafica=\"".$idanagrafica."\"");
foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){ foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){
$dbo->query("INSERT INTO an_tipianagrafiche_anagrafiche(idtipoanagrafica,idanagrafica) VALUES( \"".$idtipoanagrafica."\", \"".$idanagrafica."\" )"); $dbo->query("INSERT INTO an_tipianagrafiche_anagrafiche(idtipoanagrafica,idanagrafica) VALUES( \"".$idtipoanagrafica."\", \"".$idanagrafica."\" )");
$rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'"); $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'");
$tipoanagrafica_desc = $rs[0]['descrizione']; $tipoanagrafica_desc = $rs[0]['descrizione'];
if (($tipoanagrafica_desc=='Azienda') and ( get_var("Azienda predefinita") == "0" )) if (($tipoanagrafica_desc=='Azienda') and ( get_var("Azienda predefinita") == "0" ))
array_push( $_SESSION['infos'], "Sembra che tu abbia inserito la tua anagrafica Azienda, ricordati di impostarla come predefinita dal menù ''Strumenti -> Impostazioni -> Generali''." ); array_push( $_SESSION['infos'], "Sembra che tu abbia inserito la tua anagrafica Azienda, ricordati di impostarla come predefinita dal menù ''Strumenti -> Impostazioni -> Generali''." );
} }
//Verifico se esiste già l'associazione dell'anagrafica a conti del partitario //Verifico se esiste già l'associazione dell'anagrafica a conti del partitario
$rs = $dbo->fetchArray("SELECT idconto_cliente, idconto_fornitore FROM an_anagrafiche WHERE idanagrafica=\"".$idanagrafica."\""); $rs = $dbo->fetchArray("SELECT idconto_cliente, idconto_fornitore FROM an_anagrafiche WHERE idanagrafica=\"".$idanagrafica."\"");
$idconto_cliente = $rs[0]['idconto_cliente']; $idconto_cliente = $rs[0]['idconto_cliente'];
$idconto_fornitore = $rs[0]['idconto_fornitore']; $idconto_fornitore = $rs[0]['idconto_fornitore'];
//TECNOGEST aggiornamento intestazione conto partitario
$rs = $dbo->fetchArray("SELECT id, descrizione FROM co_pianodeiconti3 WHERE id=\"".$idconto_cliente."\"");
//Creo il relativo conto nel partitario se non esiste if ($idconto_cliente <> '0' ){
if( $idconto_cliente == '0' ){ $dbo->query("UPDATE co_pianodeiconti3 SET descrizione=\"".$html_post['ragione_sociale']."\" WHERE id=\"".$idconto_cliente."\"");
foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){ }
$rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica=\"".$idtipoanagrafica."\""); else{
$rs = $dbo->fetchArray("SELECT id, descrizione FROM co_pianodeiconti3 WHERE id=\"".$idconto_fornitore."\"");
if( $rs[0]['descrizione'] == 'Cliente' ){ $dbo->query("UPDATE co_pianodeiconti3 SET descrizione=\"".$html_post['ragione_sociale']."\" WHERE id=\"".$idconto_fornitore."\"");
//Calcolo prossimo numero cliente }
$rs = $dbo->fetchArray("SELECT MAX( CAST(co_pianodeiconti3.numero AS UNSIGNED) ) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Crediti clienti e crediti diversi'"); //FINE
$new_numero = $rs[0]['max_numero'] + 1;
$new_numero = str_pad( $new_numero, 6, "0", STR_PAD_LEFT ); //Creo il relativo conto nel partitario se non esiste
if( $idconto_cliente == '0' ){
$dbo->query("INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( \"".$new_numero."\", \"".$html_post['ragione_sociale']."\", (SELECT id FROM co_pianodeiconti2 WHERE descrizione='Crediti clienti e crediti diversi'), 1, 1 )"); foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){
$idconto = $dbo->last_inserted_id(); $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica=\"".$idtipoanagrafica."\"");
//Collegamento conto if( $rs[0]['descrizione'] == 'Cliente' ){
$dbo->query("UPDATE an_anagrafiche SET idconto_cliente=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); //Calcolo prossimo numero cliente
} $rs = $dbo->fetchArray("SELECT MAX( CAST(co_pianodeiconti3.numero AS UNSIGNED) ) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Crediti clienti e crediti diversi'");
} $new_numero = $rs[0]['max_numero'] + 1;
} $new_numero = str_pad( $new_numero, 6, "0", STR_PAD_LEFT );
$dbo->query("INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( \"".$new_numero."\", \"".$html_post['ragione_sociale']."\", (SELECT id FROM co_pianodeiconti2 WHERE descrizione='Crediti clienti e crediti diversi'), 1, 1 )");
if( $idconto_fornitore == '0' ){ $idconto = $dbo->last_inserted_id();
foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){
$rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica=\"".$idtipoanagrafica."\""); //Collegamento conto
$dbo->query("UPDATE an_anagrafiche SET idconto_cliente=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\"");
if( $rs[0]['descrizione'] == 'Fornitore' ){ }
//Calcolo prossimo numero cliente }
$rs = $dbo->fetchArray("SELECT MAX( CAST(co_pianodeiconti3.numero AS UNSIGNED) ) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Debiti fornitori e debiti diversi'"); }
$new_numero = $rs[0]['max_numero'] + 1;
$new_numero = str_pad( $new_numero, 6, "0", STR_PAD_LEFT );
if( $idconto_fornitore == '0' ){
$dbo->query("INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( \"".$new_numero."\", \"".$html_post['ragione_sociale']."\", (SELECT id FROM co_pianodeiconti2 WHERE descrizione='Debiti fornitori e debiti diversi'), 1, 1 )"); foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){
$idconto = $dbo->last_inserted_id(); $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica=\"".$idtipoanagrafica."\"");
//Collegamento conto if( $rs[0]['descrizione'] == 'Fornitore' ){
$dbo->query("UPDATE an_anagrafiche SET idconto_fornitore=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); //Calcolo prossimo numero cliente
} $rs = $dbo->fetchArray("SELECT MAX( CAST(co_pianodeiconti3.numero AS UNSIGNED) ) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Debiti fornitori e debiti diversi'");
} $new_numero = $rs[0]['max_numero'] + 1;
} $new_numero = str_pad( $new_numero, 6, "0", STR_PAD_LEFT );
$dbo->query("INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( \"".$new_numero."\", \"".$html_post['ragione_sociale']."\", (SELECT id FROM co_pianodeiconti2 WHERE descrizione='Debiti fornitori e debiti diversi'), 1, 1 )");
$idconto = $dbo->last_inserted_id();
//Verifica dell'esistenza codice anagrafica
if( $esiste ){ //Collegamento conto
array_push( $_SESSION['errors'], "Il codice anagrafica inserito esiste già! Inserirne un'altro..."); $dbo->query("UPDATE an_anagrafiche SET idconto_fornitore=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\"");
} }
else{ }
$dbo->query("UPDATE an_anagrafiche SET codice=\"".$html_post['codice']."\" WHERE idanagrafica=\"".$idanagrafica."\""); }
}
}
} //Verifica dell'esistenza codice anagrafica
if( $esiste ){
else{ array_push( $_SESSION['errors'], "Il codice anagrafica inserito esiste già! Inserirne un'altro...");
array_push( $_SESSION['errors'], "Permesso negato!"); }
} else{
$dbo->query("UPDATE an_anagrafiche SET codice=\"".$html_post['codice']."\" WHERE idanagrafica=\"".$idanagrafica."\"");
}
break;
}
case "add": }
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$idtipoanagrafica = $html->form( 'idtipoanagrafica', 'post', false ); else{
$ragione_sociale = $html->form( 'ragione_sociale', 'post' ); array_push( $_SESSION['errors'], "Permesso negato!");
}
$rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'");
$tipoanagrafica_desc = $rs[0]['descrizione'];
break;
//Inserimento anagrafica base case "add":
if( sizeof($idtipoanagrafica) > 0 && $ragione_sociale != '' ){ if( $modules_info[$module_name]["permessi"] == 'rw' ){
//Leggo l'ultimo codice anagrafica per calcolare il successivo $idtipoanagrafica = $html->form( 'idtipoanagrafica', 'post', false );
$rs = $dbo->fetchArray("SELECT codice FROM an_anagrafiche ORDER BY CAST(codice AS SIGNED) DESC LIMIT 0,1"); $ragione_sociale = $html->form( 'ragione_sociale', 'post' );
$codice = get_next_code( $rs[0]['codice'], 1, get_var("Formato codice anagrafica") );
$rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'");
//Se ad aggiungere un cliente è un agente, lo imposto come agente di quel cliente $tipoanagrafica_desc = $rs[0]['descrizione'];
//Lettura tipologia della nuova anagrafica
$rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'");
$tipoanagrafica_dst = $rs[0]['descrizione']; //Inserimento anagrafica base
if( sizeof($idtipoanagrafica) > 0 && $ragione_sociale != '' ){
//Lettura tipologia dell'utente loggato //Leggo l'ultimo codice anagrafica per calcolare il successivo
$agente_is_logged = false; $rs = $dbo->fetchArray("SELECT codice FROM an_anagrafiche ORDER BY CAST(codice AS SIGNED) DESC LIMIT 0,1");
$rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica='".$user_idanagrafica."'"); $codice = get_next_code( $rs[0]['codice'], 1, get_var("Formato codice anagrafica") );
for( $i=0; $i<sizeof($rs); $i++ ){ //Se ad aggiungere un cliente è un agente, lo imposto come agente di quel cliente
if( $rs[$i]['descrizione']=='Agente' ){ //Lettura tipologia della nuova anagrafica
$agente_is_logged = true; $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'");
$i = sizeof($rs); $tipoanagrafica_dst = $rs[0]['descrizione'];
}
} //Lettura tipologia dell'utente loggato
$agente_is_logged = false;
( $agente_is_logged ) ? $idagente=$user_idanagrafica : $idagente=0; $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica='".$user_idanagrafica."'");
//Inserisco l'anagrafica for( $i=0; $i<sizeof($rs); $i++ ){
$query = "INSERT INTO an_anagrafiche( ragione_sociale, codice, idagente ) VALUES ( \"".save($ragione_sociale)."\", \"".$codice."\", \"".$idagente."\" )"; if( $rs[$i]['descrizione']=='Agente' ){
$dbo->query($query); $agente_is_logged = true;
$idanagrafica = $dbo->last_inserted_id(); $i = sizeof($rs);
if ( $idagente != 0 ){ }
$dbo->query("INSERT INTO an_anagrafiche_agenti( idanagrafica, idagente ) VALUES( \"".$idanagrafica."\", \"".$idagente."\" )"); }
}
// log anagrafiche ( $agente_is_logged ) ? $idagente=$user_idanagrafica : $idagente=0;
add_storico($idanagrafica,"Eseguito inserimento nuova anagrafica");
//Inserisco l'anagrafica
} $query = "INSERT INTO an_anagrafiche( ragione_sociale, codice, idagente ) VALUES ( \"".save($ragione_sociale)."\", \"".$codice."\", \"".$idagente."\" )";
$dbo->query($query);
$idanagrafica = $dbo->last_inserted_id();
//Inserisco il rapporto dell'anagrafica (cliente, tecnico, ecc) if ( $idagente != 0 ){
for( $t=0; $t<sizeof($idtipoanagrafica); $t++ ){ $dbo->query("INSERT INTO an_anagrafiche_agenti( idanagrafica, idagente ) VALUES( \"".$idanagrafica."\", \"".$idagente."\" )");
$query = "INSERT INTO an_tipianagrafiche_anagrafiche(idanagrafica, idtipoanagrafica) VALUES (\"".$idanagrafica."\", \"".$idtipoanagrafica[$t]."\")"; }
$dbo->query($query); // log anagrafiche
add_storico($idanagrafica,"Eseguito inserimento nuova anagrafica");
$rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica[$t]."'");
$tipoanagrafica_desc = $rs[0]['descrizione']; }
if ($tipoanagrafica_desc=='Azienda') //Inserisco il rapporto dell'anagrafica (cliente, tecnico, ecc)
array_push( $_SESSION['infos'], "Sembra che tu abbia inserito la tua anagrafica Azienda, ricordati di impostarla come predefinita dal menù ''Strumenti -> Impostazioni -> Generali''." ); for( $t=0; $t<sizeof($idtipoanagrafica); $t++ ){
} $query = "INSERT INTO an_tipianagrafiche_anagrafiche(idanagrafica, idtipoanagrafica) VALUES (\"".$idanagrafica."\", \"".$idtipoanagrafica[$t]."\")";
$dbo->query($query);
//Creo il relativo conto nel partitario $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica[$t]."'");
if( $tipoanagrafica_desc == 'Cliente' ){ $tipoanagrafica_desc = $rs[0]['descrizione'];
//Calcolo prossimo numero cliente
$rs = $dbo->fetchArray("SELECT MAX( CAST(co_pianodeiconti3.numero AS UNSIGNED) ) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Crediti clienti e crediti diversi'");
$new_numero = $rs[0]['max_numero'] + 1; if ($tipoanagrafica_desc=='Azienda')
$new_numero = str_pad( $new_numero, 6, "0", STR_PAD_LEFT ); array_push( $_SESSION['infos'], "Sembra che tu abbia inserito la tua anagrafica Azienda, ricordati di impostarla come predefinita dal menù ''Strumenti -> Impostazioni -> Generali''." );
}
//Creazione conto
$dbo->query("INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( \"".$new_numero."\", \"".$ragione_sociale."\", (SELECT id FROM co_pianodeiconti2 WHERE descrizione='Crediti clienti e crediti diversi'), 1, 1 )");
$idconto = $dbo->last_inserted_id(); //Creo il relativo conto nel partitario
if( $tipoanagrafica_desc == 'Cliente' ){
//Collegamento conto //Calcolo prossimo numero cliente
$dbo->query("UPDATE an_anagrafiche SET idconto_cliente=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); $rs = $dbo->fetchArray("SELECT MAX( CAST(co_pianodeiconti3.numero AS UNSIGNED) ) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Crediti clienti e crediti diversi'");
} $new_numero = $rs[0]['max_numero'] + 1;
$new_numero = str_pad( $new_numero, 6, "0", STR_PAD_LEFT );
else if( $tipoanagrafica_desc == 'Fornitore' ){
//Calcolo prossimo numero cliente //Creazione conto
$rs = $dbo->fetchArray("SELECT MAX( CAST(co_pianodeiconti3.numero AS UNSIGNED) ) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Debiti fornitori e debiti diversi'"); $dbo->query("INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( \"".$new_numero."\", \"".$ragione_sociale."\", (SELECT id FROM co_pianodeiconti2 WHERE descrizione='Crediti clienti e crediti diversi'), 1, 1 )");
$new_numero = $rs[0]['max_numero'] + 1; $idconto = $dbo->last_inserted_id();
$new_numero = str_pad( $new_numero, 6, "0", STR_PAD_LEFT );
//Collegamento conto
//Creazione conto $dbo->query("UPDATE an_anagrafiche SET idconto_cliente=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\"");
$dbo->query("INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( \"".$new_numero."\", \"".$ragione_sociale."\", (SELECT id FROM co_pianodeiconti2 WHERE descrizione='Debiti fornitori e debiti diversi'), 1, 1 )"); }
$idconto = $dbo->last_inserted_id();
else if( $tipoanagrafica_desc == 'Fornitore' ){
//Collegamento conto //Calcolo prossimo numero cliente
$dbo->query("UPDATE an_anagrafiche SET idconto_fornitore=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); $rs = $dbo->fetchArray("SELECT MAX( CAST(co_pianodeiconti3.numero AS UNSIGNED) ) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Debiti fornitori e debiti diversi'");
} $new_numero = $rs[0]['max_numero'] + 1;
$new_numero = str_pad( $new_numero, 6, "0", STR_PAD_LEFT );
$id_record = $idanagrafica; //Creazione conto
array_push( $_SESSION['infos'], "Aggiunta nuova anagrafica di tipo ''".$tipoanagrafica_desc."''" ); $dbo->query("INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( \"".$new_numero."\", \"".$ragione_sociale."\", (SELECT id FROM co_pianodeiconti2 WHERE descrizione='Debiti fornitori e debiti diversi'), 1, 1 )");
$idconto = $dbo->last_inserted_id();
}
//Collegamento conto
break; $dbo->query("UPDATE an_anagrafiche SET idconto_fornitore=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\"");
}
case "delete":
if( $modules_info[$module_name]["permessi"] == 'rw' ){ $id_record = $idanagrafica;
//Disattivo solamente l'anagrafica array_push( $_SESSION['infos'], "Aggiunta nuova anagrafica di tipo ''".$tipoanagrafica_desc."''" );
$dbo->query("UPDATE an_anagrafiche SET deleted=1 WHERE idanagrafica=\"".$id_record."\" ".$additional_where['Anagrafiche']);
array_push( $_SESSION['infos'], "Anagrafica eliminata!" ); }
// log anagrafiche
add_storico($idanagrafica,"Anagrafica disattivata"); break;
}
break; case "delete":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
case "sendemail": //Disattivo solamente l'anagrafica
$dbo->query("UPDATE an_anagrafiche SET deleted=1 WHERE idanagrafica=\"".$id_record."\" ".$additional_where['Anagrafiche']);
$from_address = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ); array_push( $_SESSION['infos'], "Anagrafica eliminata!" );
$oggetto = html_entity_decode($_POST['oggetto']); // log anagrafiche
$testo_email = html_entity_decode($_POST['body'], ENT_QUOTES); add_storico($idanagrafica,"Anagrafica disattivata");
$destinatario=$_POST['destinatario']; }
$messaggio = new PHPmailer(str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ));
$messaggio->FromName = str_replace( ",", ".", get_var("Nome Form Mail") ); break;
$messaggio->From = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") );
$messaggio->AddAddress($destinatario); case "sendemail":
$messaggio->Subject=($oggetto);
$messaggio->Body=strip_tags($testo_email); $from_address = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") );
if(!$messaggio->Send()){ $oggetto = html_entity_decode($_POST['oggetto']);
array_push( $_SESSION['infos'], $messaggio->ErrorInfo ); $testo_email = html_entity_decode($_POST['body'], ENT_QUOTES);
$destinatario=$_POST['destinatario'];
}else{ $messaggio = new PHPmailer(str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ));
array_push( $_SESSION['infos'], "Email to SMS inviata correttamente" ); $messaggio->FromName = str_replace( ",", ".", get_var("Nome Form Mail") );
// log anagrafiche $messaggio->From = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") );
add_storico($idanagrafica,"Inviato nuovo SMS"); $messaggio->AddAddress($destinatario);
} $messaggio->Subject=($oggetto);
break; $messaggio->Body=strip_tags($testo_email);
if(!$messaggio->Send()){
case "sendemail_web": array_push( $_SESSION['infos'], $messaggio->ErrorInfo );
$from_address = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ); }else{
$oggetto = html_entity_decode($_POST['oggetto']); array_push( $_SESSION['infos'], "Email to SMS inviata correttamente" );
$test=get_var("Form Mail Lab"); // log anagrafiche
$testo_email = html_entity_decode($_POST['body'], ENT_QUOTES); add_storico($idanagrafica,"Inviato nuovo SMS");
$destinatario=$_POST['destinatario']; }
$messaggio = new PHPmailer(str_replace( ",", ".", get_var("Indirizzo per le email in uscita") )); break;
$messaggio->FromName = str_replace( ",", ".", get_var("Nome Form Mail") );
$messaggio->From = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ); case "sendemail_web":
$messaggio->AddAddress($destinatario);
$messaggio->Subject=($oggetto); $from_address = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") );
$messaggio->Body=strip_tags($testo_email); $oggetto = html_entity_decode($_POST['oggetto']);
$mail_cc=str_replace( ",", ".", get_var("Destinatario fisso in copia (campo CC)")); $test=get_var("Form Mail Lab");
if ($mail_cc != ""){ $testo_email = html_entity_decode($_POST['body'], ENT_QUOTES);
$messaggio->AddCC($mail_cc); $destinatario=$_POST['destinatario'];
} $messaggio = new PHPmailer(str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ));
$messaggio->FromName = str_replace( ",", ".", get_var("Nome Form Mail") );
$messaggio->From = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") );
if(!$messaggio->Send()){ $messaggio->AddAddress($destinatario);
array_push( $_SESSION['infos'], $messaggio->ErrorInfo ); $messaggio->Subject=($oggetto);
}else{ $messaggio->Body=strip_tags($testo_email);
array_push( $_SESSION['infos'], "Email inviata correttamente" ); $mail_cc=str_replace( ",", ".", get_var("Destinatario fisso in copia (campo CC)"));
// log anagrafiche if ($mail_cc != ""){
add_storico($_POST['id_record'],"Inviato nuova MAIL"); $messaggio->AddCC($mail_cc);
} }
break;
if(!$messaggio->Send()){
} array_push( $_SESSION['infos'], $messaggio->ErrorInfo );
}else{
?> array_push( $_SESSION['infos'], "Email inviata correttamente" );
// log anagrafiche
add_storico($_POST['id_record'],"Inviato nuova MAIL");
}
break;
}
?>

View File

@ -156,7 +156,7 @@
$body .= "</td>\n"; $body .= "</td>\n";
( $righe[$i]['qta'] == 0 ) ? $qta='' : $qta=number_format($righe[$i]['qta'], 1, ",", ""); ( $righe[$i]['qta'] == 0 ) ? $qta='' : $qta=number_format($righe[$i]['qta'], 2, ",", "");
$body .= "<td class='center b-right' valign='top'>\n"; $body .= "<td class='center b-right' valign='top'>\n";
$body .= $qta."\n"; $body .= $qta."\n";
$body .= "</td>\n"; $body .= "</td>\n";

View File

@ -69,7 +69,10 @@
<td colspan="2" style="height:10mm;" > <td colspan="2" style="height:10mm;" >
<br/> <br/>
<small><b>BANCA DI APPOGGIO</b></small><br/> <small><b>BANCA DI APPOGGIO</b></small><br/>
$f_appoggiobancario$ $f_appoggiobancario$
<br/>
<small><b>IBAN</b></small><br/>
$f_codiceiban$
</td> </td>
</tr> </tr>