<?php

	include 'headers.inc';

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

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

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

	$diassemana = array('Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;bado','Domingo');

	$festivos = array();
	$festivos[]=strtotime("2022-12-08"); //Inmaculada
	$festivos[]=strtotime("2022-12-24"); //Nochebuena
	$festivos[]=strtotime("2022-12-25"); //Navidad
	$festivos[]=strtotime("2023-01-01"); //Año nuevo
	$festivos[]=strtotime("2023-01-06"); //Reyes
	$festivos[]=strtotime("2023-04-06"); //Jueves Santo
	$festivos[]=strtotime("2023-04-07"); //Viernes Santo
	$festivos[]=strtotime("2023-05-01"); //Dia del trabajador
	$festivos[]=strtotime("2023-05-02"); //Comunidad de Madrid
	$festivos[]=strtotime("2023-05-15"); //San Isidro
	$festivos[]=strtotime("2023-07-25"); //Santiago Madrid
	$festivos[]=strtotime("2023-08-15"); //Asunción
	$festivos[]=strtotime("2023-10-12"); //Hispanidad
	$festivos[]=strtotime("2023-11-01"); //Todos los santos
	$festivos[]=strtotime("2023-11-09"); //Almudena Madrid
	$festivos[]=strtotime("2023-12-06"); //Constitucion
	$festivos[]=strtotime("2023-12-08"); //Inmaculada
	$festivos[]=strtotime("2023-12-24"); //Nochebuena
	$festivos[]=strtotime("2023-12-25"); //Navidad
	
	preparequerys();
	activa(2);
	exec_WF(2);
	
	
	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=1) and iddirectorio not in (select iddirectorio from listado where listado.estadopagina<>1);";
		$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");
			if(esAloTraf($videdicion,'ALO')){
				$resultwf = pg_execute($dbconn,"actualizawf",array($videdicion,'WFALO24'));
				$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,1));
			}
			else{
				if(esAloTraf($videdicion,'TRAFICO')){
					/*$resulvariante = pg_execute($dbconn,"queryNomDir",array($videdicion,'pubvariante'));
					$rowvariante = pg_fetch_assoc($resulvariante);
					$nombrevariante='otro';
					if($rowvariante){
						$nombrevariante=$rowvariante['nombre'];
					}*/
					$resulunico = pg_execute($dbconn,"queryNomDir",array($videdicion,'publicacion'));
					$rowunico = pg_fetch_assoc($resulunico);
					$nombreunico='otro';
					if($rowunico){
						$nombreunico=$rowunico['nombre'];
					}
					if(esAloTraf($videdicion,'HG')){
						if($nombreunico=='Unico' || $nombreunico=='Madrid'){
							$resultwf = pg_execute($dbconn,"actualizawf",array($videdicion,'WFTRF48'));
						}
						else{
							$resultwf = pg_execute($dbconn,"actualizawf",array($videdicion,'WFTRF24'));
						}
					}
					else{
						if(esAloTraf($videdicion,'BA') || esAloTraf($videdicion,'CL')){
							$resultwf = pg_execute($dbconn,"actualizawf",array($videdicion,'WFTRF24a'));
						}
						else{
							if(esAloTraf($videdicion,'SS') || esAloTraf($videdicion,'SM')){
								$resultwf = pg_execute($dbconn,"actualizawf",array($videdicion,'WFTRF24'));
							}
							else{
								$resultwf = pg_execute($dbconn,"actualizawf",array($videdicion,'WFTRF24'));
							}
						}
					}
					$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,1));
				}
				else{
					$resultet = pg_execute($dbconn,"actualizaetapa",array($videdicion,90));
				}
			}
		}
	}
	
	function exec_WF($vidcliente){
		global $dbconn;
		global $emailToBase;
		$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,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,"listadoAlobcc",array($vidcliente,$vseccion));
									$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,"listadoAlobcc",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 'WFTRF24':
					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;
								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;
								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')));
								//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')));
								//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,'WFTRF24'));
								$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),'Webcheck-Alcampo@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/Alcampo/img/webcheck.png\" border=\"0\" height=\"60%\" /></td><td width=\"50%\" align=\"center\" valign=\"middle\"><img src=\"https://webcheck.quinteam.com/assets/themes/Alcampo/img/alcampo.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;
		//echo('<hr>subject: ['.$subject.']'); 
		//echo('<br>cc: ['.$cc.']'); 
		//echo('<br>bcc: ['.$bcc.']'); 
		//echo('<br>body'); 
		//echo($message);
		//echo('<hr>');
		
		$headers = '';
		$headers .= 'MIME-Version: 1.0' . "\r\n";
		$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
		$headers .= "From:" . $from. "\r\n";
		if($emailTo=='avisos.alcampo@newno.marketing'){
			$headers .= "bcc:" . $bcc. "\r\n";
			mail($to,$subject,$message,$headers);
		}
		else{
			mail($to,$subject,"ENVIADO a:<hr>".$bcc. "<hr>".$message, $headers);
		}
		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); 
	}

?>