<?
include("../../sesion.php");
session_start();
include("../../content/comunes/header.php");
include("../../bd-con.php");
mysqli_query($conn,"SET NAMES 'utf8'");
include("../../funciones.php");
include("../includes/config.php");
?>
<section class="modulos col-md-9 col-lg-10 <?=$seccion?>">
<br>
<div class="row col-md-12">
<div class="col-md-12">
<h1>News - Sistema de Noticias Online</h1>
</div>
</div>
<? require "../includes/class.phpmailer.php";
//comandoCron cada 10 minutos
// /usr/bin/curl -u ederto:rcybqgd8 http://www.ederto.com/administracion/news/news/newsCron.php
//enviamos mail
$mail = new PHPMailer();
$mailRespuesta = new PHPMailer();
$mail->PluginDir = "../includes/";
$mailRespuesta->PluginDir = "../includes/";
if($_SESSION['pedro']=='SI'){
$mail->Mailer = "smtp";
$mailRespuesta->Mailer = "smtp";
}else{
$mail->Mailer = "mail";
$mailRespuesta->Mailer = "mail";
}
$mail->Host = $host;
$mailRespuesta->Host = $host;
$mail->SMTPAuth = true;
$mailRespuesta->SMTPAuth = true;
$mail->Username = $desde;
$mail->Password = $pasCuenta;
$mailRespuesta->Username = $desde;
$mailRespuesta->Password = $pasCuenta;
$mail->From = $desde;
$mail->FromName = $fromNombre;
$mailRespuesta->From = $desde;
$mailRespuesta->FromName = $fromNombre;
$sqlConsigoDatos = "SELECT * FROM bisionenvioscorreo WHERE id='1'";
$resConsigoDatos = mysqli_query($conn,$sqlConsigoDatos) or die(mysqli_error($conn));
$filaCD=mysqli_fetch_array($resConsigoDatos);
$firma = $firmado;
$identificador = $filaCD['identificador'];
$presenta = $filaCD['mensaje'];
$tit = $filaCD['asunto'];
$idNew = $filaCD['idNew'];
$idAlbum = $filaCD['idAlbum'];
$nombreTabla=$filaCD['nombreTabla'];
$tipoarchivo=$filaCD['tipoarchivo'];
$ruta = $filaCD['ruta'];
$lista = $_POST['lista'];
$tiempo= $filaCD['tiempo'];
$nombreEmpresa = $fila['nombre'];
$eslogan = $filaCD['eslogan'];
$tratamiento = $filaCD['tratamiento'];
$despedida = $filaCD['despedida'];
$enmascaramientoEnlace = $filaCD['enmascaramientoEnlace'];
$logotipoCorreo = $fila['logotipoCorreo'];
//redes sociales
$sqlredes="SELECT * FROM bisionnewsredessociales";
$resredes=mysqli_query($conn,$sqlredes) or die ("error en el servidor");
$cantidad_redes = mysqli_num_rows($resredes);
$contador = 0;
while($arr_asoc_redes = mysqli_fetch_array($resredes)){
if(($arr_asoc_redes['enlace']!="http://") and ($arr_asoc_redes['enlace']!="")){
$red .= ' <a href="'.$arr_asoc_redes['enlace'].'" target="_blank"><img src="'.PROTOCOL.$_SERVER['HTTP_HOST'].'/administracion/news/redesSociales/img/'.$arr_asoc_redes['imagen'].'" alt="enlace a '.$arr_asoc_redes['titulo'].'" height="23" width="23" style="vertical-align:bottom;" /></a> <a href="'.$arr_asoc_redes['enlace'].'" target="_blank">'.$arr_asoc_redes['titulo'].'</a> ';
}
}
$body = $tit."\n";
$body.= "\n";
$body .= $presenta."\n";
switch ($identificador) {
case 1:
case 6:
$body.= $a."administracion/news/news/ver".$identificador."php?id=$idNew";
$enlacehtm= $a."administracion/news/news/ver".$identificador.".php?id=$idNew";
break;
case 5:
if($tipoarchivo!=""){
$body.= $a."administracion/news/news/$ruta";
$enlacehtm= $a."administracion/news/news/$ruta";
}else{
$body.= $ruta;
$enlacehtm= $ruta;
$rutaparse="h=1&";
//echo $enlacehtm;
}
break;
case 305:
$body.= $a."administracion/news/news/verComercio.php";
$enlacehtm= $a."administracion/news/news/verComercio.php";
break;
default:
$body.= $a."administracion/news/news/ver".$identificador.".php?id=$idNew&nombreTabla=$nombreTabla";
$enlacehtm= $a."administracion/news/news/ver".$identificador.".php?id=$idNew&nombreTabla=$nombreTabla";
break;
}
$rutaHistorico=$a."administracion/news/news/historico.php?tim=$tiempo&".$rutaparse."ruta=$enlacehtm";
$sinPlantilla = $body;
$sinPlantilla .= $firma;
$plantilla='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta property="og:title" content="'.$tit.'" />
<title>'.$tit.' - SISTEMA DE NOTICIAS</title>
<style type="text/css">
#outlook a{padding:0;}
body{width:100% !important;font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana Sans-serif,Helvetica;} .ReadMsgBody{width:100%;} .ExternalClass{width:100%;}
body{-webkit-text-size-adjust:none;}
body{margin:0; padding:0;}
img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;}
table td{border-collapse:collapse;}
#backgroundTable{height:100% !important; margin:0; padding:0; width:100% !important;}
body, #backgroundTable{
background-color:#FAFAFA;
}
#templateContainer{
border: 1px solid #DDDDDD;
border-top: 5px solid #336699;
}
h1, .h1{
color:#202020;
display:block;
font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana Sans-serif,Helvetica;
font-size:30px;
font-weight:bold;
line-height:100%;
margin-top:0;
margin-right:0;
margin-bottom:10px;
margin-left:0;
text-align:left;
}
h2, .h2{
color:#202020;
display:block;
font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana Sans-serif,Helvetica;
font-size:25px;
font-weight:bold;
line-height:100%;
margin-top:0;
margin-right:0;
margin-bottom:10px;
margin-left:0;
text-align:left;
}
h3, .h3{
color:#202020;
display:block;
font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana Sans-serif,Helvetica;
font-size:22px;
font-weight:bold;
line-height:100%;
margin-top:0;
margin-right:0;
margin-bottom:10px;
margin-left:0;
text-align:left;
}
h4, .h4{
color:#202020;
display:block;
font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana Sans-serif,Helvetica;
font-size:18px;
font-weight:bold;
line-height:100%;
margin-top:0;
margin-right:0;
margin-bottom:10px;
margin-left:0;
text-align:left;
}
#templateHeader{
background-color:#ddd !important;
border-bottom:0;
}
.headerContent{
color:#202020;
font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana Sans-serif,Helvetica;
font-size:34px;
font-weight:bold;
line-height:100%;
padding:20px 10px;
background: #ddd;
text-align:center;
vertical-align:middle;
width:100% !important;
}
.headerContent a:link, .headerContent a:visited, .headerContent a .yshortcuts {
color:#336699;
font-weight:normal;
text-decoration:underline;
}
#headerImage{
height:auto;
max-width:600px !important;
}
#templateContainer, .bodyContent{
background-color:#FFFFFF;
}
.bodyContent{
padding: 20px;
}
.bodyContent div{
color:#505050;
font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana Sans-serif,Helvetica;
font-size:14px;
line-height:125% !important;
text-align:left;
}
.bodyContent div a:link, .bodyContent div a:visited, .bodyContent div a .yshortcuts {
color:#336699;
font-weight:normal;
text-decoration:underline;
}
.templateButton{
-moz-border-radius:3px;
-webkit-border-radius:3px;
background-color:#336699;
border:0;
border-collapse:separate !important;
border-radius:3px !important;
}
.templateButton, .templateButton a:link, .templateButton a:visited, .templateButton a .yshortcuts {
color:#FFFFFF !important;
font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana Sans-serif,Helvetica;
font-size:18px;
font-weight:bold;
letter-spacing:-.5px;
line-height:100%;
text-align:center;
text-decoration:none;
}
.templateButton:hover{
opacity: .7;
}
.templateButton a[href]{
color: #fffff !important;
}
.bodyContent img{
display:inline;
height:auto;
}
#templateFooter{
background-color:#FFFFFF;
border-top:0;
}
.footerContent div{
color:#707070;
font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana Sans-serif,Helvetica;
font-size:12px;
line-height:125% !important;
padding: 0;
}
.baja {
text-align: center;
background: #e9e9e9 !important;
}
#redes {
border-bottom: 2px solid #336699;
background: #ddd !important;
width: 100% !important;
}
.footerContent div a:link, .footerContent div a:visited, .footerContent div a .yshortcuts {
color:#336699;
font-weight:normal;
text-decoration:underline;
}
.footerContent img{
display:inline;
vertical-align: middle;
}
#monkeyRewards img{
max-width:190px;
}
#social{
background: #e9e9e9;
padding-top: 10px;
text-align: center;
}
@media screen and (max-width: 599px) {
body table {
width: 600px !important;
max-width: 600px !important;
}
}
</style>
</head>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0">
<center>
<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="backgroundTable">
<tr>
<td align="center" valign="top" style="padding-top:20px;">
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templateContainer">
<tr>
<td align="center" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateHeader" style="width:100%!important">
<tr>
<td class="headerContent">
<img src="'.$dominio.'administracion/news/news/img/logotipo/'.$logotipoCorreo.'" style="max-width:600px;" id="headerImage campaign-icon" mc:label="header_image" mc:edit="header_image" mc:allowdesigner mc:allowtext />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateBody" style="width:100%!important">
<tr>
<td valign="top">
<table border="0" cellpadding="20" cellspacing="0" width="100%" style="width:100%!important">
<tr>
<td valign="top" class="bodyContent">
<div mc:edit="std_content00">
<h1 class="h1">'.$nombreEmpresa.'</h1>
<h2 class="h2"><em>'.$eslogan.'</em></h2>
<br /><strong>'.$tratamiento.'</strong> '.nl2br($presenta).'
<br />
<br />
</div>
</td>
</tr>
<tr>
<td align="center" valign="top" style="padding-top:0;">
<table border="0" cellpadding="15" cellspacing="0" class="templateButton" style="border-radius:3px !important;">
<tr>
<td valign="middle" class="templateButtonContent">
<div mc:edit="std_content01">
<a style="color:#FFFFF1 !important;text-decoration:none" href="';
$plantillaContinuacion='" target="_blank">'.$enmascaramientoEnlace.'</a>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top">
<table border="0" cellpadding="10" cellspacing="0" width="100%" id="templateFooter" style="width:100%!important">
<tr>
<td valign="top" class="footerContent">
<table border="0" cellpadding="10" cellspacing="0" width="100%" style="width:100%!important">
<tr>
<td valign="top">
<div mc:edit="std_footer">
<em>'.$despedida.'</em>
<br /><br />
'.$firmahtm.'
<br />
</div>
</td>
</tr>
<tr>
<td valign="middle">
<table border="0" cellpadding="10" cellspacing="0" class="baja" id="redes" width="100%" style="width:100%!important">
<tr>
<td>
<div>
'.$red.'
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" class="footerContent">
<table border="0" cellpadding="20" cellspacing="0" width="100%" style="width:100%!important">
<tr>
<td>
<div class="aviso-legal"><strong>AVISO LEGAL</strong><br>'.nl2br($avisoLegal).'<br></div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="15" cellspacing="0" class="baja" width="100%" style="width:100%!important">
<tr>
<td class="footerContent">
<div>Para darse de baja envíe un mensaje a <a href= mailto:'.$desde.'?subject=BAJA%20NEWS >'.$desde.'</a> indicando en el asunto BAJA NEW</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br />
</td>
</tr>
</table>
</center>
</body>
</html>';
$mail->Subject = $tit;
//$mail->Body = $plantilla;
$mail->AltBody = $sinPlantilla;
$mailRespuesta->Subject = "RESPUESTA DEL CLIENTE";
$mail->Timeout=30;
$mailRespuesta->AddAddress($desde);
$mail->CharSet = 'UTF-8';
//--------------
//SELECCIONAMOS LOS SUSCRIPTORES A LOS QUE TENEMOS QUE ENVIAR LA NEW
$sqlLosSuscriptores = "SELECT * FROM bisionenviosmails WHERE tiempo='".$tiempo."' LIMIT 0,".$limiteEnvioCron;
$resLosSuscriptores = mysqli_query($conn,$sqlLosSuscriptores) or die(mysqli_error($conn));
$totalSuscriSeleccionados = mysqli_num_rows($resLosSuscriptores);
if($totalSuscriSeleccionados > 0){ //si es >0 realizamos envio, sino, no enviamos nada.
$contEnviados=0;
$enviados=array();
while($arr_asocSuscriptores = mysqli_fetch_array($resLosSuscriptores)){
$mail->Body = $plantilla.$rutaHistorico."&t=".$arr_asocSuscriptores['idcliente'].$plantillaContinuacion;
//echo "envio mail <br>";
//entonces envio
$numEnviados++;
$mail->AddAddress($arr_asocSuscriptores['diremail']);
$exito = $mail->Send();
$intentos=1;
while((!$exito)&&($intentos<4)&&($mail->ErrorInfo!="SMTP Error: Data not accepted")){
sleep(3);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;
}
if ($mail->ErrorInfo=="SMTP Error: Data not accepted") {
$exito=true;
}
if(!$exito) {
$mailRespuesta->Body = "<b>Problemas enviando correo electronico a ".$arr_asocSuscriptores['diremail']."</b>";
$mailRespuesta->AltBody = "Problemas enviando correo electronico a ".$arr_asocSuscriptores['diremail'];
$mailRespuesta->Send();
}else{
//añado el mail al array para el historico
//echo "antes ";
//var_dump($enviados)."<br>";
$registro = array('email'=>$arr_asocSuscriptores['diremail'],'idcliente'=>$arr_asocSuscriptores['idcliente']);
$enviados[] = $registro;
// $enviados[$contEnviados]=$valor;
//echo "clave= ".$clave." valor= ".$valor."<br>";
$contEnviados++;
//echo "despu ";
//var_dump($enviados)."<br>";
//------------------------
if($recibo == 1){ //si quiero que me llegue confirmación de envÃÂo
$mensaje="<p>Has enviado una new a:<br>";
$mensaje.=$arr_asocSuscriptores['diremail']." ";
$mensaje.="</p>";
$mailRespuesta->Body = $mensaje;
$mailRespuesta->AltBody = $mensaje;
$mailRespuesta->Send();
}
}
// Borro las direcciones de destino establecidas anteriormente
$mail->ClearAddresses();
$sqlBorroSuscri = "DELETE FROM bisionenviosmails WHERE id ='".$arr_asocSuscriptores['id']."'";
$resBorroSuscri=mysqli_query($conn,$sqlBorroSuscri) or die ("error en el servidor");
}//fin while
while($actual=each($enviados)){
// echo "email: ".$actual[1]['email']." idcliente: ".$actual[1]['idcliente']."<br>";
$listadoEnviados.=$actual[1]['email'].", ";
}
$sqlIdHistorico = "SELECT id FROM bisionhistorico WHERE time='".$tiempo."'";
$resIdHistorico = mysqli_query($conn,$sqlIdHistorico) or die(mysqli_error($conn));
$filaIdHistorico = mysqli_fetch_array($resIdHistorico);
$idinsertada = $filaIdHistorico['id'];
foreach ($enviados as $actual2){
$campos2 = "idhistorico, idcliente";
$valores2 = "'".$idinsertada."',";
$valores2 .= "'".$actual2['idcliente']."'";
$sqlhistoricoclientes = "INSERT INTO bisionhistoricoclientes ($campos2) VALUES ($valores2)";
$reshistoricoclientes = mysqli_query($conn,$sqlhistoricoclientes) or die(mysqli_error($conn));
}
$updateBhistorico = "UPDATE bisionhistorico SET ";
$updateBhistorico .= "listadoEmails = concat(listadoEmails,'".$listadoEnviados."'),";
$updateBhistorico .= "numCorreosEnviados = numCorreosEnviados+".$contEnviados;
$updateBhistorico .= " WHERE id='".$idinsertada."'";
$resBhistorico =mysqli_query($conn,$updateBhistorico) or die (mysqli_error($conn));
if($totalSuscriSeleccionados < $limiteEnvioCron ){
//es el último envío, por lo que dejamos limpia bisionenvioscorreo
$campoVacio='';
$updateBEC= "UPDATE bisionenvioscorreo SET ";
$updateBEC .= "eslogan ='".$campoVacio."',";
$updateBEC .= "tratamiento ='".$campoVacio."',";
$updateBEC .= "asunto ='".$campoVacio."',";
$updateBEC .= "mensaje ='".$campoVacio."',";
$updateBEC .= "despedida ='".$campoVacio."',";
$updateBEC .= "enmascaramientoEnlace ='".$campoVacio."',";
$updateBEC .= "acuseRecibo ='".$campoVacio."',";
$updateBEC .= "idNew ='".$campoVacio."',";
$updateBEC .= "idAlbum ='".$campoVacio."',";
$updateBEC .= "nombreTabla ='".$campoVacio."',";
$updateBEC .= "tipoarchivo ='".$campoVacio."',";
$updateBEC .= "ruta ='".$campoVacio."',";
$updateBEC .= "identificador ='".$campoVacio."',";
$updateBEC .= "tiempo ='".$campoVacio."',";
$updateBEC .= "tipoEnvio ='".$campoVacio."',";
$updateBEC .= "familia ='".$campoVacio."'";
$updateBEC .= "WHERE id='1'";
$resBEC =mysqli_query($conn,$updateBEC) or die (mysqli_error($conn));
}else{
//comprobamos si son los ultimos 35 (justo justo 35), si lo son, dejamos también limpia bisionenvioscorreo
$sqlLosSuscriQuedan = "SELECT * FROM bisionenviosmails WHERE tiempo='$tiempo'";
$resLosSuscriQuedan = mysqli_query($conn,$sqlLosSuscriQuedan) or die(mysqli_error($conn));
$totalSuscriQuedan = mysqli_num_rows($resLosSuscriQuedan);
if($totalSuscriQuedan==0){//si justo quedaban 35, limpio tambien, sino nada.
$campoVacio='';
$updateBEC= "UPDATE bisionenvioscorreo SET ";
$updateBEC .= "eslogan ='".$campoVacio."',";
$updateBEC .= "tratamiento ='".$campoVacio."',";
$updateBEC .= "asunto ='".$campoVacio."',";
$updateBEC .= "mensaje ='".$campoVacio."',";
$updateBEC .= "despedida ='".$campoVacio."',";
$updateBEC .= "enmascaramientoEnlace ='".$campoVacio."',";
$updateBEC .= "acuseRecibo ='".$campoVacio."',";
$updateBEC .= "idNew ='".$campoVacio."',";
$updateBEC .= "idAlbum ='".$campoVacio."',";
$updateBEC .= "nombreTabla ='".$campoVacio."',";
$updateBEC .= "tipoarchivo ='".$campoVacio."',";
$updateBEC .= "ruta ='".$campoVacio."',";
$updateBEC .= "identificador ='".$campoVacio."',";
$updateBEC .= "tiempo ='".$campoVacio."',";
$updateBEC .= "tipoEnvio ='".$campoVacio."',";
$updateBEC .= "familia ='".$campoVacio."'";
$updateBEC .= "WHERE id='1'";
$resBEC =mysqli_query($conn,$updateBEC) or die (mysqli_error($conn));
}
}
$minutosQuedan = ceil(($totalSuscriQuedan * $cadaCuantoEjecutamosCron)/$limiteEnvioCron);
?>
<div class="alert alert-success" role="alert">
N. total de destinatarios: <? echo $_POST['totalCorreosAEnviar']; ?>
<br>
El proceso de envío ha comenzado, se estima que el envío tardará <?=$minutosQuedan;?> minutos aprox.
</div>
<p class="text-center">
<a href="listado.php?lista=<? echo $lista ?>" class="btn btn-default btn-lg">Aceptar</a>
</p>
<? }//fin if (num_rows); ?>
</section>
<?php
include("../../content/comunes/footer.php");
?>
</body>
</html>