<?php
include ("include/images/images_mod.class.php");
include_once ("base/elemento.class.php");
include_once ("base/categoria.class.php");
include_once ("mod/galeria/listaFotosGaleria.class.php");

class galeria extends elemento{
	
	
	function galeria() { }
      
    function trataFicheiro($c){
    	if (is_array($_FILES[$c])){
			if ($_FILES[$c]['error'] == UPLOAD_ERR_OK) {

				$tmp_name = $_FILES[$c]["tmp_name"];
                $name = remove_acentos_espacos($_FILES[$c]["name"]);
									
				$db= new dbElemento;
				$temp=$db->getLinha("galeriaCategoria", $this->req['idCat']);
				$path="../netimages/galeria/";
				$path_thumb="../netimages/galeria/thumb";
				if (!is_dir($path)) mkdir ($path, 757);
				if (!is_dir($path_thumb)) mkdir ($path_thumb, 757);

				$img= new image;
                $myimagem=$img->save_image($tmp_name, "" , $path , $name);
                if ($myimagem == "") return false;
                
				$prepath="../";
				if (strstr($myimagem,$prepath)) {$myimagem=substr($myimagem,strlen($prepath));}
				return basename($myimagem);
            }
		}
		return false;
    }
	
	function guardarNovo(){
		$imagem=$this->trataFicheiro("imagem");
		if ($imagem){
			$this->req['imagem']=$imagem;
			$id_novo = parent::guardarNovo();
		} else print "Tipo de Imagem não suportada";
		return $id_novo;
	}
	
	function guardarEdit($id){
		echo "guardar edit";
		$imagem=$this->trataFicheiro("imagem");	
		$this->req['imagem']=$imagem?$imagem:$this->req['imagem_old'];
		$id_novo = parent::guardarEdit($id);
		return $id_novo;
	}
	
	function apagar($id=""){
		$d= new dbElemento;
		$temp=$d->getLinha("galeriaCategoria", $this->req['idCat']);
		$path="../netimages/galeria/";
			
		if (($id>0)){
			$temp=$d->getLinha("imagem", $id);
			$file=$temp['imagem'];
			@unlink ($path . $file);
			@unlink ($path ."thumb/". $file);
        	$d->setDelete($this->tipo, $id);
		} else if (is_array($this->req['linhasMarcadas'])){
			foreach ($this->req['linhasMarcadas'] as $lid){
				$temp=$d->getLinha("imagem", $lid);
				$file=$temp['imagem'];
				unlink ($path . $file);
				unlink ($path ."thumb/". $file);
				$d->setDelete($this->tipo, $lid);
			}
		}
		?><script>parent.nav.document.location.reload()</script><?
        $this->listar();
	}
    
	function editar($id=""){

		$db= new dbElemento;
        $dados=$db->getListaCategorias("galeriaCategoria", "*");
		foreach ($dados as $l) $dadosSel[$l['id']]=$l['categoria'];
		
        $linha = @$db->getLinha($this->tipo, $id);
        $idCat = $linha['idCat'] ? $linha['idCat'] : $this->idCat;
		$this->req['idCat']=$idCat;
		$this->idCat=$idCat;
        
		$f= new form($id, $linha, $this->req);
	
		$f->toolbars("Guardar", 0);
		$f->titulo("Fotos / ",1);
		$f->campoTexto("Título","titulo", "required");
		$f->campoTexto("Legenda","legenda", "required");
		$f->campoHTML("Descrição", "descricao");
		$f->campoImagem("Imagem", "imagem", 800, 600,"../netimages/galeria/", "required");
						
		$sys_data = ($linha['sys_data'] != "0000-00-00") ? $linha['sys_data'] : date("Y-m-d");
		$sys_hora = ($linha['sys_hora'] != " 00:00:00") ? $linha['sys_hora'] : date("H:i");
		$f->campoValor('sys_autor', $linha['sys_autor'] ? $linha['sys_autor'] : $_SESSION['authdata']['login']);
		$f->campoValor('sys_data', $sys_data);
		$f->campoValor('sys_hora', $sys_hora);
		
		$f->mostra();
	}
	
	function listar() {
        $campos=array("Nº"=>"id","Imagem"=>"imagem","Titulo"=>"titulo", "IdCat"=>"idCat");
        
        $db= new dbElemento;
        $dados=$db->getLista($this->tipo, $this->idCat, $campos , "imagem", $this->req['ordem'] ,$this->req['offset'], $this->req['limit'], $this->req['procurar'], $this->req['filtro'] );
        $this->req['total']=$db->getTotal($this->tipo, $this->idCat, $this->req['procurar'], $this->req['filtro']);
                       
        $f= new listaFotosGaleria($campos, $dados, $this->req);
		$f->toolbars();
		$f->titulo("Galeria /");		
        $f->tabela(false, false);
		$f->mostra();
    }

}
?>
