Créer son site d'élevage virtuel avec Webidev
Bienvenue sur mon site !



Introduction
<?php
session_start() ;
header("Pragma: no-cache");
header("Expires: 0");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

if (!empty($_POST)) {
extract($_POST);
if ( array_key_exists( 'chk_fond', $_POST ) ) {
$_SESSION['jeu_puzzle']['fond'] = 1;
} else {
$_SESSION['jeu_puzzle']['fond'] = 0;
}
if ( array_key_exists( 'chk_quadr', $_POST ) ) {
$_SESSION['jeu_puzzle']['quadr'] = 1;
} else {
$_SESSION['jeu_puzzle']['quadr'] = 0;
}

if (isset($_POST['ColleMorceau'])) {
Recompose_Image($ColleMorceau);
}

if (isset($_POST['restaurer_x'])) { // _x car bouton image (retourne position x et y)
RestorePartie();
}

if (isset($_POST['Previsu_x'])) { // _x car bouton image (retourne position x et y)
Previsu($_POST['matriceX'], $_POST['matriceY'], $_POST['marge'] );
}
if (isset($_POST['Demarrer_x'])) { // _x car bouton image (retourne position x et y)
CreatPuzzle();
$_SESSION['jeu_puzzle']['trt'] = 2;
SauvePartie();
}
if (isset($_POST['Reinit_x'])) { // _x car bouton image (retourne position x et y)
unset($_SESSION['jeu_puzzle']) ;
}
if (isset($_POST['ModPseudo_x'])) { // _x car bouton image (retourne position x et y)
unset($_SESSION['jeu_puzzle']) ;
unset($_SESSION['user_pseudo']);
}
if (isset($_POST['actualiser_x'])) { // _x car bouton image (retourne position x et y)
Header("location:puzzle_mld.php");
}
} else {
if(isset($_GET["imageSel"])) {
if ($_SESSION['jeu_puzzle']['trt'] < 2) { // pas de partie en cours : on initialise
$imageSel = $_GET["imageSel"];
creatImage("previsu", $_SESSION['user_pseudo'], $imageSel, "600" , "1", "1", "0", "0", "0" );
$_SESSION['jeu_puzzle']['image'] = $imageSel ; // Nom de l'image selectionnee
$_SESSION['jeu_puzzle']['affParm'] = 'block'; // afficher block parametre
$_SESSION['jeu_puzzle']['trt'] = 1;
}
}
}

if (!isset($_SESSION['jeu_puzzle'])) {
$jeu_puzzle['trt'] = 0; // 0: debut, 1: saisie param, 2: jeux
$jeu_puzzle['largeur'] = 100; // taille de l'image en X
$jeu_puzzle['hauteur'] = 100; // taille de l'image en Y
$jeu_puzzle['image'] = 'PuzzleAccueil.jpg'; // nom de l'image
$jeu_puzzle['nb_X'] = 5; // nombre de morceaux en X
$jeu_puzzle['nb_Y'] = 5; // nombre de morceaux en Y
$jeu_puzzle['marge'] = 20; // taille du cadre exterieur
$jeu_puzzle['quadr'] = 1; // quadrillage oui:1 ou non:0
$jeu_puzzle['fond'] = 1; // fond oui:1 ou non:0
$jeu_puzzle['affParm'] = 'none'; // cacher le bloc parametre
$_SESSION['jeu_puzzle'] = $jeu_puzzle; // mise en session des infos
}

?>
<html>
<head>
<title> Puzzle </title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<style type="text/css" >
<!--

body {
background-color : #DDE3EF;
/* background-image: url(Images/fond_acceuil.png); */
}
#liste {height:250px;width:350px;padding:0;margin:0;text-align:center;overflow:auto }
/* block parametre affiche suivant variable de session */
#paramPuzzle {display:<?php echo $_SESSION['jeu_puzzle']['affParm']; ?> }
-->
</style>

<script type="text/javascript" src="dragOn.src.js"></script>
<script type="text/javascript">
//<!--
function listePuzzle() {
var nomdiv = document.all('listePuzzle');
var attrDiv= nomdiv.style['display'];

if(attrDiv=='none'){
document.getElementById("listePuzzle").style.display="block";
} else {
document.getElementById("listePuzzle").style.display="none";
}
}



//----------------------------------------------------------
//
// Fonction de Drag - drop
//
//----------------------------------------------------------
function drag(nomDiv) {
dragOn.apply( document.getElementById(nomDiv) );
}

