Location: PHPKode > projects > ChemAzTech > chimiotheque/include/fonctions_divers.inc.php
<?php

/************************************************************************************************************************************

									FONCTIONS DE FORMATAGE
************************************************************************************************************************************/
							
							

/* Fonction pour formater la date.... 
En revanche, il est particulièrement complexe de vérifier si l'année est bien l'année et non le jour, sauf à le demander à l'utilisateur.
A part à vérifier que le chiffre est supérieur à l'année courante ou à comparer avec 31...
NB : on lui demande de la rentrer sous la forme AA/MM/JJ et non l'inverse...
*/
function format_date($date)
		{
		//preg_match("~[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9]~", $date)
		// -> format correct : AA/MM/JJ
		$taille_date = strlen(trim($date));
		if($taille_date == 10)
			{
			if(preg_match("~[0-9][0-9][0-9][0-9].[0-9][0-9].[0-9][0-9]~", $date))	
				{
				$mois = $date{5}.$date{6};
				if($mois <= 12)
					{
					$date = $date{2}.$date{3}."/".$date{5}.$date{6}."/".$date{8}.$date{9};
					}
				else
					{
					echo "<br />La date n'a pas un format correct (mois > '12' ??).... Impossible de la prendre en compte. La date doit &ecirc;tre au format AA/MM/JJ<br />";
					$date = "erreur_format";
					}
				}
			elseif(preg_match("~[0-9][0-9].[0-9][0-9].[0-9][0-9][0-9][0-9]~", $date))	
				{
				$mois = $date{3}.$date{4};
				if($mois <= 12)
					{
					$date = $date{8}.$date{9}."/".$date{3}.$date{4}."/".$date{0}.$date{1};
					}
				else
					{
					echo "<br />La date n'a pas un format correct (mois > '12' ??).... Impossible de la prendre en compte. La date doit &ecirc;tre au format AA/MM/JJ<br />";
					$date = "erreur_format";
					}
				}
			else
				{
				echo "<br />La date n'a pas un format correct.... Impossible de la prendre en compte. La date doit &ecirc;tre au format AA/MM/JJ<br />";
				$date = "erreur_format";
				}
			}
			
			
		elseif($taille_date == 8)
			{
			if(preg_match("~[0-9][0-9].[0-9][0-9].[0-9][0-9]~", $date))
				{
				$mois = $date{3}.$date{4};
				if($mois <= 12)
					{				
					$date = str_replace("-","/",$date);
					$date = str_replace("_","/",$date);
					$date = str_replace(".","/",$date);
					$date = str_replace(" ","/",$date);
					}
				else	
					{
					echo "<br />La date n'a pas un format correct (mois > '12' ??).... Impossible de la prendre en compte. La date doit &ecirc;tre au format AA/MM/JJ<br />";
					$date = "erreur_format";
					}					
				}	
			else
				{
				echo "<br />La date n'a pas un format correct.... Impossible de la prendre en compte. La date doit &ecirc;tre au format AA/MM/JJ<br />";
				$date = "erreur_format";
				}
			}
			
			
			
		elseif($taille_date == 6)
			{
			if(preg_match("~[0-9][0-9][0-9][0-9][0-9][0-9]~", $date))
				{
				$mois = $date{2}.$date{3};
				if($mois <= 12)
					{				
					$date = $date{0}.$date{1}."/".$date{2}.$date{3}."/".$date{4}.$date{5};
					}
				else	
					{
					echo "<br />La date n'a pas un format correct (mois > '12' ??).... Impossible de la prendre en compte. La date doit &ecirc;tre au format AA/MM/JJ<br />";
					$date = "erreur_format";
					}					
				}
			else
				{
				echo "<br />La date n'a pas un format correct.... Impossible de la prendre en compte. La date doit &ecirc;tre au format AA/MM/JJ<br />";
				$date = "erreur_format";
				}
			}
		else
			{
			echo "<br />La date n'a pas un format correct.... Impossible de la prendre en compte. La date doit &ecirc;tre au format AA/MM/JJ<br />";
			$date = "erreur_format";
			}

			
		
		return trim($date);
		}

		
/* Fonction de normalisation.... UTF8 pas d'accent, c'est plus simple... */
function stripAccents($string)
	{
	//$string = utf8_decode($string);
	$tab_car_spec = array('à','á','â','ã','ä', 'ç', 'è','é','ê','ë', 'ì','í','î','ï', 'ñ', 'ò','ó','ô','õ','ö', 'ù','ú','û','ü', 'ý','ÿ', 'À','Á','Â','Ã','Ä', 'Ç', 'È','É','Ê','Ë', 'Ì','Í','Î','Ï', 'Ñ', 'Ò','Ó','Ô','Õ','Ö', 'Ù','Ú','Û','Ü', 'Ý');
	$tab_car_norm = array('a','a','a','a','a', 'c', 'e','e','e','e', 'i','i','i','i', 'n', 'o','o','o','o','o', 'u','u','u','u', 'y','y', 'A','A','A','A','A', 'C', 'E','E','E','E', 'I','I','I','I', 'N', 'O','O','O','O','O', 'U','U','U','U', 'Y');
	$string = str_replace($tab_car_spec, $tab_car_norm, $string);
	return utf8_encode($string);
	} 
	

	
/********************************  Auto Resize  image *******************************/
function imgResize($width, $height, $target) {
if ($width > $height) {
$percentage = ($target / $width);
} else {
if($height != 0){$percentage = ($target / $height);}
}

$width = round($width * $percentage);
$height = round($height * $percentage);

return "width=\"$width\" height=\"$height\"";
}
/******************************************************************************/	
	
	
	
/************************************************************************************************************************************/
	
	
	
?>	
Return current item: ChemAzTech