From f22b89901c82253443e0f9a9fa503ed5b260d89a Mon Sep 17 00:00:00 2001 From: Alessandro Date: Sun, 2 May 2021 11:12:25 +0200 Subject: [PATCH] Aggiornare 'modules/anagrafiche/actions.php' Inserita la verifica se esiste una posizione generata e verifica se e' cliente o fornitore e salva il contenuto della cella ragione_sociale del form html. --- modules/anagrafiche/actions.php | 895 ++++++++++++++++---------------- 1 file changed, 452 insertions(+), 443 deletions(-) diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php index cab960a..49051df 100644 --- a/modules/anagrafiche/actions.php +++ b/modules/anagrafiche/actions.php @@ -1,443 +1,452 @@ -form('op', 'post') ){ - case "update": - - $idanagrafica = $_POST['id_record']; - if( $modules_info[$module_name]["permessi"] == 'rw' ){ - - //leggo tutti i valori passati dal POST e li salvo in un array - $html_post = array(); - foreach ($_POST as $key => $value) { - $html_post[$key] = save($value); - } - - if( isset($_POST['id_record']) ){ - - - include ($docroot . "/lib/salva_personalizzati.php"); - - - $data_nascita = saveDate($html_post['data_nascita']); - if( $data_nascita == '' ){ - $data_nascita = ''; - } - - ( $_POST['perc_netto'] == 'on' ) ? $perc_netto=1 : $perc_netto=0; - ( $_POST['perc_iva'] == 'on' ) ? $perc_iva=1 : $perc_iva=0; - $perc_agente = force_decimal($_POST['perc_agente']); - - $query = "UPDATE an_anagrafiche SET ". - - "componente_filename=\"".$html_post['componente_filename']."\",". - "ragione_sociale=\"".$html_post['ragione_sociale']."\",". - "tipo=\"".$html_post['tipo']."\",". - "piva=\"".$html_post['piva']."\",". - "codice_fiscale=\"".$html_post['codice_fiscale']."\",". - "data_nascita=\"".$data_nascita."\",". - "luogo_nascita=\"".$html_post['luogo_nascita']."\",". - "sesso=\"".$html_post['sesso']."\",". - "capitale_sociale=\"".$html_post['capitale_sociale']."\",". - "indirizzo=\"".$html_post['indirizzo']."\",". - "indirizzo2=\"".$html_post['indirizzo2']."\",". - "citta=\"".$html_post['citta']."\",". - "cap=\"".$html_post['cap']."\",". - "provincia=\"".$html_post['provincia']."\",". - "km=\"".str_replace( ",", ".", $html_post['km'] )."\",". - "id_nazione=\"".$html_post['nazione']."\",". - "telefono=\"".$html_post['telefono']."\",". - "cellulare=\"".$html_post['cellulare']."\",". - "fax=\"".$html_post['fax']."\",". - "email=\"".$html_post['email']."\",". - "idsede_fatturazione=\"".$html_post['idsede_fatturazione']."\",". - "note=\"".$html_post['note']."\",". - "codiceri=\"".$html_post['codiceri']."\",". - "codicerea=\"".$html_post['codicerea']."\",". - "appoggiobancario=\"".$html_post['appoggiobancario']."\",". - "filiale=\"".$html_post['filiale']."\",". - "codiceiban=\"".$html_post['codiceiban']."\",". - "bic=\"".$html_post['bic']."\",". - "diciturafissafattura=\"".$html_post['diciturafissafattura']."\",". - "idpagamento=\"".$html_post['idpagamento']."\",". - "idlistino=\"".$html_post['idlistino']."\",". - "idiva=\"".$html_post['idiva']."\",". - "settore=\"".$html_post['settore']."\",". - "marche=\"".$html_post['marche']."\",". - "dipendenti=\"".$html_post['dipendenti']."\",". - "macchine=\"".$html_post['macchine']."\",". - "idagente=\"".$html_post['idagente']."\",". - "idrelazione=\"".$html_post['idrelazione']."\",". - "sitoweb=\"".$html_post['sitoweb']."\",". - "idzona=\"".$html_post['idzona']."\",". - "nome_cognome=\"".$html_post['nome_cognome']."\",". - "iscrizione_tribunale=\"".$html_post['iscrizione_tribunale']."\",". - "cciaa=\"".$html_post['cciaa']."\",". - "cciaa_citta=\"".$html_post['cciaa_citta']."\",". - "n_alboartigiani=\"".$html_post['n_alboartigiani']."\",". - "foro_competenza=\"".$html_post['foro_competenza']."\",". - "colore=\"".$html_post['colore']."\",". - "colore_marker=\"".$html_post['colore_marker']."\",". - "cod_sogei=\"".$html_post['cod_sogei']."\",". - "lng=\"".$html_post['lng']."\",". - "lat=\"".$html_post['lat']."\",". - "cod_sogei_pec=\"".$html_post['cod_sogei_pec']."\",". - "perc_agente=\"".$perc_agente."\",". - "perc_netto=\"".$perc_netto."\",". - "esigibilita_iva=\"".$html_post['esigibilita_iva']."\",". - "identificativo_xml=\"".$html_post['identificativo_xml']."\",". - "perc_iva=\"".$perc_iva."\",". - "default_ritenuta_acconto=\"".$html_post['default_ritenuta_acconto']."\",". // release 2.3.5 - "default_rivalsa_inps=\"".$html_post['default_rivalsa_inps']."\",". // release 2.3.5 - "idtipointervento_default=\"".$html_post['idtipointervento_default']."\"". - "WHERE idanagrafica='$idanagrafica' ".$additional_where['Anagrafiche']; - - $rs = $dbo->query( $query ); - - - // log anagrafiche - add_storico($idanagrafica,"Eseguito modifica salvataggio anagrafica"); - - - // testo se inserito banca appoggiobancario - - $idbanca_vendite=$html_post['idbanca_vendite']; - if( $idbanca_vendite > 0 ){ - $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'"; - $rs = $dbo->query( $query ); - - - - - - } - - /* - Salvataggio info componente (campo `contenuto`) - */ - $filename = save( $_POST['componente_filename'] ); - - $post_array = array(); - - foreach( $_POST as $impostazione_post=>$valore_impostazione_post ){ - //Creo l'array con tutti i valori passati dal POST - $impostazione_post = str_replace( "_", " ", $impostazione_post ); - $post_array[$impostazione_post] = save($valore_impostazione_post); - } - $nome = save($_POST['Nome']); - - //Lettura info componente - if( file_exists($docroot."/files/my_impianti/".$filename) ) - $contenuto = file_get_contents( $docroot."/files/my_impianti/".$filename ); - else - $contenuto = ''; - - - //Converto 'contenuto' di questo componente in un array - $ini_array = parse_ini_string( $contenuto, true ); - - //Creo variabile contenuto temporaneo - $contenuto_tmp = array(); - - //Resetto il valore di contenuto - $contenuto = ''; - - //Per ogni sezione dell'array estratto dal file ini - foreach ($ini_array as $sezione => $array_impostazioni){ - $sezione = str_replace( "\r\n", "\n", $sezione ); - $sezione = str_replace( "\n", "
", $sezione ); - $contenuto .= "["".$sezione.""]\n"; - - //Per ogni impostazione - foreach ($array_impostazioni as $impostazione => $valore_impostazione){ - - //Quando trovo l'impostazione 'valore' la sostituisco con il valore passato dal post - if ($impostazione=='valore'){ - - $da = array($impostazione => $valore_impostazione); - $a = array($impostazione => $post_array[$sezione]); - - $contenuto_tmp = array_replace($ini_array[$sezione], $da, $a); - - foreach ($contenuto_tmp as $impostazione_tmp => $valore_impostazione_tmp){ - $valore = $valore_impostazione_tmp; - $valore = str_replace( "\r\n", "\n", $valore ); - $valore = str_replace( "\n", "
", $valore ); - - - $contenuto .= save($impostazione_tmp)." = "".save($valore).""\n"; - } - } - } - } - - $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!"); - - //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); - - - //Aggiorno gli agenti - - $dbo->query("DELETE FROM an_anagrafiche_agenti WHERE idanagrafica=\"".$idanagrafica."\""); - $rs = $dbo->fetchArray("SELECT idagente FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."'"); - $idagente = $rs[0]['idagente']; - $dbo->query("INSERT INTO an_anagrafiche_agenti( idanagrafica, idagente ) VALUES( \"".$idanagrafica."\", \"".$idagente."\" )"); - - - - //Aggiorno le tipologie di anagrafica - $dbo->query("DELETE FROM an_tipianagrafiche_anagrafiche WHERE idanagrafica=\"".$idanagrafica."\""); - - foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){ - - $dbo->query("INSERT INTO an_tipianagrafiche_anagrafiche(idtipoanagrafica,idanagrafica) VALUES( \"".$idtipoanagrafica."\", \"".$idanagrafica."\" )"); - - $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'"); - $tipoanagrafica_desc = $rs[0]['descrizione']; - - - 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''." ); - - - } - - - - //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."\""); - $idconto_cliente = $rs[0]['idconto_cliente']; - $idconto_fornitore = $rs[0]['idconto_fornitore']; - - - //Creo il relativo conto nel partitario se non esiste - if( $idconto_cliente == '0' ){ - foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){ - $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica=\"".$idtipoanagrafica."\""); - - if( $rs[0]['descrizione'] == 'Cliente' ){ - //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 )"); - $idconto = $dbo->last_inserted_id(); - - //Collegamento conto - $dbo->query("UPDATE an_anagrafiche SET idconto_cliente=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); - } - } - } - - - if( $idconto_fornitore == '0' ){ - foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){ - $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica=\"".$idtipoanagrafica."\""); - - 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 ); - - $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(); - - //Collegamento conto - $dbo->query("UPDATE an_anagrafiche SET idconto_fornitore=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); - } - } - } - - - - //Verifica dell'esistenza codice anagrafica - if( $esiste ){ - array_push( $_SESSION['errors'], "Il codice anagrafica inserito esiste già! Inserirne un'altro..."); - } - else{ - $dbo->query("UPDATE an_anagrafiche SET codice=\"".$html_post['codice']."\" WHERE idanagrafica=\"".$idanagrafica."\""); - } - - } - } - - else{ - array_push( $_SESSION['errors'], "Permesso negato!"); - } - - - break; - - case "add": - if( $modules_info[$module_name]["permessi"] == 'rw' ){ - $idtipoanagrafica = $html->form( 'idtipoanagrafica', 'post', false ); - $ragione_sociale = $html->form( 'ragione_sociale', 'post' ); - - $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'"); - $tipoanagrafica_desc = $rs[0]['descrizione']; - - - //Inserimento anagrafica base - if( sizeof($idtipoanagrafica) > 0 && $ragione_sociale != '' ){ - //Leggo l'ultimo codice anagrafica per calcolare il successivo - $rs = $dbo->fetchArray("SELECT codice FROM an_anagrafiche ORDER BY CAST(codice AS SIGNED) DESC LIMIT 0,1"); - $codice = get_next_code( $rs[0]['codice'], 1, get_var("Formato codice anagrafica") ); - - //Se ad aggiungere un cliente è un agente, lo imposto come agente di quel cliente - //Lettura tipologia della nuova anagrafica - $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'"); - $tipoanagrafica_dst = $rs[0]['descrizione']; - - //Lettura tipologia dell'utente loggato - $agente_is_logged = false; - $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."'"); - - for( $i=0; $iquery($query); - $idanagrafica = $dbo->last_inserted_id(); - if ( $idagente != 0 ){ - $dbo->query("INSERT INTO an_anagrafiche_agenti( idanagrafica, idagente ) VALUES( \"".$idanagrafica."\", \"".$idagente."\" )"); - } - // log anagrafiche - add_storico($idanagrafica,"Eseguito inserimento nuova anagrafica"); - - } - - - //Inserisco il rapporto dell'anagrafica (cliente, tecnico, ecc) - for( $t=0; $tquery($query); - - $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica[$t]."'"); - $tipoanagrafica_desc = $rs[0]['descrizione']; - - - if ($tipoanagrafica_desc=='Azienda') - array_push( $_SESSION['infos'], "Sembra che tu abbia inserito la tua anagrafica Azienda, ricordati di impostarla come predefinita dal menù ''Strumenti -> Impostazioni -> Generali''." ); - } - - - //Creo il relativo conto nel partitario - if( $tipoanagrafica_desc == 'Cliente' ){ - //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 ); - - //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(); - - //Collegamento conto - $dbo->query("UPDATE an_anagrafiche SET idconto_cliente=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); - } - - else if( $tipoanagrafica_desc == '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 ); - - //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='Debiti fornitori e debiti diversi'), 1, 1 )"); - $idconto = $dbo->last_inserted_id(); - - //Collegamento conto - $dbo->query("UPDATE an_anagrafiche SET idconto_fornitore=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); - } - - - $id_record = $idanagrafica; - array_push( $_SESSION['infos'], "Aggiunta nuova anagrafica di tipo ''".$tipoanagrafica_desc."''" ); - - } - - break; - - - case "delete": - if( $modules_info[$module_name]["permessi"] == 'rw' ){ - //Disattivo solamente l'anagrafica - $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; - - case "sendemail": - - $from_address = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ); - $oggetto = html_entity_decode($_POST['oggetto']); - $testo_email = html_entity_decode($_POST['body'], ENT_QUOTES); - $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") ); - $messaggio->AddAddress($destinatario); - $messaggio->Subject=($oggetto); - $messaggio->Body=strip_tags($testo_email); - if(!$messaggio->Send()){ - array_push( $_SESSION['infos'], $messaggio->ErrorInfo ); - - }else{ - array_push( $_SESSION['infos'], "Email to SMS inviata correttamente" ); - // log anagrafiche - add_storico($idanagrafica,"Inviato nuovo SMS"); - } - break; - - case "sendemail_web": - - $from_address = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ); - $oggetto = html_entity_decode($_POST['oggetto']); - $test=get_var("Form Mail Lab"); - $testo_email = html_entity_decode($_POST['body'], ENT_QUOTES); - $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") ); - $messaggio->AddAddress($destinatario); - $messaggio->Subject=($oggetto); - $messaggio->Body=strip_tags($testo_email); - $mail_cc=str_replace( ",", ".", get_var("Destinatario fisso in copia (campo CC)")); - if ($mail_cc != ""){ - $messaggio->AddCC($mail_cc); - } - - - 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; - - } - -?> +form('op', 'post') ){ + case "update": + + $idanagrafica = $_POST['id_record']; + if( $modules_info[$module_name]["permessi"] == 'rw' ){ + + //leggo tutti i valori passati dal POST e li salvo in un array + $html_post = array(); + foreach ($_POST as $key => $value) { + $html_post[$key] = save($value); + } + + if( isset($_POST['id_record']) ){ + + + include ($docroot . "/lib/salva_personalizzati.php"); + + + $data_nascita = saveDate($html_post['data_nascita']); + if( $data_nascita == '' ){ + $data_nascita = ''; + } + + ( $_POST['perc_netto'] == 'on' ) ? $perc_netto=1 : $perc_netto=0; + ( $_POST['perc_iva'] == 'on' ) ? $perc_iva=1 : $perc_iva=0; + $perc_agente = force_decimal($_POST['perc_agente']); + + $query = "UPDATE an_anagrafiche SET ". + + "componente_filename=\"".$html_post['componente_filename']."\",". + "ragione_sociale=\"".$html_post['ragione_sociale']."\",". + "tipo=\"".$html_post['tipo']."\",". + "piva=\"".$html_post['piva']."\",". + "codice_fiscale=\"".$html_post['codice_fiscale']."\",". + "data_nascita=\"".$data_nascita."\",". + "luogo_nascita=\"".$html_post['luogo_nascita']."\",". + "sesso=\"".$html_post['sesso']."\",". + "capitale_sociale=\"".$html_post['capitale_sociale']."\",". + "indirizzo=\"".$html_post['indirizzo']."\",". + "indirizzo2=\"".$html_post['indirizzo2']."\",". + "citta=\"".$html_post['citta']."\",". + "cap=\"".$html_post['cap']."\",". + "provincia=\"".$html_post['provincia']."\",". + "km=\"".str_replace( ",", ".", $html_post['km'] )."\",". + "id_nazione=\"".$html_post['nazione']."\",". + "telefono=\"".$html_post['telefono']."\",". + "cellulare=\"".$html_post['cellulare']."\",". + "fax=\"".$html_post['fax']."\",". + "email=\"".$html_post['email']."\",". + "idsede_fatturazione=\"".$html_post['idsede_fatturazione']."\",". + "note=\"".$html_post['note']."\",". + "codiceri=\"".$html_post['codiceri']."\",". + "codicerea=\"".$html_post['codicerea']."\",". + "appoggiobancario=\"".$html_post['appoggiobancario']."\",". + "filiale=\"".$html_post['filiale']."\",". + "codiceiban=\"".$html_post['codiceiban']."\",". + "bic=\"".$html_post['bic']."\",". + "diciturafissafattura=\"".$html_post['diciturafissafattura']."\",". + "idpagamento=\"".$html_post['idpagamento']."\",". + "idlistino=\"".$html_post['idlistino']."\",". + "idiva=\"".$html_post['idiva']."\",". + "settore=\"".$html_post['settore']."\",". + "marche=\"".$html_post['marche']."\",". + "dipendenti=\"".$html_post['dipendenti']."\",". + "macchine=\"".$html_post['macchine']."\",". + "idagente=\"".$html_post['idagente']."\",". + "idrelazione=\"".$html_post['idrelazione']."\",". + "sitoweb=\"".$html_post['sitoweb']."\",". + "idzona=\"".$html_post['idzona']."\",". + "nome_cognome=\"".$html_post['nome_cognome']."\",". + "iscrizione_tribunale=\"".$html_post['iscrizione_tribunale']."\",". + "cciaa=\"".$html_post['cciaa']."\",". + "cciaa_citta=\"".$html_post['cciaa_citta']."\",". + "n_alboartigiani=\"".$html_post['n_alboartigiani']."\",". + "foro_competenza=\"".$html_post['foro_competenza']."\",". + "colore=\"".$html_post['colore']."\",". + "colore_marker=\"".$html_post['colore_marker']."\",". + "cod_sogei=\"".$html_post['cod_sogei']."\",". + "lng=\"".$html_post['lng']."\",". + "lat=\"".$html_post['lat']."\",". + "cod_sogei_pec=\"".$html_post['cod_sogei_pec']."\",". + "perc_agente=\"".$perc_agente."\",". + "perc_netto=\"".$perc_netto."\",". + "esigibilita_iva=\"".$html_post['esigibilita_iva']."\",". + "identificativo_xml=\"".$html_post['identificativo_xml']."\",". + "perc_iva=\"".$perc_iva."\",". + "default_ritenuta_acconto=\"".$html_post['default_ritenuta_acconto']."\",". // release 2.3.5 + "default_rivalsa_inps=\"".$html_post['default_rivalsa_inps']."\",". // release 2.3.5 + "idtipointervento_default=\"".$html_post['idtipointervento_default']."\"". + "WHERE idanagrafica='$idanagrafica' ".$additional_where['Anagrafiche']; + + $rs = $dbo->query( $query ); + + + // log anagrafiche + add_storico($idanagrafica,"Eseguito modifica salvataggio anagrafica"); + + + // testo se inserito banca appoggiobancario + + $idbanca_vendite=$html_post['idbanca_vendite']; + if( $idbanca_vendite > 0 ){ + $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'"; + $rs = $dbo->query( $query ); + + + + + + } + + /* + Salvataggio info componente (campo `contenuto`) + */ + $filename = save( $_POST['componente_filename'] ); + + $post_array = array(); + + foreach( $_POST as $impostazione_post=>$valore_impostazione_post ){ + //Creo l'array con tutti i valori passati dal POST + $impostazione_post = str_replace( "_", " ", $impostazione_post ); + $post_array[$impostazione_post] = save($valore_impostazione_post); + } + $nome = save($_POST['Nome']); + + //Lettura info componente + if( file_exists($docroot."/files/my_impianti/".$filename) ) + $contenuto = file_get_contents( $docroot."/files/my_impianti/".$filename ); + else + $contenuto = ''; + + + //Converto 'contenuto' di questo componente in un array + $ini_array = parse_ini_string( $contenuto, true ); + + //Creo variabile contenuto temporaneo + $contenuto_tmp = array(); + + //Resetto il valore di contenuto + $contenuto = ''; + + //Per ogni sezione dell'array estratto dal file ini + foreach ($ini_array as $sezione => $array_impostazioni){ + $sezione = str_replace( "\r\n", "\n", $sezione ); + $sezione = str_replace( "\n", "
", $sezione ); + $contenuto .= "["".$sezione.""]\n"; + + //Per ogni impostazione + foreach ($array_impostazioni as $impostazione => $valore_impostazione){ + + //Quando trovo l'impostazione 'valore' la sostituisco con il valore passato dal post + if ($impostazione=='valore'){ + + $da = array($impostazione => $valore_impostazione); + $a = array($impostazione => $post_array[$sezione]); + + $contenuto_tmp = array_replace($ini_array[$sezione], $da, $a); + + foreach ($contenuto_tmp as $impostazione_tmp => $valore_impostazione_tmp){ + $valore = $valore_impostazione_tmp; + $valore = str_replace( "\r\n", "\n", $valore ); + $valore = str_replace( "\n", "
", $valore ); + + + $contenuto .= save($impostazione_tmp)." = "".save($valore).""\n"; + } + } + } + } + + $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!"); + + //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); + + + //Aggiorno gli agenti + + $dbo->query("DELETE FROM an_anagrafiche_agenti WHERE idanagrafica=\"".$idanagrafica."\""); + $rs = $dbo->fetchArray("SELECT idagente FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."'"); + $idagente = $rs[0]['idagente']; + $dbo->query("INSERT INTO an_anagrafiche_agenti( idanagrafica, idagente ) VALUES( \"".$idanagrafica."\", \"".$idagente."\" )"); + + + + //Aggiorno le tipologie di anagrafica + $dbo->query("DELETE FROM an_tipianagrafiche_anagrafiche WHERE idanagrafica=\"".$idanagrafica."\""); + + foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){ + + $dbo->query("INSERT INTO an_tipianagrafiche_anagrafiche(idtipoanagrafica,idanagrafica) VALUES( \"".$idtipoanagrafica."\", \"".$idanagrafica."\" )"); + + $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'"); + $tipoanagrafica_desc = $rs[0]['descrizione']; + + + 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''." ); + + + } + + + + //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."\""); + $idconto_cliente = $rs[0]['idconto_cliente']; + $idconto_fornitore = $rs[0]['idconto_fornitore']; +//TECNOGEST aggiornamento intestazione conto partitario + $rs = $dbo->fetchArray("SELECT id, descrizione FROM co_pianodeiconti3 WHERE id=\"".$idconto_cliente."\""); + if ($idconto_cliente <> '0' ){ + $dbo->query("UPDATE co_pianodeiconti3 SET descrizione=\"".$html_post['ragione_sociale']."\" WHERE id=\"".$idconto_cliente."\""); + } + else{ + $rs = $dbo->fetchArray("SELECT id, descrizione FROM co_pianodeiconti3 WHERE id=\"".$idconto_fornitore."\""); + $dbo->query("UPDATE co_pianodeiconti3 SET descrizione=\"".$html_post['ragione_sociale']."\" WHERE id=\"".$idconto_fornitore."\""); + } +//FINE + + //Creo il relativo conto nel partitario se non esiste + if( $idconto_cliente == '0' ){ + foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){ + $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica=\"".$idtipoanagrafica."\""); + + if( $rs[0]['descrizione'] == 'Cliente' ){ + //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 )"); + $idconto = $dbo->last_inserted_id(); + + //Collegamento conto + $dbo->query("UPDATE an_anagrafiche SET idconto_cliente=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); + } + } + } + + + if( $idconto_fornitore == '0' ){ + foreach( $_POST['idtipoanagrafica'] as $idtipoanagrafica ){ + $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica=\"".$idtipoanagrafica."\""); + + 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 ); + + $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(); + + //Collegamento conto + $dbo->query("UPDATE an_anagrafiche SET idconto_fornitore=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); + } + } + } + + + + //Verifica dell'esistenza codice anagrafica + if( $esiste ){ + array_push( $_SESSION['errors'], "Il codice anagrafica inserito esiste già! Inserirne un'altro..."); + } + else{ + $dbo->query("UPDATE an_anagrafiche SET codice=\"".$html_post['codice']."\" WHERE idanagrafica=\"".$idanagrafica."\""); + } + + } + } + + else{ + array_push( $_SESSION['errors'], "Permesso negato!"); + } + + + break; + + case "add": + if( $modules_info[$module_name]["permessi"] == 'rw' ){ + $idtipoanagrafica = $html->form( 'idtipoanagrafica', 'post', false ); + $ragione_sociale = $html->form( 'ragione_sociale', 'post' ); + + $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'"); + $tipoanagrafica_desc = $rs[0]['descrizione']; + + + //Inserimento anagrafica base + if( sizeof($idtipoanagrafica) > 0 && $ragione_sociale != '' ){ + //Leggo l'ultimo codice anagrafica per calcolare il successivo + $rs = $dbo->fetchArray("SELECT codice FROM an_anagrafiche ORDER BY CAST(codice AS SIGNED) DESC LIMIT 0,1"); + $codice = get_next_code( $rs[0]['codice'], 1, get_var("Formato codice anagrafica") ); + + //Se ad aggiungere un cliente è un agente, lo imposto come agente di quel cliente + //Lettura tipologia della nuova anagrafica + $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica."'"); + $tipoanagrafica_dst = $rs[0]['descrizione']; + + //Lettura tipologia dell'utente loggato + $agente_is_logged = false; + $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."'"); + + for( $i=0; $iquery($query); + $idanagrafica = $dbo->last_inserted_id(); + if ( $idagente != 0 ){ + $dbo->query("INSERT INTO an_anagrafiche_agenti( idanagrafica, idagente ) VALUES( \"".$idanagrafica."\", \"".$idagente."\" )"); + } + // log anagrafiche + add_storico($idanagrafica,"Eseguito inserimento nuova anagrafica"); + + } + + + //Inserisco il rapporto dell'anagrafica (cliente, tecnico, ecc) + for( $t=0; $tquery($query); + + $rs = $dbo->fetchArray("SELECT descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica='".$idtipoanagrafica[$t]."'"); + $tipoanagrafica_desc = $rs[0]['descrizione']; + + + if ($tipoanagrafica_desc=='Azienda') + array_push( $_SESSION['infos'], "Sembra che tu abbia inserito la tua anagrafica Azienda, ricordati di impostarla come predefinita dal menù ''Strumenti -> Impostazioni -> Generali''." ); + } + + + //Creo il relativo conto nel partitario + if( $tipoanagrafica_desc == 'Cliente' ){ + //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 ); + + //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(); + + //Collegamento conto + $dbo->query("UPDATE an_anagrafiche SET idconto_cliente=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); + } + + else if( $tipoanagrafica_desc == '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 ); + + //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='Debiti fornitori e debiti diversi'), 1, 1 )"); + $idconto = $dbo->last_inserted_id(); + + //Collegamento conto + $dbo->query("UPDATE an_anagrafiche SET idconto_fornitore=\"".$idconto."\" WHERE idanagrafica=\"".$idanagrafica."\""); + } + + + $id_record = $idanagrafica; + array_push( $_SESSION['infos'], "Aggiunta nuova anagrafica di tipo ''".$tipoanagrafica_desc."''" ); + + } + + break; + + + case "delete": + if( $modules_info[$module_name]["permessi"] == 'rw' ){ + //Disattivo solamente l'anagrafica + $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; + + case "sendemail": + + $from_address = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ); + $oggetto = html_entity_decode($_POST['oggetto']); + $testo_email = html_entity_decode($_POST['body'], ENT_QUOTES); + $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") ); + $messaggio->AddAddress($destinatario); + $messaggio->Subject=($oggetto); + $messaggio->Body=strip_tags($testo_email); + if(!$messaggio->Send()){ + array_push( $_SESSION['infos'], $messaggio->ErrorInfo ); + + }else{ + array_push( $_SESSION['infos'], "Email to SMS inviata correttamente" ); + // log anagrafiche + add_storico($idanagrafica,"Inviato nuovo SMS"); + } + break; + + case "sendemail_web": + + $from_address = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ); + $oggetto = html_entity_decode($_POST['oggetto']); + $test=get_var("Form Mail Lab"); + $testo_email = html_entity_decode($_POST['body'], ENT_QUOTES); + $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") ); + $messaggio->AddAddress($destinatario); + $messaggio->Subject=($oggetto); + $messaggio->Body=strip_tags($testo_email); + $mail_cc=str_replace( ",", ".", get_var("Destinatario fisso in copia (campo CC)")); + if ($mail_cc != ""){ + $messaggio->AddCC($mail_cc); + } + + + 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; + + } + +?>