<?php 


class TmplControlador extends controladores {
        
    function mostrarTodas() {
       Vistas::mostrar('afiliados', 'tmpls/listado');
    }
    function tablaListado() {
        $TmplsAfiliados = AfiliadosTmpls::todas();
        Vistas::mostrar(
            'afiliados','tmpls/tbl-tmpls',array('TmplsAfiliados' => $TmplsAfiliados)
        );
    }

    function mostrarFormularioNuevo() {
        $this->mostrarFormulario();
    }
    function mostrarFormularioEditar() {
        $TmplAfiliado = AfiliadosTmpls::datos($this->tmplID);
        $this->mostrarFormulario($TmplAfiliado);
    }
    private function mostrarFormulario($TmplAfiliado = null) {
        $Categorias =  Categorias::tmpls();
        Vistas::mostrar('afiliados','tmpls/form-tmpls', array(
            'CategoriasTmpls'=> $Categorias,
            'TmplAfiliado'=> $TmplAfiliado
            ) );
    }
    
    function guardarDatos() {
        $urlMin = $urlMax = null;
        $carpetaTmpls = 'afiliados/tmpls/';
        if( !empty($this->tmplMin) ){
            $nombreArchivoMin = uniqid('tmpl-min-').".".Archivos::extension($this->tmplMin);
            $archivoMovido = Archivos::moverArchivoRecibido(
                $this->tmplMin, DIR_ARCHIVOS.$carpetaTmpls, $nombreArchivoMin 
            );
            $urlMin = URL_ARCHIVOS.$carpetaTmpls.$nombreArchivoMin;
        }
        if( !empty($this->tmplMax) ){
            $carpetaTmpls = 'afiliados/tmpls/';
            $nombreArchivoMax = uniqid('tmpl-').".".Archivos::extension($this->tmplMax);
            $archivoMovido = Archivos::moverArchivoRecibido(
                $this->tmplMax, DIR_ARCHIVOS.$carpetaTmpls, $nombreArchivoMax
            );
            $urlMax = URL_ARCHIVOS.$carpetaTmpls.$nombreArchivoMax;
        }
        
        if( empty($this->tmplID) ){
            $creado = AfiliadosTmpls::guardar(
                $this->tmplCATEGORIA ,
                $this->tmplNOMBRE, 
                $this->tmplDESCRIPCION, 
                $this->tmplCONTENIDO, 
                $urlMin, $urlMax,
                $this->tmplLINK, 
                $this->tmplEstado
            );
            if($creado){
                echo Respuestassistema::exito( "", AfiliadosTmpls::datos($creado) );
            }else{
                echo Respuestassistema::fallo("No se pudo guardar el nuevo Tmpl");
            }
            
        }else{
            $Tmpl = AfiliadosTmpls::datos($this->tmplID);
            if(is_null($urlMin)) $urlMin = $Tmpl->tmplIMGMIN;
            if(is_null($urlMax)) $urlMax = $Tmpl->tmplIMGMAX;
            $actualizado = AfiliadosTmpls::actualizar(
                $this->tmplCATEGORIA ,
                $this->tmplID,
                $this->tmplNOMBRE, 
                $this->tmplDESCRIPCION, 
                $this->tmplCONTENIDO, 
                $urlMin, $urlMax,
                $this->tmplLINK, 
                $this->tmplEstado
            );
            if($actualizado){
                echo Respuestassistema::exito("", AfiliadosTmpls::datos($this->tmplID));
            }else{
                echo Respuestassistema::fallo("No se actualizó el Tmpl. Verifique los datos, o contacte al Centro TICS.");
            }
        }
    }
    
    function eliminar() {
        $TmplsAfiliados = $this->check_afiliados_tmpls;
        if (count($TmplsAfiliados)) {
            $cont = 0;
            foreach ($TmplsAfiliados as $TmplAfiliado):
                $nCambio = AfiliadosTmpls::eliminar($TmplAfiliado);
                if ($nCambio > 0) {
                    $cont++;
                }
            endforeach;
            if (count($TmplsAfiliados)) {
                echo RespuestasSistema::exito('Eliminación exitosa!');
            } else {
                echo RespuestasSistema::error('Hubo un error al eliminar uno de los registros!');
            }
        } else {
            echo RespuestasSistema::error('No llegarón los datos para eliminar.');
        }
    }
    function reactivar() {
        $TmplsAfiliados = $this->check_afiliados_tmpls;
        if (count($TmplsAfiliados)) {
            $cont = 0;
            foreach ($TmplsAfiliados as $TmplAfiliado):
                $nCambio = AfiliadosTmpls::reactivar($TmplAfiliado);
                if ($nCambio > 0) {
                    $cont++;
                }
            endforeach;
            if (count($TmplsAfiliados)) {
                echo RespuestasSistema::exito('Re-activación exitosa!');
            } else {
                echo RespuestasSistema::error('Hubo un error al re-activar uno de los registros!');
            }
        } else {
            echo RespuestasSistema::error('No llegarón los datos para re-activar.');
        }
    }
    function desactivar() {
        $TmplsAfiliados = $this->check_afiliados_tmpls;
        if (count($TmplsAfiliados)) {
            $cont = 0;
            foreach ($TmplsAfiliados as $TmplAfiliado):
                $nCambio = AfiliadosTmpls::desactivar($TmplAfiliado);
                if ($nCambio > 0) {
                    $cont++;
                }
            endforeach;
            if (count($TmplsAfiliados)) {
                echo RespuestasSistema::exito('Desactivación exitosa!');
            } else {
                echo RespuestasSistema::error('Hubo un error al desactivar uno de los registros!');
            }
        } else {
            echo RespuestasSistema::error('No llegarón los datos para desactivar.');
        }
    }
    
    function verDetalles(){
        $TmplAfiliado = AfiliadosTmpls::datos($this->tmplID);
        Vistas::mostrar('afiliados', 'tmpls/ver-tmpl', array('TmplAfiliado'=> $TmplAfiliado));
    }

    
}
}
