<?php

class Principal extends CI_Controller {
    const PG_LOGIN_SITE = 'site/temas/loginSite';

    function __construct() {
        parent::__construct();
        $this->load->helper(get_helpers_paginas());
        $validacao = new ValidacaoUtils();
        $validacao->carregarModelsPagina(array('manutencao_model', 'servicos_model', 'agenda_model','gestaoresultados_model'), $this);
        ob_start();
    }

    function index() {
        // if (!$this->session->userdata('logado')) {
        //     $this->loginSistema();
        // } else {
        //     $this->gerenciarSistema();
        // }
        // if (($this->session->userdata('nivelAdmin'))) {
        //     redirect(base_url() . 'principal/gerenciarSistema');
        // }
        $this->gerenciarSistema();
    }

    public function direcionarPaginaPorDispositivo() {
        // if ($this->isMobile()) {
        //     return $this->loginSiteMobile();
        // } else {

        // }
        return $this->gerenciarSistema();
    }

    public function isMobile() {
        return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i",
            $_SERVER["HTTP_USER_AGENT"]);
    }

    public function loginSiteMobile() {
        $this->data['view'] = self::PG_LOGIN_SITE;
        $this->data['slide'] = 'site/temas/slide';
        $this->load->view('site/mobile/topoSiteMobile', $this->data);
    }

    public function loginSite() {
        if ($this->isMobile()) {
            return $this->loginSiteMobile();
        } else {
            $this->data['view'] = self::PG_LOGIN_SITE;
            $this->data['parceiro'] = 'site/temas/parceiros';
            $this->data['anuncios'] = //$this->principal_model->getClassficados();
            $this->data['classificados'] = 'site/temas/classificados';
            $this->data['slide'] = 'site/temas/slide';
            $this->load->view('site/temas/topoSite', $this->data);
        }
    }

    function gerenciarSite() {
        $this->data['view'] = 'site/home';
        $this->load->view('site/principal', $this->data);
                // $this->load->view('site/principal');
        // if ((!$this->session->userdata('session_id')) || (!$this->session->userdata('logado'))) {
        //     $this->direcionarPaginaPorDispositivo();
        // }

       // redirect(base_url() . 'site/paginasSite');
    }


    function meusPedidos() {
        
                $this->data['view'] = 'site/produtos';
        $this->load->view('site/principal', $this->data);
                // $this->load->view('site/produtos.html');
        // if ((!$this->session->userdata('session_id')) || (!$this->session->userdata('logado'))) {
        //     $this->direcionarPaginaPorDispositivo();
        // }

       // redirect(base_url() . 'site/paginasSite');
    }
    function gerenciarSistema() {
        if ((!$this->session->userdata('logado'))) {
            return $this->loginSistema();
        } elseif ((!$this->session->userdata('id'))) {
            $this->session->sess_destroy();
            return $this->loginSistema();
        }



// 		$this->data['view'] = 'rifas/rifas';
// 		$this->data['results'] = $this->rifas_model->get('convidados','');
// 		$this->load->view(DadosPaginas::PG_TOPO_SISTEMA, $this->data);

        $this->data['vendasDiariasDoMes'] = $this->gestaoresultados_model->getGastosMensalPorNotas();
        $this->data['comparacaoVendasPorAnos'] = $this->gestaoresultados_model->getComparacaoVendasPorAnos();


        $this->data['preventivasRealizadas'] = $this->manutencao_model->getNotasDashBoardEmAberto('DT_QUITADO IS NOT NULL');
        $this->data['preventivasPendentes'] = $this->manutencao_model->getNotasDashBoardEmAberto('DT_QUITADO IS  NULL');
//        $this->data['servicosRealizados'] = $this->servicos_model->getServicosRealizados();
        $this->data['compromissos'] = '';// $this->agenda_model->getPlanejamentos();
        $this->data['view'] = 'sistema/temas/dashboards/dashboard';
        $this->load->view(DadosPaginas::PG_TOPO_SISTEMA, $this->data);
    }
