AnonSec Team
Server IP : 10.111.40.2  /  Your IP : 216.73.217.145
Web Server : Apache
System : Linux webd002.cluster111.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : comimage ( 586)
PHP Version : 7.4.33
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0705) :  /home/comimage/referencements.comimage/../taxiplus22.fr/archives/classes/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/comimage/referencements.comimage/../taxiplus22.fr/archives/classes/class.photo.php
<?php
	class photo{
				
		/*************************************************************************************/
		//	Cette fonction permet le d'uploader plusieur fichier image
		// * @param form Id du formulaire n�cessaire pour g�rer l'upload
		// * @param dir	Nom du r�pertoire dans lequel on upload le fichier
		// * @param size Le poids maximum autoris� en octets, pas de limite si 0
		//	Elle retourne un tableau de status de chaque upload
		//	[0] si true le uplaoad est un succes sinon false
		//	[1] est le nom du fichier uploader renommer si succes sinon le nom fichier d'origine
		//	[2]	si echec upload contient le type d'erreur type, taille sinon l'id de la photo upload�
		/*************************************************************************************/ 
		public function uploadImage($form, $dir, $size=0) {
			foreach(array_keys($_FILES[$form]["name"]) as $key){
				
				//	verifie si chaque upload n'est pas vide
				if($_FILES[$form]["error"][$key]==4){
					$uploadCheck[] = array(false, $_FILES[$form]['name'][$key], "Pas d'upload", $key);
					continue;
				}
			
				//verifier l'extension du fichier
				$typeFichier = array('png', 'gif', 'jpg', 'jpeg');
				if(!in_array(strtolower(substr(strrchr($_FILES[$form]['name'][$key], '.'), 1)), $typeFichier)) {
					$uploadCheck[] = array(false, $_FILES[$form]['name'][$key], "erreur type", $key);
					continue;
				}
			
				//verifier la taille du fichier
				if($size > 0) {
					if(file_exists($_FILES[$form]['tmp_name'][$key]) && !empty($_FILES[$form]['tmp_name'][$key])){
						if(filesize($_FILES[$form]['tmp_name'][$key]) > $size)	{
							$uploadCheck[] = array(false, $_FILES[$form]['name'][$key], "erreur taille", $key);
							continue;
						}
					}else{
						$uploadCheck[] = array(false, $_FILES[$form]['name'][$key], "Erreur upload", $key);
						continue;
					} 
				}
			
				//nettoyer le nom de fichier et mettre le fichier temporaire sur son emplacement d�finitif
				$nomFichier= time() . '_' . $this->filterName($_FILES[$form]["name"][$key]);
				$fichier = $dir . '' . $nomFichier;
				move_uploaded_file($_FILES[$form]['tmp_name'][$key], $fichier);
				$uploadCheck[] = array(true, $nomFichier, $key);
			
			
			
			}
			//supprimer les fichiers temporaires
			unset($_FILES[$form]);
		
		
		
			//retourner le tableau de status d'upload
			return $uploadCheck;
		}
		
		
		 /********************************************************************************************/
		 // Cette fonction filtre un nom de fichier pour remplacer les caract�res sp�ciaux ou accentu�s
		 // @param nom	le texte � filtrer
		 // @return	le texte filtr�
		 /********************************************************************************************/
		public function filterName($nom) {
            $from = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ');
            $to = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y');
			$nom = str_replace($from, $to, $nom);
			$nom = trim($nom);
			$nom = preg_replace('/([^.a-z0-9]+)/i', '-', $nom);
			return(strtolower($nom));
		}
		
		/*****************************************************************************************/
		// Cette fonction redimensionne une image
		// @param image		le nom du fichier
		// @param repertoire	le r�pertoire dans lequel se trouve le fichier
		// @param largeur	largeur cible
		// @param hauteur	hauteur cible
		// @param createNew si true creer une nouvelle image avec la nouvelle dimension 
		// le nom de la nouvelle image est le meme que le nom que l'original precede de "resize_"
		/*****************************************************************************************/
		public function resizeImage($image, $repertoire, $largeur, $hauteur, $rogner=true, $createNew = false){
			if($largeur == 0 && $hauteur == 0) {
				return false;
			}
			
			//emplacement du fichier
			$fichier = $repertoire . '/' . $image;
		
			//r�cup�rer les propri�t�s de l'image
			$param = getimagesize($fichier);
		
			//la source
			switch ($param[2]) {
				case 1: //gif
					$fichierTemp = imagecreatefromgif($fichier);
					break;
				case 2: //jpg
					$fichierTemp = imagecreatefromjpeg($fichier);
					break;
				case 3: //png
					$fichierTemp= imagecreatefrompng($fichier);
					break;
				default :
					break;
			}
			
			//redimensionner la photo sans d�former l'image originale
			$rlargeur = $hauteur * $param[0] / $param[1];
			$rhauteur = $largeur * $param[1] / $param[0];
		
			if($largeur > 0 && $hauteur == 0) {
				//cr�er une image pour recevoir le fichier redimensionn�
				$redim = imagecreatetruecolor($largeur, ceil($rhauteur));
			
				//on redimensonne suivant la largeur, la hauteur suit
				imagecopyresampled($redim,$fichierTemp,0,0,0,0,$largeur,ceil($rhauteur),$param[0],$param[1]);
			} elseif ($largeur == 0 && $hauteur > 0) {
				//cr�er une image pour recevoir le fichier redimensionn�
				$redim = imagecreatetruecolor(ceil($rlargeur), $hauteur);
			
				//on redimensonne suivant la hauteur, la largeur suit
				imagecopyresampled($redim,$fichierTemp,0,0,0,0,ceil($rlargeur),$hauteur,$param[0],$param[1]);
			} else {
				//cr�er une image pour recevoir le fichier redimensionn�
				$redim = imagecreatetruecolor($largeur, $hauteur);
				$bgc = imagecolorallocate ($fichierTemp, 255, 255, 255);
				imagefilledrectangle ($redim, 0, 0, $largeur, $hauteur, $bgc);
			
				if($rogner) { //pas de blanc autour de la photo
					if($rhauteur > $hauteur) { //si d�passement hauteur rogner verticalement
					imagecopyresampled($redim,$fichierTemp,0,0,0,ceil(($rhauteur - $hauteur) / 2),$largeur,ceil($rhauteur),$param[0],$param[1]);
					} else { //d�passement largeur rogner horizontalement
					imagecopyresampled($redim,$fichierTemp,0,0,ceil(($rlargeur - $largeur) / 2),0,ceil($rlargeur),$hauteur,$param[0],$param[1]);
					}
				} else {
					if($rhauteur > $hauteur) { //si d�passement hauteur figer la hauteur
						//fixer la hauteur et adapter la largeur
						imagecopyresampled($redim,$fichierTemp,($largeur - $rlargeur)/2,0,0,0,$rlargeur,$hauteur,$param[0],$param[1]);
					} else {
						//fixer la largeur, la hauteur suit
						imagecopyresampled($redim,$fichierTemp,0,($hauteur - $rhauteur)/2,0,0,$largeur,$rhauteur,$param[0],$param[1]);
					}
				}
			}
			
			//enregistrer le fichier
			if($createNew){
				$fichier = $repertoire . '/resized_' . $image; 
			}
			switch ($param[2]) {
				case 1: //gif
					imagegif($redim, $fichier);
					break;
				case 2: //jpg
					imagejpeg($redim, $fichier,100);
					break;
				case 3: //png
					imagepng($redim, $fichier,7);
					break;
				default :
					break;
			}
			
			//supprimer les fichiers temporaires
			imagedestroy($redim);
			imagedestroy($fichierTemp);
		
			return true;
		}
		
		public function listCopyrightPhoto($dir){
			$list = $this->lister($dir);
			if($list){
				$str = "<ul>";
				foreach($list as $ph){
					$str .= "<li>".$ph."</li>";
				}
				$str .= "</ul>";
				return $str;
			}else{
				return "Pas de cr&eacute;dit photos dans le repertoire $dir";
			}
		}
		
		
		private function credit($fichier){
			$size = getimagesize($fichier, $info);
			$txt="";
			//on cherche des infos IPTC sinon on sort.
			if (! isset($info["APP13"])) { return false; }
			$iptc = iptcparse($info["APP13"]);    
			if(is_numeric($iptc["2#115"][0])){ //si la source est num�rique, alors c'est Fotolia
				$txt="&copy; <a href=\"http://www.fotolia.com/id/".$iptc["2#115"][0]."\" target=\"_blank\">".$iptc["2#110"][0]."</a> - Fotolia.com";	
				
			}else{ //sinon c'est iStock
				if($iptc["2#110"][0]){
					$txt=$iptc["2#110"][0]; // affiche le cr�dit
				}else if($iptc["2#116"][0]){
					$txt=$iptc["2#116"][0]; // affiche le copyright
				}else if($iptc["2#080"][0]){
					$txt=$iptc["2#080"][0]; // affiche le nom du photographe
				}
				if ($txt!=""){
					$txt="&copy; <a href=\"http://www.istockphoto.com\" target=\"_blank\">iStockphoto.com</a> - ".$txt; // affiche le cr�dit
				}
			}
			return $txt;
		}
		
		
		private function lister($chemin){
			$ext="jpg";
			$nom_repertoire = $chemin;
			$pointeur = opendir($nom_repertoire);
			while ($fichier = readdir($pointeur)){
				if(($fichier != '.') && ($fichier != '..')){
					 if (is_dir($nom_repertoire.'/'.$fichier)){
							$this->lister($nom_repertoire.'/'.$fichier);
					 }else{
						$extension = end(explode(".", $fichier));
						if ($ext == $extension){
							$wrt=$this->credit($nom_repertoire."/".$fichier);	
							if ($wrt && $wrt!=""){
								$listPh[] = $wrt;
							}
						 }
					 }
				}
			}
			closedir($pointeur);
			if(isset($listPh)){
				return $listPh;
			}else{
				return false;
			}
			
		}
		
		
			
		public function showPhoto($img, $width, $height, $alt){
			
		}	
		
	}// fin classe photo
				
				
				
				
?>

AnonSec - 2021