<?php
class EmailsTemplates{
  // Geral
  public $bd;
  public $langs = array();
  public $textsLangs = array();

  public function __construct($bd){ $this->bd = $bd; }

  public function config($dados, $tipo, $lang='pt_BR'){
    $this->html = "";
    $this->dados = $dados;
    $this->tipo = $tipo;
    $this->lang = $lang;
    $this->getTextTranslate();
    $this->getHtml();
  }

  public function getHtml(){
    $this->cabecalho();
    if($this->tipo==1){$this->faturaGerada();}
    if($this->tipo==2){$this->faturaLembrete();}
    if($this->tipo==3){$this->faturaAtraso();}
    if($this->tipo==4){$this->faturaBloqueio();}
    $this->rodape();

    $this->htmlAdjust();
  }

  // CABEÇALHO E RODAPÉ *********
  // ****************************
  public function cabecalho(){
    $this->html .= '<div style="width: 700px; background-color: #252525; padding-top: 30px; padding-bottom: 30px; font-family: arial, sans-serif"><div style="width: 600px; position: relative; margin-left: 50px;"><div style=""><img src="https://pokerweb.com.br/_site_files/imagens/logos/emails/pokerweb.png" style="width: 250px; margin: 10px 0 10px 0"></div>';
  }

  public function rodape(){
    $this->html .= $this->_t('Atenciosamente').',<br>PokerWeb</div></div>';
    $this->html .= '<div style="text-align: center; margin: 10px 0 0 0; font-size: 12px; color: #9a9a9a">'.$this->_t('Por favor, não responda este e-mail, o mesmo foi gerado automaticamente e não pode receber respostas de retorno.').'</div></div>';
  }


  // CONTEÚDO ********************
  // ****************************
  function faturaGerada(){
    // Assunto
    $this->assunto = 'PokerWeb - '.$this->_t('Fatura Gerada');
    // Conteudo
    $this->html .= '
      <div style="font-size: 30px; text-align: center;padding: 20px 0 15px 0; background-color: #3b75d0; color: #ffffff; border-radius: 7px 7px 0 0">
        '.$this->_t('Aviso de Fatura Gerada').'</div>
      <div style="font-size:14px; padding: 25px; background-color: #ffffff; border-radius: 0 0 7px 7px; margin: 10px 0 0 0;line-height: 25px;">
        '.$this->dados['clube'].',<br>
        '.$this->_t('Informamos que a fatura para utilização do sistema, referente ao mês de {{month}}, já está disponível.').'<br>
        <div style="line-height: 20px;border-top: solid 2px #c5c5c5;border-bottom: solid 2px #C5C5C5;padding: 10px 0 10px 0;margin: 10px 0 20px 0 ">
          <div style="font-size: 16px; font-weight: bold; margin-bottom: 10px">'.$this->_t('INFORMAÇÕES SOBRE A FATURA').'</div>
          <strong>'.$this->_t('Sistema').':</strong> '.$this->_t($this->dados['plano_sistema']).'<br>
          <strong>'.$this->_t('Plano').':</strong> '.$this->_t($this->dados['plano_nivel']).'<br>
          <strong>'.$this->_t('Valor').':</strong> '.$this->dados['valor'].'<br>
          <strong>'.$this->_t('Vencimento').':</strong> '.$this->dados['vencimento'].'<br>
          <strong>'.$this->_t('Mês para Utilização').':</strong> '.$this->_t($this->dados['mes']).'<br>
        </div>
        '.$this->_t('Para efetuar o pagamento, utilize o link abaixo').':<br><br>
        <a href="'.$this->dados['link_pagamento'].'" target="_blank">'.$this->dados['link_pagamento'].'</a><br>
        <span style="color: #6a6a6a;font-size: 12px">('.$this->_t('se o link não estiver habilitado, copie e cole na barra de endereços do seu navegador').')</span><br>
        <br><br>
      ';
  }