function findrag(nomDiv) {
// le nom du div est de la forme N_nnn_P_x_y
// avec "nnn" : numero aleatoire
// "x" : numero de ligne
// "y" : numero de colonne
var posDiv = getPos(document.getElementById(nomDiv)); // position du div qui vient d'etre deplace
var posPuz = getPos(document.getElementById("puzzleSel")); // position du puzzle dans la page

imag=document.getElementById('puzzleSel');

var taille_X = <?php echo $_SESSION['jeu_puzzle']['largeur'].' / '.$_SESSION['jeu_puzzle']['nb_X']; ?>; // taille d'une piece de puzzle (en X)
var taille_Y = <?php echo $_SESSION['jeu_puzzle']['hauteur'].' / '.$_SESSION['jeu_puzzle']['nb_Y']; ?>; // taille d'une piece de puzzle (en Y)

var info_div = nomDiv.split('_'); // decoupage de la zone recue
var no_X = info_div[3] - 1; // no de la colonne de destination
var no_Y = info_div[4] - 1; // no de la ligne de destination
var posXpiece = posPuz.l + <?php echo $_SESSION['jeu_puzzle']['marge']; ?> + (no_X * taille_X) ; // position en X de la destination
var posYpiece = posPuz.t + <?php echo $_SESSION['jeu_puzzle']['marge']; ?> + (no_Y * taille_Y); // position en Y de la destination

if (((posXpiece < posDiv.l + 10) && (posXpiece > posDiv.l - 10)) && ((posYpiece < posDiv.t + 10) && (posYpiece > posDiv.t - 10))) {
document.forms['Recompose'].ColleMorceau.value = nomDiv;
document.Recompose.submit();
}
}


function PleinEcran() {
if (parent.document.title != "Puzzle") {
document.pleinEcran.submit();
}
}
//-->

</script>


</head>

<body>

<form action="" method="post" >

<?php
test_pseudo('puzzle'); // init du pseudo et lecture des scores ??
if ($_SESSION['jeu_puzzle']['trt'] == 0) {
creat_repert_pseudo();
creatImage("previsu", $_SESSION['user_pseudo'], "PuzzleAccueil.jpg", "600", "1", "1", "0", "0", "0");
}
?>
</form>


<table width="100%" border="0">
<tr>
<td width="50%" valign="top" align="left"> <font color="#0000ff">
<?php
if ($_SESSION['jeu_puzzle']['trt'] < 2) {
echo ' Image ';
}
affiche_mini_sel();
echo '&nbsp;&nbsp; Pseudo : '.strtoupper($_SESSION['user_pseudo']);
if ($_SESSION['jeu_puzzle']['trt'] == 0) {
echo ' <form action="" method="post" > ';
echo ' <input name="ModPseudo" type="image" src="modif.jpg" id="ModPseudo" value="ModPseudo" />';
$fileSauve = 'images/decoupe/'.$_SESSION['user_pseudo'].'/sauvegarde.txt';
if (file_exists($fileSauve)) { // verifie si une partie est en cours pour ce user
echo ' <input name="restaurer" type="image" src="restaurer.jpg" id="restaurer" value="restaurer" /> ';
}
echo ' </form> ';
}

?>
<div id="listePuzzle" style="display:none">
<div id="liste"> <?php Creation_liste_mini(); ?> </div>
</div>
</td>
<td>
<form name="parametres" action="" method="post">
<div id="paramPuzzle">
<?php afficheparam(); ?>
</div>
</form>
</td>
</tr>
<tr> <td colspan="2"> &nbsp; </td> </tr>
<tr>
<td>
<div class="PiecesPuzzle" name="PiecesPuzzle" id="PiecesPuzzle">
<?php affichePieces(); ?>
</div>
</td>
<td>
<div id="puzzleSel">
Image" width="600" >
</div>
</td>
</tr>
</table>


<br /> <br />



<form name="FrmInit" action="" method="post">
<input name="InitPuzzle" type="hidden" value="" />
</form>

<form name="Recompose" action="" method="post">
<input name="ColleMorceau" type="hidden" value="" />
</form>

<form name="pleinEcran" action="" method="post" target="_blank">
</form>

</body>
</html>

<?php

