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."',
Exemple #2
0
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);
}