<?php

include('include/entete.php');
include('include/entete_cfa.php');
include('config/config.inc.php');
include('config/lib.inc.php');

/************************************************
ACTIONS POUR LES CFA 
************************************************/
if(isset($_SESSION['cfa_num']) && !empty($_SESSION['cfa_num'])){

	if(empty($_POST['myIdCap'])){
		header('location:index-cfa.php');
		exit();
	}else	$myIdCap = $_POST['myIdCap'];
	
	//RESERVATION
	if(isset($_POST['myAction']) && $_POST['myAction']=='R3S'){
	
		foreach($_POST as $cle=>$val){
			$$cle=$val;
			//echo $cle.' => '.$val.'<br />';
		}

		$idCoLy = $_POST['idCoLy'];
		
		$maCleDeCryptage = getCleDeCryptage();
		$etaCoLy = crypter($maCleDeCryptage,$etaCoLy);
		$nomCoLy = crypter($maCleDeCryptage,$nomCoLy);
		$prenomCoLy = crypter($maCleDeCryptage,$prenomCoLy);
		$fonctionCoLy = crypter($maCleDeCryptage,$fonctionCoLy);
		$telCoLy = crypter($maCleDeCryptage,$telCoLy);
		$emlCoLy = crypter($maCleDeCryptage,$emlCoLy);
		$adresse1CoLy = crypter($maCleDeCryptage,$adresse1CoLy);
		$adresse2CoLy = crypter($maCleDeCryptage,$adresse2CoLy);
		$cpCoLy = crypter($maCleDeCryptage,$cpCoLy);
		$villeCoLy = crypter($maCleDeCryptage,$villeCoLy);
		$commentCoLy = crypter($maCleDeCryptage,$commentCoLy);
		
		$db = connect_base();
		
		//Trouve le CFA associé
		/*$query="
			SELECT * FROM capitaines 
			INNER JOIN eta ON id_eta=num_eta 
			WHERE id_cap=:id_cap";
		$queryRequest = $db->prepare( $query );
		$queryRequest->bindParam( ':id_cap', $myIdCap, PDO::PARAM_INT );
		$queryRequest->execute();
		$count = $queryRequest->rowCount();*/
		//echo $_SESSION['cfa_num']; exit();
		//if($count==1){
			
			//$dataEta=$queryRequest->fetchAll();
			$chxNumEta = $_SESSION['cfa_num'];
		
		/*
			//Vérifie si le créneau existe
			$query="
				SELECT * FROM capitaines 
				INNER JOIN eta ON id_eta=num_eta 
				INNER JOIN agenda ON id_cap = numCap
				WHERE id_cap=:id_cap 
				AND jour=:jour AND creneau=:creneau";
			$queryRequest = $db->prepare( $query );
			$queryRequest->bindParam( ':id_cap', $myIdCap, PDO::PARAM_INT );
			$queryRequest->bindParam( ':jour', $myDay, PDO::PARAM_STR );
			$queryRequest->bindParam( ':creneau', $myCreneau, PDO::PARAM_STR );
			$queryRequest->execute();
			$count = $queryRequest->rowCount();
			
			
			//Crée le créneau vide s'il n'existe pas pour le premier jour qui est libre par défaut)
			if($count==0 && $myDay=='2019-01-17'){
				
				$numCoLy = 0;
				$statut = 'libre';
				$userLastUpdate = 'ref';
				$dateLastUpdate = date('Y-m-d');
				
				$queryCreate="
					INSERT INTO agenda (numCap, numCoLy, numEta, jour, creneau, statut, dateLastUpdate,userLastUpdate) 
					VALUES (:numCap,:numCoLy,:numEta,:jour,:creneau,:statut,:dateLastUpdate,:userLastUpdate)";
					$queryRequestC = $db->prepare( $queryCreate );
					$queryRequestC->bindParam( ':numCap', $myIdCap, PDO::PARAM_INT );
					$queryRequestC->bindParam( ':numCoLy', $numCoLy, PDO::PARAM_INT );
					$queryRequestC->bindParam( ':numEta', $chxNumEta, PDO::PARAM_INT );
					$queryRequestC->bindParam( ':jour', $myDay, PDO::PARAM_STR );
					$queryRequestC->bindParam( ':creneau', $myCreneau, PDO::PARAM_STR );
					$queryRequestC->bindParam( ':statut', $statut, PDO::PARAM_STR );
					$queryRequestC->bindParam( ':dateLastUpdate', $dateLastUpdate, PDO::PARAM_STR );
					$queryRequestC->bindParam( ':userLastUpdate', $userLastUpdate, PDO::PARAM_STR );
					$queryRequestC->execute();
				
			}
		*/
			
			//Vérifie si le créneau est libre ou si l'on est en modification de fiche établissement
			$query="
				SELECT * FROM capitaines 
				INNER JOIN eta ON id_eta=num_eta 
				INNER JOIN agenda ON id_cap = numCap
				WHERE id_cap=:id_cap 
				AND jour=:jour AND creneau=:creneau
				AND (numCoLy=0 || numCoLy=:numCoLy)";
			$queryRequest = $db->prepare( $query );
			$queryRequest->bindParam( ':id_cap', $myIdCap, PDO::PARAM_INT );
			$queryRequest->bindParam( ':jour', $myDay, PDO::PARAM_STR );
			$queryRequest->bindParam( ':creneau', $myCreneau, PDO::PARAM_STR );
			$queryRequest->bindParam( ':numCoLy', $idCoLy, PDO::PARAM_INT );
			$queryRequest->execute();
			$count = $queryRequest->rowCount();
			
			//Insertion d'un créneau et réservation
			if($count==1){
				
				$data=$queryRequest->fetchAll();
				$dateCreate = date('Y-m-d');
				$chxNumEta = $data[0]['num_eta'];
				
				$eta = decrypter($maCleDeCryptage,$data[0]['nom_eta']);
				
				$capitaine = decrypter($maCleDeCryptage,$data[0]['nom_cap']);
				$capitaine = mb_strtoupper($capitaine).' '.decrypter($maCleDeCryptage,$data[0]['prenom_cap']);
				
				/**********************/
				if(!empty($chxNumEta)){

					if(empty($idCoLy)){

						//Insertion de l'établissement
						$query="
							INSERT INTO collegelycee (etaCoLy, nomCoLy, prenomCoLy, fonctionCoLy, telCoLy, emlCoLy, adresse1CoLy, adresse2CoLy, cpCoLy, villeCoLy, nbClasses, nbEleves, commentCoLy, dateCreate, chxNumEta) 
							VALUES (:etaCoLy, :nomCoLy, :prenomCoLy, :fonctionCoLy, :telCoLy, :emlCoLy, :adresse1CoLy, :adresse2CoLy, :cpCoLy, :villeCoLy, :nbClasses, :nbEleves, :commentCoLy, :dateCreate, :chxNumEta)";
							$queryRequest = $db->prepare( $query );
							$queryRequest->bindParam( ':etaCoLy', $etaCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':nomCoLy', $nomCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':prenomCoLy', $prenomCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':fonctionCoLy', $fonctionCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':telCoLy', $telCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':emlCoLy', $emlCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':adresse1CoLy', $adresse1CoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':adresse2CoLy', $adresse2CoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':cpCoLy', $cpCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':villeCoLy', $villeCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':nbClasses', $nbClasses, PDO::PARAM_INT );
							$queryRequest->bindParam( ':nbEleves', $nbEleves, PDO::PARAM_INT );
							$queryRequest->bindParam( ':commentCoLy', $commentCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':dateCreate', $dateCreate, PDO::PARAM_STR );
							$queryRequest->bindParam( ':chxNumEta', $chxNumEta, PDO::PARAM_INT );
							$queryRequest->execute();

							$idCoLy=$db->lastInsertId();

							//Affectation au créneau
							$numCoLy = $idCoLy;
							$statut = 'reserve';
							$userLastUpdate = 'ref';

						$query="
							UPDATE agenda 
							SET numCoLy=:numCoLy, statut=:statut, dateLastUpdate='".date('Y-m-d')."',userLastUpdate=:userLastUpdate
							WHERE numCap=:numCap AND jour=:jour AND creneau=:creneau";
							$queryRequest = $db->prepare( $query );
							$queryRequest->bindParam( ':numCap', $myIdCap, PDO::PARAM_INT );
							$queryRequest->bindParam( ':numCoLy', $numCoLy, PDO::PARAM_INT );
							$queryRequest->bindParam( ':jour', $myDay, PDO::PARAM_STR );
							$queryRequest->bindParam( ':creneau', $myCreneau, PDO::PARAM_STR );
							$queryRequest->bindParam( ':statut', $statut, PDO::PARAM_STR );
							$queryRequest->bindParam( ':userLastUpdate', $userLastUpdate, PDO::PARAM_STR );
							$queryRequest->execute();

						//Envoi d'un email au collège ou lycée
                        require 'config/class.phpmailer.php';
                        require 'config/phpmailer.settings.php';

						$to=$_POST['emlCoLy'];
						$objet="Votre évènement DECIDAY !";

						$adresseCL = $_POST['adresse1CoLy'];
						if(!empty($adresse2CoLy))	$adresseCL .= '<br />'.$_POST['adresse2CoLy'];
						$adresseCL .= '<br />'.$_POST['cpCoLy'].' '.$_POST['villeCoLy'];

						$creneauCL = "";
						$creneauCL = getCreneau($myCreneau);


						$affich='';
						$affich.='<table cellpadding="3" style="font-family:ARIAL; width:600px;">';
							$affich.='<tr>';
								$affich.='<td colspan="2"><img src="" /></td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2"><img src="cid:bando" alt="" width="600" height="150" border="0" /></td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">Bonjour,</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">Dans le cadre de l\'évènement Déciday !, un créneau a été réservé pour la venue d\'un trinôme au sein de votre établissement. Vos élèves pourront donc <b>découvrir la filière, préparer leur projet d\'orientation professionnelle</b> et <b>rencontrer un professionnel</b>.</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">Récapitulatif de cette rencontre : </td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td align="right"><b>Jour : </b></td><td>'.MysqlToDateFr($myDay).'</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td align="right"><b>Créneau : </b></td><td>'.$creneauCL.'</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td align="right"><b>Votre établissement : </b></td><td>'.$_POST['etaCoLy'].'</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td align="right"><b>Nombre de classes : </b></td><td>'.$nbClasses.'</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td align="right"><b>Nombre d\'élèves : </b></td><td>'.$nbEleves.'</td>';
							$affich.='</tr>'."\n";						
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td align="right"><b>Votre interlocuteur : </b></td><td>'.$capitaine.'</td>';
							$affich.='</tr>'."\n";	
							$affich.='<tr>';
								$affich.='<td align="right"><b>Etablissement : </b></td><td>'.$eta.'</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";	
							$affich.='<tr>';
								$affich.='<td colspan="2"><b>Votre interlocuteur vous contactera pour définir les modalités de votre intervention.</b></td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2" align="center"><table style="width:200px;background-color: #674B64;border: 1px solid #371B34;padding: 4px 6px;"><tr><td align="center"><a href="http://www.deciday.fr" style="color: #FFF;text-decoration: none;text-transform: uppercase; font-family:ARIAL;"><strong>Votre site <br />Déciday !</strong></a></td></tr></table></td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">Cordialement.</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">&nbsp;</td>';
							$affich.='</tr>'."\n";
							$affich.='<tr>';
								$affich.='<td colspan="2">L\'équipe DECIDAY.</td>';
							$affich.='</tr>'."\n";

						$affich.='</table>';

						$mail->IsHTML(true);
						$mail->AddEmbeddedImage('images/bandeau-contact.jpg', 'bando', 'bandeau-contact.jpg'); 
						$mail->Subject = utf8_decode($objet);
						$mail->Body = utf8_decode($affich);
						$mail->AddAddress($to);
						$mail->AltBody = "/-------//--------/";
						$mail->send();	

						$_SESSION['msg']='Le créneau a bien été réservé. Un email a été envoyé sur l\'email de l\'établissement pour l\'en informer.';

					}else{

						//Modification de l'établissement
						$query="
							UPDATE collegelycee SET etaCoLy=:etaCoLy, nomCoLy=:nomCoLy, prenomCoLy=:prenomCoLy, fonctionCoLy=:fonctionCoLy, telCoLy=:telCoLy, emlCoLy=:emlCoLy, adresse1CoLy=:adresse1CoLy, adresse2CoLy=:adresse2CoLy, cpCoLy=:cpCoLy, villeCoLy=:villeCoLy, nbClasses=:nbClasses, nbEleves=:nbEleves, commentCoLy=:commentCoLy WHERE idCoLy=:idCoLy";
							$queryRequest = $db->prepare( $query );
							$queryRequest->bindParam( ':etaCoLy', $etaCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':nomCoLy', $nomCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':prenomCoLy', $prenomCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':fonctionCoLy', $fonctionCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':telCoLy', $telCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':emlCoLy', $emlCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':adresse1CoLy', $adresse1CoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':adresse2CoLy', $adresse2CoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':cpCoLy', $cpCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':villeCoLy', $villeCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':nbClasses', $nbClasses, PDO::PARAM_INT );
							$queryRequest->bindParam( ':nbEleves', $nbEleves, PDO::PARAM_INT );
							$queryRequest->bindParam( ':commentCoLy', $commentCoLy, PDO::PARAM_STR );
							$queryRequest->bindParam( ':idCoLy', $idCoLy, PDO::PARAM_INT );
							$queryRequest->execute();

						$_SESSION['msg']='La fiche de l\'établissement a été mise à jour.';

					}

				}
				/***************************/
				
			}else{
			
				$_SESSION['msg']='Le créneau n\'a pas pu être réservé car il n\'est pas disponible.';
			
			}
		
			header('location:agenda-cfa.php?id='.$myIdCap);
			exit();

		//}else{
			
			//$_SESSION['msg']='Erreur : CFA Inconnu';
			
		//}

	}
	
	//BLOCAGE OU DEBLOCAGE
	if(isset($_POST['myAction']) && ($_POST['myAction']=='BL0' || $_POST['myAction']=='D3B')){

		foreach($_POST as $cle=>$val){
			$$cle=$val;
			//echo $cle.' => '.$val.'<br />';
		}

		$db = connect_base();
		
		$query="
			SELECT * FROM capitaines 
			INNER JOIN eta ON id_eta=num_eta 
			INNER JOIN agenda ON id_cap = numCap
			WHERE id_cap=:id_cap 
			AND jour=:jour AND creneau=:creneau";
		
		$queryRequest0 = $db->prepare( $query );
		$queryRequest0->bindParam( ':id_cap', $myIdCap, PDO::PARAM_INT );
		$queryRequest0->bindParam( ':jour', $myDay, PDO::PARAM_STR );
		$queryRequest0->bindParam( ':creneau', $myCreneau, PDO::PARAM_STR );
		$queryRequest0->execute();
		$count = $queryRequest0->rowCount();
		$data0=$queryRequest0->fetchAll();
		
		/*if(empty($count)){
			
			$query="
			SELECT * FROM capitaines 
			INNER JOIN eta ON id_eta=num_eta 
			WHERE id_cap=:id_cap";

			$queryRequest = $db->prepare( $query );
			$queryRequest->bindParam( ':id_cap', $myIdCap, PDO::PARAM_INT );
			$queryRequest->execute();
			$data=$queryRequest->fetchAll();
			$numEta = $data[0]['num_eta'];
			$numCoLy = 0;
			if($_POST['myAction']=='BL0')	$statut = 'bloque';	else	$statut = 'libre';
			$userLastUpdate = 'ref';
			
			if(!empty($numEta)){
				$query="
				INSERT INTO agenda (numCap, numCoLy, numEta, jour, creneau, statut, dateLastUpdate,userLastUpdate) 
				VALUES (:numCap, :numCoLy, :numEta, :jour, :creneau, :statut, '".date('Y-m-d')."',:userLastUpdate)";
				$queryRequest = $db->prepare( $query );
				$queryRequest->bindParam( ':numCap', $myIdCap, PDO::PARAM_INT );
				$queryRequest->bindParam( ':numCoLy', $numCoLy, PDO::PARAM_INT );
				$queryRequest->bindParam( ':numEta', $numEta, PDO::PARAM_INT );
				$queryRequest->bindParam( ':jour', $myDay, PDO::PARAM_STR );
				$queryRequest->bindParam( ':creneau', $myCreneau, PDO::PARAM_STR );
				$queryRequest->bindParam( ':statut', $statut, PDO::PARAM_STR );
				$queryRequest->bindParam( ':userLastUpdate', $userLastUpdate, PDO::PARAM_STR );
				$queryRequest->execute();
			}
			
			if($statut == 'bloque')	$_SESSION['msg']='Le créneau a été bloqué.';
			else	$_SESSION['msg']='Le créneau a été débloqué.';
			
		}else{*/
		
		if(!empty($count)){
			
			$msgPlus = "";
			
			//Suppression de la réservation si déblocage de créneau
			if($data0[0]['numCoLy']>0){
				//echo $data0[0]['num_eta'];
				//echo '<pre>';print_r($data0);echo '</pre>';
				$query="DELETE FROM collegelycee WHERE idCoLy=:idCoLy AND chxNumEta=:chxNumEta";
				$queryRequest = $db->prepare( $query );
				$queryRequest->bindParam( ':idCoLy', $data0[0]['numCoLy'], PDO::PARAM_INT );
				$queryRequest->bindParam( ':chxNumEta', $data0[0]['num_eta'], PDO::PARAM_INT );
				$queryRequest->execute();
				
				$msgPlus = " Pensez à prévenir cet établissement que sa réservation a été annulée.";
				//$data10=$queryRequest->fetchAll();
				//echo '<pre>';print_r($data10);echo '</pre>';
				//exit();
			};
			
			$numCoLy = 0;
			if($_POST['myAction']=='BL0')	$statut = 'bloque';	else	$statut = 'libre';
			$userLastUpdate = 'ref';
			
			$query="
				UPDATE agenda 
				SET numCoLy=:numCoLy, statut=:statut, dateLastUpdate='".date('Y-m-d')."',userLastUpdate=:userLastUpdate
				WHERE numCap=:numCap AND jour=:jour AND creneau=:creneau";
				$queryRequest = $db->prepare( $query );
				$queryRequest->bindParam( ':numCap', $myIdCap, PDO::PARAM_INT );
				$queryRequest->bindParam( ':numCoLy', $numCoLy, PDO::PARAM_INT );
				$queryRequest->bindParam( ':jour', $myDay, PDO::PARAM_STR );
				$queryRequest->bindParam( ':creneau', $myCreneau, PDO::PARAM_STR );
				$queryRequest->bindParam( ':statut', $statut, PDO::PARAM_STR );
				$queryRequest->bindParam( ':userLastUpdate', $userLastUpdate, PDO::PARAM_STR );
				$queryRequest->execute();
			
			if($statut == 'bloque')	$_SESSION['msg']='Le créneau a été rendu indisponible.'.$msgPlus;
			else	$_SESSION['msg']='Le créneau a été rendu disponible.';
			
		}else	$_SESSION['msg']='Le créneau n\'a pas pu être rendu disponible.';
		
		header('location:agenda-cfa.php?id='.$myIdCap);
		exit();	

	}
	
}

header('location:index.php?err=1');
exit();

?>