Le script doit avoir le droit d\'écrire dans le répertoire où il est situé."); } if(!function_exists("gzinflate")) { die("Votre version de PHP doit avoir la ZLIB pour utiliser ce script."); } if(phpversion() < 5) die("Vous devez avoir au moins la version 5 de PHP pour utiliser ce script."); echo "

Merci de patienter pendant la décompression...

";
flush();

$tar_md5 = "@TAR_MD5";
$archive_md5 = "@ARCHIVE_MD5";

$tar_content = "@TAR_CONTENT";
$archive_content = "@ARCHIVE_CONTENT";

$tar_file = base64_decode($tar_content);
$tar_file = gzinflate($tar_file);

if(md5($tar_file) != $tar_md5) {
	die("Problème: le fichier de l\'utilitaire d\'archive est corrompu.");
}

if(!@file_put_contents("tar.class.php",$tar_file)) {
	die("Erreur: impossible de créer le fichier class.tar.php");
}

$archive_file = base64_decode($archive_content);

if(md5($archive_file) != $archive_md5) {
    die("Problème: le fichier de l\'archive est corrompu.");
}

if(!@file_put_contents("'.$filename.'",$archive_file)) {
    die("Erreur: impossible de créer le fichier '.$filename.'");
}

require "tar.class.php";

$tar = new tar();

if(!$tar->openTar("'.$filename.'",FALSE)) {
	die("Impossible d\'ouvrir le fichier '.$filename.'");
}

if($tar->numDirectories > 0)
{
    foreach($tar->directories as $id => $information)
    {
    	if(!@mkdir($information[\'name\'])) {
    		die("Impossible de créer le répertoire \'".$information[\'name\']."\'.");
    	}
    }
}

if($tar->numFiles > 0)
{
    foreach($tar->files as $id => $file)
    {
    	if(!@file_put_contents($file[\'name\'],$file[\'file\'])) {
    		die("Impossible de creer le fichier \'".$file[\'file\']."\'");
    	}
    }
}

echo \'

L\\\'installation s\\\'est bien déroulée.

\'; $myself = basename($_SERVER['SCRIPT_NAME']); if(!@unlink("tar.class.php") || !@unlink("'.$filename.'") || !@unlink($myself)) { echo \'

Cependant au moins un des fichiers utilisés à l\\\'installation n\\\'a pas pu être supprimé. Ainsi vous devrez supprimer vous-même les fichiers suivants: tar.class.php, '.$filename.', \'.$myself.\'.

\'; } if (!headers_sent()) { header("location: install.php"); exit; } echo \'

Poursuivre linstallation

\'; ?>'; // Generate TAR file require 'tar.class.php'; $tar = new tar(); $forbidden = array(".","..",".svn","config.local.php","nanokubbe-installer.php","make-installer.php",".htaccess"); function appendFiles($dir) { $fdir = opendir($dir); while($file = readdir($fdir)) { if(in_array($file,$GLOBALS['forbidden'])) continue; if(is_dir($dir.$file)) { $GLOBALS['tar']->addDirectory($dir.$file); appendFiles($dir.$file."/"); } else $GLOBALS['tar']->addFile($dir.$file); } closedir($fdir); } appendFiles("./"); $tar->toTar("wtmp.tgz",TRUE); unset($tar); $archive_file = file_get_contents("wtmp.tgz"); $archive_md5 = md5($archive_file); $archive_file = base64_encode($archive_file); $tar_file = file_get_contents("tar.class.php"); $tar_md5 = md5($tar_file); $tar_file = gzdeflate($tar_file,9); $tar_file = base64_encode($tar_file); $out = $outcontent; $out = str_replace('@TAR_MD5',$tar_md5,$out); $out = str_replace('@ARCHIVE_MD5',$archive_md5,$out); $out = str_replace('@TAR_CONTENT',$tar_file,$out); $out = str_replace('@ARCHIVE_CONTENT',$archive_file,$out); file_put_contents('nanokubbe-installer.php',$out); unlink("wtmp.tgz"); echo "

Done

"; echo "
";

print_r(htmlspecialchars($out));

?>