<?php

//-----------------------------------------------------------------------------------------------------------------
	$FLAG_DEBUG = false;
	$FLAG_DEBUG = true;

//-----------------------------------------------------------------------------------------------------------------
// routine de création des mots de passe
//-----------------------------------------------------------------------------------------------------------------
function CarAleatoire($taille) {
	  // Liste des caractères possibles
	  $cars="1234567890";
	  $mdp='';
	  $long=strlen($cars);

	  srand((double)microtime()*1000000); //Initialise le générateur de nombres aléatoires

	  for($i=0;$i<$taille;$i++) $mdp=$mdp.substr($cars,rand(0,$long-1),1);

	  return $mdp;
}

//----------------------------------------------------------------
$code_2fa_6_digits = CarAleatoire(6) ;

$_SESSION['code_2FA']			= $code_2fa_6_digits ;
$_SESSION['code_2FA_hashed']	= password_hash( $code_2fa_6_digits, PASSWORD_DEFAULT ) ;

if ( $FLAG_DEBUG ) {
	$_SESSION['code_2FA_t_limit']	= time() + 20;
} else {
	$_SESSION['code_2FA_t_limit']	= time() + 5*60;
}

$admin_phone_number = $USER_2FA_PHONE ;

//----------------------------------------------------------------
if ( ! $FLAG_DEBUG ) {
	
	$sender		= 'AQCM05';                               //l’expéditeur, attention pas plus de 11 caractères alphanumériques
	$message		= $code_2fa_6_digits . "\n valable pendant 5mn !" ;
	$msisdn		= $admin_phone_number;                            //numéro de téléphone du destinataire


	//config
	$url        = 'https://api.allmysms.com/http/9.0/sendSms/';
	$login      = 'aqcm05';                              //votre identifiant allmysms
	$apiKey     = '81bf237ac548c42';                             //votre clé d'API allmysms

	$smsData    = "<DATA>
	   <MESSAGE><![CDATA[" . $message . "]]></MESSAGE>
	   <TPOA>" . $sender . "</TPOA>
	   <SMS>
		  <MOBILEPHONE>" . $msisdn . "</MOBILEPHONE>
	   </SMS>
	</DATA>";

	$fields = array(
		'login'    => $login,
		'apiKey'   => $apiKey,
		'smsData'  => $smsData,
	);

	$fieldsString = http_build_query($fields);

	try {
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_POST, count($fields));
		curl_setopt($ch, CURLOPT_POSTFIELDS, $fieldsString);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);    // permet d’éviter le temps d'attente par défaut : 300 sec - optionnel
		curl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 1024); // limite de detection des connexions lentes, en octets/sec (ici : 1 ko) - optionnel
		curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 1);     // coupe la connexion si en dessous de CURLOPT_LOW_SPEED_LIMIT pendant plus de CURLOPT_LOW_SPEED_TIME - optionnel

		$result = curl_exec($ch);

		echo $result;

		curl_close($ch);

	} catch (Exception $e) {
		echo 'Api allmysms injoignable ou trop longue a repondre ' . $e->getMessage();
	}

	
}

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

?>

