<?php require_once __DIR__.DIRECTORY_SEPARATOR.'header.php';  
$accountMenu = array();

$_['section'] = !isset($_['section']) ? 'global': $_['section'];
$page = basename($_SERVER['PHP_SELF']);
?>

<div class="row justify-content-md-center">
	<div class="col-md-9 text-center">
		<h5><i class="fas fa-unlock"></i> Mot de passe oublié</h5>

		<?php if(isset($_['token'])): 
			$tokenInfos = explode('::',base64_decode($_['token']));
			if(count($tokenInfos)<2) throw new Exception("Token incorrect");
			list($login,$token) = $tokenInfos;
			global $conf;
			
			$baseToken = UserPreference::load(array('user'=>$login,'key'=>'lost_password'));

			if (!$baseToken) throw new Exception("Token incorrect ou inexistant");
			if ($baseToken->value!=$token) throw new Exception("Token incorrect ou inexistant");

			UserPreference::deleteById($baseToken->id);
			unset($_SESSION['users']);

			$users = User::getAll(true);
			foreach($users as $user){

				if($user->login==$login){
			        global $myUser,$myFirm,$_;
			        
			        $user->loadPreferences();
			        $user->loadRanks();

			        $defaultFirm = !empty($user->preference('default_firm')) ? $user->preferences['default_firm'] : key($user->firms);
			        $_SESSION['firm'] = serialize(Firm::getById($defaultFirm));
			        $myFirm = isset($_SESSION['firm']) ? unserialize($_SESSION['firm']) : new Firm();
			        
			        $user->loadRights();
			        
			        Plugin::callHook("user_login", array(&$user, $user->login,null,true,true,true));
			        
			        if($user == false || empty($user->login)) throw new Exception("Utilisateur inexistant");
			        $myUser = $user;
			        $_SESSION['currentUser'] = serialize($myUser);

					break;
				}
			}
			if(!$myUser->connected()) throw new Exception("Erreur lors de la récuperation du compte, veuillez contacter un administrateur");
			

			?>
			<h6>Bienvenue <?php echo $myUser->fullName(); ?>!</h6>
			<p>Veuillez changer votre mot de passe dans la rubrique <a href="account.php?section=global">"Mon compte"</a></p>
			
		<?php else: 
			if($myUser->connected()) throw new Exception("Vous devez être déconnecté pour accéder à cette fonctionnalité",401);
			?>
			<p>Veuillez remplir le formulaire ci dessous pour procéder au changement de mot de passe</p>
			<p>Un e-mail sera envoyé à la boite spécifiée si celle ci est liée à un compte.</p>
			<label>Adresse e-mail du compte</label>
			<input class="form-control col-sm-3 m-auto text-center" placeholder="email@email.com" type="text" id="mail">
			<div class="btn btn-info col-sm-3 mt-2" onclick="account_lost_password()"><i class="far fa-envelope-open"></i> Envoyer</div>
		<?php endif; ?>
	</div>
</div>
<?php require_once __ROOT__.'footer.php' ?>
