"; echo "

Création d'une réservation spécifique à la semaine


"; if($type=='joueur') { $requete="SELECT id_joueur, nom, prenom, mot_passe FROM joueur WHERE id_joueur='$id'"; $reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
"); $joueur=mysqli_fetch_object($reponse); $adm=0; } else { $requete="SELECT id_joueur, id_club FROM admin_resa WHERE id_admin='$id'"; $reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
"); $admin=mysqli_fetch_object($reponse); $requete="SELECT id_joueur, nom, prenom, mot_passe FROM joueur WHERE id_joueur='$admin->id_joueur'"; $reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
"); $joueur=mysqli_fetch_object($reponse); $adm=1; $id_club=$admin->id_club; } if($adm==1) { $motif=$_POST['motif']; $type=$_POST['type']; $date_arret=$_POST['date_arret']; $num_fft=$_POST['num_fft']; $heure_debut=$_POST['heure_debut']; $heure_fin=$_POST['heure_fin']; $min_debut=$_POST['min_debut']; $min_fin=$_POST['min_fin']; $ferie=$_POST['ferie']; $debut=$_POST['date_debut']; $tournoi_cat=$_POST['tournoi_cat']; /* Jours fériés fixes */ include("constantes.php"); $dates_feries_fixe=array_keys($feries_fixe); // Tableau contenant les jours $tab_jours=array(); for($i=0;$i<7;$i++) { $nom="jour_".$i; if(isset($_POST[$nom])) { array_push($tab_jours, $_POST[$nom]); } } /* calcul des timestamp de début et fin */ $now_tab=getDate(time()); $ts_debut=mktime($heure_debut, $min_debut, 0, $[''], $[''], $['']); $ts_fin=mktime($heure_fin, $min_fin, 0, $[''], $[''], $['']); /* Début du planning */ if(strlen($debut)==10) { list($jour,$mois,$annee)=explode("/",$debut); $ts_date_debut=mktime(date("H"), date("i"), date("s"), $mois, $jour, $annee); } else { $ts_date_debut=time(); } // tableaux contenant les terrains selectionnées. $tab_terrains=$_POST['terrains']; // id du joueur $requete="SELECT id_joueur FROM joueur WHERE numero_fft='$num_fft'"; $reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
"); $nb=mysqli_num_rows($reponse); if($nb>0) { $joueur=mysqli_fetch_object($reponse); } /* Gestion des erreurs */ if(count($tab_jours)==0) { echo "Vous n'avez coché aucune journée.
"; echo "Veuillez recommencer en cliquant ici."; } else if(count($tab_terrains)==0) { echo "Vous n'avez coché aucun terrain.
"; echo "Veuillez recommencer en cliquant ici."; } else if($nb==0) { echo "Le numéro de licence que vous avez saisi est inconnu de notre site.
"; echo "Veuillez recommencer en cliquant ici."; } else if($ts_debut >= $ts_fin) { echo "Les horaires que vous avez saisi ne sont pas corrects.
"; echo "Veuillez recommencer en cliquant ici."; } else if($date_arret=="") { echo "Vous n'avez pas saisi de date d'arrêt.
"; echo "Veuillez recommencer en cliquant ici."; } else { // Jour d'arret des programmations list($jour,$mois,$annee)=explode("/",$date_arret); $date_arret_uk="$annee-$mois-$jour"; /* Tournoi ? */ if($type=='Tournoi') { list($id_tournoi, $id_categorie)=explode('-', $tournoi_cat); } else { $id_tournoi=0; $id_categorie=0; } /* Fériés en BDD */ $annee_arret=$annee; $annee_debut=date("Y"); if($annee_arret == $annee_debut) { $requete="SELECT date_ferie FROM feries WHERE YEAR(date_ferie) = '$annee_arret'"; } else { $requete="SELECT date_ferie FROM feries WHERE YEAR(date_ferie) >= '$annee_debut' AND YEAR(date_ferie) <= '$annee_arret'"; } $reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
"); $existe_feries=mysqli_num_rows($reponse); $dates_variables=array(); if($existe_feries > 0) { while($ferie=mysqli_fetch_object($reponse)) { array_push($dates_variables, $ferie->date_ferie); } } // Init au jour courant / choisi par l'utilisateur $now_ts=$ts_date_debut; // heures $heure_debut="$heure_debut:$min_debut:00"; $heure_fin="$heure_fin:$min_fin:00"; // Pour la période aujourd'hui -> date d'arrêt do { $date_resa=date("Y-m-d", $now_ts); $date_fr=date("d/m/Y", $now_ts); $now_tab=getDate($now_ts); $controle_ferie=date("d/m", $now_ts); //trouve le jour demandé (ex mardi) if(in_array($[''],$tab_jours)) { $resa_ok=1; /* Controle si la date est comprise dans les feries et que les résas dans les fériés sont activées */ /* Ferie fixe */ if(in_array($controle_ferie,$dates_feries_fixe) and $ferie != '1') { $resa_ok=0; } /* Ferie variable (date qui change tous les ans */ if(in_array($date_resa,$dates_variables) and $ferie != '1') { $resa_ok=0; } /* Si la résa est OK */ if($resa_ok==1) { /* Pour chaque terrain */ for($i=0;$iid_joueur; // COntrole si résa à cette heure la $requete="SELECT id_reservation, heure_resa_deb, heure_resa_fin FROM reservation WHERE date_resa='$date_resa' AND id_reservable='$reservable' AND ((heure_resa_deb >= '$heure_debut' AND heure_resa_deb<'$heure_fin') OR (heure_resa_fin>'$heure_debut' AND heure_resa_fin<='$heure_fin') OR (heure_resa_deb<='$heure_debut' AND heure_resa_fin>='$heure_fin'))"; //$requete="SELECT id_reservation FROM reservation WHERE date_resa='$date_resa' AND heure_resa_deb='$heure_debut' AND id_reservable='$reservable'"; $res=mysqli_query( $db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
"); $nb=mysqli_num_rows($res); // ON supprime la reservation if($nb>0) { while($res_tab=mysqli_fetch_object($res)) { $id_resa=$res_tab->id_reservation; $requete="DELETE FROM reservation WHERE id_reservation='$id_resa'"; $reponse=mysqli_query( $db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
"); } } if(is_numeric($type)) { $requete="INSERT INTO reservation(type,id_tournoi,id_categorie,type_reservation,id_joueur,heure_resa_deb, heure_resa_fin,date_resa,id_reservable,id_rubrique) VALUES('Autre','$id_tournoi','$id_categorie','$motif','$id_joueur','$heure_debut','$heure_fin','$date_resa','$reservable','$type')"; } else { $requete="INSERT INTO reservation(type,id_tournoi,id_categorie,type_reservation,id_joueur,heure_resa_deb, heure_resa_fin,date_resa,id_reservable,id_rubrique) VALUES('$type','$id_tournoi','$id_categorie','$motif','$id_joueur','$heure_debut','$heure_fin','$date_resa','$reservable','0')"; } $res=mysqli_query( $db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
"); } echo "Réservation du $date_fr : ajoutée avec succès
"; } } // Avance dune journée $now_ts=$now_ts+(3600*24); } while($date_resa!=$date_arret_uk); echo "Les réservations ont étés correctement ajoutés au planning.
"; echo "Cliquez sur retour pour revenir au menu principal."; } } else { echo "
Cette page est réservée aux administrateurs de réservations.
"; } mysql_close($db_connection); echo "

"; include("deco_resa.php"); include("piedDePage.php"); } else { echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes"); sleep(2); include("login_resa.php"); } ?>