예제 #1
0
 public static function exportar()
 {
     $formulario = new Formulario();
     $formulario->selecionarPorId($_GET['id']);
     $participante = new Participante();
     $participantes = $participante->listarPorIdFormulario($_GET['id']);
     $idsParticipantes = array();
     foreach ($participantes as $participante) {
         $objetoParticipante = json_decode($participante->respostas);
         $idsParticipantes[] = $objetoParticipante->email;
     }
     $output = implode(", ", $idsParticipantes);
     header("Pragma: public");
     header("Expires: 0");
     header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
     header("Cache-Control: private", false);
     header("Content-Transfer-Encoding: binary;\n");
     header("Content-Disposition: attachment; filename=\"Emails Participantes Formulario " . $formulario->nome . ".txt\";\n");
     header("Content-Type: application/force-download");
     header("Content-Type: application/octet-stream");
     header("Content-Type: application/download");
     header("Content-Description: File Transfer");
     header("Content-Length: " . strlen($output) . ";\n");
     echo $output;
     exit;
 }
 public static function enviar()
 {
     $templateEmail = new TemplateEmail();
     $templateEmail->selecionarPorId($_GET['id']);
     $participante = new Participante();
     $participantes = $participante->listarPorIdFormulario($templateEmail->fkFormulario);
     $formulario = new Formulario();
     $formulario->selecionarPorId($templateEmail->fkFormulario);
     if (!empty($_POST)) {
         $evento = new Evento();
         $evento->selecionarPorId($templateEmail->fkEvento);
         foreach ($_POST['participantes'] as $idParticipante) {
             $participante = new Participante();
             $participante->selecionarPorId($idParticipante);
             $resposta = get_object_vars(json_decode($participante->respostas));
             $variaveisResposta = array_keys($resposta);
             array_walk($variaveisResposta, function (&$valor) {
                 $valor = '[[' . $valor . ']]';
             });
             $mensagemTemplate = str_replace($variaveisResposta, array_values($resposta), $templateEmail->mensagem);
             if (strpos($mensagemTemplate, '[[linkConfirmacao]]') !== false) {
                 $mensagemTemplate = str_replace('[[linkConfirmacao]]', Funcao::resolveUrlRelativaParaAbsoluta(Configuracao::$baseUrl, '../confirmacao.html?h=' . md5(date('YmdHis')) . base64_encode($idParticipante)), $mensagemTemplate);
             }
             if (strpos($mensagemTemplate, '[[linkFinalizacao]]') !== false) {
                 $mensagemTemplate = str_replace('[[linkFinalizacao]]', Funcao::resolveUrlRelativaParaAbsoluta(Configuracao::$baseUrl, '../inscricoesFoto.html?h=' . md5(date('YmdHis')) . $idParticipante), $mensagemTemplate);
             }
             if (strpos($mensagemTemplate, '[[linkCertificado]]') !== false) {
                 $mensagemTemplate = str_replace('[[linkCertificado]]', Funcao::resolveUrlRelativaParaAbsoluta(Configuracao::$baseUrl, '../certificacao.html?h=' . rawurlencode(base64_encode(@mcrypt_encrypt(MCRYPT_RIJNDAEL_256, 'mestresplinter', $idParticipante, MCRYPT_MODE_CFB))) . md5(date('YmdHis'))), $mensagemTemplate);
             }
             Funcao::enviarEmail($resposta['email'], '=?utf-8?B?' . base64_encode($templateEmail->assunto) . '?=', $mensagemTemplate);
         }
         self::redirecionar(Configuracao::$baseUrl . 'templateEmail/listar/' . $templateEmail->fkFormulario . '-' . Funcao::prepararLink($formulario->nome) . Configuracao::$extensaoPadrao);
     }
     self::$variaveis = array('participantes' => $participantes, 'idFormulario' => $templateEmail->fkFormulario);
     self::$corpo = "enviar";
     self::renderizar(self::$viewController);
 }