/**********************************************************************
* File : sql_base
* Date : 11/07/2005
* Modif : 01/04/2008
*
* Description:
* Implémentation de fonctions suivantes...
* Spécial pour PHP
* akottia@yahoo.fr
*
*********************************************************************/
//Fonction qui génere une chaine aléatoire alphanumérique
// $taille: longueur de la chaine
// $lettres: l'ensemble des caracteres à trier pour generer
// Exple: fct_genere_code(6,"0123456789AZERTYUIPMLKJHGFDSQWXCVBN")
// resultat: 05Z1LO
function fct_crypte($text)
{
return md5($text);
//return $text;
}
/**
* Fonction de generation aléatoire de code
* @param $taille int: longueur du code
* @param $lettres string ensemble de caractere à trier
* retur string
*/
function fct_genere_code($taille, $lettres)
{
srand(time());
for ($i=0;$i<$taille; $i++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
return ($id);
}
//------------------------------------------------------
///Function qi affiche un menu passé en parametre ds un tableau superglobal
function fct_affiche_menu($menu,$sm_path='')
{
$i=0;
foreach($menu as $_menu)
{
if($i!=0)
echo "| ";
echo ''.$_menu['text'].' ';
$i++;
}
}
//--------------------------------------------------------
//Verification de l'existence de caractere spéciaux dans la chaine
function fct_verifie_carac_spec($chaine)
{
if( (preg_match_all("/([^a-zA-Z0-9_\@\.\-])/i", $chaine, $trouve)) || $chaine=='')
return true ;
else
return false;
}
//-------------------------------------------------------
//Verification d'un chaine numérique
function fct_verifie_num($chaine)
{
$chaine=trim($chaine);
if(!empty($chaine))
{
if(ereg("^[0-9\.]+$", $chaine))
return true;
else
return false;
}
else
return false;
}
//-------------------------------------------------------
//Fonction qui verifie qu'une chaine est alphabetique, autorisant l'apostrohe
function fct_verifie_alphabet($chaine)
{
$chaine=stripslashes($chaine);
$chaine=ereg_replace("'","",$chaine);//Enleve les apostrohes
$chaine=ereg_replace(" ","",$chaine);//Enleve les espaces
// "/([^ïöüäëéèùôîûêâàa-zA-Z_\@\.\-])/i"
if( (preg_match_all("/([^ïöüäëéèùôîûêâàa-zA-Z_\-])/i", $chaine, $trouve)) || $chaine=='')
return true ;
else
return false;
}
//-------------------------------------------------------
//Fonction qui verifie une chaine alphabétique acceptant le chiffre et uniquement l'apostrophe
function fct_verifie_text2($chaine)
{
if(preg_match_all("#[^\w\s\'\@\.\ïöüäëéèùôîûêâàa]#", $chaine, $trouve) || $chaine=='')
return true ;
else
return false;
}
//-------------------------------------------------------
//Fonction qui mets les champs mal renseignés en rouge
function fct_label_rouge($tab=array(),$champ,$label)
{
foreach ($tab as $t)
{
if($t==$champ)
return "$label";
}
return $label;
}
//--------------------------------------------------------------------
//Verification de l'existence d'une url
function fct_verifie_url($adresse)
{
if(substr_count($adresse,"http://") > 0){
$port=80;
$adresse=eregi_replace("http://", "", $adresse);
}
if(substr_count($adresse,"https://") > 0){
$port=443;
$adresse=eregi_replace("https://", "", $adresse);
}
$url = fsockopen($adresse, $port);
if(!$url)
return false;
else
fclose($url);
return true;
}
//-------------------------------------------------------
//Verification de la validité d'une date
function fct_verifie_date($j,$m,$a)
{
$j=(int)$j;
$m=(int)$m;
$a=(int)$a;
//si le jour n'est pas entre 1 et 31 inclus
if (($j > 31) || ($j == 0)){
return FALSE;}
//si le mois n'est pas entre 1 et 12 inclus
if (($m > 12) || ($m == 0)){
return FALSE;}
//si pour le mois de février, avril, juin, septembre et novembre, le jour est 31
if (in_array($m, array(2, 4, 6, 9, 11)) && ($j == 31)){
return FALSE;}
//Si pour le mois de Fevrier, le jour est 30
if (($m == 2) && ($j == 30)){
return FALSE;}
/*echo "*/
//Si pour l'année choisi fevrier est bissextile...
if (!date("L", mktime(0, 0, 0, 1, 1, $a)) && ($j == 29) && ($m==2)){
echo "annee bisex ";
return FALSE;}
return TRUE;
}
function fct_verifie_date2($j,$m,$a){
$j=(int)$j;
$m=(int)$m;
$a=(int)$a;
if(checkdate($m,$j,$a)){
$retour=TRUE;
}else{
$retour=FALSE;
}
return $retour;
}
//-------------------------------------------------------
//Verification de la validité d'une heure
function fct_verifie_heure($h,$m)
{
$h=(int)$h;
$m=(int)$m;
if(($h > 23) || ($h < 0))
return false;
if(($m > 59) || ($m < 0))
return false;
return true;
}
//-------------------------------------------------------
//Verification de l'égalité entre deux champs
function fct_verifie_egalite($chaine1,$chaine2)
{
/*echo "";*/
//echo $chaine1." --- ".$chaine2." ";
if((trim($chaine1)=='') || (trim($chaine2)==''))
return false;
if(strcmp($chaine1,$chaine2)==0)
{
//echo "egalite";
return true;
}
else
{
//echo "pas egalite";
return false;
}
}
//-------------------------------------------------------
//Fonction qui affiche un message correspondant à un id
function fct_affiche_message($id_message)
{
echo ${'msg_err_'.$id_message};
}
//-------------------------------------------------------
//Fonction de verification d'un email
function fct_verifie_email($email)
{
//Mise en miniscule de ts les caracteres
$email = strtolower($email);
if (strlen($email) < 6){ return (-1);}//$email : Email trop court
if (strlen($email) > 255) {return (-2);}//$email : Email trop long
if (!ereg("@", $email)){ return (-3);}//$email : Le email n'a pas d'arobase (@)
//Recherche ts les caracteres spéciaux ds la chaine $email, et les mets ds le tableau numérique $trouve
if (fct_verifie_carac_spec($email))
{
return (-4);//"$email : caractère(s) interdit dans un email(".implode(", ", $trouve[0]).").";
}
if (!preg_match("/^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$/i", $email))
{
return (-5);//"$email : ce n'est pas un la forme d'un email.";
}
/* list($compte, $domaine)=split("@", $email, 2);
if (!checkdnsrr($domaine, "MX")){
return (-6);//"$email : Ce domaine ($domaine) n'accepte pas les emails";
}*/
return 0;
}
//-------------------------------------------------------
//Fonction qui verifie si un choix s'est fait ds une liste deroulante
function fct_verifie_selection($selected)
{
if($selected=="")
return false;
else
return true;
}
//-------------------------------------------------------------------
//Function qui vérifie si un choix d'un bouton radio a été fait
function fct_verifie_radio($coche)
{
if(empty($coche))
return false;
else
return true;
}
//-------------------------------------------------------------------
//Formatage monétaire en fonction de la langue (pays)
function fct_format_money($valeur , $pays,$etat=0,$decimale=2){
$valeur = doubleval($valeur);
//explication des colonne de const:
// 1: caractere des décimales
// 2: caractere ente chaque millier
// 3: caractere devant le montant
// 4: Symbole de la monnaie
$const = array();
$const['admin'] = array(', ', ' ', '', '');
$const['fr'] = array(', ', ' ', '', ' FCFA');
//$const['de'] = array(', ', '.', '', ' DM');
$const['de'] = array(', ', '.', '', ' €');
$const['au'] = array('.', ', ', '$ ', '');
$const['as'] = array(', ', '.', '', ' ÖS');
$const['be'] = array(', ', '.', 'BF ', '');
$const['br'] = array(', ', '.', '$ ', '');
$const['ca_fr'] = array(', ', ' ', '', ' $');
$const['ca_en'] = array(', ', ' ', '$ ', '');
$const['nz'] = array(', ', ' ', '$ ', '');
$const['pt'] = array(', ', ' ', '' , ' Esc.');
$const['dk'] = array(', ', '.', 'kr. ', '');
$const['es'] = array(', ', '.', '', 'Pts');
$const['hu'] = array(', ', ' ', '', ' Ft');
$const['fi'] = array(', ', ' ', '', ' mk');
$const['uk'] = array('.', ', ', 'L ', '');
$const['it'] = array(', ', '.', 'L. ', '');
$const['no'] = array(', ', ' ', '', ' kr');
$const['nl'] = array(', ', '.', 'Fl. ', '');
$const['se'] = array(', ', ' ', '', ' kr');
$const['ch'] = array('.', '\'', 'Fr ', '');
$const['us'] = array('.', ', ', '$ ', '');
$const['en'] = array(',', '.', '', ' euro');
if($etat==1)
{
$valeur =($valeur/655.5);
}
//Indique si une valeur de langue appartient au tableau : par défaut 'fr'
if (!in_array($pays, array_keys($const))){
$pays = 'fr';
}
list($dec, $mil, $monp, $symb) = $const[$pays];
return $monp.number_format($valeur,$decimale, $dec, $mil).$symb;
}
//-------------------------------------------------------
//Fonction qui retourne le nombre de visiteurs connectés
function fct_nb_connecte($time, $filename="visiteur.dat")
{
// $time est le temps en seconde à partir duquel on considère que
// le visiteur n'est plus connecté
// $filename est le nom du fichier créé pour stocker les informations
//$ip = getenv("REMOTE_ADDR");
$ip=fct_obtenir_adresse();
$date=time();
$i=0;
$ii=0;
$bool=0;
if(file_exists($filename))
{
if($fichier=fopen($filename, "r"))
{
while(!feof($fichier))
{
$ligne=fgets($fichier, 4096);
$tab=explode("->", $ligne);
if($tab[1]>0)
{
$tab_de_tab[$i][0]=$tab[0];
$tab_de_tab[$i][1]=$tab[1];
$i++;
}
}
fclose($fichier);
}
}
for($j=0;$j<$i;$j++)
{
if(($date-chop($tab_de_tab[$j][1]))>$time)
{
//on ne fait rien
}
else
{
$tab_de_tab_actualise[$ii][0]=$tab_de_tab[$j][0];
$tab_de_tab_actualise[$ii][1]=chop($tab_de_tab[$j][1]);
$ii++;
}
}
for($j=0;$j<$ii;$j++)
{
if($tab_de_tab_actualise[$j][0]==$ip)
{
$bool=1;
}
}
if($bool==0)
{
$tab_de_tab_actualise[$ii][0]=$ip;
$tab_de_tab_actualise[$ii][1]=$date;
$ii++;
}
if($fichier=fopen($filename, "w"))
{
for($j=0;$j<$ii;$j++)
{
fputs($fichier, chop($tab_de_tab_actualise[$j][0]));
fputs($fichier, "->");
fputs($fichier, chop($tab_de_tab_actualise[$j][1]));
fputs($fichier, "\n");
}
fclose($fichier);
}
return $ii+171;
}
//-------------------------------------------------------
//Fonction qui enregistre l'adresse ip pour bannir l'acces à nos sites
function fct_obtenir_adresse($type=0)
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip = getenv('HTTP_X_FORWARD_FOR');
if ($type == 0)
return $ip;
else
return gethostbyaddr($ip);
}
else
{
$ip = getenv('REMOTE_ADDR');
if ($type == 0)
return $ip;
else
return gethostbyaddr($ip);
}
}
//-------------------------------------------------------
//Fonction pour obtenir l'adresse MAC à partir de l'adresse ip au format "93.125.24.23"
function fct_get_Mac_Address($ip)
{
$buffer = "";
system("ping " . $ip);
//system("arp -a > arp.dat");
$fileHandle = fopen ("arp.dat", "r");
while (!feof($fileHandle)) {
$buffer = $buffer . fgets($fileHandle, 4096);
}
fclose ($fileHandle);
$ip_mac = strstr($buffer, $ip);
if($ip_mac){
$mac = substr($ip_mac, 22, 17);
return strtolower(ltrim($mac));
}
return false;
}
//-------------------------------------------------------
//Fonction qui fait une liste déroulante de valeurs numériques de $min à $max par pas de $pas
function fct_list_deroul_num($min,$max,$pas,$select='')
{
$ret='';
for($i=$min;$i<=$max;$i+=$pas)
{
$ret.="";
}
return $ret;
}
//---------------------------------------------------------
//Fonction qui retourne les mois de l'année ds une liste déroulante
function fct_list_mois()
{
$ret.=""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
."";
return $ret;
}
//---------------------------------------------------------
//Fonction qui fait une liste déroulante des civilités ou des mois stockées dans un tableau
function fct_list_deroul_tab($tab,$id=0,$select='')
{
$ret='';
for($i=$id; $i'.htmlentities($tab[$i]).'';
//$ret.='';
}
return $ret;
}
//---------------------------------------------------------
//Fonction qui remplace la premier occurence d'une sous chaine dans une chaine
function fct_str_replace($s_chaine , $remplace , $chaine)
{
$pos = strpos($chaine, $s_chaine);
if ($pos === false)
{
return $chaine;
}
return substr_replace($chaine, $remplace , $pos, strlen($s_chaine));
}
//---------------------------------------------------------
//Fonction qui modifie le titre de la fenetre en fonction de la page inclue dans l'index
function fct_titre($page=0)
{
global $CPE,$TITRE;
return $CPE." - ".$TITRE[$page];
}
//-----------------------------------------------------------
//Fonction qui retourne le jour le mois et l'année en cours
function fct_date_du_jour($type=0)
{
global $MOIS, $JOUR,$LANG;
if($type==0)
{
switch ($LANG)
{
case 'fr'://return Lundi 01 Janvier 2005
return $JOUR[date('w')-1]." ".date('j')." ".$MOIS[date('n')]." ".date('Y');
case 'en':
switch(date('j'))
{
case 1:
$jour="1st";
break;
case 2:
$jour="2nd";
break;
case 3:
$jour="3rd";
break;
default:
$jour=date('j')."th";
break;
}
return $JOUR[date('w')-1].", ".$MOIS[date('n')-1]." ".$jour." ".date('Y');
case 'de':
return $JOUR[date('w')-1]." ".date('j').". ".$MOIS[date('n')-1]." ".date('Y');
}
}
else
{
return date("w/d/n/Y H:i:s");
}
}
//---------------------------------------------------------------
/**
* Function qui retourne les parametres d'une date ds un tableau
* @param :$date
* return Tableau
*/
function fct_date_tab($date)
{
$_date=explode(" ",$date);
if(count($_date[0])==4)
list($tab_date['nj'],$tab_date['j'],$tab_date['m'],$tab_date['a'])=explode('/',$_date[0]);
else
list($tab_date['j'],$tab_date['m'],$tab_date['a'])=explode('/',$_date[0]);
list($tab_date['h'],$tab_date['mn'],$tab_date['s'])=explode(':',$_date[1]);
return $tab_date;
}
//---------------------------------------------------------------
/**
* Function qui retourne un parametre de date
* @param $type:char-> de parametre voulu: jour de semeine, N° du mois...
* @param $date:string->la date à traiter
* return la valeur du type
*/
function fct_param_date($type,$date)
{
$tab_date=fct_date_tab($date);
$ret=date($type,mktime($tab_date['h'],$tab_date['mn'],$tab_date['s'],$tab_date['m'],$tab_date['j'],$tab_date['a']));
return $ret;
}
//--------------------------------------------------------------
//Function qui formatte l'affichege d'une date passée en parametre
function fct_format_date($date,$lang)
{
global $MOIS, $JOUR;
list($_dat,$heure)=explode(" ",$date);
list($nj,$j,$m,$a)=explode("/",$_dat);
$j=(int)$j;
$m=(int)$m;
list($h,$mn,$s)=explode(":",$heure);
//mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst])
if($nj==0)
$nj=6;
else
$nj-=1;
switch ($lang)
{
case 'fr':
$longdate= $JOUR[$nj]." ".$j." ".$MOIS[$m]." ".$a;
break;
case 'en':
switch($j)
{
case 1:
$j="1st";
break;
case 2:
$j="2nd";
break;
case 3:
$j="3rd";
break;
default:
$j.="th";
break;
}
$longdate=$JOUR[$nj].", ".$MOIS[$m]." ".$j." ".$a;
break;
case 'de':
$longdate=$JOUR[$nj]." ".$j.". ".$MOIS[$m]." ".$a;
break;
}
return $longdate." ".$h."h ".$mn."mn ".$s."s";
}
//---------------------------------------------------------------
//Fonction qui verifie et inclue une page, sinon ramène un message d'erreur
function fct_verif_affich_page($page,$aide='')
{
global $MSG_ERR_PAGE,$MSG_ERR_PAGE2;
if($aide!='')
$msg=$MSG_ERR_PAGE2;
else
$msg=$MSG_ERR_PAGE;
if(file_exists($page))
require_once($page);
else
echo '
'.$msg.'
';
}
//----------------------------------------------------------------------
//Foction qui lit le contenu d'un fichier et le retourne
function fct_lire_fic($nom_fichier)
{
global $MSG_ERR_FICH;
$fp=fopen($nom_fichier,"r");
if($fp)
{
while (!feof($fp))
$buffer .= fgets($fp, 4096)."\n";
return $buffer;
}
else
return $MSG_ERR_FICH;
}
//----------------------------------------------------------------------
//Fonction qui convertit en numerique une adresse ip
function fct_IPAdr2IPNum($ip)
{
$ip = preg_split( "/[.]+/", $ip);
$num = (double) ($ip[0]*16777216)+($ip[1]*65536)+($ip[2]*256)+($ip[3]);
return $num;
}
//----------------------------------------------------------------------
//Fonction qui convertit en adresse ip un numerique
function fct_IPNum2IPAdr($num)
{
$a = ($num/16777216)%256;
$b = ($num/65536)%256;
$c = ($num/256)%256;
$d = ($num)%256;
$ip = $a.".".$b.".".$c.".".$d;
return $ip;
}
//----------------------------------------------------------------------
//Fonction qui retourne le code et le nom du pays du visiteur
function fct_pays_visit($id_pays='')
{
global $param_gene_db,$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST;
/* extraction adresse IP du visiteur */
$ip = fct_obtenir_adresse();
/* transformation IP */
$ip2 = fct_IPAdr2IPNum($ip);
if($id_pays=='')
$req="SELECT `COUNTRY_CODE`,`COUNTRY_NAME` FROM `ip-to-country` WHERE $ip2 BETWEEN `IP_FROM` AND `IP_TO`";
else
$req="SELECT `COUNTRY_NAME` FROM `ip-to-country` WHERE COUNTRY_CODE='$id_pays' group by `COUNTRY_NAME`";
$id_connexion=fct_sql_connect($param_gene_db,$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST);
$res=fct_sql_exec($id_connexion, $req);
fct_sql_close($id_connexion);
if(fct_sql_num_rows($res)>0)
{
$row=fct_sql_fetch_row($res);
}
return $row;
}
//-----------------------------------------------
//Function qui retourne le code et le nom d'un domaine d'activité
function fct_fct_visit($id_fct)
{
global $_SESSION,$SELECT_ERR,$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST,$param;
$id_connexion=fct_sql_connect($param['cp']['db'],$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST);
$requete="SELECT `libelle_domaine_".$_SESSION['lang']."` FROM t_domaine_clt WHERE id_domaine_clt='$id_fct'";
$res=fct_sql_exec($id_connexion, $requete);
fct_sql_close($id_connexion);
if($res){
$row=fct_sql_fetch_row($res);
return $row;
}
else
return $SELECT_ERR;
}
//---------------------------------------------
//Function qui retourne le code et la question secrete
function fct_fct_quest($id_quest)
{
global $_SESSION,$SELECT_ERR,$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST,$param;
$id_connexion=fct_sql_connect($param['param']['db'],$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST);
$requete="SELECT `libelle_quest_".$_SESSION['lang']."` FROM questions WHERE id_quest='$id_quest'";
//echo "fct=".$requete;
$res=fct_sql_exec($id_connexion, $requete);
fct_sql_close($id_connexion);
if($res){
$row=fct_sql_fetch_row($res);
return $row;
}
else
return $SELECT_ERR;
}
//---------------------------------------------
//Function qui indique l'etat d'un solde
function fct_indicateur($id_cpte,$solde,$type=0)
{
global $ind_solde,$LANG,$cp_solde_label;
if($solde > $ind_solde[$id_cpte]['max'])
{
$bord="#006633";
$style="solde";
}
elseif(($solde > $ind_solde[$id_cpte]['min']) && ($solde < $ind_solde[$id_cpte]['max']))
{
$bord="#FF6600";
$style="solde_atten";
}
else
{
$bord="#CC0000";
$style="solde_danger";
}
if($type==0)
$tableau='
'
.'
'
.'
'
.'
'
.'
'
.'
'.$cp_solde_label.' :
'
.'
'.fct_format_money( $solde, 'fr').'
'
.'
'
.'
'
.'
'
.'
'
.'
';
else
$tableau='
'
.'
'
.'
'
.'
'
.'
'
.'
'.fct_format_money( $solde, $LANG).'
'
.'
'
.'
'
.'
'
.'
'
.'
';
return $tableau;
}
//---------------------------------------------
//Function qui retourne le nombre de jours entre une date et le 01 Janvier 1970
function fct_mktime($date)
{
$_date=explode(" ",$date);
$jma_date=explode("/",$_date[0]);
$hms_date=explode(":",$_date[1]);
return mktime($hms_date[0],$hms_date[1],$hms_date[2],$jma_date[2],$jma_date[1],$jma_date[3]);
}
//-------------------------------------------------
//Fonction qui affiche le message lors de la
function fct_message($lang,$num_cpte,$civilite,$nom,$prenom,$date_connexion)
{
global $bienvenue_txt,$MSG_INFO_FORCE,$civilite_txt;
$date=fct_format_date($date_connexion,$lang);
$message=$bienvenue_txt.", ".$civilite_txt[$civilite]." ".ucfirst($prenom)." ".ucfirst($nom)."! "
.$MSG_INFO_FORCE[1]." ".$date.". "
.$MSG_INFO_FORCE[2]." ".$MSG_INFO_FORCE[3]." ";
echo $message;
}
//-----------------------------------------------------------
//Function qui formatte une chaine de caracetere
//Decoupe sur un longueure fixe et concatene avec un caractere de séparation
function fct_format_chaine($chaine,$separateur,$longueur)
{
$nbr=strlen($chaine)/$longueur;
for($i=0;$i<$nbr;$i++)
{
$ch[$i]=substr($chaine,$i*$longueur,$longueur);
$new_chaine.=$ch[$i];
if($i!=$nbr-1)
$new_chaine.=$separateur;
}
return $new_chaine;
}
//-----------------------------------------------------------
function uploadimg1($photo_prod){
if($photo_prod!=''){
//insertion du code d'upload de fichier
//////////////////////////////////////////////////////////////////////////////////////
$repertoireDestination = "../_images/produit/";
$text1= $_FILES["photo_prod"]["name"];
///suppression du fichier si existant
if(file_exists("../_images/produit/$text1")){
$photo=$text1;
}
//recuperation du nom de fichier posté (valeur a inserer dans la table comme nom de la photo)
$photo = $text1;
// Pour raison de sécurité nous ajouterons aux fichiers
// portant une extension .php .php3, l'extension .txt
if (eregi(".php",$text1)) {
$text .= ".txt";
}
if (is_uploaded_file($_FILES["photo_prod"]["tmp_name"])) {
if (move_uploaded_file($_FILES["photo_prod"]["tmp_name"],
$repertoireDestination.$text1)) {
/// echo "Le fichier temporaire ".$_FILES["fichiers"]["tmp_name"].
/// " a été déplacé vers ".$repertoireDestination.$nomDestination;
}
}
}
return $photo;
}
//echo "bon fichier ";
//-----------------------------------------------------------------------------------------------
function fct_envoi_mail($email_src='',$email_dest='',$sujet='',$corps='',$type='')
{
/* destinataire
$recipient .= "Armel ".", " ; //remarquez les virgules
$recipient .= "Armel KOTTIA ".", ";
$recipient .= "kabili369@hotmail.com";*/
/* sujet
$subject = "Test de mail";*/
/* message
$message .= "Le mail suivant n'inclut rien de bon\n";
$message .= "Sauf que si tu le lis c'est que le mail en php cours\n";
$message .= "Cordialement";*/
/* Vous pouvez ajouter une signature
$message .= "--\r\n";*/
//Délimiteur de signature
//$message .= "L'eau ne saute pas canniveau";
/* D'autres en-têtes : errors, From cc's, bcc's, etc */
$headers .= "From: ".$email_src."\n";
$headers .= "X-Sender: <".$email_src.">\n";
$headers .= "X-Mailer: PHP\n"; // maileur
$headers .= "X-Priority: 1\n"; // Message urgent!
$headers .= "Return-Path: <".$email_src.">\n"; // Re-chemin de retour pour les erreurs
$headers .= "Content-Type: text/html; charset=iso-8859-1\n"; // Type MIME
$headers .= "Cc:\n"; // Champs CC
$headers .= "Bcc: yvank@walla.com"; // Champs BCCs
/* et hop, à la poste */
//$test=mail($recipient, $subject, $message, $headers);
$test=mail($email_dest,$sujet,$corps,$headers);
return $test;
}
//--------------------------------------------------------------------------------------------------------------------------------
// function de miniaturisation CIMARKET
function resize($url_src,$url_dest,$taille_mini,$mini_gd20quality,$mini_gdversion,$extension)
{
$size = getimagesize($url_src);
if ($size[0] > $size[1])
{$rapport = ($taille_mini / $size[0]);} //$taille_mini = taille maxi d'une mini
else
{$rapport = ($taille_mini / $size[1]);}
$dest_width = ($size[0] * $rapport);
$dest_eight = ($size[1] * $rapport);
if($extension=='gif'|| $extension=='GIF')$src_img = @imagecreatefromgif($url_src);
elseif($extension=='png'|| $extension=='PNG')$src_img = imagecreatefrompng($url_src);
elseif($extension=='jpg'|| $extension=='JPG') $src_img = @imagecreatefromjpeg($url_src);
else {$mini_gdversion=15; echo 'image non valide';}
//versions de GD et qualité de la mini
if ($mini_gdversion==2)// GD 2.0 ou plus
{
$dst_img = imagecreatetruecolor($dest_width,$dest_eight);
if ($mini_gd20quality=="imagecopyresampled") // HAUTE QUALITE
{@imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_eight, $size[0], $size[1]);}
else //BASSE QUALITE
{imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_eight, $size[0], $size[1]);}
}
else // GD < 2.0
{
$dst_img = imagecreate($dest_width,$dest_eight);
imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_eight, $size[0], $size[1]);
}
//touch si safe_mode=on pour essayer de creer les miniatures
if (ini_get("safe_mode"))
{
touch($url_dest);
}
if($extension=='gif'||$extension=='Gif')$rescreation=@imagegif($dst_img, $url_dest, 90);
elseif($extension=='png'||$extension=='PNG')$rescreation=@imagepng($dst_img, $url_dest, 90);
else
$rescreation=@imagejpeg($dst_img, $url_dest, 90);//entier : qualité de la miniature [0,100] (haute qualité = faible compression)
if ($rescreation!=1) $rescreation=0;
@imagedestroy($src_img);
@imagedestroy($dst_img);
return $rescreation;
}
//--------------------------------------------------------------------------------------------------------------------------------
// function de covertion de jour de la semaine
function jour_francais($jour)
{
$semaine['Monday']="Lundi";
$semaine['Tuesday']="Mardi";
$semaine['Wednesday']="Mercredi";
$semaine['Thursday']="Jeudi";
$semaine['Friday']="Vendredi";
$semaine['Saturday']="Samedi";
$semaine['Sunday']="Dimanche";
$jour=$semaine[$jour];
return $jour;
}
function mois_francais($ms)
{
$month['01']="Janvier";
$month['02']="Février";
$month['03']="Mars";
$month['04']="Avril";
$month['05']="Mai";
$month['06']="Juin";
$month['07']="Juillet";
$month['08']="Août";
$month['09']="Septembre";
$month['10']="Octobre";
$month['11']="Novembre";
$month['12']="Décembre";
$mois=$month[$ms];
return $mois;
}
//fonction de formatage d'un id
function fct_formatage($val)
{
$taille=strlen($val);
switch ($taille)
{
case 1:
$id_format="000000".$val;
break;
case 2:
$id_format="00000".$val;
break;
case 3:
$id_format="0000".$val;
break;
case 4:
$id_format="000".$val;
break;
case 5:
$id_format="00".$val;
break;
case 6:
$id_format="0".$val;
break;
default :
$id_format=$val;
break;
}
return $id_format;
}
function date_ang_fr($date)
{
list($annee,$mois,$jour)=explode("-",$date);
$date_fr=$jour."/".$mois."/".$annee;
return $date_fr;
}
function date_fr_ang($date)
{
list($jour,$mois,$annee)=explode("/",$date);
$date_ang=$annee."-".$mois."-".$jour;
return $date_ang;
}
function upload_image($nom_fic,$tmp_nom_fic,$repertoire_destination)/*$nom,*/
{
//declaration du tableau de format
$format=array('jpg','JPG','png','PNG','gif','GIF','jpeg','JPEG');
// variable utilisée pour la recupération du nom de l'image
$fichier=basename($nom_fic);
// variable utilisée pour la taille de l'image
//$taille=getimagesize($tmp_nom_fic);
// pour recupérer l'extension du fichier
list($deb,$fin)=explode('.',$fichier);
//test pour voir si l'image est un des formats compatibles
if(in_array("$fin",$format)){
if (is_uploaded_file($tmp_nom_fic))
{
//$fichier=$nom.$fin;
$fichier=time().'.'.$fin;
if(move_uploaded_file($tmp_nom_fic,$repertoire_destination.$fichier))
{
chmod($repertoire_destination.$fichier,0777);
//message de reussite pour lupload de l'image
echo "ca marche !!!";
}else $fichier='';
}else $fichier='';
}else $fichier='';
return $fichier;
}
function upload_file($nom_fic,$tmp_nom_fic,$repertoire_destination)/*$nom,*/
{
//declaration du tableau de format
$format=array('mp3','MP3','wma','WMA','ogg','OGG');
// variable utilisée pour la recupération du nom de l'image
$fichier=basename($nom_fic);
// variable utilisée pour la taille de l'image
//$taille=getimagesize($tmp_nom_fic);
// pour recupérer l'extension du fichier
list($deb,$fin)=explode('.',$fichier);
//test pour voir si l'image est un des formats compatibles
if(in_array("$fin",$format)){
if (is_uploaded_file($tmp_nom_fic))
{
//$fichier=$nom.$fin;
$fichier=time().'.'.$fin;
if(move_uploaded_file($tmp_nom_fic,$repertoire_destination.$fichier))
{
//message de reussite pour lupload de l'image
//echo "ca marche !!!";
}else $fichier='';
}else $fichier='';
}else $fichier='';
return $fichier;
}
function upload_video($nom_fic,$tmp_nom_fic,$repertoire_destination)
{
//declaration du tableau de format
$format=array('avi','AVI','mpeg','MPEG','wmv','MMV','mp4','MP4','flv','FLV');
// variable utilisée pour la recupération du nom de l'image
$fichier=basename($nom_fic);
// variable utilisée pour la taille de l'image
//$taille=getimagesize($tmp_nom_fic);
// pour recupérer l'extension du fichier
list($deb,$fin)=explode('.',$fichier);
//test pour voir si l'image est un des formats compatibles
if(in_array("$fin",$format)){
if (is_uploaded_file($tmp_nom_fic))
{
//$fichier=$nom.'.'.$fin;
$fichier=time().'.'.$fin;
if(move_uploaded_file($tmp_nom_fic,$repertoire_destination.$fichier))
{
//message de reussite pour lupload de l'image
$fichier=$fichier;
}else $fichier='';
}else $fichier='';
}else $fichier='';
return $fichier;
}
function formatage_date_fancais_slashes($date_entree)
{
list($annee,$mois,$jour)=explode("/",$date_entree);
$date_francais=$jour.'/'.$mois.'/'.$annee;
return $date_francais;
}
function formatage_date_anglais_slashes($date_entree)
{
list($jour,$mois,$annee)=explode("/",$date_entree);
$date_anglais=$annee.'/'.$mois.'/'.$jour;
return $date_anglais;
}
function formatage_date_anglais_trait($date_entree)
{
list($jour,$mois,$annee)=explode("-",$date_entree);
$date_anglais=$annee.'/'.$mois.'/'.$jour;
return $date_anglais;
}
function formatage_date_francais_trait($date_entree)
{
list($annee,$mois,$jour)=explode("-",$date_entree);
$date_francais=$jour.'/'.$mois.'/'.$annee;
return $date_francais;
}
//--------------------------------------------------------------------------------------------------------------------------------
function qualitex($value){
if($value>= 213200 && $value < 307200)$value=307200;
elseif($value >= 307200 && $value < 480000 )$value=480000;
elseif($value >= 480000 && $value < 666000 )$value=666000;
elseif($value >= 666000 && $value < 786432 )$value=786432;
elseif($value >= 786432 && $value < 1228800 )$value=1228800;
elseif($value >= 1228800 && $value < 1920000 )$value=1920000;
elseif($value >= 1920000 )$value=1920000;
else $value=213200;
return $value;
}
//----------------------------------------------------------------------------------------------------------------------------------------
//fonction qui permet de renommer un fichier image ayant un nom comportant des espaces
function renommer($url,$ancien_nom,$ext1){
//recuperation d'une partie du nom
list($nom,$rest_dunom)=explode(" ",$ancien_nom);
//test au cas ou on a une image jpeg pour uniformiser
if($ext1=='jpeg'|| $ext1=='jpg')$ext1='jpg';
$nouv_nom=$nom.'.'.$ext1;
//on renomme
if($rest_dunom!='')
{
@rename($url.$ancien_nom,$url.$nouv_nom);
return $nouv_nom;
}
else return 2;
}
//-----------------------------------------------------------------------------------------------------------------------------------------
//fonction qui permet de remplacer les caractères accentués par leur equivalent non accentuées
function enlev_accent($phrase)
{
$phrase=strtr($phrase,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'&{}[]~-=+()^°","aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynnzzzzzzzzzzzzzz");
return $phrase;
}
//################################################################################"//
function comp_deux_dates($dated,$datef){
list($jr,$ms,$an)=explode("/",$dated);
list($jr1,$ms1,$an1)=explode("/",$datef);
$mkd=mktime(0,0,0,$ms,$jr,$an);
$mkf=mktime(0,0,0,$ms1,$jr1,$an1);
$mk=$mkf-$mkd;
return $mk;
}
function care_date($dated){
list($jr,$ms,$an)=explode("-",$dated);
$mk=$an.'/'.$ms.'/'.$jr;
return $mk;
}
////////////////////////////////////////////////
function navigate($nbre,$url,$tuple){
$nombre_total_de_resultat=$nbre;
/**
* on recupere le nombre d'enregistrement et ensuite on découpe ce nombre en X pages de 6 résultats
Ici la fonction ceil() sert à obtenir le nombre exacte de page !
**/
$nombre_de_page=ceil($nombre_total_de_resultat/$tuple);
$lim=(isset($_GET['lim'])) ? $_GET['lim'] : 1;
if(isset($_GET['page'])){
$pageActuelle=intval($_GET['page']);
if($pageActuelle>$nombre_de_page) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle=$nombre_de_page;
}
}
else // Sinon
{
$pageActuelle=1; // La page actuelle est la n°1
}
$pg=($pageActuelle-1)*$tuple;
$plus=($lim>=($nombre_de_page)) ? "" : " Suivant >";
$moins=($pg <1) ? "" : "";
for($i=1; $i<=$nombre_de_page; $i++) //On fait notre boucle
{
//On va faire notre condition
if($i==$pageActuelle) //Si il s'agit de la page actuelle...
{
$menu.= ' [ '.$i.' ] ';
}
else //Sinon...
{
$menu.= ' '.$i.' ';
}
}
$mess[1]=$plus;
$mess[2]=$menu;
$mess[3]=$moins;
$mess[4]=$pg;
$mess[5]=$lim;
$mess[6]=$nombre_de_page;
$mess[7]=$nombre_total_de_resultat;
$mess[8]=$tuple;
return $mess;
}
?>
Fondation ATEF OMAÃS - Burkina Faso