  function faturaLembrete(){
    // Assunto
    $this->assunto = 'PokerWeb - '.$this->_t('Lembrete da Fatura');
    // Conteudo
    $this->html .= '
      <div style="font-size: 30px; text-align: center;padding: 20px 0 15px 0; background-color: #3b75d0; color: #ffffff; border-radius: 7px 7px 0 0">
        '.$this->_t('Lembrete da Fatura').'</div>
      <div style="font-size:14px; padding: 25px; background-color: #ffffff; border-radius: 0 0 7px 7px; margin: 10px 0 0 0;line-height: 25px;">
        '.$this->dados['clube'].',<br>
        '.$this->_t('Este é um lembrete para pagamento da fatura, referente ao mês de {{month}}.').'<br>
        <div style="line-height: 20px;border-top: solid 2px #c5c5c5;border-bottom: solid 2px #C5C5C5;padding: 10px 0 10px 0;margin: 10px 0 20px 0 ">
          <div style="font-size: 16px; font-weight: bold; margin-bottom: 10px">'.$this->_t('INFORMAÇÕES SOBRE A FATURA').'</div>
          <strong>'.$this->_t('Sistema').':</strong> '.$this->_t($this->dados['plano_sistema']).'<br>
          <strong>'.$this->_t('Plano').':</strong> '.$this->_t($this->dados['plano_nivel']).'<br>
          <strong>'.$this->_t('Valor').':</strong> '.$this->dados['valor'].'<br>
          <strong>'.$this->_t('Vencimento').':</strong> '.$this->dados['vencimento'].'<br>
          <strong>'.$this->_t('Mês para Utilização').':</strong> '.$this->_t($this->dados['mes']).'<br>
        </div>
        '.$this->_t('Para efetuar o pagamento, utilize o link abaixo').':<br><br>
        <a href="'.$this->dados['link_pagamento'].'" target="_blank">'.$this->dados['link_pagamento'].'</a><br>
        <span style="color: #6a6a6a;font-size: 12px">('.$this->_t('se o link não estiver habilitado, copie e cole na barra de endereços do seu navegador').')</span><br>
        <br><br>
      ';
  }

  function faturaAtraso(){
    // Assunto
    $this->assunto = 'PokerWeb - '.$this->_t('Fatura em Atraso');
    // Conteudo
    $this->html .= '
      <div style="font-size: 30px; text-align: center;padding: 20px 0 15px 0; background-color: #3b75d0; color: #ffffff; border-radius: 7px 7px 0 0">
        '.$this->_t('Fatura em Atraso').'</div>
      <div style="font-size:14px; padding: 25px; background-color: #ffffff; border-radius: 0 0 7px 7px; margin: 10px 0 0 0;line-height: 25px;">
        '.$this->dados['clube'].',<br>
        '.$this->_t('Até o momento, nosso sistema não identificou o pagamento da fatura, referente ao mês de {{month}}.').'<br>
        <div style="line-height: 20px;border-top: solid 2px #c5c5c5;border-bottom: solid 2px #C5C5C5;padding: 10px 0 10px 0;margin: 10px 0 20px 0 ">
          <div style="font-size: 16px; font-weight: bold; margin-bottom: 10px">'.$this->_t('INFORMAÇÕES SOBRE A FATURA').'</div>
          <strong>'.$this->_t('Sistema').':</strong> '.$this->_t($this->dados['plano_sistema']).'<br>
          <strong>'.$this->_t('Plano').':</strong> '.$this->_t($this->dados['plano_nivel']).'<br>
          <strong>'.$this->_t('Valor').':</strong> '.$this->dados['valor'].'<br>
          <strong>'.$this->_t('Vencimento').':</strong> '.$this->dados['vencimento'].'<br>
          <strong>'.$this->_t('Mês para Utilização').':</strong> '.$this->_t($this->dados['mes']).'<br>
        </div>
        <div style="font-weight: bold; text-align: center; color: #960100">'.$this->_t('REGULARIZE O PAGAMENTO E EVITE O BLOQUEIO DO SISTEMA').'</div><br>
        '.$this->_t('Para efetuar o pagamento, utilize o link abaixo').':<br><br>
        <a href="'.$this->dados['link_pagamento'].'" target="_blank">'.$this->dados['link_pagamento'].'</a><br>
        <span style="color: #6a6a6a;font-size: 12px">('.$this->_t('se o link não estiver habilitado, copie e cole na barra de endereços do seu navegador').')</span><br>
        <br><br>
      ';
  }