//
    public function loginSistema() {
        $this->load->view('sistema/temas/loginSistema');
    }

    public function verificarLoginSite() {
        $this->load->library(DadosPaginas::FORM_VALIDATION);
        $this->form_validation->set_rules('email', 'Email', 'valid_email|required|xss_clean|trim');
        $this->form_validation->set_rules('cpf', 'CPF', 'required|xss_clean|trim');
        $ajax = $this->input->get('ajax');

        if ($this->form_validation->run() == false) {
            if ($ajax == true) {
                $json = array('result' => false);

                echo json_encode($json);
            } else {
                $this->session->set_flashdata('error', 'Os dados de acesso estПлкo incorretos.');
                $this->direcionarPaginaPorDispositivo();
            }
        } else {
            $email = $this->input->post('email');
            $cpf = $this->input->post('cpf');

            $this->db->where('email_morador', $email);
            $this->db->where('cpfMorador', $cpf);
            $this->db->where('situacaoMorador', 1);
            $this->db->limit(1);
            $morador = $this->db->get('morador')->row();
            if (count($morador) > 0) {
                $dados = array('nm_morador' => $morador->nm_morador,
                    'idMorador' => $morador->idMorador,
                    'email_morador' => $morador->email_morador,
                    'nr_apartamento' => $morador->nr_apartamento,
                    'blocoApartamento' => $morador->blocoApartamento,
                    'logado' => TRUE,
                    'isMobile' => $this->isMobile());
                $this->session->set_userdata($dados);

                if ($ajax == true) {
                    $json = array('result' => true);
                    echo json_encode($json);
                } else {
                    $this->gerenciarSite();
                }
            } else {
                if ($ajax == true) {
                    $json = array('result' => false);
                    echo json_encode($json);
                } else {
                    $this->session->set_flashdata('error', 'Os dados de acesso estao incorretos.');
                    $this->direcionarPaginaPorDispositivo();
                }
            }
        }
    }

    public function verificarLoginSistema() {

        $this->load->library(DadosPaginas::FORM_VALIDATION);
        $this->form_validation->set_rules('email', 'Email', 'required');
        $this->form_validation->set_rules('senha', 'Senha', 'required');
        $ajax = $this->input->get('ajax');

        if ($this->form_validation->run() == false) {
            if ($ajax == true) {
                $json = array('result' => false);
                echo json_encode($json);
            } else {
                $this->session->set_flashdata('error', 'Os dados de acesso estПлкo incorretos 2.');
                redirect($this->loginSistema);
            }
        } else {
            $email = $this->input->post('email');
            $senha = $this->input->post('senha');

            $this->load->library('encrypt');
            $senha = $this->encrypt->sha1($senha);

            $this->db->where('email', $email);
            $this->db->where('senha', $senha);
            $this->db->where('situacao', 1);
            $this->db->limit(1);
            $usuario = $this->db->get('tbl_006_usuarios')->row();

            if (isset($usuario)) {
                $dados = array('nome' => $usuario->nome,
                    'id' => $usuario->idUsuarios,
                    'funcaoUsuario' => $usuario->funcaoUsuario,
                    'nivel' => $usuario->nivel,
                    'funcionario_id' => $usuario->FUNCIONARIO_ID,
                    'logado' => TRUE);
                $this->session->set_userdata($dados);

                if ($ajax == true) {
                    $json = array('result' => TRUE);
                    echo json_encode($json);
                } else {
                    redirect('/');
                }
            } else {
                if ($ajax == true) {
                    $json = array('result' => FALSE);
                    echo json_encode($json);
                } else {
                    $this->session->set_flashdata('error', 'Os dados de acesso estao incorretos.');
                    redirect('/');
                }
            }
        }
    }

    public function sairSistema() {
        $this->session->sess_destroy();
        redirect($this->loginSistema());
    }

    public function sairSite() {
        $this->session->sess_destroy();
        $this->direcionarPaginaPorDispositivo();

    }

    public function backup() {
        $this->load->dbutil();
        $prefs = array(
            'format' => 'zip',
            'filename' => 'backup' . date('d-m-Y') . '.sql'
        );
        $backup =& $this->dbutil->backup($prefs);
        $this->load->helper('file');
        write_file(base_url() . 'backup/backup.zip', $backup);
        $this->load->helper('download');
        force_download('backup' . date('d-m-Y H:m:s') . '.zip', $backup);
    }

}
