<?php
include_once 'dadospaginas_helper.php';

class GerenciarEmail {

    public function enviarSMS($nrDestino, $mensagem){
        $contaUsuario = "william.ribeiro";
        $senhaConta = "Luz185649";
        $urlChamada = "https://www.facilitamovel.com.br/api/simpleSend.ft?user={$contaUsuario}&password={$senhaConta}&destinatario={$nrDestino}&msg=" . $mensagem;

        if(!empty($nrDestino)){
            if (file_get_contents($urlChamada)) {
                $this->session->set_flashdata('success', 'Mensagem de Texto Enviada com Sucesso !');
            } else {
                $this->session->set_flashdata('error', 'Mensagem de Texto Não Enviada !');
            }
        }else{
            $this->session->set_flashdata('error', 'Morador não possui Celular cadastrado !');
        }
    }

    public function enviarEmailNotificacaoSemAnexo() {
        $this->cabecalhoEnvioEmail('');
        $para = $this->input->post('email_morador', TRUE);
        $this->email->to($para);
        $this->data['dadosNotificacao'] = $this->input->post('descricao');
        $mensagem = $this->load->view('site/paginas/confirmacao/confirmacaoNotificacao', $this->data, TRUE);
        $this->email->message($mensagem);

        if ($this->email->send()) {
            self::envioComSucesso('Notificação cadastrada e enviada para o email do morador.');
        } else {
            self::envioComErro();
        }
    }

    private static function cabecalhoEnvioEmail($assunto,$objeto) {
        $objeto->load->library('email');
        $objeto->email->from('suporte@liderrefrigeracaoautos.com.br', 'LIDER REFRIGERAÇÃO');
        $objeto->email->subject('Lider Refrigeração - '.$assunto);
        $objeto->email->set_newline("\r\n");
    }

    private function envioComSucesso($tipo) {
        $this->session->set_flashdata('success', $tipo . ' enviada com sucesso.');
    }

    private function envioComErro() {
        $this->session->set_flashdata('error', 'Ocorreu um erro ao enviar E-Mail.');
    }

    public function reenviarEmailAll($assunto, $para, $mensagem, $anexo) {
        self::cabecalhoEnvioEmail($assunto);
        
        
        $this->email->reply_to('cr1assistente@gmail.com', 'Condomínio Parque das Arvores');
        $this->email->to($para);
        $this->email->cc('wrsn.ribeiro@gmail.com,cr1assistente@gmail.com');  
        
        $this->email->message($mensagem);

        if ($assunto == "Notificacao" && $anexo != NULL) {
            $attach = DadosPaginas::serverRoot()."imagensNotificacao/" . $anexo;
            $this->email->attach($attach);
        }

        if ($this->email->send()) {
            self::envioComSucesso($assunto);
        } else {
            $this->envioComErro();
        }
    }

    public function enviarTodosEmails($assunto, $para, $mensagem) {
        self::cabecalhoEnvioEmail($assunto);
        $this->email->to($para);
        $this->email->message($mensagem);

        if ($this->email->send()) {
            self::envioComSucesso($assunto);
        } else {
            self::envioComErro();
        }
    }

    public function enviarEmailEditarOcorrencia($data, $para) {
        $this->data['dadosOcorrencia'] = (Object)$data;
        $mensagem = $this->load->view('site/paginas/confirmacao/confirmacaoOcorrencia', $this->data, TRUE);
        self::cabecalhoEnvioEmail("Alteração Ocorr�ncia");
        
        $this->email->reply_to('cr1assistente@gmail.com', 'Condomínio Parque das Arvores');
        $this->email->to($para);
        $this->email->cc("wrsn.ribeiro@gmail.com;cr1assistente@gmail.com");  
        
        
        $this->email->message($mensagem);
        $this->email->send();
    }

    public function enviarEmailEditarReservas($data, $para) {
        $this->data['dadosReserva'] = (Object)$data;
        $mensagem = $this->load->view('site/paginas/confirmacao/confirmacaoReserva', $this->data, TRUE);
        self::cabecalhoEnvioEmail("Alteração Reservas");
        
        $this->email->reply_to('cr1assistente@gmail.com', 'Condomínio Parque das Arvores');
        $this->email->to($para);
        $this->email->cc('wrsn.ribeiro@gmail.com,cr1assistente@gmail.com'); 
        
        $this->email->message($mensagem);
        $this->email->send();
    }

    public function enviarEmailCobrancaUsoReservas($data, $para) {
        $this->data['dadosReserva'] = $data;
        $this->data['view'] = 'sistema/relatorios/imprimir/todasReservas';
        $mensagem = $this->load->view(DadosPaginas::PG_TOPO_RELATORIO, $this->data, TRUE);
        self::cabecalhoEnvioEmail("Reservas do Mes " . self::buscarMes() . "/" . date('Y') . " para cobranca.");
        $this->email->to($para);
        $this->email->cc("wrsn.ribeiro@gmail.com;cr1assistente@gmail.com"); 
        $this->email->message($mensagem);
        return $this->email->send();
    }

    public function buscarMes() {
        switch (date("m")) {
            case "01":
                $mes = 'Janeiro';
                break;
            case "02":
                $mes = 'Fevereiro';
                break;
            case "03":
                $mes = 'Março';
                break;
            case "04":
                $mes = 'Abril';
                break;
            case "05":
                $mes = 'Maio';
                break;
            case "06":
                $mes = 'Junho';
                break;
            case "07":
                $mes = 'Julho';
                break;
            case "08":
                $mes = 'Agosto';
                break;
            case "09":
                $mes = 'Setembro';
                break;
            case "10":
                $mes = 'Outubro';
                break;
            case "11":
                $mes = 'Novembro';
                break;
            case "12":
                $mes = 'Dezembro';
                break;
        }

        return $mes;
    }

    public static function enviarEmailComCopiaComAnexo($para, $assunto, $mensagem, $copia, $anexo, $objeto) {
        self::cabecalhoEnvioEmail($assunto, $objeto);

        $objeto->email->reply_to('liderrefrigeracaoltda@gmail.com', 'Lider Refrigeração');
        $objeto->email->to($para);
        $objeto->email->cc('williamsilva.ribeiro@outlook.com, liderrefrigeracaoltda@gmail.com');

        $objeto->email->bcc($copia, 700);
        $objeto->email->message($mensagem);
        $anexo?$objeto->email->attach($anexo):null;
        $objeto->email->send();
    }
}

?>