<?php 
//riporta, se esiste, qualunque errore.
error_reporting(E_ALL);
$cartella = 'install'; 
$filename = 'php/connessione.php';   
//se c'è sia la cartella di installazione che il file di configurazione
if (is_dir($cartella) && file_exists($filename)) {
//termino l'installazione cancellando o rinominando 
//la cartella di installazione oppure ricomincio l'installazione
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<title>Installer!</title> 
<link rel="icon" href="img/favicon.ico" />
<meta name="DC.Language" scheme="RFC1766" content="Ita">
<meta HTTP-EQUIV="Imagetoolbar" Content="no">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="install/css/step.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script>
	$(function() {
		$(".meter > span").each(function() {
			$(this)
				.data("origWidth", $(this).width())
				.width(0)
				.animate({
					width: $(this).data("origWidth")
				}, 1200);
		});
	});
</script>
</head>
<body>
<div id="form">
<?php
$action = htmlspecialchars($_GET['action'], ENT_QUOTES);
if (!$action){
?>
<h1>5. Installazione terminata!</h1><div class="meter animate"><span style="width: 100%"><span></span></span></div>
<form name="modulo2" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>?action=scrivi" method="post" enctype="multipart/form-data" >
			
L'installazione è stata completata con successo.<br />
Per motivi di sicurezza si consiglia vivamente di eliminare la cartella d'installazione.<br />
Se non lo si ritiene opportuno è possibile rinominarla con un nome del tutto casuale tuttavia tale procedura è sconsigliata.
<br />
<br />
<div id="bottons">
			<input class="casella"  type="submit" id="submit" name="Elimina" value="Elimina">
			<input class="casella" type="submit" id="submit" name="Rinomina" value="Rinomina">
			<input class="casella" type="submit" id="submit" name="Reinstalla" value="Reinstalla">
</div>	
</form> 
</div>
</body>
</html>
<?php
}//fine dell'action
		if ((isset($_POST['Elimina'])) && ($action == "scrivi")){
		
			function rrmdir($dir){ 
				
				$return = array(); 
				
				if (is_dir($dir)){ 
					$return[] = '• Trovata cartella: '.$dir; 
					$objects = scandir($dir); 
					
					foreach ($objects as $object){
					
						if ($object != "." && $object != ".."){
						
							if (filetype($dir."/".$object) == "dir"){
							
								$return[] = '• Trovata sottocartella: '.$dir."/".$object; 
								rrmdir($dir."/".$object);  
							} else {
							
								$return[] = '• Trovato file: '.$dir."/".$object; 
								unlink($dir."/".$object); 
							} 
						} 
					} 
					reset($objects); 
					rmdir($dir); 
				} else { 
					$return[] = '• La cartella '.$dir.' non esiste'; 
				} 
				
				return $return; 
			} 
			
			$esegui_cancellazione = rrmdir($cartella); 
			
			foreach($esegui_cancellazione as $kk => $vv){ 
				echo $vv.'<br />'; 
			}
			
			if (!is_dir($cartella)){
		
				echo "<p><font color='green'>Successo</font> - La cartella e i file contenuti in essa sono stati eliminati correttamente!</p>";
				header("Refresh: 8; url=" . $_SERVER["PHP_SELF"]);
			
			} elseif (is_dir($cartella) || !is_writable($cartella)){
			
				echo "<p><font color='red'>Errore</font> - Impossibile eliminare la cartella!</p>";
				echo "<p><font color='red'>Errore</font> - La cartella '$cartella' non risulta scrivibile!</p>";
				echo "<p>Verificare i permessi di lettura/scrittura CHMOD e riprovare.</p>";
				echo "<p>La visualizzazione di quest'errore può comportare errori durante l'installazione. Prego correggere i permessi dei file e procedere con un'installazione pulita.</p>";
			}			
			
		}
		
		if ((isset($_POST['Rinomina'])) && ($action == "scrivi")){
			
			$ren = uniqid('',true);
			rename("install/", $ren);   
			
			if (!is_dir($cartella)){
				
				echo "<p><font color='green'>Successo</font> - La cartella è stata rinominata correttamente!</p>";
				header("Refresh: 4; url=" . $_SERVER["PHP_SELF"]);
			
			} elseif (is_dir($cartella) || !is_writable($cartella)){
				echo "<p><font color='red'>Errore</font> - Impossibile rinominare la cartella!</p>";
				echo "<p><font color='red'>Errore</font> - La cartella '$cartella' non risulta scrivibile!</p>";
				echo "<p>Verificare i permessi di lettura/scrittura CHMOD e riprovare.</p>";
				echo "<p>La visualizzazione di quest'errore può comportare errori durante l'installazione. Prego correggere i permessi dei file e procedere con un'installazione pulita.</p>";
			}
		}
		
		if ((isset($_POST['Reinstalla'])) && ($action == "scrivi")){
			
			if (!is_dir($cartella)){
			
				echo "<p><font color='red'>Errore</font> - Impossibile procedere alla reinstallazione. La cartella '$cartella' non esiste o è stata rinominata!</p>\n";
				echo "Per risolvere quest'errore ricaricare la cartella di installazione o rinominarla in '$cartella'.";
				die;
				
			} else {
				
				echo "<p><font color='green'>Successo</font> - L'installazione ripartirà nuovamente tra 5 secondi.<br /><br />Attendere....</p>";
				header("Refresh: 5; url=install/");
			}
		}
		
    } elseif (is_dir($cartella) && !file_exists($filename)) {//se c'è solo la cartella di intallazione ma non esiste il file di configurazione 
        header("location: install/"); //procedi all'installazione 
         
    } elseif (!is_dir($cartella) && file_exists($filename)){ //se non c'è la cartella di intallazione ma esiste il file di configurazione
     	
		//individuo il dispositivo che visita il sito
		include("./php/Mobile_Detect.php");
		$detect = new Mobile_Detect();
		if ($detect->isMobile() || $detect->isTablet() == true) {
				// any mobile platform
				echo "<script>window.location='m.index.html'</script>";
			}else{
				echo "<script>window.location='form.php'</script>";
			}
         
    } elseif (!is_dir($cartella) && !file_exists($filename)){ //se non c'è la cartella di intallazione e non esiste il file di configurazione
	
		$action2 = htmlspecialchars($_GET['action'], ENT_QUOTES);
		if (!$action2){
	
?>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.zclip.js"></script>
<link rel="stylesheet" type="text/css" href="css/errorindex.css" >
</head>
<body>
	<div id="wrapper">	
	<font color='red'><b>Errore</b></font> - Impossibile procedere: non è presente nè la cartella di installazione <font face='Garamond'>'<?php echo"$cartella"; ?>'</font>, nè il file di configurazione <font face='Garamond'>'<?php echo"$filename"; ?>'</font>!<br />
	<br />Per risolvere quest'errore:<br />
	- Se l'applicazione non è stata installata, caricare la cartella <font face='Garamond'>'<?php echo"$cartella"; ?>'</font> nella root dell'applicazione per procedere all'installazione.<br />
	- Se l'applicazione è già stata installata creare il file di connessione al database <font face='Garamond'>'<?php echo"$filename"; ?>'</font>.
	<br />
	<br />
	Creare il file <font face='Garamond'>'<?php echo"$filename"; ?>'</font> tramite l'apposito bottone e personalizzarlo come spiegato qui sotto:
	<br />
	<br />
	<div class="phpcode">
	
	<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>?action=crea" method="post" enctype="multipart/form-data" >
<?php
		highlight_string('
<?php 
/*----------------------------------------------------------
	Verifica che la pagina si trova nella cartella 
	"php/" il nome del file deve essere "connessione.php"
----------------------------------------------------------*/
//Variabili di connessione DA MODIFICARE
$host = "DataBase_host";			 //Inserisci il percorso del tuo host.
$username = "DataBase_username";     //Inserisci il tuo user name 
$password = "DataBase_password";     //Inserisci il la tua password 
$db = "DataBase_nome";  			 // Inserisci il nome del data base 
//Connessione al db: NON MODIFICARE LASCIARE INVARIATO
$conn = @mysql_connect($host,$username,$password) or die ("<p>Errore - Credenziali < $host, $username, $password > non corrette</p><p>MySQL Error: " . mysql_error() . "</p>"); 
$sel = @mysql_select_db($db) or die ("<br /><p>Errore - Nome nome del database $db non corretto!</p><p>MySQL Error: " . mysql_error() . "</p>"); 
?>
		');
?>
	</div>
<input class="button white"  type="submit" id="submit" name="Scrivi" value="Scrivi">
</form>
<?php
}//fine dell'action2
		if ((isset($_POST['Scrivi'])) && ($action2 == "crea")){
		//creo la stringa che verrà scritta in connessione.php
		$string = '<?php 
		/*----------------------------------------------------------
			Verifica che la pagina si trova nella cartella 
			"php/" il nome del file deve essere "connessione.php"
		----------------------------------------------------------*/
		//Variabili di connessione DA MODIFICARE
		$host = "DataBase_host";			 //Inserisci il percorso del tuo host. In genere è localhost
		$username = "DataBase_username";     //Inserisci il tuo user name 
		$password = "DataBase_password";     //Inserisci il la tua password 
		$db = "DataBase_nome";  			 // Inserisci il nome del data base 
		//Connessione al db: NON MODIFICARE LASCIARE INVARIATO
		$conn = @mysql_connect($host,$username,$password) or die ("<p>Errore - Credenziali < $host, $username, $password > non corrette</p><p>MySQL Error: " . mysql_error() . "</p>"); 
		$sel = @mysql_select_db($db) or die ("<br /><p>Errore - Nome nome del database $db non corretto!</p><p>MySQL Error: " . mysql_error() . "</p>"); 
?>';
		//Creo la pagina connessione.php
		$fp = fopen("php/connessione.php", "w");
		
		//apro la pagina connessione.php creata nella cartella "php"
		//scrivo all'interno la stringa $string creata in precedenza
		fwrite($fp, $string);
		//chiudo la pagina
		fclose($fp);
		
		if (file_exists($filename)){
			//stampo l'esito positivo dell'operazione
			echo "<p><font color='green'>Successo</font> - la pagina di connessione al database è stata creata!</p>";
			echo "<p>Adesso non ti resta che personalizzarla con i tuoi parametri.</p>";
		} else {
			echo "<p><font color='red'>Errore</font> - Impossibile creare $filename. Crearlo manualmente!</p>\n";
		}
		}
?>
</div>
</body>
</html>
<?php
    }
?>