KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/logicswapweb/datasheets/guias/sendNewsProg.php
<?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();
?>

Anon7 - 2021