function test_pseudo() {
// *** l'appel à cette fonction doit etre mise après une balise <FORM> dans le body **

if (!isset($_SESSION['user_pseudo'])) {
if (!empty($_POST)) {
extract($_POST);
if (isset($_POST['sPseudo'])) {
if (!$pseudo =='') {
$user_pseudo = $_POST['pseudo'];
$_SESSION['user_pseudo'] = $user_pseudo;
creat_repert_pseudo();
}
}
}
}

if (!isset($_SESSION['user_pseudo'])) {
echo 'Saisissez un pseudo';
echo ' <input type="text" maxLength="20" size="20" name="pseudo" id="pseudo" value="" />';
echo '<input type="submit" size="30" name="sPseudo" id="sPseudo" value="Valider"/>';
exit();
}
}


function Creation_liste_mini() {
$Img_mini_X=160;
$Img_mini_Y=120;

if (!is_dir('images/mini/')){
mkdir('images/mini/');
}
$tab_reper = array(".","..","PuzzleAccueil.jpg");
$repert = 'images/';
$dir = array_diff(scandir($repert),$tab_reper);
foreach ($dir as $f) {
if (is_file('images/'.$f)) {
if (!is_file('images/mini/'.$f)) {
$c=imagecreatefromjpeg('images/'.$f);
$x=imagesX($c);
$y=imagesY($c);
$k=min($Img_mini_X/$x, $Img_mini_Y/$y);
$x2=$x*$k;
$y2=$y*$k;
$b=imagecreatetruecolor($x2, $y2);
ImageCopyResized($b,$c,0,0,0,0,$x2,$y2,$x, $y);
imagepng($b, 'images/mini/'.$f);
}
echo ' Image <br />';
}
}
}

function creatImage($action, $pseudo, $nomImg, $largeur, $quadrillage, $fond, $nbLig_x, $nbLig_y, $marge) {
//-------------------------------------------------------------------------------------------------
/* liste des parametres
action : previsu ou decoupe (creation des morceaux de puzzle)
pseudo : nom du joueur pour repertoire specifique
nomimg : nom de l'image initiale
largeur : largeur de l'image a afficher (600) (la hauteur conserve le ratio)
quadrillage : 1 si quadrillage demande 0 sinon
fond : 1 si fond affiche 0 sinon
nbLig_x : Nombre de morceaux choisi dans la largeur
nbLig_y : Nombre de morceaux choisis dans la hauteur
marge : marge a conserver autour de l'image
*/

$Ext_Img_in = strrchr($nomImg, ".");
if ($Ext_Img_in == '.jpeg' || $Ext_Img_in == '.JPG') {$Ext_Img_in = '.jpg'; }
if ($Ext_Img_in == '.GIF' ) {$Ext_Img_in = '.gif'; }
if ($Ext_Img_in == '.PNG' ) {$Ext_Img_in = '.png'; }

$Ext_Img_out = $Ext_Img_in;

$fic_in = 'images/'.$nomImg;
$fic_out = 'images/decoupe/'.$pseudo.'/'.$nomImg;


switch(strtolower($Ext_Img_in)) {
case '.jpg':
$image_origine = imagecreatefromjpeg("$fic_in");
break;
case '.gif':
$image_origine = imagecreatefromgif("$fic_in");
break;
case '.png':
$image_origine = imagecreatefrompng("$fic_in");
break;
default:
$image_origine = imagecreatefromjpeg("$fic_in");
break;
}

$largeur_origine = imagesx($image_origine);
$hauteur_origine = imagesy($image_origine);

if ($largeur_origine > $hauteur_origine) {
$hauteur = $hauteur_origine * $largeur / $largeur_origine;
} else {
$hauteur = $largeur ;
$largeur = $largeur_origine * $hauteur / $hauteur_origine;
}


$image_finale = imagecreatetruecolor($largeur, $hauteur);
imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0, $largeur, $hauteur, imagesx($image_origine), imagesy($image_origine) );

// lignes
$black = imagecolorallocate($image_finale,0,0,0);
$white = imagecolorallocate($image_finale, 255, 255, 255);

// test avec marge
$largeurPuzzle = $largeur - (2 * $marge) ;
$hauteurPuzzle = $hauteur - (2 * $marge) ;

$image_centrale = imagecreatetruecolor($largeurPuzzle, $hauteurPuzzle);
if ($fond == 1) {
imagecopy ($image_centrale , $image_finale , 0 , 0 , $marge , $marge, $largeurPuzzle , $hauteurPuzzle );
}
$image_temp = imagecreatetruecolor($largeurPuzzle, $hauteurPuzzle);
imagecopy ($image_temp , $image_finale , 0 , 0 , $marge , $marge, $largeurPuzzle , $hauteurPuzzle );

