tools.inc.php
<?php
/*Various tools for this website
*
*
* Avertissement: Cette librairie de fonctions PHP est distribuee avec l'espoir
* qu'elle sera utile, mais elle l'est SANS AUCUNE GARANTIE; sans meme la garantie de
* COMMERCIALISATION ou d'UTILITE POUR UN BUT QUELCONQUE.
* Elle est librement redistribuable tant que la presente licence, ainsi que les credits des
* auteurs respectifs de chaque fonctions sont laisses ensembles.
* En aucun cas, Nexen.net ne pourra etre tenu responsable de quelques consequences que ce soit
* de l'utilisation ou la mesutilisation de ces fonctions PHP.
*/
#initalise la date du jour au format MySQL
$aujourdhui=date("Y-m-d");
/****
* Titre: Date format MySQL en date Francaise
* Auteur: FreeCreator
* Email: freecreator59@hotmail.com
* Url:
* Description: Cette fonction permet de convertir une date au format MySQL en date Francaise.
Elle retourne la date en francais avec heures et minutes
****/
function datefr($date_sql){
// Declaration du tableau des noms de jours en Francais
//-------- ici
$j_fr[Sunday] = "Dimanche";
$j_fr[Monday] = "Lundi";
$j_fr[Tuesday] = "Mardi";
$j_fr[Wednesday] = "Mercredi";
$j_fr[Thursday] = "Jeudi";
$j_fr[Friday] = "Vendredi";
$j_fr[Saturday] = "Samedi";
// Declaration du tableau des noms de jours en Francais
$m_fr[1] = "Janvier";
$m_fr[2] = "Fevrier";
$m_fr[3] = "Mars";
$m_fr[4] = "Avril";
$m_fr[5] = "Mai";
$m_fr[6] = "Juin";
$m_fr[7] = "Juillet";
$m_fr[8] = "Aout";
$m_fr[9] = "Septembre";
$m_fr[10] = "Octobre";
$m_fr[11] = "Novembre";
$m_fr[12] = "Decembre";
$la_date = explode(' ', $date_sql); // on decompose la date SQL
$heure_sql= explode(':',$la_date[1]); // On prend la partie heure
$date_sql = explode('-',$la_date[0]); // On prend la partie date
if (substr($date_sql[1],0,1) == '0' ) // On verifie si le 1er caractere est 0 dans le numero du mois
{
// si oui alors on supprime le 1er caractere
$date_sql[1] = substr($date_sql[1],1,strlen($date_sql[1]) -1);
}
$heure = $heure_sql[0]; // La variable de l'heure
$minutes = $heure_sql[1]; // La variable des minutes
$secondes = $heure_sql[2]; // la variable des secondes
$annee = $date_sql[0]; // La variable des annees
$num_mois = $date_sql[1]; // La variable du numero du mois
$nom_mois = $m_fr[$num_mois]; // La variable du mois en francais
$num_jour = $date_sql[2]; // Le numero du jour
$nom_jour = $j_fr[date("l", mktime(0,0,0,$num_mois,$num_jour,$annee))]; // Le nom du jour en francais
# $date = "Le $nom_jour $num_jour $nom_mois $annee"; // On forme la date
$date = "$nom_jour $num_jour $nom_mois $annee"; // On forme la date
$heure = "$heure:$minutes:$secondes"; // On forme l'heure
#$date_fr= $date.' à '.$heure;
$date_fr= $date;
//retour de cette variable
return $date_fr;
}
/* ######### AJOUTS fradeff www.akademia.ch lundi 11 juin 2007, 21:09:59 (UTC+0200) ###### */
#renvoyer la date complète mais pas les heures et minutes
function datefr_short($date_sql){
// Declaration du tableau des noms de jours en Francais
//-------- ici
$j_fr[Sunday] = "Dimanche";
$j_fr[Monday] = "Lundi";
$j_fr[Tuesday] = "Mardi";
$j_fr[Wednesday] = "Mercredi";
$j_fr[Thursday] = "Jeudi";
$j_fr[Friday] = "Vendredi";
$j_fr[Saturday] = "Samedi";
// Declaration du tableau des noms de jours en Francais
$m_fr[1] = "Janvier";
$m_fr[2] = "Fevrier";
$m_fr[3] = "Mars";
$m_fr[4] = "Avril";
$m_fr[5] = "Mai";
$m_fr[6] = "Juin";
$m_fr[7] = "Juillet";
$m_fr[8] = "Aout";
$m_fr[9] = "Septembre";
$m_fr[10] = "Octobre";
$m_fr[11] = "Novembre";
$m_fr[12] = "Decembre";
$la_date = explode(' ', $date_sql); // on decompose la date SQL
$heure_sql= explode(':',$la_date[1]); // On prend la partie heure
$date_sql = explode('-',$la_date[0]); // On prend la partie date
if (substr($date_sql[1],0,1) == '0' ) // On verifie si le 1er caractere est 0 dans le numero du mois
{
// si oui alors on supprime le 1er caractere
$date_sql[1] = substr($date_sql[1],1,strlen($date_sql[1]) -1);
}
$heure = $heure_sql[0]; // La variable de l'heure
$minutes = $heure_sql[1]; // La variable des minutes
$secondes = $heure_sql[2]; // la variable des secondes
$annee = $date_sql[0]; // La variable des annees
$num_mois = $date_sql[1]; // La variable du numero du mois
$nom_mois = $m_fr[$num_mois]; // La variable du mois en francais
$num_jour = $date_sql[2]; // Le numero du jour
$nom_jour = $j_fr[date("l", mktime(0,0,0,$num_mois,$num_jour,$annee))]; // Le nom du jour en francais
# $date = "Le $nom_jour $num_jour $nom_mois $annee"; // On forme la date
$date = "$nom_jour $num_jour $nom_mois $annee"; // On forme la date
$date_fr= $date;
//retour de cette variable
return $date_fr;
}
#renvoyer le nom du jour
function jourfr_short($date_sql){
// Declaration du tableau des noms de jours en Francais
//-------- ici
$j_fr[Sunday] = "Dimanche";
$j_fr[Monday] = "Lundi";
$j_fr[Tuesday] = "Mardi";
$j_fr[Wednesday] = "Mercredi";
$j_fr[Thursday] = "Jeudi";
$j_fr[Friday] = "Vendredi";
$j_fr[Saturday] = "Samedi";
#$la_date = explode(' ', $date_sql); // on decompose la date SQL
$date_sql = explode('-',$date_sql); // On prend la partie date
$annee = $date_sql[0]; // La variable des annees
$num_mois = $date_sql[1]; // La variable du numero du mois
$num_jour = $date_sql[2]; // Le numero du jour
$nom_jour = $j_fr[date("l", mktime(0,0,0,$num_mois,$num_jour,$annee))]; // Le nom du jour en francais
//retour de cette variable
return $nom_jour;
}
#renvoyer l'heure seulement
function datefr_hour($date_sql){
$la_date = explode(' ', $date_sql); // on decompose la date SQL
$heure_sql= explode(':',$la_date[1]); // On prend la partie heure
$heure = $heure_sql[0]; // La variable de l'heure
$minutes = $heure_sql[1]; // La variable des minutes
$heure = "$heure:$minutes"; // On forme l'heure<
//retour de cette variable
return $heure;
}
#convertir date française DD-MM-YYYY au format MySQL YYYY-MM-DD
function datefr2mySQL($date) {
$split = explode(".",$date);
$annee = $split[2];
$mois = $split[1];
$jour = $split[0];
return "$annee"."-"."$mois"."-"."$jour";
}
#convertir date MySQL YYYY-MM-DD au format français DD-MM-YYYY
function datemySQL2fr($date) {
$split = explode("-",$date);
$annee = $split[0];
$mois = $split[1];
$jour = $split[2];
return "$jour"."-"."$mois"."-"."$annee";
}
function date_mysql_to_timestamp($date) {
#if (!preg_match('/(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)/',$date,$r)){
#return false;
#}
$ladate=explode("-",$date);
return mktime(0, 0,0,$ladate[2],$ladate[3],$ladate[1] );
}
function verifieDate($date) {
#2007-06-22
#checkdate(m-d-y);
#note: for a strange reason you need firstly to reconstruct the format of date var
$ladate1=explode("-",$date);
$month=ereg_replace("^0","",$ladate1[1]);
$day=ereg_replace("^0","",$ladate1[2]);
$year=$ladate1[0];
return checkdate($month, $day, $year);
}
function testSql($sql) {
echo "<pre>" .$sql ."</pre>";
echo "Results items: " .mysql_num_rows(mysql_query($sql));
exit;
}
/* VARIOUS SQL QUERIES
*/
function animateur($id) {
$sqlQuery = "SELECT * FROM animateurs WHERE id_animateur = '$id'";
$result = MYSQL_QUERY($sqlQuery);
$numberOfRows = MYSQL_NUM_ROWS($result);
return $sql;
#return ($sql,$numberOfRows);
}
function probleme() {
echo "<br><input type=\"button\" name=\"cancel\" value=\"Retour\" onClick=\"javascript:history.back();\">";
exit;
}
/* VARIOUS MySQL Standard queries */
function afficheEnseignant($result,$i) { // affiche lien sur vue détaillée enseignant
$thisEnseignantID = MYSQL_RESULT($result,$i,"enseignantID");
$thisEnseignantNom = MYSQL_RESULT($result,$i,"enseignants.NOM");
$thisEnseignantPrenom = ucfirst(strtolower(MYSQL_RESULT($result,$i,"enseignants.PRENOM")));
echo "<a href=../enseignants/viewEnseignants.php?id_enseignantField=" .$thisEnseignantID .">";
echo $thisEnseignantPrenom ." " .$thisEnseignantNom ."</a>\n";
}
function afficheCours($result,$i) { // affiche lien sur vue détaillée du cours
$thisId_crs = MYSQL_RESULT($result,$i,"id_crs");
$thisId_lib=MYSQL_RESULT($result,$i,"cours.TITRE_DU_COURS");
$thisCODES_DE_COURS=MYSQL_RESULT($result,$i,"cours.CODES_DE_COURS");
$thisDateD = datemySQL2fr(MYSQL_RESULT($result,$i,"dateD"));
echo "<a href=../cours/viewCours.php?id_cours_date_Field=";
echo $thisId_crs;
echo ">";
echo $thisCODES_DE_COURS;
echo " - " .$thisId_lib;
echo "</a>";
#echo "(" .$thisDateD .")";
}
function prenom($prenom) { // formatage du prénom
/*echo ucfirst(strtolower($prenom));*/
return strtoupper($prenom);
}
function genre($thisGENRE) { // fonction pour afficher le genre
echo "
<SELECT name=\"thisGENREField\">
<option";
if($thisGENRE=="MONSIEUR") { echo " selected";}
echo ">MONSIEUR</option>
<option";
if($thisGENRE=="MADAME") { echo " selected";}
echo ">MADAME</option>
</SELECT>";
}
function statutEnseignant($thisSTATUT) { // statut
echo "
<SELECT name=\"thisSTATUTField\">
<option";
if($thisSTATUT=="TIT") { echo " selected";}
echo ">TIT</option><option";
if($thisSTATUT=="LME") { echo " selected";}
echo ">LME</option><option";
if($thisSTATUT=="SUPPL ") { echo " selected";}
echo ">SUPPL </option><option";
if($thisSTATUT=="GNT") { echo " selected";}
echo ">GNT</option><option";
if($thisSTATUT=="GNT/STACC") { echo " selected";}
echo ">GNT/STACC</option><option";
if($thisSTATUT=="STACC") { echo " selected";}
echo ">STACC</option><option";
if($thisSTATUT=="HEP") { echo " selected";}
echo ">HEP</option><option";
if($thisSTATUT=="STACC/GNT") { echo " selected";}
echo ">STACC/GNT</option><option";
if($thisSTATUT=="?") { echo " selected";}
echo ">?</option>
</SELECT>
";
}
function formationEnseignant($thisFORMATION) { // formation
echo "
<SELECT name=\"thisFORMATIONField\">
<option";
if($thisFORMATION=="") { echo " selected";}
echo "></option>
<option";
if($thisFORMATION=="LME") { echo " selected";}
echo ">LME</option>
</SELECT>
";
}
function ecole($thisId_ecole) { // affiche liste déroulante des écoles
#$thisId_ecole = MYSQL_RESULT($resultEcole,0,"id_ecole");
echo "
<SELECT name=\"Ecole\" size=\"10\">
<option value=\"\"> ---</option>";
$sqlEcoles = "SELECT * FROM ecoles ORDER BY nom";
$resultEcoles = MYSQL_QUERY($sqlEcoles);
$numberOfRows = MYSQL_NUM_ROWS($resultEcoles);
#$thisId_ecole = MYSQL_RESULT($resultEcoles,$i,"id_ecole");
$thisNom = MYSQL_RESULT($resultEcoles,$i,"nom");
while ($ecoles=mysql_fetch_object($resultEcoles)) {
echo "<option value=" .$ecoles->id_ecole;
if($ecoles->id_ecole==$thisId_ecole) {echo " selected"; }
echo ">" .$ecoles->nom .' (' .$ecoles->id_ecole .')</option>';
}
echo "</SELECT>";
}
#Description :
#Génère un mot de passe prononçable, pour faciliter sa mémorisation, mais malgré tout très compliqué.
#Par exemple :
#ZbleUrg (prononçable, mais difficile).
#Auteur : Damien Seguy
#Url : http://www.nexen.net
function passe_mnemo(){
if (func_num_args() == 1){ $nb = func_get_arg(0);} else { $nb = 8;}
// on utilise certains chiffres : 1 = i, 5 = S, 6=b, 3=E, 9=G, 0=O
$lettre = array();
$lettre[0] = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
'j', 'k', 'l', 'm', 'o', 'n', 'p', 'q', 'r',
's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '9',
'0', '6', '5', '1', '3');
/*, 'A',
'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'D',
'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
lettre 1
, 'A', 'E',
'I', 'O', 'U', 'Y'
lettre -1
, 'B', 'C', 'D', 'F',
'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P',
'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Z',
*/
$lettre[1] = array('a', 'e', 'i', 'o', 'u', 'y' , '1', '3', '0' );
$lettre[-1] = array('b', 'c', 'd', 'f', 'g', 'h', 'j', 'k',
'l', 'm', 'n', 'p', 'q', 'r', 's', 't',
'v', 'w', 'x', 'z',
'5', '6', '9');
$retour = "";
$prec = 1;
$precprec = -1;
srand((double)microtime()*20001107);
while(strlen($retour) < $nb){
// pour genere la suite de lettre, on dit : si les deux lettres sonts
// des consonnes (resp. des voyelles) on affiche des voyelles (resp, des consonnes).
// si les lettres sont de type differents, on affiche une lettre de l'alphabet
$type = ($precprec + $prec)/2;
$r = $lettre[$type][array_rand($lettre[$type], 1)];
$retour .= $r;
$precprec = $prec;
$prec = in_array($r, $lettre[-1]) - in_array($r, $lettre[1]);
}
return $retour;
}
?>