  function faturaBloqueio(){
    // Assunto
    $this->assunto = 'PokerWeb - '.$this->_t('Sistema Bloqueado');
    // Conteudo
    $this->html .= '
      <div style="font-size: 30px; text-align: center;padding: 20px 0 15px 0; background-color: #3b75d0; color: #ffffff; border-radius: 7px 7px 0 0">
        '.$this->_t('Sistema Bloqueado').'</div>
      <div style="font-size:14px; padding: 25px; background-color: #ffffff; border-radius: 0 0 7px 7px; margin: 10px 0 0 0;line-height: 25px;">
        '.$this->dados['clube'].',<br>
        '.$this->_t('Até o momento, nosso sistema não identificou o pagamento da fatura, referente ao mês de {{month}}, por este motivo, o sistema foi bloqueado para uso.').'<br>
        <div style="line-height: 20px;border-top: solid 2px #c5c5c5;border-bottom: solid 2px #C5C5C5;padding: 10px 0 10px 0;margin: 10px 0 20px 0 ">
          <div style="font-size: 16px; font-weight: bold; margin-bottom: 10px">'.$this->_t('INFORMAÇÕES SOBRE A FATURA').'</div>
          <strong>'.$this->_t('Sistema').':</strong> '.$this->_t($this->dados['plano_sistema']).'<br>
          <strong>'.$this->_t('Plano').':</strong> '.$this->_t($this->dados['plano_nivel']).'<br>
          <strong>'.$this->_t('Valor').':</strong> '.$this->dados['valor'].'<br>
          <strong>'.$this->_t('Vencimento').':</strong> '.$this->dados['vencimento'].'<br>
          <strong>'.$this->_t('Mês para Utilização').':</strong> '.$this->_t($this->dados['mes']).'<br>
        </div>
        <div style="font-weight: bold; text-align: center; color: #960100">'.$this->_t('REGULARIZE O PAGAMENTO PARA DESBLOQUEAR O SISTEMA').'</div><br>
        '.$this->_t('Para efetuar o pagamento, utilize o link abaixo').':<br><br>
        <a href="'.$this->dados['link_pagamento'].'" target="_blank">'.$this->dados['link_pagamento'].'</a><br>
        <span style="color: #6a6a6a;font-size: 12px">('.$this->_t('se o link não estiver habilitado, copie e cole na barra de endereços do seu navegador').')</span><br>
        <br><br>
        <div style="font-size: 16px; font-weight: bold; margin-bottom: 10px; color: #960100">'.$this->_t('IMPORTANTE').'</div>'
        .$this->_t('Se não houver o pagamento desta fatura até o dia 20 de {{month}}, o sistema será CANCELADO e uma nova taxa de SETUP será cobrado em caso de reativação.').'<br><br>'
        .$this->_t('Caso não queira dar continuidade ao uso do sistema, solicite-nos o cancelamento à nossa equipe de suporte.').'<br><br>
      ';
  }


  // AJUSTES FINAIS NO HTML *****
  // ****************************
  private function htmlAdjust(){
    $this->html = str_replace('{{month}}', $this->_t($this->dados['mes']), $this->html);
  }


  // TRADUÇÃO ********************
  // ****************************

  // Pega lista de iso disponíveis
  public function langEnable(){
    if(count($this->langs)==0){
      $sql = $this->bd->getConexao()->prepare('
      SELECT 
        pais.traducao_titulo,
        pais.traducao_iso,
        pais.bandeira
      FROM _pw.traducao trad
        LEFT JOIN _pw.local_pais pais ON pais.id = trad.pais
      WHERE trad.status = 1 AND trad.sistema = "fncr"');
      if($sql->execute()){$idiomas_liberados = $sql->fetchall(PDO::FETCH_ASSOC);}
      foreach($idiomas_liberados as $l){
        $this->langs[]=$l['traducao_iso'];
      }
    }
    return in_array($this->lang, $this->langs);
  }

  // Pega textos traduzidos
  public function getTextTranslate(){
    if($this->lang!="pt_BR" && !isset($this->textsLangs[$this->lang])){
      // Verifica se idioma está liberado
      if($this->langEnable()){
        // Textos traduzidos
        $sql = $this->bd->getConexao()->prepare('SELECT texto, '.$this->lang.' as traducao FROM _pw.traducao_fncr');
        if($sql->execute()){$textos = $sql->fetchall(PDO::FETCH_ASSOC);}
        // Preparando array
        $this->textsLangs[$this->lang] = array();
        foreach($textos as $l){
          $this->textsLangs[$this->lang][$l['texto']] = $l['traducao'];
        }
      }
    }
  }

  // Função que substitui o texto pela tradução
  function _t($text){
    return isset($this->textsLangs[$this->lang][$text]) ? $this->textsLangs[$this->lang][$text] : $text;
  }

}