if ($action == 'decoupe') {
// creation de l'image fond avec ou sans cadre
if ($marge == 0) {
// pas de marge : image de fond = filtre sur image complete
imagefilter($image_finale, IMG_FILTER_GRAYSCALE);
imagefilter($image_finale, IMG_FILTER_BRIGHTNESS, 100);
} else {
// avec marge : image de fond = filtre sur centre image seulement
imagefilter($image_centrale, IMG_FILTER_GRAYSCALE);
imagefilter($image_centrale, IMG_FILTER_BRIGHTNESS, 100);
imagecopy ($image_finale , $image_centrale , $marge , $marge , 0 , 0, $largeurPuzzle , $hauteurPuzzle);
}
}


if ($nbLig_x > 0) {
$cote_x = $largeurPuzzle / $nbLig_x ;
$cote_y = $hauteurPuzzle / $nbLig_y ;
$piece=imagecreatetruecolor($cote_x,$cote_y);
$ligne=0;
$col=0;



for ($ligne=1; $ligne < $nbLig_x+2 ; $ligne++){
for ($col=1; $col < $nbLig_y+2 ; $col++){
// creation des morceaux
$x=(($ligne - 1) * $cote_x);
$y=(($col - 1) * $cote_y);
if ($quadrillage == 1) {
imageline($image_finale, $marge, $y+$marge, $largeur - $marge, $y+$marge, $black);
imageline($image_finale, $x+$marge, $marge, $x+$marge, $hauteur - $marge, $black);
}
if ($action == 'decoupe') {
if ($ligne < $nbLig_x+1 && $col < $nbLig_y+1){
// le nom de chaque piece est de la forme : image_N_nnn_P_x_y.png
// avec "nnn" : numero aleatoire pour ne pas avoir des noms ordonnees
// "x" : numero de ligne
// "y" : numero de colonne
$noAlea = rand();
$fic_out_complet=$fic_out.'_N_'.$noAlea.'_P_'.$ligne.'_'.$col.'.png';
imagecopy($piece, $image_temp, 0, 0, $x, $y, $cote_x, $cote_y);
imagepng($piece, $fic_out_complet);
}
}
}
}
}

// sauvegarde image generee
switch(strtolower($Ext_Img_out)) {
case '.jpg' :
imagejpeg($image_finale, "$fic_out");
break;
case '.gif':
imagegif($image_finale, "$fic_out");
break;
case '.png':
imagepng($image_finale, "$fic_out");
break;
default:
imagejpeg($image_finale, "$fic_out");
break;
}

imagedestroy($image_finale);
$_SESSION['jeu_puzzle']['largeur'] = $largeurPuzzle; // on sauvegarde la hauteur de l'image qui peut varier d'un puzzle a l'autre
$_SESSION['jeu_puzzle']['hauteur'] = $hauteurPuzzle; // on sauvegarde la hauteur de l'image qui peut varier d'un puzzle a l'autre

return true;
}

function optionMatrice($sens) {

if ($sens == 'X') {
$valSelect = $_SESSION['jeu_puzzle']['nb_X'];
} else {
$valSelect = $_SESSION['jeu_puzzle']['nb_Y'];
}

echo '<select name="matrice'.$sens.'" > ';
for ($i = 2; $i < 11; $i++) {
if ($i == $valSelect) {
echo ' <option selected="selected"> '.$i.' </option> ' ;
} else {
echo ' <option> '.$i.' </option> ' ;
}
}
echo ' </select> ';
}

function optionMarge() {

$valSelect = $_SESSION['jeu_puzzle']['marge'];

echo '<select name="marge" > ';
for ($i = 0; $i < 40; $i=$i+10) {
if ($i == $valSelect) {
echo ' <option selected="selected"> '.$i.' </option> ' ;
} else {
echo ' <option> '.$i.' </option> ' ;
}
}
echo ' </select> ';
}

function Previsu($nbX, $nbY, $marge) {


// cree une nouvelle image dans decoupe
if (!is_dir('images/decoupe/')){
mkdir('images/decoupe/');
}
// previsu de l'image
creatImage("previsu", $_SESSION['user_pseudo'], $_SESSION['jeu_puzzle']['image'], "600", $_SESSION['jeu_puzzle']['quadr'], $_SESSION['jeu_puzzle']['fond'], $nbX, $nbY, $marge );


// mise en session des parametres
$_SESSION['jeu_puzzle']['nb_X'] = $nbX;
$_SESSION['jeu_puzzle']['nb_Y'] = $nbY;
$_SESSION['jeu_puzzle']['marge']= $marge;


}

