%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home1/dimen328/libertysa.com.br/admin/includes/
Upload File :
Create Path :
Current File : //home1/dimen328/libertysa.com.br/admin/includes/uploader.inc.php

<?php
	error_reporting(E_ALL);
	ini_set("display_errors", 1);
	session_start();
	require_once("../configuration/config.inc.php");
	
	new upload;
	
	class upload{
		
		private $file;
		private $pdo;
		private $idGaleria;
		private $modulo;
		private $idioma = "";
		
		function __construct(){
			$this->pdo = $GLOBALS['pdo'];
			@$this->idGaleria = $_POST['idGaleria'];
			@$this->modulo = $_POST['modulo'];
			$this->file = $_FILES['file'];
			$this->uploadFile();
		}		
		private function uploadFile(){
			// echo exec('whoami'); exit;
			$obj = new MOD();
		
			$pasta = $_POST['pasta']; //postadata
			
			$extensoes_permitidas = array("jpg", "JPG", "jpeg", "JPEG", "png", "PNG");
			$file_e = explode(".",$this->file['name']);		
			
			$nome_img = upload::slugify($file_e[0]);
			$extensao_img = $file_e[sizeof($file_e)-1];
			
			
			if(in_array($extensao_img, $extensoes_permitidas)){
				
				$nome = $nome_img.date("d-m-Y_H-i-s");
				$obj->setDescricao(strtolower($nome.".".$extensao_img));
				$obj->setThumbnail(strtolower($nome."_thumb.".$extensao_img));
				$obj->setIdGaleria($this->idGaleria);
				$obj->setModulo($this->modulo);
				$obj->setStatus(1);
				
				$dir = "../".$pasta."/".$obj->getDescricao();
				$dir_thumb = "../".$pasta."/".$obj->getThumbnail();

				// echo $dir;
			
				if((!file_exists($dir))){
					if(move_uploaded_file($this->file['tmp_name'],$dir)){			
						$this->file['msg'] = "1";

						$this->file['name'] = $obj->getDescricao();
						$this->file['name_thumbnail'] = $obj->getThumbnail();
						
						//se a imagem upar para a pasta cria o thumb
						// Criando Thumbnail
						$thumbWidth = 250;
						if(strtolower($extensao_img) == "jpg" OR strtolower($extensao_img) == "jpeg"){
							$img 	= imagecreatefromjpeg($dir);
						}elseif($extensao_img == "png"){
							$img 	= imagecreatefrompng($dir);
						}			
						
						$width 	= imagesx($img);
						$height = imagesy($img);
						
						// calcula tamanho do thumbnail 
						$new_width 	= $thumbWidth;
						$new_height = floor($height*($thumbWidth/$width));

						// cria uma nova imagem temporaroria
						$tmp_img = imagecreatetruecolor( $new_width, $new_height );

						// copy and resize old image into new image
						imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

						// save thumbnail into a file
						if(strtolower($extensao_img) == "jpg" OR strtolower($extensao_img) == "jpeg"){
							imagejpeg( $tmp_img, $dir_thumb);	
						}elseif(strtolower($extensao_img) == "png"){
							imagepng( $tmp_img, $dir_thumb);
						}
						
						//salva imagem no banco
						if($this->idGaleria != 0){
							// if($obj->getModulo() =="fotos_produtos"){
								// $this->salvarFileProduto($obj);
								// $this->file['idGaleria'] = $this->idGaleria;
							// }else if($obj->getModulo() =="fotos"){
								// $this->salvar($obj);
								// $this->file['idGaleria'] = $this->idGaleria;
							// }
						
						// $this->file['imagem'] = $obj;
						//////
						
							switch($obj->getModulo()){
								case "cms_fotos_produtos": 
									$this->salvarFileProduto($obj);
									$this->file['idGaleria'] = $this->idGaleria;
								break;
								case "cms_fotos": 
									$this->file['retorno'] = $this->salvarFile($obj);
									$this->file['idGaleria'] = $this->idGaleria;
								break;
								default:break;
								
								$this->file['imagem'] = $obj;
							}
						}
					} else {			
						$this->file['msg'] = "0";				
					}
				} else {		
					$this->file['msg'] = "2";		
				}
				
				
			}else{
				//extensao do arquivo nao permitido.
				$this->file['msg'] = "3";		
			}
			
			echo json_encode($this->file);

		}

		function salvarFile($obj){
			$retorno = array();
			
			$sql = "INSERT INTO ".$obj->getModulo()." (imagem,imagem_rec,id_galeria,status) VALUES (:imagem, :imagem_rec, :id_galeria, :status); ";
			$vars = array(":imagem"=>$obj->getDescricao(), ":imagem_rec"=>$obj->getThumbnail(), ":id_galeria"=>$obj->getIdGaleria(), ":status"=>$obj->getStatus());
			
			$stmt = $this->pdo->prepare($sql);
			
			if($stmt->execute($vars)){
				return '1';
			}else{
				return '0';
			}
			
		}
		
		function salvarFileProduto($obj){
			$retorno = array();
			
			$sql = "INSERT INTO ".$this->idioma.$obj->getModulo()." (imagem,imagem_rec,id_produto,status) VALUES (:imagem, :imagem_rec, :id_galeria, :status); ";
			$vars = array(":imagem"=>$obj->getDescricao(), ":imagem_rec"=>$obj->getThumbnail(), ":id_galeria"=>$obj->getIdGaleria(), ":status"=>$obj->getStatus());
			
			$stmt = $this->pdo->prepare($sql);
			
			foreach($vars as $index=> $value){
				$stmt->bindValue($index,$value);
			}
			
			if($stmt->execute()){
				// return '1';
			}else{
				// return '0';
			}
			
		}
		static public function slugify($text){ 
			// replace non letter or digits by -
			$text = preg_replace('~[^\\pL\d]+~u', '-', $text);

			// trim
			$text = trim($text, '-');

			// transliterate
			$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

			// lowercase
			$text = strtolower($text);

			// remove unwanted characters
			$text = preg_replace('~[^-\w]+~', '', $text);

			if (empty($text)){
				return 'n-a';
			}

			return $text;
		}	
		
	}
	
	class MOD{
		
		private $id;
		private $idGaleria;
		private $descricao;
		private $thumbnail;
		private $ordem;
		private $status;
		private $modulo;
		
		// Setters
		public function setId($value){
			$this->id = (int)$value;
		}
		
		public function setIdGaleria($value){
			$this->idGaleria = $value;
		}		
		
		public function setDescricao($value){
			$this->descricao = $value;
		}
		
		public function setStatus($value){
			$this->status = (int)$value;
		}
		
		public function setThumbnail($value){
			$this->thumbnail = $value;
		}
		
		public function setOrdem($value){
			$this->ordem = (int)$value;
		}		
		
		public function setModulo($value){
			$this->modulo = $value;
		}
		
		// Getters
		public function getId(){
			return $this->id;
		}
		
		public function getIdGaleria(){
			return $this->idGaleria;
		}		
		
		public function getDescricao(){
			return $this->descricao;
		}
		
		public function getStatus(){
			return $this->status;
		}

		public function getThumbnail(){
			return $this->thumbnail;
		}
		
		public function getOrdem(){
			return $this->ordem;
		}	
		public function getModulo(){
			return $this->modulo;
		}
	}	
	
?>

Zerion Mini Shell 1.0