<?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
}
?>