function CreatPuzzle(){
creat_repert_pseudo(); // suppression images precedentes si besoin (recatualisation page
creatImage("decoupe", $_SESSION['user_pseudo'], $_SESSION['jeu_puzzle']['image'], "600", $_SESSION['jeu_puzzle']['quadr'], $_SESSION['jeu_puzzle']['fond'], $_SESSION['jeu_puzzle']['nb_X'], $_SESSION['jeu_puzzle']['nb_Y'], $_SESSION['jeu_puzzle']['marge'] );
}

function affiche_mini_sel() {
if ($_SESSION['jeu_puzzle']['image'] == 'PuzzleAccueil.jpg') {
echo ' &nbsp;' ;
} else {
echo ' Image ';

}
}

function creat_repert_pseudo() {
$repert='images/decoupe/'.$_SESSION['user_pseudo'];
if (!is_dir($repert)){
mkdir($repert);
} else {
$dir = scandir($repert);
foreach ($dir as $f) {
if(is_file($repert.'/'.$f)) {
@unlink($repert.'/'.$f);
}
}
}
}


function affichePieces() {

$repert='images/decoupe/'.$_SESSION['user_pseudo'];
$puzzle= $_SESSION['jeu_puzzle']['image'].'_N_*';

$nbP=0;

if ($_SESSION['jeu_puzzle']['trt'] < 2) {
echo '&nbsp;';
} else {
$dir = scandir($repert);
foreach ($dir as $fic) {
if(fnmatch($puzzle, $fic)) {
$nbP++;
$Fin_Zones = explode("_N_", $fic);
$Zones = explode(".", $Fin_Zones[1]);

// ne foncionne pas avec css
// echo '<div id="P_'.$Zones[0].'" onmousedown="deplacementSouris(\'P_'.$Zones[0].'\')" > ';
echo '<div id="N_'.$Zones[0].'" style="position:relative; display:inline-block" > ';
echo ' Image ';
echo ' </div> &nbsp;&nbsp;';
}
}
}
}


function Recompose_Image($piece) {
// le nom de la piece est de la forme N_nnn_P_x_y
// avec "nnn" : numero aleatoire
// "x" : numero de ligne
// "y" : numero de colonne

$fic_Puzzle = 'images/decoupe/'.$_SESSION['user_pseudo'].'/'.$_SESSION['jeu_puzzle']['image'];
$fic_piece = 'images/decoupe/'.$_SESSION['user_pseudo'].'/'.$_SESSION['jeu_puzzle']['image'].'_'.$piece.'.png';

if (!file_exists($fic_piece)) {
return;
}

$image_puzzle = imagecreatefromjpeg("$fic_Puzzle");
$image_piece = imagecreatefrompng("$fic_piece");


$taille_X = $_SESSION['jeu_puzzle']['largeur'] / $_SESSION['jeu_puzzle']['nb_X']; // taille d'une piece de puzzle (en X)
$taille_Y = $_SESSION['jeu_puzzle']['hauteur'] / $_SESSION['jeu_puzzle']['nb_Y']; // taille d'une piece de puzzle (en Y)

$info_piece = explode("_", $piece);
$no_X = $info_piece[3] - 1; // no de la colonne de destination
$no_Y = $info_piece[4] - 1; // no de la ligne de destination
$posXpiece = $_SESSION['jeu_puzzle']['marge'] + ($no_X * $taille_X) ; // position en X de la destination
$posYpiece = $_SESSION['jeu_puzzle']['marge'] + ($no_Y * $taille_Y); // position en Y de la destination

imagecopymerge ($image_puzzle,$image_piece,$posXpiece,$posYpiece,0,0,$taille_X,$taille_Y,95);

imagejpeg($image_puzzle, "$fic_Puzzle");
imagedestroy($image_puzzle);

unlink($fic_piece);

// verification si il reste des morceaux a placer

// $Nbfiles = glob($lst_piece); // glob ne marche pas chez FREE ??
$repert = 'images/decoupe/'.$_SESSION['user_pseudo'].'/';
$tab_reper = array(".","..","PuzzleAccueil.jpg","sauvegarde.txt",$_SESSION['jeu_puzzle']['image']);

$lstFic = array_diff(scandir($repert),$tab_reper);
$Nbfiles = sizeof($lstFic);
if($Nbfiles == 0) {
echo '<script language="javascript" > alert(\'BRAVO VOUS AVEZ GAGNE \'); </script>';
$fileSauve = 'images/decoupe/'.$_SESSION['user_pseudo'].'/sauvegarde.txt';
@unlink($fileSauve);
}
}

