database=$dbname; $DB_site->server=$servername; $DB_site->user=$dbusername; $DB_site->password=$dbpassword; $DB_site->connect(); // Verification de l'authentification if($_SESSION['login']!="1" && $_GET['action']!="login") { // Form de login header("Location: client-login.php"); exit; } // Verification de l'etat du projet // Si valide -> etape4 if($_SESSION['projet_id']!="") { $query="SELECT projet_valide FROM projet WHERE projet_id=".$_SESSION['projet_id']; $DB_site->query($query); $data=$DB_site->fetch_array(); if($data['projet_valide']==1) { header("Location: client-etape4.htm"); exit; } } switch ($_GET['action']) { case "login": // Auth espace client if($_POST['email']!="" && $_POST['mdp']!="") { $query="SELECT projet_mdp, projet_id FROM projet WHERE projet_email_mandataire='".$_POST['email']."' AND projet_espace_client=1"; $DB_site->query($query); $data=$DB_site->fetch_array(); if($data['projet_mdp']==$_POST['mdp']) { $_SESSION['login']="1"; $_SESSION['projet_id']=$data['projet_id']; // Affiche l'accueil de l'espace client header("Location: client-etape1.php"); exit; } } // Affiche le form login header("Location: client-login.php"); exit; break; case "panel": // Affiche le panel de config de l'espace client display_detail($_SESSION['projet_id']); break; case "enregistre": // Affiche le recap des elements deposes sur le serveur $model=new ModeliXe("client-etape3.htm"); $model->SetModelixe(); // Recuperation des infos en base $query="SELECT * FROM projet WHERE projet_id=".$_SESSION['projet_id']; $DB_site->query($query); $data=$DB_site->fetch_array(); $misselement=false; // Control titre if($data['projet_titre']=='') { $model->MxText("titre","Manquant"); $misselement=true; } // Control description if($data['projet_description']=='') { $model->MxText("description","Manquant"); $misselement=true; } // Control mots cles if($data['projet_mot1']=='' || $data['projet_mot2']=='' || $data['projet_mot3']=='') { $model->MxText("mot","Manquant"); $misselement=true; } // Control panneau if(!file_exists($concours_dir.$_SESSION['projet_id']."/panneau.jpg")) { $model->MxText('panneau',"Manquant"); $misselement=true; } // Control images projet if(!file_exists($concours_dir.$_SESSION['projet_id']."/1.jpg") || !file_exists($concours_dir.$_SESSION['projet_id']."/2.jpg")) { $model->MxText("image","Manquant"); $misselement=true; } // Control photo maquette if( !file_exists($concours_dir.$_SESSION['projet_id']."/3.jpg") || !file_exists($concours_dir.$_SESSION['projet_id']."/3.jpg") || !file_exists($concours_dir.$_SESSION['projet_id']."/3.jpg")) { $model->MxText("photo","Manquant"); $misselement=true; } // Lien valide projet if(!$misselement) $model->MxURL("valide","?action=valide-projet"); $model->MxWrite(); break; case "valide-projet": // On valide definitivement le projet if($_SESSION['projet_id']!="") { $query="UPDATE projet SET projet_valide=1 WHERE projet_id=".$_SESSION['projet_id']; $DB_site->query($query); // Retour home header("Location: client-etape4.htm"); exit; } break; case "update": // Modifie les données de l'espace client if($_SESSION['projet_id']!="") { // Gestion des données $description=substr($_POST['description'],0,400); if(substr($description,-1)=="\\") $description.="'"; $query="UPDATE projet SET projet_titre='".$_POST['titre']."', projet_description='".$description."', projet_mot1='".$_POST['mot1']."', projet_mot2='".$_POST['mot2']."', projet_mot3='".$_POST['mot3']."' WHERE projet_id=".$_SESSION['projet_id']; $DB_site->query($query); // Gestion des fichiers images if(!is_dir($concours_dir.$_SESSION['projet_id'])) mkdir($concours_dir.$_SESSION['projet_id']); // Creation du repertoire si inexistant // Panneau if($_FILES['panneau']['tmp_name']!="") limitImage($_FILES['panneau']['tmp_name'],$concours_dir.$_SESSION['projet_id']."/panneau.jpg",600,600); // Ecrans for($i=1;$i<6;$i++) { if($_FILES['ecran'.$i]['tmp_name']!="") { // ecriture sur disque if($i<4) limitImage($_FILES['ecran'.$i]['tmp_name'],$concours_dir.$_SESSION['projet_id']."/".$i.".jpg",320,240); else limitImage($_FILES['ecran'.$i]['tmp_name'],$concours_dir.$_SESSION['projet_id']."/".$i.".jpg",640,480); } } } // Affiche le form rempli display_detail($_SESSION['projet_id']); break; default: // Affiche l'accueil de l'espace client $model=new ModeliXe("client-etape1.php"); $model->SetModelixe(); $model->MxWrite(); } function display_detail($id) { global $DB_site; $model=new ModeliXe("client-etape2.htm"); $model->SetModelixe(); $query="SELECT projet_titre, projet_description, projet_mot1, projet_mot2, projet_mot3 FROM projet WHERE projet_id=".$id; $DB_site->query($query); $data=$DB_site->fetch_array(); $model->MxText("titre",$data['projet_titre']); $model->MxText("description",$data['projet_description']); $model->MxText("mot1",$data['projet_mot1']); $model->MxText("mot2",$data['projet_mot2']); $model->MxText("mot3",$data['projet_mot3']); $model->MxText("id",$id); $model->MxWrite(); } function limitImage($source,$dest,$width_max,$height_max) { $size=getimagesize($source); $width_orig=$size[0]; $height_orig=$size[1]; $type=$size[2]; if($width_orig > $witdh_max || $height_orig > $height_max) { $scale = min($width_max/$width_orig, $height_max/$height_orig); $width_new=intval($width_orig*$scale); $height_new=intval($height_orig*$scale); } else { $width_new=$width_orig; $height_new=$height_orig; } $img_resize=imagecreatetruecolor($width_new,$height_new); $white=ImageColorAllocate($img_resize,255,255,255); imagefill($img_resize,0,0,$white); switch($type) { case 1: $img_orig=imagecreatefromgif($source); break; case 2: $img_orig=imagecreatefromjpeg($source); break; case 3: $img_orig=imagecreatefrompng($source); break; } imagecopyresampled($img_resize,$img_orig,0,0,0,0,$width_new,$height_new,$width_orig, $height_orig); imagejpeg($img_resize,$dest); } ?>