if ( $cpt_classe === '0' ) { $classe_implose = $classe_concerne_calendrier_ins[$cpt_classe]; } if ( $cpt_classe != '0' ) { $classe_implose = $classe_implose.';'.$classe_concerne_calendrier_ins[$cpt_classe]; } $cpt_classe = $cpt_classe + 1; } } // vérification des champs non vide if( $nom_calendrier_ins != "" && $jourdebut_calendrier_ins != "" ) { $test = '1'; if($action_sql == "modifier") { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM ".$prefix_base."edt_calendrier WHERE id_calendrier = '$id_calendrier_ins'"),0); } if ($test === '1') { // conversion des date et heure au format timestamps $debut_calendrier_ts_ins = timestamps_encode($jourdebut_calendrier_ins, $heuredebut_calendrier_ins); $fin_calendrier_ts_ins = timestamps_encode($jourfin_calendrier_ins, $heurefin_calendrier_ins); if($action_sql == "ajouter") { // Requete d'insertion MYSQL $requete = "INSERT INTO ".$prefix_base."edt_calendrier (classe_concerne_calendrier, nom_calendrier, debut_calendrier_ts, fin_calendrier_ts, etabferme_calendrier, etabvacances_calendrier) VALUES ('".$classe_implose."', '".$nom_calendrier_ins."', '".$debut_calendrier_ts_ins."', '".$fin_calendrier_ts_ins."', '".$etabferme_calendrier_ins."', '".$etabvacances_calendrier_ins."')"; } if($action_sql == "modifier") { // Requete de mise à jour MYSQL $requete = "UPDATE ".$prefix_base."edt_calendrier SET classe_concerne_calendrier = '".$classe_implose."', nom_calendrier = '".$nom_calendrier_ins."', debut_calendrier_ts = '".$debut_calendrier_ts_ins."', fin_calendrier_ts = '".$fin_calendrier_ts_ins."',
function etabouvert($date_a_verifier, $de_heure, $a_heure, $classe_select) { global $prefix_base; global $dbDb; // a l'état initial l'établissement est considérer comme fermer $ouvert = 'non'; // on explose la date soit sql soit fr $date_selection = explode('/', $date_a_verifier); if(!empty($date_selection[1])) { $jour = $date_selection[0]; $mois = $date_selection[1]; $annee = $date_selection[2]; } else { $date_selection = explode('-', $date_a_verifier); $jour = $date_selection[2]; $mois = $date_selection[1]; $annee = $date_selection[0]; } // date au format SQL $date_sql = $annee.'-'.$mois.'-'.$jour; // pour connaitre le jour lundi, mardi, ... $joursem = aff_jour($jour, $mois, $annee); // on compte le nombre de jour trouvé qui soit ouvert $sql="SELECT count(*) FROM ".$prefix_base."horaires_etablissement WHERE jour_horaire_etablissement = '".$joursem."' AND ouvert_horaire_etablissement = '1' AND ( '".$de_heure."' BETWEEN ouverture_horaire_etablissement AND fermeture_horaire_etablissement OR '".$a_heure."' BETWEEN ouverture_horaire_etablissement AND fermeture_horaire_etablissement OR ouverture_horaire_etablissement BETWEEN '".$de_heure."' AND '".$a_heure."' OR fermeture_horaire_etablissement BETWEEN '".$de_heure."' AND '".$a_heure."' )"; //echo "0 : $sql<br />"; $requete_nb = old_mysql_result(mysqli_query($GLOBALS["mysqli"], $sql),0); // ensuit on vérifie qu'une table edt_calendrier existe $table_edt_calendrier = 'non'; $table= ''; $table = $prefix_base.'edt_calendrier'; $exist_table = mysql_table_exists($table, $dbDb); if ( $exist_table === 1 ) { $table_edt_calendrier = 'oui'; } // si la table existe est qu'elle n'est pas vide alors on vérifie que le jour ne soit pas férier ou dans une période de vacances $requete_nb_calendrier_1 = '0'; $requete_nb_calendrier_2 = '0'; // définition des dates en timestamps $debut_calendrier_ts_gmt = timestamps_encode($date_sql, $de_heure); $fin_calendrier_ts_gmt = timestamps_encode($date_sql, $a_heure); if ( $table_edt_calendrier === 'oui' ) { $sql="SELECT count(*) FROM ".$prefix_base."edt_calendrier WHERE etabferme_calendrier = '0' AND classe_concerne_calendrier = '' AND ( '".$debut_calendrier_ts_gmt."' BETWEEN debut_calendrier_ts AND fin_calendrier_ts OR '".$fin_calendrier_ts_gmt."' BETWEEN debut_calendrier_ts AND fin_calendrier_ts OR debut_calendrier_ts BETWEEN '".$debut_calendrier_ts_gmt."' AND '".$debut_calendrier_ts_gmt."' OR fin_calendrier_ts BETWEEN '".$debut_calendrier_ts_gmt."' AND '".$fin_calendrier_ts_gmt."' )"; //echo "1 : $sql<br />"; $requete_nb_calendrier_1 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], $sql),0); } // on fait de même si c'est pour une classe est précisé if ( $table_edt_calendrier === 'oui' and $classe_select != '' ) { $sql="SELECT count(*) FROM ".$prefix_base."edt_calendrier WHERE etabferme_calendrier = '0' AND ( classe_concerne_calendrier LIKE '".$classe_select.";%;' OR classe_concerne_calendrier LIKE '%;".$classe_select.";%' OR classe_concerne_calendrier LIKE '%;".$classe_select."' OR classe_concerne_calendrier = '".$classe_select."' ) AND ( '".$debut_calendrier_ts_gmt."' BETWEEN debut_calendrier_ts AND fin_calendrier_ts OR '".$fin_calendrier_ts_gmt."' BETWEEN debut_calendrier_ts AND fin_calendrier_ts OR debut_calendrier_ts BETWEEN '".$debut_calendrier_ts_gmt."' AND '".$fin_calendrier_ts_gmt."' OR fin_calendrier_ts BETWEEN '".$debut_calendrier_ts_gmt."' AND '".$fin_calendrier_ts_gmt."' )"; //echo "2 : $sql<br />"; $requete_nb_calendrier_2 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], $sql),0); } /* // DEBUG echo "<pre> \$requete_nb=$requete_nb \$requete_nb_calendrier_1=$requete_nb_calendrier_1 \$requete_nb_calendrier_2=$requete_nb_calendrier_2 </pre>"; */ if ( $requete_nb != '0' and $requete_nb_calendrier_1 === '0' and $requete_nb_calendrier_2 === '0' ) { $ouvert = 'oui'; } else { $ouvert = 'non'; } return($ouvert); }