function afficheparam() {
if( $_SESSION['jeu_puzzle']['trt'] < 2){
echo ' NB pieces : ';
optionMatrice('X');
echo ' * ';
optionMatrice('Y');
echo '&nbsp;&nbsp; Marge : ';
optionMarge('X');
echo '&nbsp;&nbsp; quadrillage : ';
if ($_SESSION['jeu_puzzle']['quadr'] == 1) {
echo ' <input type="checkbox" name="chk_quadr" checked="checked" /> ';
} else {
echo ' <input type="checkbox" name="chk_quadr" /> ';
}
echo '&nbsp;&nbsp; fond : ';
if ($_SESSION['jeu_puzzle']['fond'] == 1) {
echo ' <input type="checkbox" name="chk_fond" checked="checked" /> ';
} else {
echo ' <input type="checkbox" name="chk_fond" /> ';
}
echo ' &nbsp;&nbsp;
<input name="Previsu" type="image" src="previsu.jpg" id="Previsu" value="Previsu" />
<br />
<input name="Demarrer" type="image" src="ok.jpg" width="25" height="25" id="Demarrer" value="Demarrer" />
&nbsp;&nbsp;
';
} else {
echo '<input name="Reinit" type="image" src="reinit.jpg" width="25" height="25" id="Reinit" value="Reinit" />
&nbsp;&nbsp;&nbsp;&nbsp;
<input name="actualiser" type="image" src="actualiser.jpg" id="actualiser" value="actualiser" />
';
}
}

function SauvePartie() {
// debugPhp(__FUNCTION__);

// creation d'un fichier qui contient les parametres de la partie
$filename = 'images/decoupe/'.$_SESSION['user_pseudo'].'/sauvegarde.txt';

$valinsert[0] = "trt,".$_SESSION['jeu_puzzle']['trt'] ;
$valinsert[1] = "\nlargeur,".$_SESSION['jeu_puzzle']['largeur'] ;
$valinsert[2] = "\nhauteur,".$_SESSION['jeu_puzzle']['hauteur'] ;
$valinsert[3] = "\nimage,".$_SESSION['jeu_puzzle']['image'] ;
$valinsert[4] = "\nnb_X,".$_SESSION['jeu_puzzle']['nb_X'] ;
$valinsert[5] = "\nnb_Y,".$_SESSION['jeu_puzzle']['nb_Y'] ;
$valinsert[6] = "\nmarge,".$_SESSION['jeu_puzzle']['marge'] ;
$valinsert[7] = "\nquadr,".$_SESSION['jeu_puzzle']['quadr'] ;
$valinsert[8] = "\nfond,".$_SESSION['jeu_puzzle']['fond'] ;
$valinsert[9] = "\naffParm,".$_SESSION['jeu_puzzle']['affParm'] ;

if (file_exists($filename)) {
unlink($filename);
}

// ouvrons le fichier $filename en mode ecriture
if (!$handle = fopen($filename, 'w')) {
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}
for ($ligne=0; $ligne < count($valinsert) ; $ligne++){
if (fwrite($handle, $valinsert[$ligne]) === FALSE) {
echo "Impossible d'ecrire dans le fichier ($filename)";
exit;
}
}
// echo '
Sauvegarde effectuee
';
fclose($handle);
}

function RestorePartie () {
// debugPhp(__FUNCTION__);
// lecture du fichier de sauvegarde
$fileSauve = 'images/decoupe/'.$_SESSION['user_pseudo'].'/sauvegarde.txt';
if (file_exists($fileSauve)) {
$ficSauv = fopen($fileSauve,"r");
while (!feof($ficSauv)) {
$ligne=fgets($ficSauv,100); // lecture des lignes du fichiers (100 car max)
$infoPartie = explode(",", $ligne);
$_SESSION['jeu_puzzle'][$infoPartie[0]]=trim($infoPartie[1]) ;
}
fclose($ficSauv);

}
}

function debugPhp($msgDebug) {

echo '<script type="text/javascript" >
alert ("'.$msgDebug.'");
</script>
';
}


?>