|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/logicswapweb/datasheets/guias/ |
Upload File : |
<?php
include('./aplicaciones/admon/fnc/DBConnect.php');
include('./aplicaciones/admon/fnc/componente.php');
include('./aplicaciones/admon/fnc/parametro.php');
include('./aplicaciones/admon/fnc/utileria.php');
include('./aplicaciones/admon/fnc/aplicacion.php');
include('./aplicaciones/admon/newsletter/fnc/newsletter.php');
include('./aplicaciones/admon/usuariosWeb/fnc/usuarioWeb.php');
$newsletter = new Newsletter("msgAplicaciones.php","/panel_aplicaciones/","aplicaciones/admon/newsletter/","www.azuldigital.com");
$newsletter->setFilesApli(6);
$newsletter->disableDebug();
$newsletter->parametro->disableDebug();
$newsletter->loadAplicacion(10,"cliente");
$con = new DBManager();
$con->connect();
$fecha= date('Y-m-d');
$sql = "select id from news_newsletter where estado='programado' and fecha_env='$fecha'";
if($con->execute($sql)){
$inicio = 0;
//cantidadIntervalos es equivalente a la cantidad de etapas necesarias para enviar el news a todos los usuarios
$cantidadIntervalos = NULL;
//cantidadEnviosPorIntervalo es equivlanete a la cantidad de email que se enviaran en cada etapa
$cantidadEnviosPorIntervalo = NULL;
//
$envios = NULL;
//totalGeneral = total de usuarios que han correspondido con las condiciones de tema impuestas para el newsletter
$totalGeneral = NULL;
//totalNetoFiltro es equivalente a la cantidad de usuarios que recibiran el newsletter
$totalNetoFiltro = NULL;
//intervalo es la etapa en la que me encuentro dentro del proceso de envio
$intervalo = 1;
//recorridos es equivalente a la cantidad de usuarios que han sido sifiltrados en el envio
$recorridos = 0;
//hechos son los usuarios que corresponden con el filtro y a los cuales se les han enviado newsletter
$hechos = 0;
$flag = 0;
while(list($seleccion)=$con->fetchRow()){
$flag++;
$row= $newsletter->getNewsletter($seleccion);
$asunto = $row['titulo'];
$cantidad_temas_seleccionados=NULL;
if($row['general_tema']=="todos"){
$cantidad_temas_seleccionados = $newsletter->cantidadTemas();
}
if($row['general_tema']=="ninguno"){
$cantidad_temas_seleccionados = $newsletter->cantidadTemasVinculados();
}
if($row['general_tema']=="alguno"){
$cantidad_temas_seleccionados = $newsletter->cantidadCondicionesTema($seleccion);
}
//consulta que arroja todos los usuarios a los que debo enviar el newsletter
$sql= $newsletter->makeQuery($seleccion);
//mensaje de newsletter a enviar, apartir de las plantillas
$mensaje = $newsletter->preNewsletter($seleccion,"aplicaciones/admon/newsletter/plantillas/");
$error=false;
$msgAnalisis="";
//la primera vez que entra a la pagina para definir las variables necesarias para el envio
if(empty($cantidadEnviosPorIntervalo) || empty($cantidadIntervalos)|| empty($totalNetoFiltro) || empty($totalGeneral) || empty($envios)){
$valor = $newsletter->getConfiguracionEnvio($sql,$mensaje,$row['titulo'],$cantidad_temas_seleccionados,$row['filtro_tema']);
if(!is_array($valor)){
echo "\n".$newsletter->salida['msg']."\n\n";
$error = true;
}else{
$error= false;
$cantidadIntervalos = (int)$valor['cantidadIntervalos'];
$cantidadEnviosPorIntervalo = $valor['cantidadEnviosPorIntervalo'];
$envios = $valor['envios'];
$totalGeneral = $valor['totalGeneral'];
$totalNetoFiltro = $valor['totalNetoFiltro'];
$tiempoDisponible = (int)ini_get("max_execution_time");
$newTime = (string)$tiempoDisponible*$cantidadIntervalos;
ini_alter ( "max_execution_time", $newTime);
echo "\n tiempo estimado para este envio: ".ini_get("max_execution_time")." segundos\n";
}
if($totalNetoFiltro==0){
$msgAnalisis=$newsletter->getMensaje("[160]","confirmacion");
$intervalo=0;
}
}
echo "Asunto : ".$row['titulo']."\n";
echo "Cantidad de usaurios a los que se realizara el envio : ".$totalNetoFiltro."\n";
echo "Cantidad de etapas a realizar para completar el envio :".$cantidadIntervalos."\n";
echo "Cantidad de etapas realizadas : ".$intervalo."\n";
if($totalNetoFiltro>0){
while($intervalo <= $cantidadIntervalos){ echo $intervalo.", ";
$inf=$newsletter->sendNewsletter($sql,$mensaje,$totalGeneral,$totalNetoFiltro,$hechos,$recorridos,$intervalo,$cantidad_temas_seleccionados,$row['filtro_tema'],$cantidadEnviosPorIntervalo,$row['titulo']);
if(is_array($inf)){
if($intervalo == $cantidadIntervalos){
$newsletter->modNewsletter($seleccion, "enviado", "estado");
echo "\n\nPROCESO DE ENVIO COMPLETADO PARA EL NEWSLETTER : ".$row['titulo']."!!!\n\n";
$intervalo++;
}else{
$hechos=$inf['hechos'];
$recorridos=$inf['recorridos'];
$intervalo=$inf['intervalo'];
}
}else{
echo "\n\n*-".$newsletter->salida['msg']."-*\n\n";
}
}//end while
if($intervalo>=$cantidadIntervalos){
$inicio = 0;
$cantidadIntervalos = NULL;
$cantidadEnviosPorIntervalo = NULL;
$envios = NULL;
$totalGeneral = NULL;
$totalNetoFiltro = NULL;
$intervalo = 1;
$recorridos = 0;
$hechos = 0;
}
}else{
echo "\n\n*- $msgAnalisis -*\n\n";
$inicio = 0;
$cantidadIntervalos = NULL;
$cantidadEnviosPorIntervalo = NULL;
$envios = NULL;
$totalGeneral = NULL;
$totalNetoFiltro = NULL;
$intervalo = 1;
$recorridos = 0;
$hechos = 0;
}
}//end while principal
if($flag==0){echo "\n\n*-no hay newsletter programados!-*\n\n";}
if($flag>0){echo "\n\n*-se enviaron todos los newsletters programados!-*\n\n";}
}else{
echo "\n\n ultimo*-".$con->getException()."-*\n\n";
}
$newsletter->enableDebug();
?>