gest366/modules/my_impianti/actions.php

229 lines
8.2 KiB
PHP

<?php
include_once(__DIR__."/../../core.php");
$op = $html->form('op', 'post');
switch($op){
//Aggiorno informazioni di base impianto
case "update":
if( isset($_POST['matricola']) ){
$matricola= save( $_POST['matricola'] );
$data = saveDate( $_POST['data'] );
$idtecnico = save( $_POST['idtecnico'] );
$idsede = save( $_POST['idsede'] );
$nome = save( $_POST['nome'] );
$descrizione = save( $_POST['descrizione'] );
$proprietario = save( $_POST['proprietario'] );
$palazzo = save( $_POST['palazzo'] );
$ubicazione = save( $_POST['ubicazione'] );
$scala = save( $_POST['scala'] );
$piano = save( $_POST['piano'] );
$interno = save( $_POST['interno'] );
$occupante = save( $_POST['occupante'] );
$query = "UPDATE my_impianti SET nome=\"$nome\",".
"matricola=\"$matricola\",".
"descrizione=\"$descrizione\",".
"idsede=\"$idsede\",".
"data=\"$data\",".
"proprietario=\"$proprietario\",".
"palazzo=\"$palazzo\",".
"ubicazione=\"$ubicazione\",".
"idtecnico=\"$idtecnico\",".
"scala=\"$scala\",".
"piano=\"$piano\",".
"interno=\"$interno\",".
"occupante=\"$occupante\"".
"WHERE id=\"".$id_record."\"";
$dbo->query( $query );
array_push( $_SESSION['infos'], "Informazioni salvate correttamente!" );
// log anagrafiche
add_storico_impianti($id_record,"Eseguito modifica installazione");
//Upload file/*
$f = pathinfo( $_FILES['immagine']['name'] );
$filename = $f['filename'].".jpg";
$tmp = $_FILES['immagine']['tmp_name'];
$upload_dir = $docroot."/files/".$modules_info['Installazioni']['module_dir'];
if( $_FILES['immagine']['name'] != '' ){
$filename = unique_filename( $filename, $upload_dir );
if( create_thumbnails( $tmp, $filename, $upload_dir ) ){
$dbo->query("UPDATE my_impianti SET immagine=\"".$filename."\" WHERE id=\"".$id_record."\"");
}
else{
array_push( $_SESSION['warnings'], "Errore durante il caricamento del file in ".$upload_dir."!" );
}
}
//Eliminazione file
if( $html->form('immagine','post') == 'deleteme' ){
$filename = $html->form('prev_immagine', 'post');
$f = pathinfo($filename);
if( @unlink($upload_dir."/".$f['filename'].".".$f['extension']) ){
$dbo->query("UPDATE my_impianti SET immagine='' WHERE id=\"".$id_record."\"");
}
}
}
break;
//Aggiungo impianto
case "add":
$matricola = save( $_POST['matricola'] );
$idanagrafica = save( $_POST['idanagrafica'] );
$nome = save( $_POST['nome'] );
$idtecnico = save( $_POST['idtecnico'] );
if( isset($_POST['matricola']) ){
$query = "INSERT INTO my_impianti( matricola, idanagrafica, nome, data, idtecnico ) VALUES ( \"".$matricola."\", \"".$idanagrafica."\", \"".$nome."\", NOW(), \"".$idtecnico."\" )";
$id_record = $dbo->query( $query );
array_push( $_SESSION['infos'], "Aggiunto nuovo impianto!" );
// log anagrafiche
add_storico_impianti($id_record,"Aggiunto nuova installazione");
}
break;
//Carica i campi da compilare del componente
case "load_componente":
include_once($docroot."/modules/my_impianti/modutil.php");
$filename = $html->form('filename', 'post');
$idarticolo = $html->form('idarticolo', 'post');
//Se è stato specificato un idarticolo, carico il file .ini dal campo `contenuto` di quell'idarticolo
$rs = $dbo->fetchArray("SELECT contenuto, componente_filename FROM mg_articoli WHERE id=\"".$idarticolo."\"");
//Se i campi da caricare sono del componente già salvato leggo dal campo `contenuto`...
if( $rs[0]['componente_filename'] == $filename ){
$contenuto = read($rs[0]['contenuto']);
}
//...altrimenti carico dal file .ini
else{
if( file_exists( $docroot."/files/my_impianti/".$filename ) ){
$contenuto = file_get_contents( $docroot."/files/my_impianti/".$filename );
}
}
$contenuto = str_replace( "`", "\"", $contenuto );
$ini_array = parse_ini_string( read($contenuto), true );
//Caricamento form per attributi componente
if( is_array($ini_array) && $ini_array['Nome']['valore']!='' ){
//per ogni sezione
$i = 0;
echo " <div class='row'>\n";
echo " <div class='col-md-12'>\n";
echo " <h4>Attributi per ".$ini_array['Nome']['valore']."</h4>\n";
echo " <input type='hidden' name='Nome' value=\"".$ini_array['Nome']['valore']."\" />\n";
echo " </div>\n";
echo " </div>\n";
foreach ($ini_array as $sezione => $array_impostazioni){
if( $sezione!='Nome' ){
$i++;
$nome = htmlentities($sezione, ENT_QUOTES, "UTF-8");
$tipo = $ini_array[$sezione]['tipo'];
$valore = $ini_array[$sezione]['valore'];
$opzioni = $ini_array[$sezione]['opzioni'];
( $tipo=='textarea' ) ? $valign="top" : $valign="middle";
echo " <div class='col-md-4'>\n";
echo " <div class='form-group'>\n";
echo " <label>".$nome.":</label>\n";
genera_campo( $nome, $tipo, $valore, $opzioni );
echo " </div>\n";
echo " </div>\n";
}
}
}
exit;
//Aggiungo una riga
case "addriga":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$matricola = $id_record;
$idarticolo = save( $_POST['idarticolo'] );
$descrizione = save( $_POST['descrizione'] );
$seriale = save( $_POST['seriale'] );
$qta = force_decimal($_POST['qta']);
$d_seriale=$descrizione." - N°Seriale : ".$seriale;
$dbo->query("INSERT INTO my_impianti_righe( d_seriale,n_seriale,matricola, idarticolo, descrizione , qta ) VALUES
( '".$d_seriale."','".$seriale."','".$matricola."', '".$idarticolo."', \"".$descrizione."\", '".$qta."' )");
array_push( $_SESSION['infos'], "Articolo aggiunto!" );
// log anagrafiche
add_storico_impianti($id_record,"Aggiunto nuovo articolo");
}
break;
case "editriga":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$idriga = $html->form('idriga', 'post');
$descrizione = save( $_POST['descrizione'] );
$seriale = save( $_POST['seriale'] );
$qta = force_decimal($_POST['qta']);
$d_seriale=$descrizione." - N°Seriale : ".$seriale;
//Modifica riga generica sul documento
$query = "UPDATE my_impianti_righe SET d_seriale=\"".$d_seriale."\", n_seriale=\"".$seriale."\", descrizione=\"".$descrizione."\", qta=\"".$qta."\" WHERE id=\"".$idriga."\"";
$dbo->query( $query );
array_push( $_SESSION['infos'], "Riga modificata!" );
// log anagrafiche
add_storico_impianti($id_record,"Articolo modificato");
}
break;
//Scollegamento articolo
case "unlink_articolo":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
if( isset($_POST['idriga']) ){
$idriga = save( $_POST['idriga'] );
$idarticolo = save( $_POST['idarticolo'] );
//Leggo la quantità di questo articolo
$query = "SELECT qta, subtotale FROM my_impianti_righe WHERE id='".$idrigapreventivo."'";
$rs = $dbo->fetchArray($query);
$qta = floatval( $rs[0]['qta'] );
$subtotale = $rs[0]['subtotale'];
//Elimino la riga
$dbo->query("DELETE FROM my_impianti_righe WHERE id=\"$idriga\"");
array_push( $_SESSION['infos'], "Riga rimossa!" );
// log anagrafiche
add_storico_impianti($id_record,"Articolo rimosso");
}
}
break;
//Rimuuovo impianto e scollego tutti i suoi componenti
case "delete":
$dbo->query("DELETE FROM my_impianti WHERE id=\"".$id_record."\"");
$dbo->query("DELETE FROM my_impianto_componenti WHERE idimpianto=\"".$id_record."\"");
$dbo->query("DELETE FROM my_impianti_interventi WHERE idimpianto=\"".$id_record."\"");
$dbo->query("DELETE FROM my_impianti_righe WHERE matricola=\"".$id_record."\"");
array_push( $_SESSION['infos'], "Impianto e relativi componenti eliminati!" );
break;
}
//Annullo le notifiche se le operazioni sono fatte via ajax
if( $html->form('ajax', 'post') == 'yes' ){
unset( $_SESSION['infos'] );
}
?>