<?php



class AfiliadosNoticiasControlador extends Controladores {

    

    function mostrarTodas() {

       Vistas::mostrar('afiliados', 'noticias/listado');

    }

    function tablaListado() {

        $NoticiasAfiliados = AfiliadosNoticias::todas();

        Vistas::mostrar(

            'afiliados','noticias/tbl-noticias',array('NoticiasAfiliados' => $NoticiasAfiliados)

        );

    }



    function mostrarFormularioNuevo() {

        $this->mostrarFormulario();

    }

    function mostrarFormularioEditar() {

        $NoticiaAfiliado = AfiliadosNoticias::datos($this->noticiaID);

        $this->mostrarFormulario($NoticiaAfiliado);

    }

    private function mostrarFormulario($NoticiaAfiliado = null) {

        $Categorias =  Categorias::noticias();

        Vistas::mostrar('afiliados','noticias/form-noticias', array(

            'CategoriasNoticias'=> $Categorias,

            'NoticiaAfiliado'=> $NoticiaAfiliado

            ) );

    }

    

    function guardarDatosNoticia() {

        $urlMin = $urlMax = null;

        $carpetaNoticias = 'afiliados/noticias/';

        if( !empty($this->noticiaMin) ){

            $nombreArchivoMin = uniqid('noticia-min-').".".Archivos::extension($this->noticiaMin);

            $archivoMovido = Archivos::moverArchivoRecibido(

                $this->noticiaMin, DIR_ARCHIVOS.$carpetaNoticias, $nombreArchivoMin 

            );

            $urlMin = URL_ARCHIVOS.$carpetaNoticias.$nombreArchivoMin;

        }

        if( !empty($this->noticiaMax) ){

            $carpetaNoticias = 'afiliados/noticias/';

            $nombreArchivoMax = uniqid('noticia-').".".Archivos::extension($this->noticiaMax);

            $archivoMovido = Archivos::moverArchivoRecibido(

                $this->noticiaMax, DIR_ARCHIVOS.$carpetaNoticias, $nombreArchivoMax

            );

            $urlMax = URL_ARCHIVOS.$carpetaNoticias.$nombreArchivoMax;

        }

        

        if( empty($this->noticiaID) ){

            $creado = AfiliadosNoticias::guardar(

                $this->noticiaCATEGORIA ,

                $this->noticiaNOMBRE, 

                $this->noticiaDESCRIPCION, 

                $this->noticiaCONTENIDO,  

                $urlMin, $urlMax,

                $this->noticiaLINK, 

                $this->noticiaEstado

            );

            if($creado){

                echo Respuestassistema::exito( "", AfiliadosNoticias::datos($creado) );

            }else{

                echo Respuestassistema::fallo("No se pudo guardar el nuevo Noticia");

            }

            

        }else{

            $Noticia = AfiliadosNoticias::datos($this->noticiaID);

            if(is_null($urlMin)) $urlMin = $Noticia->noticiaIMGMIN;

            if(is_null($urlMax)) $urlMax = $Noticia->noticiaIMGMAX;

            $actualizado = AfiliadosNoticias::actualizar(

                $this->noticiaCATEGORIA ,

                $this->noticiaID,

                $this->noticiaNOMBRE, 

                $this->noticiaDESCRIPCION, 

                $this->noticiaCONTENIDO, 

                $urlMin, $urlMax,

                $this->noticiaLINK, 

                $this->noticiaEstado

            );

            if($actualizado){

                echo Respuestassistema::exito("", AfiliadosNoticias::datos($this->noticiaID));

            }else{

                echo Respuestassistema::fallo("No se actualizó el Noticia. Verifique los datos, o contacte al Centro TICS.");

            }

        }

    }

    

    function eliminar() {

        $NoticiasAfiliados = $this->check_afiliados_noticias;

        if (count($NoticiasAfiliados)) {

            $cont = 0;

            foreach ($NoticiasAfiliados as $NoticiaAfiliado):

                $nCambio = AfiliadosNoticias::eliminar($NoticiaAfiliado);

                if ($nCambio > 0) {

                    $cont++;

                }

            endforeach;

            if (count($NoticiasAfiliados)) {

                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() {

        $NoticiasAfiliados = $this->check_afiliados_noticias;

        if (count($NoticiasAfiliados)) {

            $cont = 0;

            foreach ($NoticiasAfiliados as $NoticiaAfiliado):

                $nCambio = AfiliadosNoticias::reactivar($NoticiaAfiliado);

                if ($nCambio > 0) {

                    $cont++;

                }

            endforeach;

            if (count($NoticiasAfiliados)) {

                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() {

        $NoticiasAfiliados = $this->check_afiliados_noticias;

        if (count($NoticiasAfiliados)) {

            $cont = 0;

            foreach ($NoticiasAfiliados as $NoticiaAfiliado):

                $nCambio = AfiliadosNoticias::desactivar($NoticiaAfiliado);

                if ($nCambio > 0) {

                    $cont++;

                }

            endforeach;

            if (count($NoticiasAfiliados)) {

                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(){

        $NoticiaAfiliado = AfiliadosNoticias::datos($this->noticiaID);

        Vistas::mostrar('afiliados', 'noticias/ver-noticia', array('NoticiaAfiliado'=> $NoticiaAfiliado));

    }



    

}


