206 lines
9.4 KiB
PHP
206 lines
9.4 KiB
PHP
|
<?php
|
||
|
include_once(__DIR__."/../../core.php");
|
||
|
$module_name = "Agenda";
|
||
|
include_once( $docroot."/modules/agenda/modutil.php" );
|
||
|
|
||
|
|
||
|
switch( $html->form('op', 'post') ){
|
||
|
case "update":
|
||
|
$idintervento = $html->form('id_record');
|
||
|
|
||
|
if( $modules_info[$module_name]["permessi"] == 'rw' ){
|
||
|
|
||
|
include ($docroot . "/lib/salva_personalizzati.php");
|
||
|
|
||
|
$idtipoagenda = save( $_POST['idtipoagenda'] );
|
||
|
$idstatoagenda = save( $_POST['idstatoagenda'] );
|
||
|
$data = saveDate( $_POST['data'] );
|
||
|
$data_richiesta = saveDate( $_POST['data_richiesta'] );
|
||
|
$richiesta = save($_POST['richiesta']);
|
||
|
$descrizione = save($_POST['descrizione']);
|
||
|
$idsede = save( $_POST['idsede'] );
|
||
|
$ora_sla = saveTime( $_POST['ora_sla'] );
|
||
|
$filename = save( $_POST['componente_filename'] );
|
||
|
|
||
|
$idtipodoc = save( $_POST['idtipodoc'] );
|
||
|
$iddocumento = save( $_POST['iddocumento'] );
|
||
|
$data_documento=query_secca("","data","co_documenti","where id ='".$iddocumento."'");
|
||
|
|
||
|
if( $_POST['data_sla']!="" ){
|
||
|
$data_sla = saveDate( $_POST['data_sla'] );
|
||
|
}
|
||
|
$n_tecnici = 0;
|
||
|
$array_interventi = array();
|
||
|
foreach( $_POST['orario'] as $idriga => $valore ){
|
||
|
$orario = $_POST['orario'][$idriga];
|
||
|
$v = explode( ' - ', $orario );
|
||
|
$orario_inizio = saveDateTime( $v[0] );
|
||
|
$orario_fine = saveDateTime( $v[1] );
|
||
|
if( $user_idanagrafica!='' && $_SESSION['gruppo']=='Tecnici' ){
|
||
|
if ($_POST['idtecnico'][$idriga] == $user_idanagrafica){
|
||
|
if( !$dbo->query("UPDATE agenda_anagrafica SET idintervento=\"".$idintervento."\", idtecnico=\"".$_POST['idtecnico'][$idriga]."\", idtipoagenda=\"".$_POST['idtipoagendat'][$idriga]."\", orario_inizio=\"".$orario_inizio."\", orario_fine=\"".$orario_fine."\", km=\"".$km."\", prezzo_ore_unitario=\"".$prezzo_ore_unitario."\", prezzo_km_unitario=\"".$prezzo_km_unitario."\", prezzo_ore_consuntivo=\"".$prezzo_ore_consuntivo."\", prezzo_km_consuntivo=\"".$prezzo_km_consuntivo."\", prezzo_dirittochiamata=\"".$prezzo_dirittochiamata."\", prezzo_ore_unitario_tecnico=\"".$prezzo_ore_unitario_tecnico."\", prezzo_km_unitario_tecnico=\"".$prezzo_km_unitario_tecnico."\", prezzo_ore_consuntivo_tecnico=\"".$prezzo_ore_consuntivo_tecnico."\", prezzo_km_consuntivo_tecnico=\"".$prezzo_km_consuntivo_tecnico."\", prezzo_dirittochiamata_tecnico=\"".$prezzo_dirittochiamata_tecnico."\", ore=\"".force_decimal($_POST['ore'][$idriga])."\" WHERE id=\"".$idriga."\" " ) ){
|
||
|
array_push( $_SESSION['infos'], "Errore durante il salvataggio della sessione di lavoro #".$idriga."!" );
|
||
|
}
|
||
|
} else {
|
||
|
array_push( $_SESSION['infos'], "Non hai i permessi per apportare queste modifiche!" );
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
if( !$dbo->query("UPDATE agenda_anagrafica SET idintervento=\"".$idintervento."\", idtecnico=\"".$_POST['idtecnico'][$idriga]."\", idtipoagenda=\"".$_POST['idtipoagendat'][$idriga]."\", orario_inizio=\"".$orario_inizio."\", orario_fine=\"".$orario_fine."\" WHERE id=\"".$idriga."\" " ) ){
|
||
|
array_push( $_SESSION['infos'], "Errore durante il salvataggio della sessione di lavoro #".$idriga."!" );
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$query = "UPDATE agenda SET data_richiesta=\"$data_richiesta\",".
|
||
|
"richiesta=\"$richiesta\",".
|
||
|
"descrizione=\"$descrizione\",".
|
||
|
"idstatoagenda=\"$idstatoagenda\",".
|
||
|
"idsede=\"$idsede\",".
|
||
|
"data_sla=\"$data_sla\",".
|
||
|
"ora_sla=\"$ora_sla\",".
|
||
|
"ass_idtipodocumento=\"$idtipodoc\",".
|
||
|
"ass_iddocumento=\"$iddocumento\",".
|
||
|
"ass_data_documento=\"$data_documento\",".
|
||
|
"componente_filename=\"$filename\",".
|
||
|
"idtipoagenda=\"$idtipoagenda\" WHERE idintervento=\"$idintervento\" ".$additional_where['Interventi'];
|
||
|
$dbo->query( $query );
|
||
|
|
||
|
|
||
|
$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 .= "["".$sezione.""]\n";
|
||
|
//Per ogni impostazione
|
||
|
foreach ($array_impostazioni as $impostazione => $valore_impostazione){
|
||
|
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)." = "".save($valore).""\n";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$dbo->query("UPDATE agenda SET contenuto=\"".($contenuto)."\" WHERE idintervento='".$idintervento."'");
|
||
|
|
||
|
|
||
|
|
||
|
array_push( $_SESSION['infos'], "Informazioni salvate correttamente!" );
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case "add":
|
||
|
$idintervento = save ($_POST['idintervento']);
|
||
|
$rs = $dbo->fetchArray( "SELECT idintervento FROM agenda WHERE idintervento=\"".$idintervento."\"" );
|
||
|
$n = sizeof($rs);
|
||
|
if ($n>0){
|
||
|
do{
|
||
|
|
||
|
if( $html->form('ref', 'post') != 'agenda' ){
|
||
|
array_push( $_SESSION['warnings'], "Numero appuntamento '".$idintervento."' saltato perchè già esistente!" );
|
||
|
}
|
||
|
|
||
|
$rs = $dbo->fetchArray( "SELECT idintervento FROM agenda WHERE idintervento=\"".$idintervento."\"" );
|
||
|
$n = sizeof($rs);
|
||
|
|
||
|
$new_codice = get_next_code( $idintervento, 1, get_var("Formato codice agenda") );
|
||
|
|
||
|
if (!is_numeric($new_codice)):
|
||
|
$new_codice = get_next_code( $idintervento, 1, get_var("Formato codice agenda") );
|
||
|
endif;
|
||
|
|
||
|
$idintervento = $new_codice;
|
||
|
|
||
|
} while ($n==0);
|
||
|
|
||
|
if( $html->form('ref', 'post') != 'agenda' ){
|
||
|
array_push( $_SESSION['warnings'], "Nuovo numero appuntamento calcolato '".$idintervento."'" );
|
||
|
}
|
||
|
}
|
||
|
//controllo permessi
|
||
|
if( $modules_info[$module_name]["permessi"] == 'rw' ){
|
||
|
$idanagrafica = save( $_POST['idanagrafica'] );
|
||
|
$idtipoagenda = save( $_POST['idtipoagenda'] );
|
||
|
$idstatoagenda = save( $_POST['idstatoagenda'] );
|
||
|
$idsede = save( $_POST['idsede'] );
|
||
|
$data = savedate( $_POST['data'] );
|
||
|
$data_richiesta = savedate( $_POST['data_richiesta'] );
|
||
|
$richiesta = save( $_POST['richiesta'] );
|
||
|
$orario_inizio = str_replace( ".", ":", $_POST['orario_inizio'] );
|
||
|
$orario_fine = str_replace( ".", ":", $_POST['orario_fine'] );
|
||
|
$n_tecnici = sizeof($_POST['idtecnici']);
|
||
|
$q = "SELECT * FROM agenda_tipi WHERE idtipoagenda='".$idtipoagenda."'";
|
||
|
if ( $dbo->fetchNum($q) == 1 ){
|
||
|
$rs = $dbo->fetchArray( $q );
|
||
|
if( isset($_POST['idintervento']) && isset($_POST['idanagrafica']) && isset($_POST['idtipoagenda']) ){
|
||
|
$dbo->query("INSERT INTO agenda( idintervento, idanagrafica, idtipoagenda, idstatoagenda, idsede, data_richiesta, richiesta ) VALUES (\"".$idintervento."\", \"".$idanagrafica."\", \"".$idtipoagenda."\", \"".$idstatoagenda."\", \"".$idsede."\", \"".$data_richiesta."\", \"".$richiesta."\" )" );
|
||
|
$id_record = $idintervento;
|
||
|
|
||
|
if( $html->form('ref', 'post') != 'agenda' ){
|
||
|
array_push( $_SESSION['infos'], "Aggiunto nuovo appuntamento!" );
|
||
|
}
|
||
|
}
|
||
|
( !is_array($_POST['idtecnico']) ) ? $idtecnici=array( $_POST['idtecnico'] ) : $idtecnici=$_POST['idtecnico'];
|
||
|
|
||
|
foreach( $idtecnici as $idtecnico ){
|
||
|
|
||
|
$dbo->query("INSERT INTO agenda_anagrafica( idintervento, idtecnico, idtipoagenda, idstatoagenda, orario_inizio, orario_fine ) VALUES( \"".$idintervento."\", \"".$idtecnico."\", \"".$idtipoagenda."\", \"".$idstatoagenda."\", \"".( date("Y-m-d", strtotime($data)) )." ".$orario_inizio."\", \"".( date("Y-m-d", strtotime($data)) )." ".$orario_fine."\")");
|
||
|
}
|
||
|
}else{
|
||
|
array_push( $_SESSION['errors'], "Il tipo di appuntamento scelto non é valido!" );
|
||
|
}
|
||
|
}
|
||
|
//fine controllo permessi
|
||
|
if($html->form('ref', 'post') != 'agenda'){
|
||
|
|
||
|
echo $idintervento;
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case "delete":
|
||
|
$idintervento = $id_record;
|
||
|
if( $modules_info[$module_name]["permessi"] == 'rw' ){
|
||
|
$query="DELETE FROM agenda WHERE idintervento=\"$idintervento\" ".$additional_where['Interventi'];
|
||
|
$rs = $dbo->query($query);
|
||
|
$query = "DELETE FROM agenda_anagrafica WHERE idintervento=\"$idintervento\"";
|
||
|
$rs = $dbo->query($query);
|
||
|
array_push( $_SESSION['infos'], "Appuntamento \"".$idintervento."\" eliminato!" );
|
||
|
}
|
||
|
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
?>
|