<?php

class PaginasSite extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->helper(get_helpers_paginas());
        ValidacaoUtils::verificarLoginSite($this->session);

        if ((!$this->session->userdata('session_id')) || (!$this->session->userdata('logado'))) {
            if ($this->session->userdata('isMobile')) {
                redirect('principal/loginSiteMobile');
            }
            redirect('principal/loginSite');
        }
        $this->load->model('noticias_model', '', TRUE);
        $this->load->model('principal_model', '', TRUE);
        $this->load->model('site/servicossite_model', '', TRUE);
    }

    function index() {
        if ($this->session->userdata('isMobile')) {
            return $this->gerenciarPaginasMobile();
        }
        $this->gerenciarPaginas();
    }

    function gerenciarPaginasMobile() {
        $this->data['view'] = 'site/mobile/homeMobile';
        $this->load->view('site/mobile/topoSiteMobile', $this->data);
    }

    function gerenciarPaginas() {
        $this->data['results'] = $this->principal_model->buscarNoticiasSite();
        $this->data['anuncios'] = $this->principal_model->getClassficados();
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();

        $this->dadosMostrarNoCalendario();

        $this->data['pagina'] = 'site/temas/calendario';
        $this->data['parceiro'] = 'site/temas/parceiros';
        $this->data['noticias'] = 'site/temas/noticias';
        $this->data['classificados'] = 'site/temas/classificados';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
    }

    private function dadosMostrarNoCalendario() {
        $this->data['reservas'] = $this->principal_model->getReservas();
        $this->data['ocorrencias'] = $this->principal_model->getOcorrencias();
        $this->data['mudancas'] = $this->principal_model->getMudancas();
        $this->data['reunioes'] = $this->principal_model->getReunioes();
    }

    function gerenciarSistema() {
        if ((!$this->session->userdata('session_id')) || (!$this->session->userdata('logado'))) {
            redirect(DadosPaginas::LOGIN_SISTEMA);
        }
        $this->data['view'] = 'sistema/temas/painel';
        $this->load->view('sistema/temas/topoSistema', $this->data);
    }

    public function login() {
        $this->data['view'] = DadosPaginas::PG_LOGIN_SITE;
        $this->data['slide'] = 'site/temas/slide';
        $this->load->view('site/temas/topoSite', $this->data);
    }

    public function loginMobile() {
        $this->data['view'] = DadosPaginas::PG_LOGIN_SITE;
        $this->data['slide'] = 'site/temas/slide';
        $this->load->view('site/temas/topoSite', $this->data);
    }

    function adicionarReserva() {
        //$this->data['results'] = $this->membros_model->get('membros','*','',$config['per_page'],$this->uri->segment(3));
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['pagina'] = 'site/paginas/reservas/adicionarReserva';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
    }

    function dadosMorador() {
        $idMorador = $this->session->userdata('idMorador');
        $this->data['dadosMorador'] = $this->principal_model->getDadosMorador($idMorador);
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();

        $this->data['pagina'] = 'site/paginas/dadosMorador/dadosMorador';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    function reservas() {

        $this->data['reservas'] = $this->principal_model->getReservasPendentes();
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();

        $this->data['pagina'] = 'site/paginas/reservas/reserva';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    function corpoDiretivo() {

        $this->data['corpoDiretivo'] = $this->principal_model->getCorpoDiretivo();
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();

        $this->data['pagina'] = 'site/paginas/corpoDiretivo/corpoDiretivo';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    public function visualizarCotacao() {
        $id = $this->input->get('id');
        //$dados = $this->servicossite_model->getBuscarCotacao($id);
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['dados'] = $this->servicossite_model->getCotacaoById($id);
        $this->data['soma'] = $this->servicossite_model->somaCotacao($id);
        $this->data['dadosTermo'] = $this->servicossite_model->getBuscarCotacao('cotacao', '*', $id, $id);
        //$this->data['dadosTermo'] = $dados;
        $this->data['view'] = 'site/paginas/relatorios/termoCotacao';
        $this->load->view('site/temas/topoRelatorios', $this->data);
    }

    function ocorrencias() {

        $this->data['ocorrencias'] = $this->principal_model->getOcorrencias();
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();

        $this->data['pagina'] = 'site/paginas/ocorrencias/ocorrencia';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    function prestacaoContas() {

        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['pagina'] = 'site/paginas/prestacaoContas/prestacaoContas';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    public function visualizarPrestacaoContasMes() {
        $mes = urldecode($this->uri->segment(4));
        $ano = urldecode($this->uri->segment(5));

        $this->data['financeiro'] = $this->principal_model->PCfinanceiroMesAtual($mes, $ano);
        $this->data['notificao'] = $this->principal_model->PCNotificacaoMesAtual($mes, $ano);
        $this->data['advertencia'] = $this->principal_model->PCAdvertenciaMesAtual($mes, $ano);
        $this->data['multa'] = $this->principal_model->PCMultaMesAtual($mes, $ano);
        $this->data['ocorrencia'] = $this->principal_model->PCOcorrenciaMesAtual($mes, $ano);

        $this->data['view'] = 'site/paginas/relatorios/imprimir/prestacaoContas';
        $this->load->view('site/temas/topoRelatorios', $this->data);
    }

    public function visualizarPrestacaoContasMesAtual() {

        $this->data['financeiro'] = $this->principal_model->PCMfinanceiroMesAtual();
        $this->data['notificao'] = $this->principal_model->PCMNotificacaoMesAtual();
        $this->data['advertencia'] = $this->principal_model->PCMAdvertenciaMesAtual();
        $this->data['multa'] = $this->principal_model->PCMMultaMesAtual();
        $this->data['ocorrencia'] = $this->principal_model->PCMOcorrenciaMesAtual();

        $this->data['view'] = 'site/paginas/relatorios/imprimir/prestacaoContas';
        $this->load->view('site/temas/topoRelatorios', $this->data);
    }

    function reuniao() {

        $this->data['results'] = $this->principal_model->getReunioes();
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();

        $this->data['pagina'] = 'site/paginas/reuniao/reuniao';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    function informativo() {

        //$this->data['results'] = $this->membros_model->get('membros','*','',$config['per_page'],$this->uri->segment(3));
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['pagina'] = 'site/paginas/informativo/informativo';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    function condominio() {

        //$this->data['results'] = $this->membros_model->get('membros','*','',$config['per_page'],$this->uri->segment(3));
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['pagina'] = 'site/paginas/condominio/condominio';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    function contatos() {
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['pagina'] = 'site/paginas/contatos/contatos';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
    }

    public function enviarEmailSindico() {
        $assunto = $this->input->post('assunto');
        $email = $this->input->post('email');
        $nome = $this->input->post('nome');
        $telefone = $this->input->post('telefone');
        $mensagem1 = $this->input->post('message');
        $this->data['dadosInformativo'] = "<b>Nome do Morador:</b> " . $nome . "<br>" . "<b>Email:</b> " . $email . "<br>" . "<b>Telefone:</b> " . $telefone . "<br><br>" . $mensagem1;
        $mensagem = $this->load->view('site/paginas/confirmacao/informativo', $this->data, TRUE);

        GerenciarEmail::enviarEmailComCopiaComAnexo('cr1assistente@gmail.com', $assunto, $mensagem, null, null);
        $this->session->set_flashdata('success', 'Email enviado com sucesso. Em breve o síndico entrará em contato.');
        redirect('site/paginasSite/contatos/');
    }

    function mudancas() {
        $this->data['mudanca'] = $this->principal_model->getMudancasPendentes();
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['pagina'] = 'site/paginas/mudancas/mudancas';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    function classificados() {
        $this->data['classificados'] = $this->principal_model->getClassificado('classificados', '*', '', $this->uri->segment(3));
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->load->view('site/paginas/classificados/classificados', $this->data);
    }

    function itemClassificado() {
        $this->data['result'] = $this->principal_model->getByIdItemClassificado($this->uri->segment(5));
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['results'] = $this->principal_model->getItemClassificado('classificados', '*', '', $this->uri->segment(3));
        $this->load->view('site/paginas/classificados/item', $this->data);
    }

    function funcionarios() {

        $this->load->library('pagination');
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();

        $config['base_url'] = base_url() . 'site/paginasSite/funcionarios/gerenciar';
        $config['total_rows'] = $this->principal_model->count('funcionario');
        $config['per_page'] = 12;
        $config['next_link'] = 'Próxima';
        $config['prev_link'] = 'Anterior';
        $config['full_tag_open'] = '<div class="col-sm-4 text-right text-center-xs"><ul class="pagination pagination-sm m-t-none m-b-none">';
        $config['full_tag_close'] = '</ul></div>';
        $config['num_tag_open'] = '<li>';
        $config['num_tag_close'] = '</li>';
        $config['cur_tag_open'] = '<li><a style="color: #2D335B"><b>';
        $config['cur_tag_close'] = '</b></a></li>';
        $config['prev_tag_open'] = '<li>';
        $config['prev_tag_close'] = '</li>';
        $config['next_tag_open'] = '<li>';
        $config['next_tag_close'] = '</li>';
        $config['first_link'] = 'Primeira';
        $config['last_link'] = 'Última';
        $config['first_tag_open'] = '<li>';
        $config['first_tag_close'] = '</li>';
        $config['last_tag_open'] = '<li>';
        $config['last_tag_close'] = '</li>';

        $this->pagination->initialize($config);

        $this->data['funcionarios'] = $this->principal_model->getFuncionarios('funcionario', '*', '', $config['per_page'], $this->uri->segment(5));
        $this->load->view('site/paginas/funcionario/funcionario', $this->data);
    }

    function adicionarMudancas() {
        $this->data['pagina'] = 'site/paginas/mudancas/adicionarMudancas';
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    function adicionarOcorrencia() {
        $this->data['pagina'] = 'site/paginas/ocorrencias/adicionarOcorrencia';
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    function noticias() {

        $this->data['results'] = $this->principal_model->buscarNoticiasSite();
        $this->data['documentos'] = $this->principal_model->getMenusDocumentos();

        $this->data['noticiasClassificados'] = 'site/temas/noticiasClassificados';
        $this->data['pagina'] = 'site/paginas/noticias/noticias';
        $this->data['view'] = 'site/temas/home';
        $this->load->view('site/temas/topoSite', $this->data);
        //$this->load->view('site/paginas/agenda');
    }

    public function buscarNoticiaId() {
        $id = $this->input->get('id');
        $noticias = $this->noticias_model->getById($id);
        echo json_encode($noticias);
    }

    public function buscarClassificadoId() {
        $id = $this->input->get('id');
        $anuncio = $this->servicossite_model->getBuscarClassificadoId($id);
        echo json_encode($anuncio);
    }

    public function visualizarTermoReservaId() {
        $id = $this->input->get('id');
        $dados = $this->servicossite_model->getBuscarReservaId($id);
        $convidados = null;

        if ($dados->convidados != null || $dados->convidados != "") {
            $convidados = explode(';', $dados->convidados);
        }

        $this->data['dadosTermo'] = $dados;
        $this->data['convidados'] = $convidados;
        $this->data['view'] = 'site/paginas/relatorios/termoReserva';
        $this->load->view('site/temas/topoRelatorios', $this->data);
    }

    public function visualizarTermoNotificacaoId() {
        $id = $this->input->get('id');
        $dados = $this->servicossite_model->getBuscarNotificacaoId($id);


        $this->data['dadosTermo'] = $dados;
        $this->data['view'] = 'site/paginas/relatorios/termoNotificacao';
        $this->load->view('site/temas/topoRelatorios', $this->data);
    }

    public function visualizarAutorizacaoObras() {
        $id = $this->input->get('id');
        $dados = $this->servicossite_model->getBuscarAutorizacaoObrasId($id);

        $this->data['pessoasautorizadas'] = $this->servicossite_model->getBuscarPessoasAutorizadas('pessoasautorizadas', '*', $id);
        $this->data['dadosTermo'] = $dados;
        $this->data['view'] = 'site/paginas/relatorios/termoAutorizacaoObras';
        $this->load->view('site/temas/topoRelatorios', $this->data);
    }

    public function visualizarTermoMultaId() {
        $id = $this->input->get('id');
        $dados = $this->servicossite_model->getBuscarMultaId($id);


        $this->data['dadosTermo'] = $dados;
        $this->data['view'] = 'site/paginas/relatorios/termoMulta';
        $this->load->view('site/temas/topoRelatorios', $this->data);
    }

    public function visualizarTermoAdvertenciaId() {
        $id = $this->input->get('id');
        $dados = $this->servicossite_model->getBuscarAdvertenciaId($id);


        $this->data['dadosTermo'] = $dados;
        $this->data['view'] = 'site/paginas/relatorios/termoAdvertencia';
        $this->load->view('site/temas/topoRelatorios', $this->data);
    }

    public function visualizarOcorrenciaId() {
        $id = $this->input->get('id');
        $this->data['dadosOcorrencia'] = $this->servicossite_model->getBuscarOcorrenciaId($id);
        $this->data['view'] = 'site/paginas/relatorios/imprimirOcorrencia';
        $this->load->view('site/temas/topoRelatorios', $this->data);
    }

    public function baixarEstatuto() {
        $this->load->helper('download');
        $dados = file_get_contents('documentosBaixar/estatuto.pdf'); // Lê o conteúdo do arquivo
        $nome = 'estatuto.pdf';
        force_download($nome, $dados);
    }

    public function baixarRegimento() {
        $this->load->helper('download');
        $dados = file_get_contents('documentosBaixar/RegimentoInterno.pdf'); // Lê o conteúdo do arquivo
        $nome = 'RegimentoInterno.pdf';
        force_download($nome, $dados);
    }

}
