<?php
$mimeArray = array('application/pdf');
$extArray = array('pdf');

class image {
	
	function save_image($imagemfile, $imagemfileold="" , $path , $nome, $sojpeg=false){
		if (($imagemfile) && ($imagemfile != "none")){
			$size = GetImageSize ($imagemfile);
			
			if ($sojpeg == false){
				if (!(($size[2] >= 1) && ($size[2] <= 3)) ) return $imagemfileold;  /// gif, jpg, png
			} else {
				if (!($size[2] == 2) ) return $imagemfileold; //jpeg	
			}
			$i=0;
			$imagem=$path . strtolower($nome);
			
			while (is_file($imagem ) ){
				$i+=1;
				$imagem=$path . $i . $nome;
			}
			if (!move_uploaded_file($imagemfile, $imagem )) {
	    		print("failed to copy $imagemfile ...<br>\n");
			} 
			else {	return $imagem;	}
		} 
		return $imagemfileold;
	}
		
	function thumbnail2($orig_file, $dest_file, $new_w, $new_h) 
	{ 	
	    $size=@getimagesize($orig_file);
		
		$old_x=$size[0]; 
	    $old_y=$size[1];
		$imagetype=$size[2];
		
		if ($imagetype>3) die ("Imagem Inválida");
		$src_img="";
		
		switch ($imagetype){	
			case 1: $src_img = imagecreatefromgif($orig_file); break;
			case 2: $src_img = imagecreatefromjpeg($orig_file); break;
			case 3: $src_img = imagecreatefrompng($orig_file); break;
		}	
		if (($old_x<= $new_w) && ($old_y<= $new_h)) {
			@copy ($orig_file, $dest_file);
			return $dest_file;
		}
		
		$ratio_y=$new_h/$old_y;
		$ratio_x=$new_w/$old_x;
	
		$ratio=min($ratio_x,$ratio_y);
		
		$thumb_w=$old_x*($ratio);
	    $thumb_h=$old_y*($ratio);
	
	    $dst_img=imagecreatetruecolor($thumb_w,$thumb_h);
	    imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
	
		$i=0;
		while (is_file($dest_file ) ){
			$i+=1;
			$dest_file=dirname($dest_file)."/" . $i . basename($dest_file);
		}		
	    if (imagejpeg($dst_img,$dest_file )) return $dest_file;
	    return false;
	}

	function crop($orig_file, $dest_file, $new_w, $new_h, $new_x,$new_y) { 
		    $size=@getimagesize($orig_file);
		    
			$old_w=$size[0]; 
		    $old_h=$size[1];
			$imagetype=$size[2];
			
			if ($imagetype>3) die ("Imagem Inválida");
					
			switch ($imagetype){	
				case 1: $src_img = imagecreatefromgif($orig_file); break;
				case 2: $src_img = imagecreatefromjpeg($orig_file); break;
				case 3: $src_img = imagecreatefrompng($orig_file); break;
			}
				
		    $dst_img=imagecreatetruecolor(ceil($new_w), ceil($new_h));
		    imagecopyresampled($dst_img,$src_img,0,0,$new_x,$new_y,$new_w, $new_h,$new_w,$new_h);

			switch ($imagetype){	
				case 1: if (imagegif($dst_img,$dest_file )) return $dest_file; break;
				case 2: if (imagejpeg($dst_img,$dest_file )) return $dest_file; break;
				case 3: if (imagepng($dst_img,$dest_file )) return $dest_file; break;
			}
		    return false;
		}
		
	/*ja tem a imagem no repositorio*/	
    function trataIimagemRepositorio ($campo, $path){
    	if($this->req[$campo]){
			$imagem=$this->req[$campo];
			
			$old_file="../". $imagem;
			$dest_file=$path . "/" . basename($imagem);
			
			if (!is_dir($path)) mkdir ($path, 777);
			
			$img= new image;
		
			$myimagem=$img->thumbnail2($old_file, $dest_file, $this->req[$campo . '_lar'], $this->req[$campo .'_alt']);

			$prepath="../";
			if (strstr($myimagem,$prepath)) {$myimagem=substr($myimagem,strlen($prepath));}
			
			$this->req[$campo]=$myimagem;
		} else {
		$this->req[$campo]=$this->req[$campo .'_old'];
		if($this->req[$campo . '_apagar'])$this->req[$campo]="";
		} 	
    }	

	/*trata imagem directo*/
    function trataImagemDirecto($c, $path1=""){
    	if (is_array($_FILES[$c])){
			if ($_FILES[$c]['error'] == UPLOAD_ERR_OK) {

				$tmp_name = $_FILES[$c]["tmp_name"];
                $name = $_FILES[$c]["name"];
				
				if ($path="")
					$path="../netimages/". $this->tipo . "/";
				else 
					$path="../netimages/".$path1."/";
					
				if (!is_dir($path)){ 
					mkdir ($path, 777);
					mkdir ($path . "thumb/", 777);
				}

				$img= new image;
				print $path;
				
				$myimagem=$img->thumbnail2($tmp_name, $path . $name, $this->req['imagem_lar'], $this->req['imagem_alt']); 
				$img->thumbnail2($myimagem, $path ."thumb/" . basename($myimagem), 100, 100);   // estava a 77
				
				$prepath="../";
				if (strstr($myimagem,$prepath)) {$myimagem=substr($myimagem,strlen($prepath));}

				return $myimagem;
            }
		}
		return false;
    }

	function validaExtImg($im,$extensao){
		$size = @GetImageSize ($im);
		$int_ext = 0;
		
		//1 = GIF, 2 = JPG, 3 = PNG
		if($extensao == 'gif')
			$int_ext = 1;
		else if($extensao == 'jpg')
			$int_ext = 2;
		else if($extensao == 'png')
			$int_ext = 3;
		
		if (($size[2] == $int_ext))
			return 1;
		return 0;
	}
}
?>
