public function enviarPacote($de = '', $html = false) { Email::$msg = $this->getTexto()->texto; if ($html) { Email::$html = $html; } if ($de) { Email::$de = $de; } Email::$assunto = $this->getTexto()->titulo; if ($this->getStatus() == self::PARADO) { self::criarListaParaEnvio($this); } $l = new Lista('mailing_pacotes_envio'); $l->condicoes('', $this->getId(), 'mailing'); $total = $l->getTotal(); if ($total > Sistema::$emailsPorHora) { $l->setParametros(Sistema::$emailsPorHora, 'limite'); $this->setStatus(self::ENVIANDO); } else { $this->setStatus(self::PARADO); } $lM = new ListaMailings(); $lM->alterar($this); $con = BDConexao::__Abrir(); while ($rs = $l->listar()) { Email::$para = $rs['email']; Email::enviar(); $con->executar("DELETE FROM " . Sistema::$BDPrefixo . "mailing_pacotes_envio WHERE mailing = '" . $this->getId() . "' AND email = '" . $rs['email'] . "'"); $l->setParametros(0); $l->setParametros($l->getParametros('limite') - 1, 'limite'); } }
$iTCM = new IFAdmin(new Arquivos(Sistema::$adminLayoutCaminhoDiretorio . "/SistemaUtilidades/mailing.html")); if (!empty($_POST)) { $erro = ''; if (empty($_POST['assunto'])) { $erro = "<b>Assunto</b> não preenchido!<br><br>"; } elseif (empty($_POST['pacote'])) { $erro = "<b>Pacote</b> não escolhido!<br><br>"; } if (empty($erro)) { $sC = new Mailing(); $sC->getTexto()->titulo = $_POST['assunto']; $sC->getTexto()->texto = $_POST['mensagem']; $lPM = new ListaPacoteMailings(); $lPM->condicoes('', $_POST['pacote'], ListaPacoteMailings::ID); $sC->setPacote($lPM->listar()); $lS = new ListaMailings(); $lS->inserir($sC); $_POST = ''; $javaScript .= Aviso::criar("Mailing salva com sucesso!"); } else { $javaScript .= Aviso::criar($erro); } } $iTCM->trocar("linkVoltar", "?p=" . $_GET['p'] . "&a=listarMailings"); $lPM = new ListaPacoteMailings(); $iTCM->createRepeticao("repetir->PacoteMailings"); while ($pM = $lPM->listar("ASC", ListaPacoteMailings::TITULO)) { $iTCM->repetir(); $iTCM->enterRepeticao()->trocar("id.PacoteMailing", $pM->getId()); $iTCM->enterRepeticao()->trocar("titulo.PacoteMailing", $pM->titulo); }
$iTLP = new IFAdmin(new Arquivos(Sistema::$adminLayoutCaminhoDiretorio . "/SistemaUtilidades/listarMailings.html")); $iTLP->trocar("linkDeletar.Mailing", "?p=" . $_GET['p'] . "&a=" . $_GET['a'] . "&"); $iTLP->trocar("linkBuscar.Mailing", "?p=" . $_GET['p'] . "&"); if (!empty($_GET['deletar'])) { $lT = new ListaMailings(); $lT->condicoes('', $_GET['deletar'], ListaMailings::ID); if ($lT->getTotal() > 0) { try { $lT->deletar($lT->listar()); $javaScript .= Aviso::criar("Mailing removido com sucesso!"); } catch (Exception $e) { $javaScript .= Aviso::criar($e->getMessage()); } } } $lT = new ListaMailings(); $iTLP->createRepeticao("repetir->Mailings"); if (!empty($_GET['busca'])) { $lT->condicoes('', "%" . $_GET['busca'] . "%", 'empresa', 'LIKE'); } $iTLP->condicao("condicaoBusca", !empty($_SESSION['nivel'])); $iTLP->trocar("linkCriar.Mailing", "?p=" . $_GET['p'] . "&a=criarMailing"); $lT->condicoes($a); while ($s = $lT->listar("ASC", ListaMailings::DATA)) { $iTLP->repetir(); $iTLP->enterRepeticao()->condicao("condicaoRemover", !empty($_SESSION['nivel'])); $bgColor = $lT->getParametros() % 2 == 0 ? '#FFFFFF' : '#EAEAEA'; $iTLP->enterRepeticao()->trocar("bgColorEmpresa", $bgColor); $iTLP->enterRepeticao()->trocar("id.Mailing", $s->getId()); $iTLP->enterRepeticao()->trocar("titulo.Mailing", $s->getTexto()->titulo); $iTLP->enterRepeticao()->trocar("status.Mailing", $s->getStatus() == 1 ? 'Parado' : 'Em Processo');
$lSC->condicoes('', $_GET['mailing'], ListaMailings::ID); $sC = $lSC->listar(); $sC->getTexto()->titulo = $_POST['assunto']; $sC->getTexto()->texto = str_replace("\\", "", eregi_replace('\\.\\./', Sistema::$caminhoURL, $_POST['mensagem'])); $lSC->alterar($sC); $sC->enviarPacote(Sistema::$nomeEmpresa . "<" . Sistema::$emailEmpresa . ">", true); $con = BDConexao::__Abrir(); $con->executar("SELECT * FROM " . Sistema::$BDPrefixo . "mailing_pacotes_envio WHERE mailing = '" . $_GET['mailing'] . "'"); if ($con->getTotal() == 0) { $javaScript .= Aviso::criar("Mailing enviado com sucesso!"); } else { $javaScript .= Aviso::criar("Para continuar o envio, clique em Enviar daqui 1 hora!"); } } else { $javaScript .= Aviso::criar($erro); } } $lSC = new ListaMailings(); $sC = $lSC->condicoes('', $_GET['mailing'], ListaMailings::ID)->listar(); $iTEM->trocar("assunto", $sC->getTexto()->titulo); $iTEM->trocar("titulo.PacoteMailing", $sC->getPacote()->titulo); $con = BDConexao::__Abrir(); $con->executar("SELECT * FROM " . Sistema::$BDPrefixo . "mailing_pacotes_envio WHERE mailing = '" . $_GET['mailing'] . "'"); $iTEM->trocar("total.Mailing", $con->getTotal() == 0 ? 0 : $sC->getPacote()->getEmails()->getTotal() - $con->getTotal()); $iTEM->trocar("total.PacoteMailing", $sC->getPacote()->getEmails()->getTotal()); $iTEM->trocar("mensagem", $sC->getTexto()->texto); $iTEM->trocar("status", $sC->getStatus() == 1 ? 'Parado' : 'Em Processo'); $iTEM->trocar("linkVoltar", "?p=" . $_GET['p'] . "&a=listarMailings"); $iTEM->createJavaScript(); $javaScript .= $iTEM->javaScript->concluir(); $includePagina = $iTEM->concluir();