<?php

	//--------------------------------------------------------------------------------------------------------
	$code_erreur = 0;
	$AQCM05_connected = false ;

	$Flag_debug = true ;
	$Flag_debug = false ;
	
	$p_NEW_USERS_ID 		= isset($_POST["NEW_USERS_ID"]) 		? $_POST["NEW_USERS_ID"] 		: "";
	$p_NEW_USERS_LEVEL 	= isset($_POST["NEW_USERS_LEVEL"]) 	? $_POST["NEW_USERS_LEVEL"] 	: "1";
	$p_NEW_USERS_PW   	= isset($_POST["NEW_USERS_PW"])   		? $_POST["NEW_USERS_PW"]   		: "";
	$p_check_box_2   	= isset($_POST["check_box_2"])   		? true   							: false;

	//--------------------------------------------------------------------------------------------------------
	$p_KOKO				= [];
	$p_JOJO				= [];
	$p_HOHO				= [];
	$p_NEW_USERS_MAILS	= [];
	
	$p_KOKO = preg_split("/(\r\n|\n|\r)/", $p_NEW_USERS_ID);
	
	$j = 0;
	for( $i = 0; $i < sizeof($p_KOKO); $i++ ) {
		$p_KOKO[$i] = trim($p_KOKO[$i]);
		if ( $p_KOKO[$i] != "" ) {
			$p_JOJO[$j] = $p_KOKO[$i];
			$j++;
		}
	}
	
	$p_HOHO = array_unique($p_JOJO);

	$j = 0; $k = 0 ;
	while ( ( $j < sizeof($p_HOHO) ) && ( $k < sizeof($p_JOJO) ) ) {
		if ( isset($p_HOHO[$k]) ) {
			$p_NEW_USERS_MAILS[$j] = $p_HOHO[$k];
			$j++;
		}
		$k++;
	}
	
	//print_r( $p_NEW_USERS_MAILS );	echo("</br>");
	
	if ( sizeof($p_NEW_USERS_MAILS) == 0 ) {
		$p_NEW_USERS_MAILS_LISTE = '';
		echo('<font color="red">');
		echo( "la liste des adresses mail est vide ! <br>") ;
		echo('</font>');
		$code_erreur = 10 ;
	}
	elseif ( sizeof($p_NEW_USERS_MAILS) == 1 ) {
		$p_NEW_USERS_MAILS_LISTE = '"' . $p_NEW_USERS_MAILS[0] . '"' ;
	}
	else {
		$p_NEW_USERS_MAILS_LISTE = "";
		for( $i = 0; $i < sizeof($p_NEW_USERS_MAILS)-1; $i++ ) {
			$p_NEW_USERS_MAILS_LISTE = $p_NEW_USERS_MAILS_LISTE . '"' . $p_NEW_USERS_MAILS[$i] . '",' ;
		}
		$p_NEW_USERS_MAILS_LISTE = $p_NEW_USERS_MAILS_LISTE . '"' . $p_NEW_USERS_MAILS[$i] . '"' ;
	}

	//--------------------------------------------------------------------------------------------------------
	function verif_alphaNum($str) {
		
		// On cherche tt les caractères autre que [A-Za-z] ou [0-9]
		preg_match("/([^A-Za-z0-9@\s])/",$str,$result);
		
		// si on trouve des caractère autre que A-Za-z ou 0-9
		if( ! empty($result) ){
			return false;
		}
			return true;
			
	}

	//--------------------------------------------------------------------------------------------------------
	// tests sur le couple email/pw
	//--------------------------------------------------------------------------------------------------------
	if ( $code_erreur == 0 ) {
		
		for( $i=0; $i < sizeof($p_NEW_USERS_MAILS); $i++ ) {
			
			if ( $p_NEW_USERS_MAILS[$i] == $_SESSION['login'] ) {
				echo('<font color="salmon">');
				echo( $p_NEW_USERS_MAILS[$i] . " : session en cours ! <br>") ;
				echo('</font>');
				$code_erreur = 1 ;
			}
			
		}
	
	}

	if ( $code_erreur == 0 ) {
		
		for( $i=0; $i < sizeof($p_NEW_USERS_MAILS); $i++ ) {
			
			if ( ! filter_var($p_NEW_USERS_MAILS[$i], FILTER_VALIDATE_EMAIL)) {
				echo('<font color="salmon">');
				echo( $p_NEW_USERS_MAILS[$i] . " n'est pas une adresse mail valide ! <br>") ;
				echo('</font>');
				$code_erreur = 2 ;
			}
			
		}
	
	}

	if ( $code_erreur == 0 ) {
		
		if ( strlen($p_NEW_USERS_PW) < 8 ) {
			
				echo('<font color="salmon">');
			echo("le mot de passe n'est pas assez long ! ( > 7 ) <br>") ;
			echo('</font>');
			$code_erreur = 3 ;
			
		}
	}

	if ( $code_erreur == 0 ) {
		
		if ( ! verif_alphaNum( $p_NEW_USERS_PW ) ) {
				echo('<font color="salmon">');
			echo("le mot de passe doit être alphanumérique ! <br>") ;
			echo('</font>');
			$code_erreur = 4 ;
			
		}
		else {
			$p_NEW_PW_hash = password_hash($p_NEW_USERS_PW, PASSWORD_DEFAULT);
		}
	}


	//--------------------------------------------------------------------------------------------------------
	// 1 - connexion à la base de données
	//--------------------------------------------------------------------------------------------------------
	if ( $code_erreur == 0 ) {
		
		include ("../_identifiants/sql_identification_main.php");
		$mysql_base = "AQCM05_SITE_" . $_SESSION['SITE_ID'] ;

		$link_AQCM05 = mysqli_connect($mysql_host,$mysql_user,$mysql_password, $mysql_base);
		
		if ($link_AQCM05) {

			$AQCM05_connected = true ;
			
		}
		else {
			
			$code_erreur = 11 ;

			echo('<font color="red">');
			echo("Connexion impossible à la base de donnée MySQL : " . PHP_EOL . "<br>") ;
			echo('</font>');
			
		}

	}

	//--------------------------------------------------------------------------------------------------------
	// 2 - supression des doublons
	//--------------------------------------------------------------------------------------------------------
	if ( $code_erreur == 0 ) {
		
		$NB_users = 0 ;

		$query = 'DELETE FROM AQCM05_SITE_USERS WHERE USER_ID IN (' . $p_NEW_USERS_MAILS_LISTE . ')';
		//echo( $query . "</br>");

		$result_users_list = mysqli_query($link_AQCM05, $query); 
		
		if ( ! $result_users_list ) {
			$code_erreur = 21;
			echo('<font color="red">');
			echo("erreur MySQL lors de la suppression des doublons ! <br>") ;
			echo('</font>');
		} 

	}


	//--------------------------------------------------------------------------------------------------------
	// 3 - création des nouveaux utilisateurs
	//--------------------------------------------------------------------------------------------------------
	if ( $code_erreur == 0 ) {
		
		if ( sizeof($p_NEW_USERS_MAILS) == 0 ) {
			
			$p_NEW_USERS_MAILS_INSERT = '';
			echo('<font color="red">');
			echo( "la liste des adresses mail est vide ! <br>") ;
			echo('</font>');
			$code_erreur = 31 ;
			
		}
		elseif ( sizeof($p_NEW_USERS_MAILS) == 1 ) {

			$p_NEW_USERS_MAILS_INSERT = 
				'("' 									. 
				$p_NEW_USERS_MAILS[0] . '","' 	. 
				$p_NEW_PW_hash 			. '","' 	. 
				"ON"						. '","' 	. 
				$p_NEW_USERS_LEVEL		. '","' 	. 
				"1999999999" 				. '")' ;

		}
		else {

			$p_NEW_USERS_MAILS_INSERT = "";
			for( $i = 0; $i < sizeof($p_NEW_USERS_MAILS)-1; $i++ ) {
				$p_NEW_USERS_MAILS_INSERT = 
					$p_NEW_USERS_MAILS_INSERT . 
					'("' 									. 
					$p_NEW_USERS_MAILS[$i] . '","' 	. 
					$p_NEW_PW_hash 			. '","' 	. 
					"ON"						. '","' 	. 
					$p_NEW_USERS_LEVEL		. '","' 	. 
					"1999999999" 				. '"),' ;
			}
			$p_NEW_USERS_MAILS_INSERT = 
				$p_NEW_USERS_MAILS_INSERT . 
				'("' 									. 
				$p_NEW_USERS_MAILS[$i] . '","' 	. 
				$p_NEW_PW_hash 			. '","' 	. 
				"ON"						. '","' 	. 
				$p_NEW_USERS_LEVEL		. '","' 	. 
				"1999999999" 				. '")' ;

		}
		
	}
	//echo( $p_NEW_USERS_MAILS_INSERT ); echo("</br>");

	if ( $code_erreur == 0 ) {


		$query = 'INSERT INTO AQCM05_SITE_USERS(USER_ID, USER_PW, USER_STATUS, USER_LEVEL, USER_T_MAX) VALUES ' . $p_NEW_USERS_MAILS_INSERT . ';' ;
			
		//echo($query . "<br>");
			
		
		$result = mysqli_query($link_AQCM05, $query); 
		
		if (!$result) {
			$code_erreur = 31;
			echo('<font color="red">');
			echo("&nbsp;→&nbsp;&nbsp;erreur MySQL lors de'insertion des nouveaux mails ! <br>") ;
			echo('</font>');
		} 
		else {
			echo('<font color="Lime">');
			echo( "&nbsp;→&nbsp;&nbsp;création des nouveaux utilisateurs : ") ;
			echo( "succès...<br>" ) ;
			echo('</font>');
		}
	}
	
	//--------------------------------------------------------------------------------------------------------
	// clôture
	//--------------------------------------------------------------------------------------------------------
	if ( $AQCM05_connected ) {
		
		mysqli_close($link_AQCM05);
		
	}

	
	//-----------------------------------------------------------------------------------------------------------------
	// envoi du mail
	//-----------------------------------------------------------------------------------------------------------------
	if ( $code_erreur == 0 ) {

		if ( $p_check_box_2 ) {

			include ("../M0/send_mail.php");

			$to      = $p_NEW_USERS_MAILS ;
			$subject = "AQCM05 : creation d'un utilisateur" ;
			$message = "
				sondes AQCM05 : creation de nouveaux utilisateurs. <br>
				- votre identifiant est  : votre adresse mail, <br>
				- votre mot de passe est : <b>" . $p_NEW_USERS_PW . "</b><br><br>
				- pour accéder au site AQCM05, <a href='URL_AQCM05_CIBLE' ><u><b>cliquer ici</b></u></a><br><br>
				
				NB : personnalisation du mot de passe : il doit être alphanumérique et d'au moins 8 caractères";

			$send_mails_return = send_multiples_mails($to, $subject, $message);
			
			if ( $send_mails_return[2] ) {
				
				echo( "</br><font color='lime'>&nbsp;→&nbsp;&nbsp;envoi des mails : " . $send_mails_return[0] . "</font></br>" ) ;
				log_string( "AQCM05", "NOTICE ---> " . "création des utilisateurs [ " . $p_NEW_USERS_MAILS_LISTE . " ] par : " . $_SESSION['login'] . " : succès..." ) ;
				
			}
			else {
				
				echo( "</br><font color='salmon'>&nbsp;→&nbsp;&nbsp;envoi des mails : " . $send_mails_return[0] . "</font></br>" ) ;
				log_string( "AQCM05", "NOTICE ---> " . "création des utilisateurs [ " . $p_NEW_USERS_MAILS_LISTE . " ] par : " . $_SESSION['login'] . " : échec !!!" ) ;
		
			}

			
		}
		else {
				echo( "</br><font color='lightgray'>&nbsp;→&nbsp;&nbsp;la fonction d'envoi des mails n'est pas activée...</font></br>" ) ;
		}
	}

	//--------------------------------------------------------------------------------------------------------

/*
*/

?>
