<?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'] );
	}	
?>
