<?php
#####################################################################
# Envoi de mails de relance                                         #
#####################################################################

include("../config.php3");
include($BIB."bib_generic.php3");
include($BIB."bib_mailing.php3");
//include($BIB."bib_constantes_grille.php3");


##########################################################################################################################################
#Fonction d'envoi des mail de relance
function sendMailAlertType($guestemail, $guestnick, $template, $titre, $id1, $id2, $id3)
{
	global $GAME_NAME, $GAME_DIR, $SITES_ORIGINES, $ORIGINE, $LOGIN_PAGE, $SERVER_URL, $REGISTRATION_PAGE;
	global $REPLY_TO_FIELD,$FROM_FIELD;
	

	$subject = $titre; 
	$msg = loadTemplate($GAME_DIR."Mailing/".$template);
	$msg = replaceTag("__PLAYER__", $guestnick, $msg);
	$msg = replaceTag("__EMAIL__", $guestemail, $msg);
	$msg = replaceTag("__ID1__", "RELANCES-AUTO_".$id1, $msg);
	$msg = replaceTag("__ID2__", "RELANCES-AUTO_".$id2, $msg);
	$msg = replaceTag("__ID3__", "RELANCES-AUTO_".$id3, $msg);

	
	generic_mail($guestemail, $subject, $msg,
		     "From: $FROM_FIELD\n" . 
		     "Reply-To: $REPLY_TO_FIELD\n" . 
		     "X-Mailer: PHP/" . phpversion()."\n".
		     "MIME-Version: 1.0\n".
		     "Content-Type: text/html; charset=iso-8859-1"."\n"
	);
	 
}

##########################################################################################################################################
#Fonction d'ajout d'id de tracking
function AddTracking($type,$Date)
{
	//Libellé sous forme : Date-Type
	$Libelle[0] = $type."-".$Date." : Ouverture";
	$Libelle[1] = $type."-".$Date." : Clic";
	//$Libelle[2] = $type."-".$Date." : Desinscription";
	
	$i=0;
	foreach($Libelle AS $Lib)
	{		
		$queryAdd = "INSERT INTO Tracking(TypeId,Lib) VALUES (1,'".$Lib."')";
		main_db_query($queryAdd);
		$id[$i] = db_insert_id();
		$i++;
	}
	
	return array($id[0],$id[1]);	
}
##########################################################################################################################################
#Fonction de mise a jour du nombre de mails envoyés
function UpdateTracking($ListId,$NbMail)
{
	foreach($ListId AS $Id)
	{
		$queryUpd = "UPDATE Tracking SET Total = ".$NbMail." WHERE  Id  = ".$Id;
		main_db_query($queryUpd);
	}
}







##########################################################################################################################################
											-#- MAIN -#-
##########################################################################################################################################

# pas de timeout possible quelle que soit l'action effectuée
set_time_limit(0);
 
# le script continue une fois qu'il est lancé,
# quel que soit l'état de la connection après
ignore_user_abort(true); 

//Nb heures par jour X nb min par heure X nb sec par min
$DAY_TO_SEC = 24 * 60 * 60;



if($cle == "12c84c4877c365bdd82ccd51012d66c1")  //md5("relanceAlerte")
{
	
	

	
	$CURRENT_TIME = date("Y-m-d H:i:s",my_local_time());
	
	//on declare les id de stats pour chaque type de mails
	list($idFromNews["Z"][0],$idFromNews["Z"][1]) = AddTracking("Z", substr($CURRENT_TIME,0,10));
	list($idFromNews["U"][0],$idFromNews["U"][1]) = AddTracking("U", substr($CURRENT_TIME,0,10));
	//list($idFromNews["D"][0],$idFromNews["D"][1],$idFromNews["D"][2]) = AddTracking("D", substr($CURRENT_TIME,0,10));
	
	//Init des variables de comptage statistique
	$total = 0;
	$typeZ = 0;
	$typeU = 0;
	//$typeD = 0;

	$noParis = 0;
	
	#>> C'est ici qu'on check a qui on envoie quel mail...	
	$queryPlayers = "SELECT Players.Id AS PlayerId, NickName, Email, LastConnect FROM Members LEFT JOIN Players ON Members.Id = Players.MemberId WHERE LastConnect > '0000-00-00 0:00:00' AND IsOff=0 ";	
	$rowsPlayers = main_db_query($queryPlayers);
	
	#Pour chacun
	while($rowPlayer = db_fetch_assoc($rowsPlayers))
	{
	
		if($rowPlayer["LastConnect"] > "0000-00-00 0:00:00")
		{	
				//Calcul du tps ecoulé depuis la derniere case jouée
				$time_elapse = strtotime($CURRENT_TIME) - strtotime($rowPlayer["LastConnect"]);
				
				//N'a pas joué depuis 2 semaine
				if($time_elapse > (14 * $DAY_TO_SEC) && $time_elapse < (21 * $DAY_TO_SEC))
				{
					//check derniere case entre 1 et 2 semaines
					$typeZ ++;
					
								
					#envoi de type 0
					$template = "template_alterte_type0.html";		
					$type = "Z";
					$titre = "Gagnez des cadeaux en pronostiquant sur le foot";
					
					echo "Z : ".$rowPlayer['Email']."<br>";
				}
				//N'a pas joué depuis 2 semaines
				else if($time_elapse >= (28 * $DAY_TO_SEC) && $time_elapse < (35 * $DAY_TO_SEC))
				{
					//check derniere case entre 2 et 3 semaines
					$typeU ++;
					
					#envoi de type 1
					$template = "template_alterte_type1.html";					
					$type = "U";
					$titre = "Gagnez des cadeaux en pronostiquant sur le foot";
					
					echo "U : ".$rowPlayer['Email']."<br>";
				}
				else
				{
					//on envoie rien
					$template = "vide";
					echo "NO MAIL SENT : ".$rowPlayer['Email']."<br>";
				}
				
				
				//On envoie le mail selon le template desiré
				if($template != "vide")
					sendMailAlertType($rowPlayer['Email'], $rowPlayer['NickName'], $template, $titre, $idFromNews[$type][0], $idFromNews[$type][1], $idFromNews[$type][2]);
			
			
		}	
		$total ++;		
	}
	echo "<br>";
	
	//on Update le nombre de mail envoyé par type de message
	UpdateTracking($idFromNews["Z"],$typeZ);
	UpdateTracking($idFromNews["U"],$typeU);		
	//UpdateTracking($idFromNews["D"],$typeD);
	
	#On ecrit les stats en base
	ob_start();
	echo "Parmi les non IsOff... ";
	echo "<br>Nombre total de personnes traitées : ".$total;
	echo "<br>Nombre envois mails types 0 : ".$typeZ;
	echo "<br>Nombre envois mails types 1 : ".$typeU;
	//echo "<br>Nombre envois mails types 2 : ".$typeD;
	$envois = $typeZ+$typeU;/*+$typeD;*/
	echo "<br>Nombre Total de mails envoyés : ".$envois;
	$res = ob_get_contents();
	ob_end_clean();
	
	echo $res;
	main_db_query("INSERT INTO RelanceMails (aDate, aType, aComment) VALUES ('".$CURRENT_TIME."', 'relanceAlerte', '".addslashes($res)."')");
}
?>