gest366/modules/anagrafiche_prospect/actions.php

314 lines
13 KiB
PHP
Raw Permalink Normal View History

2021-02-24 20:40:04 +00:00
<?php
if( $docroot == '' ){
die( _("Accesso negato!") );
}
switch( $html->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");
$query = "UPDATE an_anagrafiche_prospect SET ".
"componente_filename=\"".$html_post['componente_filename']."\",".
"ragione_sociale=\"".$html_post['ragione_sociale']."\",".
"nome=\"".$html_post['nome']."\",".
"cognome=\"".$html_post['cognome']."\",".
"piva=\"".$html_post['piva']."\",".
"codice_fiscale=\"".$html_post['codice_fiscale']."\",".
"indirizzo=\"".$html_post['indirizzo']."\",".
"citta=\"".$html_post['citta']."\",".
"cap=\"".$html_post['cap']."\",".
"provincia=\"".$html_post['provincia']."\",".
"id_nazione=\"".$html_post['nazione']."\",".
"telefono=\"".$html_post['telefono']."\",".
"cellulare=\"".$html_post['cellulare']."\",".
"fax=\"".$html_post['fax']."\",".
"email=\"".$html_post['email']."\",".
"note=\"".$html_post['note']."\",".
"sitoweb=\"".$html_post['sitoweb']."\"".
" WHERE id='$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", "<br/>", $sezione );
$contenuto .= "[&quot;".$sezione."&quot;]\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", "<br/>", $valore );
$contenuto .= save($impostazione_tmp)." = &quot;".save($valore)."&quot;\n";
}
}
}
}
$dbo->query("UPDATE an_anagrafiche_prospect SET contenuto=\"".($contenuto)."\" WHERE id='".$idanagrafica."'");
array_push( $_SESSION['infos'], "Informazioni per il prospect ''".$html_post['ragione_sociale']."'' salvate correttamente!");
//Aggiorno il codice anagrafica se non è già presente, altrimenti lo ignoro
$esiste = $dbo->fetchNum("SELECT id FROM an_anagrafiche_prospect WHERE codice=\"".$html_post['codice']."\" AND NOT id=\"".$idanagrafica."\"", 1);
//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_prospect SET codice=\"".$html_post['codice']."\" WHERE id=\"".$idanagrafica."\"");
}
}
}
else{
array_push( $_SESSION['errors'], "Permesso negato!");
}
break;
case "add":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$ragione_sociale = $html->form( 'ragione_sociale', 'post' );
//Inserimento anagrafica base
if( $ragione_sociale != '' ){
//Leggo l'ultimo codice anagrafica per calcolare il successivo
$rs = $dbo->fetchArray("SELECT codice FROM an_anagrafiche_prospect ORDER BY CAST(codice AS SIGNED) DESC LIMIT 0,1");
$codice = get_next_code( $rs[0]['codice'], 1, get_var("Formato codice prospect") );
//Inserisco l'anagrafica
$query = "INSERT INTO an_anagrafiche_prospect( ragione_sociale, codice ) VALUES ( \"".$ragione_sociale."\", \"".$codice."\" )";
$dbo->query($query);
$id_record = $dbo->last_inserted_id();
// collegamento con an_anagrafiche
$query = "INSERT INTO an_anagrafiche( ragione_sociale, codice , prospect , deleted) VALUES ( \"".$ragione_sociale."\", \"".$codice."\",'1','1')";
$dbo->query($query);
$id_ana_collegata = $dbo->last_inserted_id();
$dbo->query("UPDATE an_anagrafiche_prospect SET id_anagrafica=\"".$id_ana_collegata."\" WHERE id=\"".$id_record."\"");
}
array_push( $_SESSION['infos'], "Aggiunta nuovo Prospect " );
}
break;
case "delete":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
//Disattivo solamente l'anagrafica
$dbo->query("UPDATE an_anagrafiche_prospect SET deleted=1 WHERE id='".$id_record."'");
array_push( $_SESSION['infos'], "Prospect eliminato!" );
}
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" );
}
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" );
}
break;
case "trasforma";
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$rs_prospect = $dbo->fetchArray("SELECT * FROM an_anagrafiche_prospect WHERE id='".$id_record."'");
$id_prospect = $rs_prospect[0]['id_anagrafica'];
//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") );
$query = "UPDATE an_anagrafiche SET ".
"componente_filename=\"".$rs_prospect[0]['componente_filename']."\",".
"contenuto=\"".$rs_prospect[0]['contenuto']."\",".
"codice=\"".$codice."\",".
"ragione_sociale=\"".$rs_prospect[0]['ragione_sociale']."\",".
"piva=\"".$rs_prospect[0]['piva']."\",".
"codice_fiscale=\"".$$rs_prospect[0]['codice_fiscale']."\",".
"indirizzo=\"".$rs_prospect[0]['indirizzo']."\",".
"citta=\"".$rs_prospect[0]['citta']."\",".
"cap=\"".$rs_prospect[0]['cap']."\",".
"provincia=\"".$rs_prospect[0]['provincia']."\",".
"id_nazione=\"".$rs_prospect[0]['id_nazione']."\",".
"telefono=\"".$rs_prospect[0]['telefono']."\",".
"cellulare=\"".$rs_prospect[0]['cellulare']."\",".
"deleted='0',".
"prospect='0',".
"da_prospect='1',".
"fax=\"".$rs_prospect[0]['fax']."\",".
"email=\"".$rs_prospect[0]['email']."\",".
"note=\"".$rs_prospect[0]['note']."\",".
"sitoweb=\"".$rs_prospect[0]['sitoweb']."\"".
" WHERE idanagrafica='$id_prospect'";
$rs = $dbo->query( $query );
$dbo->query("UPDATE an_anagrafiche SET deleted='0' , prospect='0' , da_prospect='1' WHERE idanagrafica=\"".$id_prospect."\"");
$dbo->query("UPDATE an_anagrafiche_prospect SET deleted='1' , da_prospect='1' WHERE id=\"".$id_record."\"");
$query = "INSERT INTO an_tipianagrafiche_anagrafiche(idanagrafica, idtipoanagrafica) VALUES (\"".$id_prospect."\", '1')";
$dbo->query($query);
}
break;
case "edit_pianifica":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$idtipoagenda = save( $_POST['idtipointervento'] );
$richiesta = save( $_POST['descrizione'] );
$idstatoagenda = save( $_POST['idstatointervento'] );
$idoperatore = save( $_POST['idanagrafica'] );
$periodo = saveDate( $_POST['data'] );
$periodo_f = saveDate( $_POST['data_f'] );
$orario = savetime( $_POST['orario'] );
$orario_fine = savetime( $_POST['orario_fine'] );
$or=date("H:i", strtotime($orario));
$or_f=date("H:i", strtotime($orario_fine));
$test_da=date("Y-m-d", strtotime($periodo))." ".$or.":00";
$test_a=date("Y-m-d", strtotime($periodo_f))." ".$or_f.":00";
$idintervento_template = get_var("Formato codice agenda");
$idintervento_template = str_replace( '#', '%', $idintervento_template );
$rs = $dbo->fetchArray("SELECT idintervento FROM agenda WHERE idintervento LIKE(\"".$idintervento_template."\") ORDER BY idintervento DESC LIMIT 0,1");
$new_codice = get_next_code( $rs[0]['idintervento'], 1, get_var("Formato codice agenda") );
if (!is_numeric($new_codice)):
$rs = $dbo->fetchArray("SELECT idintervento FROM agenda WHERE idintervento LIKE(\"".$idintervento_template."\") ORDER BY idintervento DESC LIMIT 0,1");
$new_codice = get_next_code( $rs[0]['idintervento'], 1, get_var("Formato codice agenda") );
endif;
$idintervento = $new_codice;
$rs_prospect = $dbo->fetchArray("SELECT id_anagrafica FROM an_anagrafiche_prospect WHERE id='".$id_record."'");
$id_prospect = $rs_prospect[0]['id_anagrafica'];
$dbo->query("INSERT INTO agenda( idintervento, idanagrafica, idtipoagenda, idstatoagenda, data_richiesta, richiesta ) VALUES
(\"".$idintervento."\", \"".$id_prospect."\", \"".$idtipoagenda."\", \"".$idstatoagenda."\", NOW(), \"".$richiesta."\" )" );
$dbo->query("INSERT INTO agenda_anagrafica( idintervento, idtecnico, idtipoagenda, idstatoagenda, orario_inizio, orario_fine ) VALUES
( \"".$idintervento."\", \"".$idoperatore."\", \"".$idtipoagenda."\", \"".$idstatoagenda."\", \"".( date("Y-m-d", strtotime($periodo)) )." ".$or."\",
\"".( date("Y-m-d", strtotime($periodo_f)) )." ".$or_f."\")");
array_push( $_SESSION['infos'], "Appuntamento inserito in agenda" );
}
break;
case "unlink_articolo":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$idriga = save( $_POST['idriga'] );
$dbo->query("delete from mg_articoli_prospect where id='".$idriga."'");
array_push( $_SESSION['infos'], "Interesse rimosso" );
}
break;
case "add_interesse":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$descrizione = save( $_POST['descrizione'] );
$idarticolo = save( $_POST['idarticolo'] );
$dbo->query("INSERT INTO mg_articoli_prospect( idprospect, idarticolo, descrizione ) VALUES (\"".$id_record."\", \"".$idarticolo."\", \"".$descrizione."\" )" );
array_push( $_SESSION['infos'], "Interesse inserito" );
}
break;
}
?>