/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ is_date !!!!
*/
function NotNull($var){
return !is_date($var);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ class_lower !!!!
*/
function get_class_lower($obj){
return class_lower($obj);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ date_is_null !!!!
*/
function TestDate($date){
return is_date($date);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ string_encode_csv !!!!
*/
function EncodeCsv(&$item1){
string_encode_csv(&$item1);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ string_decode_bbcode !!!!
*/
function TranslateBBcode($texte){
return string_decode_bbcode($texte);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ array_merge_default !!!!
*/
function array_default_values($tab_ori,$tab_defaut){
return array_merge_default($tab_ori,$tab_defaut);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ string_reduc !!!!
*/
function reduc($texte,$taille,$tags = '...')
{
return string_reduc($texte,$taille,$tags = '...');
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ string_sans_accent !!!!
*/
function SuppAccents($chaine){
return string_sans_accent($chaine);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ file_texte_create !!!!
*/
function createFile($folder,$fileName,$text)
{
return file_texte_create($folder,$fileName,$text);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ date_format_lib(!!!!
*
*/
function chgDate($date,$option = '',$lang = 'fr')
{
return date_format_lib($date,$option,$lang);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ file_upload !!!!
*
*/
function upload($folder,$fichier,$nom=false,$extension="png")
{
return file_upload($folder,$fichier,$nom);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ string_password_lisible !!!!
*
*/
function passeLisible($length = 5)
{
return string_password_lisible($length);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ array_to_get !!!!
*
*/
function http_reconstruct_query($g,$exclu=array()){
return array_to_get($g,$exclu);
}
/**
* @desc DEPRECIEE
*
* !!!! UTILISEZ hr !!!!
*
*/
function Separateur(){
return hr();
}
?>
/**
* @return booleen
* @param $file => fichier
* @desc Permet de tester si le fichier possede une extension
**/
function file_has_extension($file)
{
return eregi('.*\.[a-z]*$',$file);
}
/**
* @return string extension du fichier
* @param $file => fichier
* @desc Recupere l'extension d'un fichier
**/
function file_get_extension($file)
{
$parts = pathinfo($file);
if (isset($parts['extension'])) {
return ($parts['extension']);
}
return (false);
}
/**
* @return booleen : Transfert ok ou Array liste erreur
* @param array $folder : Chemin d'accès au fichier
* @param array $fichier : Fichier à uploader $_FILES['nom_champ']
* @param array $nom : Nom du fichier final avec extension ! (facultatif : nom du fichier uploadé)
* @param array $only_accept_extens : Defini les extensions autorisés (facultatif : nom du fichier uploadé)
* @desc Telecharge un fichier sur le serveur => Necessite la bibliotheque "string";
**/
function file_upload($folder,$fichier,$nom=false,$only_accept_extens=array())
{
$Erreur = array();
/* dossier sera déplacé par defaut à la racine */
if(string_is_null($folder)){ $folder = ""; }
///nom du fichier
$tmp_file = $fichier['tmp_name'];
//test si fichier bien uploadé
if(!is_uploaded_file($tmp_file) ) {$Erreur[] = "Le fichier ".$tmp_file." est introuvable"; }
// on vérifie maintenant l'extension
$type_file = $fichier['type'];
// on copie le fichier dans le dossier de destination
$name_file = filename_convert($fichier['name']);
if(!$nom) $nom=$name_file;
if(!move_uploaded_file($tmp_file, $folder.$nom))
{
$Erreur[] = "Impossible de copier le fichier ".$name_file." dans ".$folder."";
}
@chmod($folder.$nom,0777);
return sizeof($Erreur)>0?$Erreur:true;
}
///////////////
//POUR INFO
/*
"application/x-gzip-compressed" => ".tar.gz, .tgz", "application/x-zip-compressed" => ".zip",
"application/x-tar" => ".tar", "text/plain" => ".txt, .inc",
"text/html" => ".html, .htm, .php", "image/bmp" => ".bmp, .ico",
"image/gif" => ".gif", "image/pjpeg" => ".jpg, .jpeg",
"image/jpeg" => ".jpg, .jpeg", "application/notepad"
"application/x-shockwave-flash" => ".swf", "application/msword" => ".doc, .rtf",
"application/vnd.ms-excel" => ".xls", "application/octet-stream" => ".exe, .fla",
"application/pdf" => ".pdf", "application/vnd.ms-powerpoint" => ".ppt"
//*/
/**
* @return booleen
* @param string folder : Chemin ou l'on doit créer le fichier
* @param string fileName : Nom du fichier final
* @param string text : Texte à insérer
* @param string ChMod : Droit du fichier (défaut : tous les droits)
* @desc Crée un fichier fileName dans folder avec text à l'intérieur (Créera le répertoire si n'existe pas)
**/
function file_texte_create($folder,$fileName,$text,$ChMod = "0777"){
$text = stripslashes($text);
if(!is_dir($folder)){
if(folder_create($folder)){
return false;
}
}
$fp = fopen($folder.$fileName,"w+");
fputs($fp,$text);
fclose($fp);
chmod($folder.$fileName,$ChMod);
}
/**
* @return booleen
* @param string folder : Chemin ou l'on doit créer le fichier
* @param string ChMod : Droit du dossier (défaut : tous les droits)
* @desc Crée un dossier folder
**/
function folder_create($folder,$ChMod = "0777"){
return mkdir($folder,$ChMod);
}
function filename_convert($fileName){
##Enleve les espaces
$fileName = trim($fileName);
##ENLEVE Tous les caractères a la con
$fileName = strtr($fileName, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fileName = preg_replace('/([^.a-z0-9]+)/i', '_', $fileName);
return $fileName;
}
function file_size($file){
$taille = filesize($file)/1000;
$unite = "Ko";
if($taille>1000){
$taille/=1000;
$unite = "Mo";
}
return number_format($taille,1,",","")." ".$unite;
}
?>
/**
* @return tableau complete avec les valeurs par defaut
* @param array $tab_ori : tableau d'origine
* @param array $tab_defaut : tableau par defaut
* @desc Ajoute les valeurs non définies de $tab_ori par celle de $tab_defaut Necessite la bibliotheque "var"
**/
function array_merge_default($tab_ori = array(),$tab_defaut = array())
{
foreach($tab_defaut as $k=>$v){
if(!isset($tab_ori[$k]) || $tab_ori[$k]=="") $tab_ori[$k] = $tab_defaut[$k];
}
return $tab_ori;
}
/**
* @return array
* @param array 1 : Tableau à traiter
* @param array autre : Tableau(x)
* @desc Permet de supprimer les cles du tableau 1 avec les valeurs des autres tableaux
**/
function array_intersect_assoc_value() {
$args = func_get_args();
$res = $args[0];
for ($i=1;$i $data) {
if ( in_array($key, $args[$i]) ) {
unset($res[$key]);
}
}
}
return $res;
}
/**
* @return string
* @param array $g
* @param array $exclu tableau exclusion de clé
* @desc String pouvant etre utilisé en get
**/
function array_to_get($g,$exclu=array())
{
$a = array();
foreach ($g as $k => $v)
{
if(!in_array($k,$exclu)) $a[] = $k .'='. $v;
}
return join('&',$a);
}
/**
* Retourne la somme d'un tableau multidimensionnel
*
* @param array $tab
* @param float $Somme
* @return float $Somme
*/
function array_dim_sum($tab = array(),$Somme = 0){
foreach($tab as $k=>$v){
if(is_array($v)) $Somme = array_dim_sum($v,$Somme);
else $Somme+=$v;
}
return $Somme;
}
/**
* Retourne le maximum et le minimum des valeurs d'un tableau multidimensionnels
*
* @param array $tab
* @param bool $new
* @return array ('min','max')
*/
function array_dim_extreme($tab = array(),$new = true){
static $Min=0;
static $Max=0;
if($new){
$Min=0;
$Max=0;
}
foreach($tab as $k=>$v){
if(is_array($v)) array_dim_extreme($v,false);
else{
if($v>$Max) $Max = $v;
if($v<$Min) $Min = $v;
}
}
return array('min'=>$Min,'max'=>$Max);
}
?>
/**
* @return booleen
* @param $Obj : Objet pour le cache Necessite la presence de la methode GetId() renvoyant l'identifiant de l'objet
* @param $type : Type de traitement de cache a effectuer ("save","load","test")
* @desc Traitement du cache par fichier
**/
function CacheFile(&$Obj,$type = "load"){
$VarCache = strtoupper(get_class($Obj));
switch($type){
case "save":
$temp = array();
foreach($Obj as $k=>$v){
$temp[$k] = $v;
}
$GLOBALS[$VarCache][$Obj->GetId()] = $temp;
return true;
break;
case "test":
if(isset($GLOBALS[$VarCache][$Obj->GetId()])){
return true;
}else{
return false;
}
break;
case "load":
if(!CacheFile($Obj,"test")){
return false;
}
// echobr("Chargement");
foreach($GLOBALS[$VarCache][$Obj->GetId()] as $k=>$v){
$k = "Set".ucfirst($k);
// echobr($k);
$Obj->{$k}($v);
// echobr("-".$k);
}
return true;
break;
case "show":
break;
}
}
/**
* @return booleen
* @param $Obj : Objet pour le cache Necessite la presence de la methode GetId() renvoyant l'identifiant de l'objet
* @param $type : Type de traitement de cache a effectuer ("save","load","test")
* @desc Traitement du cache memoire
**/
function Cache(&$Obj,$type = "load"){
static $CacheTab;
switch($type){
case "save":
$temp = array();
foreach($Obj as $k=>$v){
$temp[$k] = $v;
}
$CacheTab[get_class($Obj)][$Obj->GetId()] = $temp;
return true;
break;
case "test":
if(isset($CacheTab[get_class($Obj)][$Obj->GetId()])){
return true;
}else{
return false;
}
break;
case "load":
if(!Cache($Obj,"test")){
echo "Inconnu
";
return false;
}
foreach($CacheTab[get_class($Obj)][$Obj->GetId()] as $k=>$v){
$k = ucfirst($k);
$Obj->{$k}=$v;
}
return true;
break;
case "show":
break;
}
}
?>
/**
* @return booleen
* @param $email : teste la valide d'un email
* @desc Verifie que la date est definie
**/
function string_email_valide($email) {
$valid_address = true;
$mail_pat = '^(.+)@(.+)$';
$valid_chars = "[^] \(\)<>@,;:\.\\\"\[]";
$atom = "$valid_chars+";
$quoted_user='(\"[^\"]*\")';
$word = "($atom|$quoted_user)";
$user_pat = "^$word(\.$word)*$";
$ip_domain_pat='^\[([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\]$';
$domain_pat = "^$atom(\.$atom)*$";
if (eregi($mail_pat, $email, $components)) {
$user = $components[1];
$domain = $components[2];
// validate user
if (eregi($user_pat, $user)) {
// validate domain
if (eregi($ip_domain_pat, $domain, $ip_components)) {
// this is an IP address
for ($i=1;$i<=4;$i++) {
if ($ip_components[$i] > 255) {
$valid_address = false;
break;
}
}
}
else {
// Domain is a name, not an IP
if (eregi($domain_pat, $domain)) {
/* domain name seems valid, but now make sure that it ends in a valid TLD or ccTLD
and that there's a hostname preceding the domain or country. */
$domain_components = explode(".", $domain);
// Make sure there's a host name preceding the domain.
if (sizeof($domain_components) < 2) {
$valid_address = false;
} else {
$top_level_domain = strtolower($domain_components[sizeof($domain_components)-1]);
// Allow all 2-letter TLDs (ccTLDs)
if (eregi('^[a-z][a-z]$', $top_level_domain) != 1) {
$tld_pattern = '';
// Get authorized TLDs from text file
$tlds = file( 'tld.txt');
while (list(,$line) = each($tlds)) {
// Get rid of comments
$words = explode('#', $line);
$tld = trim($words[0]);
// TLDs should be 3 letters or more
if (eregi('^[a-z]{3,}$', $tld) == 1) {
$tld_pattern .= '^' . $tld . '$|';
}
}
// Remove last '|'
$tld_pattern = substr($tld_pattern, 0, -1);
if (eregi("$tld_pattern", $top_level_domain) == 0) {
$valid_address = false;
}
}
}
}
else {
$valid_address = false;
}
}
}
else {
$valid_address = false;
}
}
else {
$valid_address = false;
}
if ($valid_address && ENTRY_EMAIL_ADDRESS_CHECK == 'true') {
if (!checkdnsrr($domain, "MX") && !checkdnsrr($domain, "A")) {
$valid_address = false;
}
}
return $valid_address;
}
/**
* @return booleen
* @param $var : variable à tester
* @desc Verifie que la variable est definie
**/
function string_is_null($var)
{
return in_array($var,array("",null,undefined));
}
/**
* @return texte reduit
* @param $texte : texte à tronquer
* @param $taille : taille max
* @param $tags : chiande caractère a ajouter à la fin si tronqué (facultatif);
* @desc Réduit une chaine de caractères
**/
function string_reduc($texte,$taille,$tags = '...')
{
$texteSize = strlen($texte);
$texte=substr($texte,0,$taille);
if ($texteSize<=$taille)
{
return $texte;
}elseif ($texteSize>$taille){
return $texte."".$tags;
}
}
/**
* @return Rien
* @param Tableau à traiter
* @desc Permet de traiter un tableau (A l'origine utilisé avec array_walk)
**/
function string_encode_csv(&$item){
$item1 = preg_replace("([\n\r])","
",$item1);
$item1 = str_replace(";",":",$item1);
}
/**
* @return Texte formaté HTML
* @param Tableau à traiter
* @desc Permet de traiter un tableau (A l'origine utilisé avec array_walk)
**/
function string_decode_bbcode($texte){
$texte=nl2br(StripSlashes($texte));
$array_replace= array( "gras" => "b",
"italique" => "i",
"souligné" => "u" );
foreach( $array_replace as $k=>$v){
$texte = str_replace("[".$k."]","<".$v.">",$texte);
$texte = str_replace("[/".$k."]","".$v.">",$texte);
}
$texte = preg_replace("#\[color=(\#[0-9A-F]{6}|[a-z\-]+)\](.*?)\[/color\]#si", "\\2", $texte);
$texte = preg_replace("#\[size=([\-\+]?[1-2]?[0-9])\](.*?)\[/size\]#si", "\\2", $texte);
return $texte;
}
/**
* @return Texte formaté HTML
* @param Tableau à traiter
* @desc Permet de traiter un tableau (A l'origine utilisé avec array_walk)
**/
function string_sans_accent($texte){
$tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
return(strtr($texte,$tofind,$replac));
}
/**
* @return Texte avec retour ligne
* @param Texte
* @desc Echo avec un
à la fin
**/
function echobr($txt = "test",$entities = true){
if(is_array($txt)){
print_r($txt);
}elseif($entities){
echo htmlentities($txt)."
";
}else{
echo $txt."
";
}
}
/**
* @return Texte affiché en bas de page
* @param Mixed
* @desc Affiche le texte en bas de page (supporte les print_r)
**/
function echo_r($tab,$level=1){
global $PRINT_R;
if(ereg("www.aressy.com",$_SERVER['SERVER_NAME']) || $_SERVER['SERVER_ADDR']=="195.68.9.130"){
define('DEBUG_PRINT_R',1);
}else{
define('DEBUG_PRINT_R',true);
}
$PRINT_R[] = print_r($tab,DEBUG_PRINT_R);
}
/**
* @return Password
* @param int length
* @desc Permet de générer un mot de passe a peu pres lisible
**/
function string_password_lisible($length=5){
$passe = "";
$consonnes = array("b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "z", "bl", "br", "cl", "cr", "ch", "dr", "fl", "fr", "gl", "gr", "pl", "pr", "qu", "sl", "sr");
$voyelles = array("a", "e", "i", "o", "u", "ae", "ai", "au", "eu", "ia", "io", "iu", "oa", "oi", "ou", "ua", "ue", "ui");
$nbrC = count($consonnes) - 1;
$nbrV = count($voyelles) - 1;
for ($i = 0; $i < $length; $i++)
{
$passe .= $consonnes[rand(0, $nbrC)] . $voyelles[rand(0, $nbrV)];
}
return substr($passe, 0, $length);
}
?>
/**
* @return booleen
* @param $var : variable à tester
* @desc Verifie que la variable est definie
**/
function var_not_null($var)
{
return !in_array($var,array(0,"",null,undefined));
}
/**
* Retourne un pourcentage
*
* @param float $val
* @param float $max
* @param int $round
* @return valeur en pourcentage
*/
function Pourcent($val,$max,$round = 2){
// echobr($val.' '.$max.''.$round);
return number_format((int)(($val*100/($max==0?1:$max))),$round,",","");
}
?>