<?php
	include_once(__DIR__."/../../core.php");

	
	function add_storico_impianti($idimpianto,$descrizione){
		global $dbo;
		$dbo->query("INSERT INTO zz_log_installazioni( idimpianto, idutente,data_log,username,descrizione ) VALUES( \"".$idimpianto."\", \"".$_SESSION['idutente']."\",NOW(),\"".$_SESSION['username']."\",\"".$descrizione."\" )");
	}
	
	/** 
	* dir = cartella dove pescare i file .ini
	* id_list = componenti già applicati
	*/
	function get_componenti( $dir, $id_list='' ){ 
		//lettura dei files della cartella dove risiede il file con lo script
		$file_trovati = array();
		$componenti_trovati = array();
		$cmp = array();

		if ($id_list=='0' || $id_list==''){
			$gia_installati = array();
		}else{
			$gia_installati  = array();
			$gia_installati = explode(',',$id_list);
		}

		if (is_dir($dir)) {
		    if ($dh = opendir($dir)) {
		        while( ($file = readdir($dh)) !== false ){
					if( $file<>"." && $file<>".." ){
						$ext = estensione_del_file($file);

						if ($ext == "ini") {    // vengono accettati solo i files con estensione ini
	            			$file_trovati[] = $file;
	            			$ini_array = parse_ini_file( $dir.$file, true );
	            			$componenti_trovati[] = $ini_array['Nome']['valore'];
						}
					}
				}

				closedir($dh);
		    }
		}

		//Ordino alfabeticamente il <select>
		array_multisort( $componenti_trovati, $file_trovati );


		//visualizzazione di quanto è stato letto
		if( is_array($file_trovati) && sizeof($file_trovati) > 0 ){

			//controllo se ho già aggiunto tutti i componenti
			if( sizeof($file_trovati) > sizeof($gia_installati) ){
				
				//per tutti i componenti di possibile installazione
				for( $i=0; $i<sizeof($file_trovati); $i++ ){
					$found = false;

					// controllo che non siano già stati installati
					for( $j=0; $j<sizeof($gia_installati); $j++ ){
						if( $file_trovati[$i] == $gia_installati[$j] ){
							$found = true;
							$j = sizeof($gia_installati);
						}
					}

					if( !$found )
						array_push( $cmp, array($file_trovati[$i], $componenti_trovati[$i]) );
				}
			}
		}

		return $cmp;
	}
	
	
	
	/**
	  * Legge il nome del componente del file .ini
	  */
	function get_nome_componente( $ini ){
		global $docroot;

		$ini_array = parse_ini_file( $docroot."/files/my_impianti/".$ini, true );
		return $ini_array['Nome']['valore'];
	}
	



	/**
	  * 
	  */
	function write_ini_file($assoc_arr, $path, $has_sections=FALSE) { 
	    $content = ""; 
	    if ($has_sections) { 
	        foreach ($assoc_arr as $key=>$elem) { 
	            $content .= "[".$key."]\n"; 
	            foreach ($elem as $key2=>$elem2) { 
	                if(is_array($elem2)){
	                    for($i=0;$i<count($elem2);$i++){
	                        //$content .= $key2."[] = \"".$elem2[$i]."\"\n";
	                        $content .= $key2."[] = ".$elem2[$i]."\n"; 
	                    }
	                }
	                else if($elem2=="")
	                	$content .= $key2." = \n"; 
	                else
	                	$content .= $key2." = &quot;".$elem2."&quot;\n"; 
	            }
	        }
	    }

	    else { 
	        foreach ($assoc_arr as $key=>$elem) { 
	            if(is_array($elem)) 
	            { 
	                for($i=0;$i<count($elem);$i++) 
	                { 
	                    $content .= $key2."[] = &quot;".$elem[$i]."&quot;\n"; 
	                } 
	            } 
	            else if($elem=="")
	            	$content .= $key2." = \n"; 
	            else
	            	$content .= $key2." = &quot;".$elem."&quot;\n"; 
	        } 
	    } 


	    if (!$handle = fopen($path, 'w')) { 
	        return false; 
	    }


	    if (!fwrite($handle, $content)) { 
	        return false; 
	    }


	    fclose($handle); 
	    return true; 
	}



	
	
	function genera_campo( $nome, $tipo, $valore, $opzioni ){
		$opzione[]  = array();

		//rimuovo gli spazi vuoti prima o dopo la virgola di ciascuna opzione
		$opzione = array_map('trim', explode(',', $opzioni)); 

		
		if ($tipo=='span'){
			echo "<input type=\"hidden\" id=\"$nome\" name=\"$nome\" value=\"".$valore."\">\n";
		}
		
		else if ($tipo=='input'){
			echo "<input type=\"text\" id=\"$nome\" name=\"$nome\" value=\"".$valore."\" class=\"form-control\">\n";
		}
		
		else if ($tipo=='date'){
			echo "<input type=\"text\" id=\"$nome\" name=\"$nome\" class=\"form-control text-center datepicker\" data-inputmask=\"'alias': 'dd/mm/yyyy'\" value=\"".$valore."\">\n";
		}
		
		else if ($tipo=='textarea'){
			$valore = str_replace( "<br/>", "\n", $valore );
			$valore = str_replace( "&lt;br/&gt;", "\n", $valore );
			
			echo "<textarea id=\"$nome\" name=\"$nome\" class=\"form-control\">".$valore."</textarea>\n";
		}
		
		else if ($tipo=='select'){
			echo "<select id=\"".$nome."\" name=\"".$nome."\" class=\"form-control superselect\">\n";
			echo "	<option value=\"0\">".$opzione[0]."</option>";

			for($i=1;$i<count($opzione);$i++) {

				if ($opzione[$i]==$valore){
					$sel = "selected='selected'";
				}else{
					$sel = '';
				}
			
				echo "	<option $sel value=\"".$opzione[$i]."\">".$opzione[$i]."</option>";
			}

			echo "</select>\n";
			echo "<script>start_superselect();</script>";
		}
	}


	function genera_form_componente( $componente_filename, $contenuto ){

		//Caricamento campi dell'eventuale componente selezionato
		if( $componente_filename!="" ){

			$contenuto = read($contenuto);			
			$contenuto = str_replace( "`", "\"", $contenuto );
			$ini_array = parse_ini_string( read($contenuto), true );

			// ulteriore controllo
			if( is_array($ini_array) && $ini_array['Nome']['valore']!='' ){
				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";

				//per ogni sezione
				$i = 0;
				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";
					}
				} // end foreach
			} // ulteriore controllo
		} // end if( $componente_filename!="" )	

	}


	
?>

<script>
	$('#datepicker').datepicker({
      autoclose: true
    });
</script>