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; } ?>