<?php

	include 'headers.inc';

	require_once 'dbconn.inc';
	//require_once './mail.php';
	if(!$dbconn=conectardb()){
		echo 'Error conexion.';
		exit();
	}
	use PHPMailer\PHPMailer\PHPMailer;
	use PHPMailer\PHPMailer\SMTP;
	use PHPMailer\PHPMailer\Exception;

	require_once '/var/www/be.quinteam.com/html/include/phpmailer/src/Exception.php';
	require_once '/var/www/be.quinteam.com/html/include/phpmailer/src/PHPMailer.php';
	require_once '/var/www/be.quinteam.com/html/include/phpmailer/src/SMTP.php';
	
	// passing true in constructor enables exceptions in PHPMailer
	$mail = new PHPMailer(true);

	//$emailToBase='avisos.mas@newno.marketing';	//comentar el de sota i descomentar el de sobre
	//$emailToBase='miriam.sutil@newno.marketing';
	$emailToBase='kiko@kolivier.com';

	//$emailTo='avisos.mas@newno.marketing';	//comentar el de sota i descomentar el de sobre
	//$emailTo='miriam.sutil@newno.marketing';
	$emailTo='kiko@kolivier.com';

	$destinostest = array();
	$destinostest[] = "kiko@kolivier.com";
	//enviaMail ('TEST','TEST','no-reply@newno.marketing','kiko3@kolivier.com','',$destinostest);
	
	$diassemana = array('Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;bado','Domingo');

	$festivos = array();
	
	
	$festivos[]=strtotime("2024-01-01"); //Año nuevo
	$festivos[]=strtotime("2024-01-06"); //Reyes
	$festivos[]=strtotime("2024-03-28"); //Jueves Santo
	$festivos[]=strtotime("2024-03-09"); //Viernes Santo
	$festivos[]=strtotime("2024-05-01"); //Dia del trabajador
	$festivos[]=strtotime("2024-05-02"); //Comunidad de Madrid
	$festivos[]=strtotime("2024-05-15"); //San Isidro
	$festivos[]=strtotime("2024-07-25"); //Santiago Madrid
	$festivos[]=strtotime("2024-08-15"); //Asunción
	$festivos[]=strtotime("2024-10-12"); //Hispanidad
	$festivos[]=strtotime("2024-11-01"); //Todos los santos
	$festivos[]=strtotime("2024-11-09"); //Almudena Madrid
	$festivos[]=strtotime("2024-12-06"); //Constitucion
	$festivos[]=strtotime("2024-12-08"); //Inmaculada
	$festivos[]=strtotime("2024-12-24"); //Nochebuena
	$festivos[]=strtotime("2024-12-25"); //Navidad
			
	$festivos[]=strtotime("2025-01-01"); //Año nuevo
	$festivos[]=strtotime("2025-01-06"); //Reyes
	$festivos[]=strtotime("2025-04-17"); //Jueves Santo
	$festivos[]=strtotime("2025-04-18"); //Viernes Santo
	$festivos[]=strtotime("2025-05-01"); //Dia del trabajador
	$festivos[]=strtotime("2025-05-02"); //Comunidad de Madrid
	$festivos[]=strtotime("2025-05-15"); //San Isidro
	$festivos[]=strtotime("2025-07-25"); //Santiago Madrid
	$festivos[]=strtotime("2025-08-15"); //Asunción
	$festivos[]=strtotime("2025-10-12"); //Hispanidad
	$festivos[]=strtotime("2025-11-01"); //Todos los santos
	$festivos[]=strtotime("2025-11-10"); //Almudena Madrid
	$festivos[]=strtotime("2025-12-06"); //Constitucion
	$festivos[]=strtotime("2025-12-08"); //Inmaculada
	$festivos[]=strtotime("2025-12-24"); //Nochebuena
	$festivos[]=strtotime("2025-12-25"); //Navidad
	
	$festivos[]=strtotime("2026-01-01"); //Año nuevo
	$festivos[]=strtotime("2026-01-06"); //Reyes
	$festivos[]=strtotime("2026-04-02"); //Jueves Santo
	$festivos[]=strtotime("2026-04-03"); //Viernes Santo
	$festivos[]=strtotime("2026-05-01"); //Dia del trabajador
	$festivos[]=strtotime("2026-05-02"); //Comunidad de Madrid
	$festivos[]=strtotime("2026-05-15"); //San Isidro
	$festivos[]=strtotime("2026-07-25"); //Santiago Madrid
	$festivos[]=strtotime("2026-08-15"); //Asunción
	$festivos[]=strtotime("2026-10-12"); //Hispanidad
	$festivos[]=strtotime("2026-11-02"); //Todos los santos
	$festivos[]=strtotime("2026-11-10"); //Almudena Madrid
	$festivos[]=strtotime("2026-12-07"); //Constitucion
	$festivos[]=strtotime("2026-12-08"); //Inmaculada
	$festivos[]=strtotime("2026-12-24"); //Nochebuena
	$festivos[]=strtotime("2026-12-25"); //Navidad

	
	preparequerys();
	activa(6);
	exec_WF(6);
	
	
	function preparequerys(){
		global $dbconn;
		
//DIRECTORIOS
		$query="select * from directorio as d where d.idcliente=$1 and d.workflow<>'WF00' AND d.etapa<80;";
		//select * from directorio as d where d.workflow='WF01' AND d.etapa=1;
		$resultprep = pg_prepare($dbconn,"edicionesWIP",$query);
		
		$query="select * from directorio as d where d.workflow=$1 AND d.etapa=$2;";
		//select * from directorio as d where d.workflow='WF01' AND d.etapa=1;
		$resultprep = pg_prepare($dbconn,"buscaetapa",$query);
		
		$query="update directorio set etapa=$2 where iddirectorio=$1;";
		$resultprep = pg_prepare($dbconn,"actualizaetapa",$query);
		
		$query="update directorio set workflow=$2 where iddirectorio=$1;";
		$resultprep = pg_prepare($dbconn,"actualizawf",$query);

		$queryAloTrf="select iddirectorio,nombre from directorio where not tipo='edicion' and iddirectorio in(select idpadre from directorio where iddirectorio=$1);";
		$resultprep = pg_prepare($dbconn,"queryAloTrf",$queryAloTrf);
		
		$queryNomDir="select nombre from directorio where tipo=$2 and iddirectorio=$1;";
		$resultprep = pg_prepare($dbconn,"queryNomDir",$queryNomDir);
		
		$query="with listado as (select d.iddirectorio,p.estadopagina,count(*) from pagina p join directorio d on d.iddirectorio=p.pagina_edicion where d.idcliente=$1 and (d.tipo='publicacion' or  d.tipo='pubvariante') and d.etapa=99 and p.fechaestado>p.fechacreacion group by d.iddirectorio,p.estadopagina) update directorio set etapa=1 where iddirectorio in (select iddirectorio from listado where listado.estadopagina=1) and iddirectorio not in (select iddirectorio from listado where listado.estadopagina<>1);";
		$query="with listado as (select d.iddirectorio,p.estadopagina,count(*) from pagina p join directorio d on d.iddirectorio=p.pagina_edicion where d.idcliente=$1 and (d.tipo='publicacion' or  d.tipo='pubvariante') and d.etapa=99 and p.fechaestado>p.fechacreacion group by d.iddirectorio,p.estadopagina) select iddirectorio from directorio  where iddirectorio in (select iddirectorio from listado where listado.estadopagina=0) and iddirectorio not in (select iddirectorio from listado where listado.estadopagina<>0);";
		$resultprep = pg_prepare($dbconn,"activaretapa",$query);
		
//LISTADOS EMAILS
		$querypubbcc="select btrim(u.email) as email from usuario u join usuario_edicion ue on u.iduser=ue.idusuario where ue.idedicion=$1;";
		$resultprep = pg_prepare($dbconn,"listadopubbcc",$querypubbcc);
		
		$querybcc="SELECT btrim(u.email) as email ,btrim(u.firstname) as firstname ,btrim(u.lastname) as lastname, s.idseccion as idseccion from usuario u join usuario_seccion us on u.iduser=us.idusuario join seccion s on us.idseccion=s.idseccion WHERE u.idcliente=$1 and u.alertas=true and upper(s.descripcion)=$2;";
		$resultprep = pg_prepare($dbconn,"listadobcc",$querybcc);
		
		$queryAlobcc="SELECT btrim(u.email) as email ,btrim(u.firstname) as firstname ,btrim(u.lastname) as lastname, s.idseccion as idseccion from usuario u join usuario_seccion us on u.iduser=us.idusuario join seccion s on us.idseccion=s.idseccion WHERE u.idcliente=$1 and u.alertas=true and u.alcampo_alo=true and upper(s.descripcion)=$2;";
		$resultprep = pg_prepare($dbconn,"listadoAlobcc",$queryAlobcc);
		
//PAGINAS
		$query="select(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND p.estadopagina=$2 AND p.estadoaviso=$3) as contadorenvios,(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND not (p.estadopagina=$2 AND p.estadoaviso=$3))as contadorotras;";
		$resultprep = pg_prepare($dbconn,"contarlistadoenvio",$query);
		
		$query="SELECT * from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND upper(nombrepagina) like $2 AND d.etapa=$3 AND p.estadopagina=$4 AND p.estadoaviso=$5;";
		$resultprep = pg_prepare($dbconn,"listadosubida1",$query);
		
//WORKFLOW V2
		$query="select(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND p.estadopagina=1 AND p.numeroversion=2) as contadorenvios,(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1  AND p.numeroversion=2 AND not(p.estadopagina=1))as contadorotras;";
		$resultprep = pg_prepare($dbconn,"contarlistadoenvioV2",$query);
		
		$query="SELECT * from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND upper(nombrepagina) like $2 AND d.etapa=$3 AND p.estadopagina=$4 AND p.estadoaviso=$5;";
		$resultprep = pg_prepare($dbconn,"listadosubida1V2",$query);
		
//WORKFLOW V2
		$query="select(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2 AND p.estadopagina=$3 AND p.estadoaviso=$4 AND (p.limitedate < ((now() at time zone 'utc')+interval '24 hours'))) as contadorenvios,(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2  AND p.estadopagina=$3 AND p.estadoaviso=$4 AND (p.limitedate > ((now() at time zone 'utc')+interval '24 hours')))as contadorotras;";
		$resultprep = pg_prepare($dbconn,"contarlistadoenvio24h",$query);
		
		$query="SELECT * from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND upper(nombrepagina) like $2 AND d.etapa=$3 AND p.estadopagina=$4 AND p.estadoaviso=$5 AND (p.limitedate < ((now() at time zone 'utc')+interval '24 hours'));";
		$resultprep = pg_prepare($dbconn,"listadoenvio24h",$query);
		
		
		$query="select(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2 AND p.estadopagina=$3 AND p.estadoaviso=$4 AND (p.limitedate < ((now() at time zone 'utc')+interval '2 hours'))) as contadorenvios,(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2  AND p.estadopagina=$3 AND p.estadoaviso=$4 AND (p.limitedate > ((now() at time zone 'utc')+interval '2 hours')))as contadorotras;";
		$resultprep = pg_prepare($dbconn,"contarlistadoenvio2h",$query);
		
		$query="SELECT * from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND upper(nombrepagina) like $2 AND d.etapa=$3 AND p.estadopagina=$4 AND p.estadoaviso=$5 AND (p.limitedate < ((now() at time zone 'utc')+interval '2 hours'));";
		$resultprep = pg_prepare($dbconn,"listadoenvio2h",$query);
		
		$query="select(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2 AND p.estadopagina=$3 AND (p.limitedate < ((now() at time zone 'utc')))) as contadorenvios,(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2  AND  (p.estadopagina=$3) AND (p.limitedate > ((now() at time zone 'utc'))))as contadorotras;";
		$resultprep = pg_prepare($dbconn,"contarlistadoenviofin",$query);
		
		$query="SELECT * from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2 AND p.estadopagina=$3 AND (p.limitedate < ((now() at time zone 'utc')));";
		$resultprep = pg_prepare($dbconn,"listadoenviofin",$query);
		
		$query="select(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2 AND p.estadopagina=$3) as contadorenvios,(SELECT count (*) from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2  AND  (p.estadopagina=$4) )as contadorotras;";
		$resultprep = pg_prepare($dbconn,"contarlistadoenviofinOK",$query);
		
		$query="SELECT * from pagina p join directorio d on p.pagina_edicion=d.iddirectorio where d.iddirectorio=$1 AND d.etapa=$2 AND p.estadopagina=$3;";
		$resultprep = pg_prepare($dbconn,"listadoenviofinOK",$query);
		
		$query="UPDATE pagina set estadoaviso=estadoaviso+1 where idpagina=$1;";
		$resultprep = pg_prepare($dbconn,"estadoaviso",$query);
		
		$query="UPDATE pagina set estadopagina=$2 where idpagina=$1;";
		$resultprep = pg_prepare($dbconn,"estadopagina",$query);
		
		$query="UPDATE pagina set limitedate=((interval '24 hours' +now()) at time zone 'utc') where pagina_edicion=$1 AND estadopagina=$2;";
		$resultprep = pg_prepare($dbconn,"setlimitedate24",$query);
		
		$query="UPDATE pagina set limitedate=((interval '48 hours' +now()) at time zone 'utc') where pagina_edicion=$1 AND estadopagina=$2;";
		$resultprep = pg_prepare($dbconn,"setlimitedate48",$query);
		
		$query="UPDATE pagina set limitedate=$3 where pagina_edicion=$1 AND estadopagina=$2;";
		$resultprep = pg_prepare($dbconn,"setlimitedate",$query);
		
	}
	
	function activa($vidcliente){
		global $dbconn;
		$resultlc = pg_execute($dbconn,"activaretapa",array($vidcliente));
		//echo('ACTIVA'."\n");
		while($rowtlc= pg_fetch_assoc($resultlc)) {
			$videdicion=$rowtlc['iddirectorio'];
			//echo($videdicion."\n");
			$resultwf = pg_execute($dbconn,"actualizawf",array($videdicion,'WFALO24'));
			$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,1));
			
			
		}
	}
	
	function exec_WF($vidcliente){
		global $dbconn;
		global $emailToBase;
		$asecciones=["NAC"];
		//$asecciones=["ALIMENTACION","HOGAR","BAZAR","TEXTIL"];
		$resultWIP = pg_execute($dbconn,"edicionesWIP",array($vidcliente));
		while($rowtlc= pg_fetch_assoc($resultWIP)) {
			$videdicion=$rowtlc['iddirectorio'];
			$vworkflow=$rowtlc['workflow'];
			$vetapa=$rowtlc['etapa'];
			//echo($videdicion.'-'.$vworkflow.'-'.$vetapa."\n");
			switch ($vworkflow) {
				case 'WFALO24':
					switch ($vetapa) {
						case 1:
							//echo('ETAPA 1'."\n");
							//actualizar limitedate de paginas a +24h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio",array($videdicion,0,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								$fechalimite=calculaFechaLimite(new DateTime("now", new DateTimeZone("UTC")),24);
								//$resultpg = pg_execute($dbconn,"setlimitedate",array($videdicion,1,$fechalimite->format('d/m/Y H:i')));
								$resultpg = pg_execute($dbconn,"setlimitedate",array($videdicion,0,$fechalimite->format('Y/m/d H:i')));
								//enviar email de 24h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadosubida1",array($videdicion,"%_".$vseccion."_%",$vetapa,0,0));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									$destinos[]= $emailToBase;
									$destinos[]= 'NBareaM@somosgrupomas.com';
									//Neiva Barea	NBareaM@somosgrupomas.com 	Jefe de Compras (JC)
									
									//$resultbcc = pg_execute($dbconn,"listadoAlobcc",array($vidcliente,$vseccion));
									//while($row = pg_fetch_assoc($resultbcc)) {
									//	$destinos[]= $row['email'];
									//}
									
									//$destinos[]='NBareaM@somosgrupomas.com';//activar para produccion
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="AVISO 24h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#ffcc00";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 24 horas</b>.";
										creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
										$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,2));
									}
								}
							}
						break;
						case 2:
							//comprobar si no hay paginas en estado 1 (DP) y están todas en estado 0 (Publicidad) -> cambiar etapa
							//enviar mail a publicidad
							//PENDIENTE!!!!
							//echo('ETAPA 2'."\n");
							//fin de revision
							$resultlc = pg_execute($dbconn,"contarlistadoenviofin",array($videdicion,$vetapa,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofin",array($videdicion,$vetapa,0));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$destinos[]= $emailToBase;
								$destinos[]= 'cgarciall@somosgrupomas.com';
								//Conslación garcía	cgarciall@somosgrupomas.com	Marketing (Mk)
								
								//$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								//while($row = pg_fetch_assoc($resultbcc)) {
								//	$destinos[]= $row['email'];
								//}
								
								echo('PUBLICIDAD fin'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#33cc33";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,1);
								}
								$jspaginas=json_decode(json_encode($paginas));
								foreach($jspaginas as $key => $value) {
									$resultls = pg_execute($dbconn,"estadopagina",array($value->idpagina,1));
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								break;
							}
							
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,1,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,1));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$destinos[]= $emailToBase;
								//Conslación garcía	cgarciall@somosgrupomas.com	Marketing (Mk)
								$destinos[]= 'cgarciall@somosgrupomas.com';
								//$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								//while($row = pg_fetch_assoc($resultbcc)) {
								//	$destinos[]= $row['email'];
								//}
								
								//echo('PUBLICIDAD fin ok'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#33cc33";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
									$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								}
								break;
							}
							
							//aviso de 2h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio2h",array($videdicion,2,0,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//enviar email de 2h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadoenvio2h",array($videdicion,"%_".$vseccion."_%",$vetapa,0,1));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									$destinos[]= $emailToBase;
									$destinos[]= 'cgarciall@somosgrupomas.com';
									//Conslación garcía	cgarciall@somosgrupomas.com	Marketing (Mk)
									
									//$resultbcc = pg_execute($dbconn,"listadoAlobcc",array($vidcliente,$vseccion));
									//while($row = pg_fetch_assoc($resultbcc)) {
									//	$destinos[]= $row['email'];
									//}
									//echo($vseccion."$".count($paginas)."$".count($destinos)."\n");
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="RECORDATORIO 2h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 2 horas</b>.";
										//creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
									}
								}
							}
						break;
						case 3:
							//echo('ETAPA 3'."\n");
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,3,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,3));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$destinos[]= $emailToBase;
								$destinos[]= 'Fvillaran@somosgrupomas.com';
								//Francisco Villarán	Fvillaran@somosgrupomas.com	Dirección (Dir)
									
								//$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,"DIRECCION"));
								//while($row = pg_fetch_assoc($resultbcc)) {
								//	$destinos[]= $row['email'];
								//}
								//echo('DIRECCION'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#862d86";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
									$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,4));
								}
							}
						break;
						case 4:
							//echo('ETAPA 4'."\n");
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,2,3));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,2));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$destinos[]= $emailToBase;
								//$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,"IMPRENTA"));
								//while($row = pg_fetch_assoc($resultbcc)) {
								//	$destinos[]= $row['email'];
								//}
								//echo('IMPRENTA'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas para enviar a imprenta";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ff5050";
									$mensajeEtapa="tienes páginas para enviar a imprenta.<br>";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
									$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,80));
								}
							}
						break;
					}
				break;
				case 'WFTRF24':
				case 'WFTRF24v2':
				case 'WFTRF24vMX':
				
					switch ($vetapa) {
						case 1:
							//echo('ETAPA 1'."\n");
							//actualizar limitedate de paginas a +24h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio",array($videdicion,1,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								$fechalimite=calculaFechaLimite(new DateTime("now", new DateTimeZone("UTC")),24);
								//$resultpg = pg_execute($dbconn,"setlimitedate",array($videdicion,1,$fechalimite->format('d/m/Y H:i')));
								$resultpg = pg_execute($dbconn,"setlimitedate",array($videdicion,1,$fechalimite->format('Y/m/d H:i')));
								//enviar email de 24h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadosubida1",array($videdicion,"%_".$vseccion."_%",$vetapa,1,0));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									$destinos[]= $emailToBase;
									if($vworkflow=='WFTRF24v2'){
										$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
										while($row = pg_fetch_assoc($resultbcc)) {
											$destinos[]= $row['email'];
										}
									}
									else{
										if($vworkflow=='WFTRF24vMX'){
											//$destinos[]= 'a.bolsa@alcampo.es';
											//$destinos[]= 'jlu.martin@alcampo.es';
											//$destinos[]= 'an.pablo@alcampo.es';
											//$destinos[]= 'j.romeo@alcampo.es';
										}
										else{
											$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,$vseccion));
											while($row = pg_fetch_assoc($resultbcc)) {
												$destinos[]= $row['email'];
											}
										}
									}
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="AVISO 24h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 24 horas</b>.";
										creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
									}
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,2));
							}
						break;
						case 2:
							//comprobar si no hay paginas en estado 1 (DP) y están todas en estado 0 (Publicidad) -> cambiar etapa
							//enviar mail a publicidad
							//PENDIENTE!!!!
							//echo('ETAPA 2'."\n");
							//fin de revision
							$resultlc = pg_execute($dbconn,"contarlistadoenviofin",array($videdicion,$vetapa,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofin",array($videdicion,$vetapa,1));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('PUBLICIDAD'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ffcc00";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$jspaginas=json_decode(json_encode($paginas));
								foreach($jspaginas as $key => $value) {
									$resultls = pg_execute($dbconn,"estadopagina",array($value->idpagina,0));
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								break;
							}
							
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,0,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,0));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('PUBLICIDAD'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ffcc00";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								break;
							}
							
							//aviso de 2h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio2h",array($videdicion,2,1,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//enviar email de 2h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadoenvio2h",array($videdicion,"%_".$vseccion."_%",$vetapa,1,1));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,$vseccion));
									$destinos[]= $emailToBase;
									while($row = pg_fetch_assoc($resultbcc)) {
										$destinos[]= $row['email'];
									}
									//echo($vseccion."$".count($paginas)."$".count($destinos)."\n");
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="RECORDATORIO 2h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 2 horas</b>.";
										//creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
									}
								}
							}
						break;
						case 3:
							//echo('ETAPA 3'."\n");
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,3,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,3));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,"DIRECCION"));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('DIRECCION'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#862d86";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,4));
							}
						break;
						case 4:
							//echo('ETAPA 4'."\n");
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,4,3));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,4));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,"IMPRENTA"));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('IMPRENTA'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas para enviar a imprenta";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ff5050";
									$mensajeEtapa="tienes páginas para enviar a imprenta.<br>";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,80));
							}
						break;
					}
				break;
				case 'WFTRF24a':
					switch ($vetapa) {
						case 1:
							//echo('ETAPA 1'."\n");
							//actualizar limitedate de paginas a +24h
							
							//$resultlc = pg_execute($dbconn,"contarlistadoenvio",array($videdicion,1,0));
							//$row = pg_fetch_assoc($resultlc);
							//if($row['contadorotras']==0 && $row['contadorenvios']>0){
								////$fechalimite=calculaFechaLimite(new DateTime("now", new DateTimeZone("UTC")),24);
								////$resultpg = pg_execute($dbconn,"setlimitedate",array($videdicion,1,$fechalimite->format('d/m/Y H:i')));
								//enviar email de 24h por seccion
								/*
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadosubida1",array($videdicion,"%_".$vseccion."_%",$vetapa,1,0));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									//$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,$vseccion));
									$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
									$destinos[]= $emailToBase;
									while($row = pg_fetch_assoc($resultbcc)) {
										$destinos[]= $row['email'];
									}
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="AVISO 24h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 24 horas</b>.";
										//creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
									}
								}
								*/
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,2));
							//}
						break;
						case 2:
							//comprobar si no hay paginas en estado 1 (DP) y están todas en estado 0 (Publicidad) -> cambiar etapa
							//enviar mail a publicidad
							//PENDIENTE!!!!
							//echo('ETAPA 2'."\n");
							//fin de revision
							$resultlc = pg_execute($dbconn,"contarlistadoenviofin",array($videdicion,$vetapa,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofin",array($videdicion,$vetapa,1));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								$destinos[]= $emailToBase;
								//$destinos[]= 'd.julian@alcampo.es'; //20241119 eliminamos envio forzado a Julian por petición suya  Miriam
								while($row = pg_fetch_assoc($resultbcc)) {
									//$destinos[]= $row['email'];
								}
								//echo('PUBLICIDAD'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ffcc00";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$jspaginas=json_decode(json_encode($paginas));
								foreach($jspaginas as $key => $value) {
									$resultls = pg_execute($dbconn,"estadopagina",array($value->idpagina,0));
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								break;
							}
							
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,0,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,0));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('PUBLICIDAD'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ffcc00";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									//creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								break;
							}
							
							//aviso de 2h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio2h",array($videdicion,2,1,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//enviar email de 2h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadoenvio2h",array($videdicion,"%_".$vseccion."_%",$vetapa,1,1));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,$vseccion));
									$destinos[]= $emailToBase;
									while($row = pg_fetch_assoc($resultbcc)) {
										$destinos[]= $row['email'];
									}
									//echo($vseccion."$".count($paginas)."$".count($destinos)."\n");
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="RECORDATORIO 2h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 2 horas</b>.";
										//creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
									}
								}
							}
						break;
						case 3:
							//echo('ETAPA 3'."\n");
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,3,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,3));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,"DIRECCION"));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('DIRECCION'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#862d86";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,4));
							}
						break;
						case 4:
							//echo('ETAPA 4'."\n");
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,4,3));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,4));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,"IMPRENTA"));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('IMPRENTA'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas para enviar a imprenta";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ff5050";
									$mensajeEtapa="tienes páginas para enviar a imprenta.<br>";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,80));
							}
						break;
					}
				break;
				case 'WFTRF24b':
					switch ($vetapa) {
						case 1:
							//echo('ETAPA 1'."\n");
							//actualizar limitedate de paginas a +24h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio",array($videdicion,1,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								$fechalimite=calculaFechaLimite(new DateTime("now", new DateTimeZone("UTC")),24);
								//$resultpg = pg_execute($dbconn,"setlimitedate",array($videdicion,1,$fechalimite->format('d/m/Y H:i')));
								$resultpg = pg_execute($dbconn,"setlimitedate",array($videdicion,1,$fechalimite->format('Y/m/d H:i')));
								//enviar email de 24h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadosubida1",array($videdicion,"%_".$vseccion."_%",$vetapa,1,0));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									//$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,$vseccion));
									$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
									$destinos[]= $emailToBase;
									while($row = pg_fetch_assoc($resultbcc)) {
										$destinos[]= $row['email'];
									}
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="AVISO 24h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 24 horas</b>.";
										creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
									}
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,2));
							}
						break;
						case 2:
							//comprobar si no hay paginas en estado 1 (DP) y están todas en estado 0 (Publicidad) -> cambiar etapa
							//enviar mail a publicidad
							//PENDIENTE!!!!
							//echo('ETAPA 2'."\n");
							//fin de revision
							$resultlc = pg_execute($dbconn,"contarlistadoenviofin",array($videdicion,$vetapa,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofin",array($videdicion,$vetapa,1));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('PUBLICIDAD'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ffcc00";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$jspaginas=json_decode(json_encode($paginas));
								foreach($jspaginas as $key => $value) {
									$resultls = pg_execute($dbconn,"estadopagina",array($value->idpagina,0));
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								break;
							}
							
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,0,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,0));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('PUBLICIDAD'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ffcc00";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								break;
							}
							
							//aviso de 2h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio2h",array($videdicion,2,1,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//enviar email de 2h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadoenvio2h",array($videdicion,"%_".$vseccion."_%",$vetapa,1,1));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,$vseccion));
									$destinos[]= $emailToBase;
									while($row = pg_fetch_assoc($resultbcc)) {
										$destinos[]= $row['email'];
									}
									//echo($vseccion."$".count($paginas)."$".count($destinos)."\n");
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="RECORDATORIO 2h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 2 horas</b>.";
										//creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
									}
								}
							}
						break;
						case 3:
							//echo('ETAPA 3'."\n");
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,3,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,3));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,"DIRECCION"));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('DIRECCION'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#862d86";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,4));
							}
						break;
						case 4:
							//echo('ETAPA 4'."\n");
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,4,3));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,4));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,"IMPRENTA"));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('IMPRENTA'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas para enviar a imprenta";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ff5050";
									$mensajeEtapa="tienes páginas para enviar a imprenta.<br>";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,80));
							}
						break;
					}
				break;
				case 'WFTRF48':
					switch ($vetapa) {
						case 1:
							//echo('ETAPA 1'."\n");
							//actualizar limitedate de paginas a +48h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio",array($videdicion,1,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								$fechalimite=calculaFechaLimite(new DateTime("now", new DateTimeZone("UTC")),48);
								//$resultpg = pg_execute($dbconn,"setlimitedate",array($videdicion,1,$fechalimite->format('d/m/Y H:i')));
								$resultpg = pg_execute($dbconn,"setlimitedate",array($videdicion,1,$fechalimite->format('Y/m/d H:i')));
								//enviar email de 24h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadosubida1",array($videdicion,"%_".$vseccion."_%",$vetapa,1,0));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,$vseccion));
									$destinos[]= $emailToBase;
									while($row = pg_fetch_assoc($resultbcc)) {
										$destinos[]= $row['email'];
									}
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="AVISO 48h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 48 horas</b>.";
										creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);
									}
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,2));
							}
						break;
						case 2:
							//comprobar si no hay paginas en estado 1 (DP) y están todas en estado 0 (Publicidad) -> cambiar etapa
							//enviar mail a publicidad
							//PENDIENTE!!!!
							//echo('ETAPA 2'."\n");
							//fin de revision
							$resultlc = pg_execute($dbconn,"contarlistadoenviofin",array($videdicion,$vetapa,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofin",array($videdicion,$vetapa,1));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('PUBLICIDAD'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ffcc00";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$jspaginas=json_decode(json_encode($paginas));
								foreach($jspaginas as $key => $value) {
									$resultls = pg_execute($dbconn,"estadopagina",array($value->idpagina,0));
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								break;
							}
							
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,0,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,0));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadopubbcc",array($videdicion));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('PUBLICIDAD'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#ffcc00";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,3));
								break;
							}
							
							//aviso de 24h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio24h",array($videdicion,2,1,1));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//enviar email de 2h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadoenvio24h",array($videdicion,"%_".$vseccion."_%",$vetapa,1,1));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,$vseccion));
									$destinos[]= $emailToBase;
									while($row = pg_fetch_assoc($resultbcc)) {
										$destinos[]= $row['email'];
									}
									//echo($vseccion."$".count($paginas)."$".count($destinos)."\n");
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="RECORDATORIO 24h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 24 horas</b>.";
										//creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
									}
								}
							}
							
							//aviso de 2h
							$resultlc = pg_execute($dbconn,"contarlistadoenvio2h",array($videdicion,2,1,2));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//enviar email de 2h por seccion
								foreach ($asecciones as $vseccion) {
									$paginas = array();
									$destinos = array();
									$resultls = pg_execute($dbconn,"listadoenvio2h",array($videdicion,"%_".$vseccion."_%",$vetapa,1,2));
									while($row = pg_fetch_assoc($resultls)) {
										$paginas[]= $row;
									}
									$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,$vseccion));
									$destinos[]= $emailToBase;
									while($row = pg_fetch_assoc($resultbcc)) {
										$destinos[]= $row['email'];
									}
									//echo($vseccion."$".count($paginas)."$".count($destinos)."\n");
									if(count($paginas)>0 && count($destinos)>0){
										$asunto="RECORDATORIO 2h: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
										$fondoEtapa="#33cc33";
										$mensajeEtapa="tienes preparadas páginas para revisar.<br><b>Por favor, revísalas antes de 2 horas</b>.";
										//creamail($paginas,$destinos,1,$asunto,$fondoEtapa,$mensajeEtapa,0);//20221119 minimizar avisos etapas
									}
								}
							}
						break;
						case 3:
							//echo('ETAPA 3'."\n");
							$resultlc = pg_execute($dbconn,"contarlistadoenviofinOK",array($videdicion,$vetapa,2,0));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								//actualizar estado de páginas 1 (DP) a estado 0 (Publicidad)
								//PENDIENTE!!!!
								/*
								$paginas = array();
								$destinos = array();
								$resultls = pg_execute($dbconn,"listadoenviofinOK",array($videdicion,$vetapa,3));
								while($row = pg_fetch_assoc($resultls)) {
									$paginas[]= $row;
								}
								$resultbcc = pg_execute($dbconn,"listadobcc",array($vidcliente,"DIRECCION"));
								$destinos[]= $emailToBase;
								while($row = pg_fetch_assoc($resultbcc)) {
									$destinos[]= $row['email'];
								}
								//echo('DIRECCION'."*".count($paginas)."*".count($destinos)."\n");
								if(count($paginas)>0 && count($destinos)>0){
									$asunto="AVISO: Paginas subidas pendientes de revisar";// [".strtoupper($prefijo)."]";
									$fondoEtapa="#862d86";
									$mensajeEtapa="tienes preparadas páginas para revisar.";
									creamail($paginas,$destinos,0,$asunto,$fondoEtapa,$mensajeEtapa,0);
								}
								*/
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,4));
							}
						break;
						case 4:
							//echo('ETAPA 4'."\n");							
							//cuando encuentre V2 en DP (Verde) inicializar a workflow 24 y etapa 1
							$resultlc = pg_execute($dbconn,"contarlistadoenvioV2",array($videdicion));
							$row = pg_fetch_assoc($resultlc);
							if($row['contadorotras']==0 && $row['contadorenvios']>0){
								$resultwf = pg_execute($dbconn,"actualizawf",array($videdicion,'WFTRF24v2'));
								$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,1));
							}
						break;
					}
				break;
			}
		}
	}
	
	function calculaFechaLimite($fechaOrig,$limite){
		global $festivos;

		$fechaOrig->setTimeZone(new DateTimeZone('Europe/Berlin'));
		$dayOfWeekOrig = date("N", strtotime($fechaOrig->format('Y-m-d')));
		
		$periodo24h=new DateInterval("P1D");
		switch ($limite) {
			case 2:
				$periodoLimite=new DateInterval("PT2H");
			break;
			case 24:
				$periodoLimite=new DateInterval("P1D");
			break;
			case 48:
				$periodoLimite=new DateInterval("P2D");
			break;
			case 72:
				$periodoLimite=new DateInterval("P3D");
			break;
			case 168:
				$periodoLimite=new DateInterval("P1W");
			break;
		}
		$fechaLimite = $fechaOrig;
		$fechaLimite->setTimeZone(new DateTimeZone('Europe/Berlin'));
		$fechaLimite->add($periodoLimite);
		$dayOfWeek = date("N", strtotime($fechaLimite->format('Y-m-d')));
		while($dayOfWeek>5 Or in_array(strtotime($fechaLimite->format('Y-m-d')),$festivos)){
			$fechaLimite->add($periodo24h);
			$dayOfWeek = date("N", strtotime($fechaLimite->format('Y-m-d')));
		}
		if($limite==48 && ($dayOfWeekOrig==5 Or in_array(strtotime($fechaOrig->format('Y-m-d')),$festivos))){
			$fechaLimite->add($periodo24h);
		
			$dayOfWeek = date("N", strtotime($fechaLimite->format('Y-m-d')));
			while($dayOfWeek>5 Or in_array(strtotime($fechaLimite->format('Y-m-d')),$festivos)){
				$fechaLimite->add($periodo24h);
				$dayOfWeek = date("N", strtotime($fechaLimite->format('Y-m-d')));
			}
		}
		$fechaLimite->setTimezone(new DateTimeZone('UTC'));
		return($fechaLimite);
	}
	
	function esAloTraf($viddirectorio,$valotraf){
		global $dbconn;
		$esAloTraf=false;
		$nombreAloTrf = 'inicial';
		while($nombreAloTrf) {
			if($nombreAloTrf==$valotraf){
				$esAloTraf=true;
				break;
			}
			$resultalo = pg_execute($dbconn,"queryAloTrf",array($viddirectorio));
			$rowalo = pg_fetch_assoc($resultalo);
			if($rowalo){
				$nombreAloTrf=$rowalo['nombre'];
				$viddirectorio=$rowalo['iddirectorio'];
			}
			else{
				break;
			}
		}
		return($esAloTraf);
	}
	
	function creamail($paginas,$destinos,$vtipo,$asunto,$fondoEtapa,$mensajeEtapa,$version){
		//echo('<br>destinos<br>'.var_dump($destinos).'<br>');
		global $dbconn;
		global $festivos;
		global $diassemana;
		global $emailTo;
		date_default_timezone_set('UTC');
		$contenido='';
		$prefijo='';
		$jspaginas=json_decode(json_encode($paginas));
		$jsdestinos=json_decode(json_encode($destinos));
		$contenido.='<tr><td align="center" valign="top">'."\n";
		$contenido.='<table cellspacing="0" cellpadding="0" width="75%" style="border-collapse: collapse;border: 1px solid #cccccc;" bgcolor="#eeeeee">'."\n";
		$contenido.='<tbody><tr height="30px">'."\n";
		if ($vtipo==1) {
			$contenido.='<th align="left" valign="middle" style="padding-left: 25px;"><b>PAGINA</b></th>'."\n";
			$contenido.='<th align="left" valign="middle" style="padding-left: 25px;"></th>'."\n";
			$contenido.='<th align="left" valign="middle" style="padding-left: 25px;"><b>FECHA LIMITE</b></th>'."\n";
			$contenido.='<th align="left" valign="middle" style="padding-left: 25px;"><b>DIA SEMANA</b></th>'."\n";
			$contenido.='</tr><tr height="15px"><td colspan=4 style="border-top: 2px solid #cccccc;"></td></tr>'."\n";
		}
		else{
			$contenido.='<th align="left" valign="middle" style="padding-left: 25px;"><b>PAGINA</b></th>'."\n";
			$contenido.='<th align="left" valign="middle" style="padding-left: 25px;"><b>ESTADO MODIFICADO</b></th>'."\n";
			$contenido.='</tr><tr height="15px"><td colspan=4 style="border-top: 2px solid #cccccc;"></td></tr>'."\n";
		}
		foreach($jspaginas as $key => $value) {
			$resultls = pg_execute($dbconn,"estadoaviso",array($value->idpagina));
			//echo " >>> " .$value->idpagina . " *** " . $value->nombrepagina . "<br>";
			$date = new DateTime($value->fechaestado);
			$date->setTimeZone(new DateTimeZone('Europe/Berlin'));
			if($prefijo==''){
				$trocitos=explode('_',$value->nombrepagina);
				if ($version==1) {
					$prefijo=$trocitos[1].'_'.$trocitos[2].'_'.$trocitos[4];
				}
				else{
					$prefijo=$trocitos[1].'_'.$trocitos[2];
				}
				$asunto.=" [".strtoupper($prefijo)."]";
			}	
			$contenido.='<tr>'."\n";
			if ($vtipo==1) {
				$dateend = new DateTime($value->limitedate);
				$dateend->setTimeZone(new DateTimeZone('Europe/Berlin'));
				$dayOfWeek = date("N", strtotime($dateend->format('Y-m-d')));
				$contenido.='<td align="left" valign="middle" style="padding-left: 25px;">'.$value->nombrepagina.'</td>'."\n";
				$contenido.='<td align="left" valign="middle" style="padding-left: 25px;"></td>'."\n";
				$contenido.='<td align="left" valign="middle" style="padding-left: 25px;">'.$dateend->format('d/m/Y H:i').'</td>'."\n";
				$contenido.='<td align="left" valign="middle" style="padding-left: 25px;">'.$diassemana[$dayOfWeek-1].'</td>'."\n";
			}
			else{
				$contenido.='<td align="left" valign="middle" style="padding-left: 25px;">'.$value->nombrepagina.'</td>'."\n";
				$contenido.='<td align="left" valign="middle" style="padding-left: 25px;">'.$date->format('d/m/Y H:i').'</td>'."\n";
			}
			$contenido.='</tr>';
		}
		if ($vtipo==1) {
			$contenido.='<tr height="15px"><td colspan=4></td></tr>'."\n";
			}
		else{
			$contenido.='<tr height="15px"><td colspan=2></td></tr>'."\n";
		}
		$contenido.='</tbody></table></td></tr>';
		
		return enviaMail($asunto,componMail($fondoEtapa,$mensajeEtapa,$contenido),'no-reply@newno.marketing',$emailTo,'',$destinos);
		//return enviaMail($asunto,componMail($fondoEtapa,$mensajeEtapa,$contenido),'no-reply@newno.marketing',$emailTo,'',implode(', ',$destinos));
	}
	
	function componMail($fondo,$mensaje,$contenido){
		//#33cc33 verde
		//#ffcc00 naranja
		//#862d86 morado
		//te informamos que las páginas que tenías pendientes <b>han pasado a la siguiente fase de producción.</b>
		$inicioMail="<html><head></head><body><table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"font-family: arial; text-decoration: none;\"><tbody>";
		$headerMail="<tr><td align=\"center\" valign=\"top\"><table bgcolor=\"".$fondo."\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"130px\"><tbody><tr><td width=\"50%\" align=\"center\" valign=\"middle\"><img src=\"https://webcheck.quinteam.com/assets/themes/Mas/img/webcheck.png\" border=\"0\" height=\"60%\" /></td><td width=\"50%\" align=\"center\" valign=\"middle\"><img src=\"https://webcheck.quinteam.com/assets/themes/Mas/img/mas.png\" border=\"0\" height=\"60%\"/></td></tr></tbody></table></td></tr>";
		$mensajeMail="<tr><td align=\"center\" valign=\"top\">"."\n"."<table cellspacing=\"0\" cellpadding=\"0\" width=\"75%\"><tbody><tr><td align=\"left\" valign=\"top\">"."\n"."<span style=\"font-size: 14px; color: #575757; line-height: 200%; font-family: arial; text-decoration: none;\"><br><br>Hola,<br>".$mensaje."</b><br><br>Gracias.<br><br></span>"."\n"."</td></tr></tbody></table>"."\n"."</td></tr>";		
		$footerMail="<tr><td align=\"center\" valign=\"middle\"><table cellspacing=\"0\" cellpadding=\"0\" width=\"75%\" height=\"200px\"><tbody><tr><td align=\"left\" valign=\"middle\"><a href=\"https://webcheck.quinteam.com\" style=\"color: #ffffff; text-decoration: none;\"><button style=\"padding: 20px 50px; background-color: ".$fondo."; color: #ffffff; border-color: #ffffff; border-radius: 7px;\" onclick=\"window.open('https://webcheck.quinteam.com','_blank');\"><b>ACCESO A WEBCHECK</b></button></a></td></tr></tbody></table></td></tr>";
		$finMail="</tbody></table></body></html>";
		
		return ($inicioMail.$headerMail.$mensajeMail.$contenido.$footerMail.$finMail);
	}
	
	function enviaMail ($subject,$message,$from,$to,$cc,$bcc){
		global $emailTo;
		global $mail;
		//$subject = utf8_decode($subject);
		//$message = utf8_decode($message);
		$mail->CharSet = 'UTF-8';
		
		//echo('<hr>subject: ['.$subject.']'); 
		//echo('<br>cc: ['.$cc.']'); 
		//echo('<br>bcc: ['.$bcc.']'); 
		//echo('<br>body'); 
		//echo($message);
		//echo('<hr>');
		$mail->isSMTP();
		$mail->Host = 'smtp.gmail.com';
		$mail->SMTPAuth = true;
		$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
		$mail->Port = 587;

		$mail->Username = 'no-reply@newno.marketing'; // YOUR gmail email
		$mail->Password = 'mrghxubvfrkrtevv'; // YOUR gmail password

		// Sender and recipient settings
		$mail->setFrom($from, $from);
		$mail->addReplyTo($from, $from); // to set the reply to
		$mail->IsHTML(true);
		if($emailTo=='avisos.mas@newno.marketing' || $emailTo=='kiko@kolivier.com'){
		//if($emailTo=='avisos.mas@newno.marketing'){
			
			$mail->addAddress($emailTo, $emailTo);
			$mail->addBcc("kiko@kolivier.com", "kiko@kolivier.com");
			
			$mail->Subject = "[CONTROL DESTINATARIOS] ".$subject;
			$mail->Body = "ENVIADO a:<hr>".implode(', ',$bcc). "<hr>".$message;
			
			$mail->send();
			
			$mail->clearAddresses();
			$mail->clearBCCs();
			
			$mail->addAddress($emailTo, $emailTo);
			foreach($bcc as $recipient){
			   $mail->addBcc($recipient,$recipient);
			}
			
			$mail->Subject = $subject;
			$mail->Body = $message;
			
			//$mail->send();
			//mail($to,$subject,$message,$headers);
			//mail($emailTo,"[CONTROL DESTINATARIOS] ".$subject,"ENVIADO a:<hr>".$bcc. "<hr>".$message, $headers);
			//mail("kiko@kolivier.com","[CONTROL DESTINATARIOS] ".$subject,"ENVIADO a:<hr>".$bcc. "<hr>".$message, $headers);
		}
		else{
			$mail->addAddress($emailTo, $emailTo);
			$mail->addAddress("kiko@kolivier.com", "kiko@kolivier.com");
			$mail->Subject = "TEST----".$subject;
			$mail->Body = $message;
			$mail->send();
		}
		return true;
		
	}
	
	function GmtTimeToLocalTime($time) {
		date_default_timezone_set('UTC');
		$new_date = new DateTime($time);
		$new_date->setTimeZone(new DateTimeZone('Europe/Berlin'));
		return $new_date->format("Y-m-d h:i:s");
	}
	
	function enviaJson ($datos){
		header("Content-Type: application/json"); 
		echo json_encode($datos); 
	}

?>