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

class revista extends elemento{
		
	function revista() {
        
    }
    
    function guardar($id=0){
    	$trata = new images_mod($this->req);
    	$this->req['background'] = $trata->trataimagem_escolhe('background', "../netimages/revista_background");
    	$this->req['capa'] = $trata->trataimagem_escolhe('capa', "../netimages/revista_capa");
    	$this->req['permatitulo']=generate_seo_titulo($this->req['titulo']);
    	$this->req['permalink']=generate_seo_link($this->req['permatitulo'], $this->req['idCat']);
    
    	$id=parent::guardar($id);
    	
    	if($this->req['copyrevista']){
    		$db= new dbElemento;
    		
    		$sql="INSERT IGNORE INTO revista_pagina_backup SELECT * from revista_pagina";
    		$db->set($sql);

    		$sql="select * from revista where id < $id order by id desc limit 1";
    		$lista=$db->get($sql);
    		$idAnterior=$lista[0]['id'];
    		
    		$sql="insert into revista_pagina (titulo, num_pagina, imagem, alt, activo, background, backgroundalt, idCat, ordem, texto, ficheiro, permatitulo, permalink, sys_autor, sys_data, sys_hora)
    		select titulo, num_pagina, imagem, alt, activo, background, backgroundalt, idCat+1 , id+1, texto, ficheiro, permatitulo, permalink, sys_autor, sys_data, sys_hora from revista_pagina
    		where idCat=$idAnterior";
    		$db->set($sql);
	
    		$sql="update revista_pagina set ordem=id+1 where idCat=$id";
    		$db->set($sql);

    		
    	}
    }
    


	function apagar($id){
		$db= new dbElemento;
		
		if ($db->getTotal("revista", $id)) {
			?><script>alert("Esta revista possui paginas")</script><?
			exit;
		}		
		parent::apagar($id);
	}
	
	
	function editar($id="") {
        
        $db= new dbElemento;
        $linha = @$db->getLinha($this->tipo, $id);
		
		//if (!$id)
			//$id=$this->max()+1;
		
		$f= new form($id, $linha , $this->req);
		$f->toolbars();
		$f->titulo("Revista / ", 1);
		$f->campoTexto("Titulo Revista","categoria" );
		$f->campoImagem3("Background","background", 1980,1740);
		$f->campoImagem3("Capa","capa", 244,308);
		$f->campoTexto("Num Página Indice","indice" );
		$f->campoTexto("Num Página Destaques","destaques" );
		
		$f->campoAreaTexto("Legenda","legenda" );
		if ($id=="")
			$f->campoSimNao("Copiar artigos da revista anterior", "copyrevista");
		
		$f->campoSimNao("Activo", "activo", 0);
		$f->mostra();
    }

	function listar() {
        $campos=array("Nº"=>"id","Revista"=>"categoria");
        
		$db= new dbElemento;
		$dados=$db->getListaCategorias($this->tipo, $campos , "categoria", $this->req['id']);
        $this->req['total']=sizeof($dados);

		
		$f= new lista($campos, $dados, $this->req);
		
		$toolbar= new toolbar(); 
		$toolbar->botao("Novo");
		$toolbar->ini();
		$toolbar->nav($this->req['offset'], $this->req['limit'], $this->req['total']);
		$toolbar->ini();
		$toolbar->procurar($this->req['procurar']);   //mudar para campo
		$toolbar->botao_l("procurar", 90);
		$toolbar->fim();
		
		$f->titulo("Revistas / ");
		$f->cabeca();
        $f->tabela(false, false);
		$f->mostra();
    }
	
	function max(){
		$db= new dbElemento;
		$sql="select max(numero) as numeromax from ". $this->tipo;
		$lista=$db->get($sql);
		return $lista[0]['numeromax']?$lista[0]['numeromax']:1;
	}
	


}
?>
