/**
 * Si l'user envoie le formulaire pour recevoir un code, la fonction vérifie si son email existe et envoie
 * un mail contenant l'url contenant le code d'activation à cette adresse. La fonction ajoute aussi le code
 * à la BDD
 */
function envoiCode()
{
    if (isset($_POST['email']) && !empty($_POST['email'])) {
        $ini = getConfigFile();
        $email = $_POST['email'];
        $um = new UserManager(connexionDb());
        $userToSend = $um->getUserByEmail($email);
        $inconnu = false;
        if ($userToSend->getId() == NULL) {
            $inconnu = true;
        }
        if ($inconnu) {
            echo "<div class='alert alert-danger' role='alert'>Cet email n'est pas répertorié chez nous, désolé !</div>";
        } else {
            $code_aleatoire = genererCode();
            $adresseAdmin = $ini['ADMINISTRATEUR']['mail'];
            $to = $email;
            $sujet = "Confirmation de la demande du mot de passe";
            $entete = "From:" . $adresseAdmin . "\r\n";
            $entete .= "Content-Type: text/html; charset=utf-8\r\n";
            $message = "Nous confirmons que vous avez bien demandé un nouveau mot de passe : <br>\n\t\t\t\t\t\t\tVotre lien pour pouvoir le modifier est : <a href='http://www.everydayidea.be/Page/mdpOublie.page.php?code=" . $code_aleatoire . "'>www.everydayidea/mdpOublie.page.php?code=" . $code_aleatoire . "</a>";
            mail($to, $sujet, $message, $entete);
            echo "<div class='alert alert-success' role='alert'>Un mail vous a été envoyé avec un code d'activation pour le changement de votre mot de passe !</div>";
            $am = new ActivationManager(connexionDb());
            $ac = new Activation(array("code" => $code_aleatoire, "id_user" => $userToSend->getId(), "libelle" => "Récupération"));
            /**
             * Si le user possède déjà un code de récupération de mdp, je le delete pour lui en mettre un nouveau
             */
            $actDelete = $am->getActivationByLibelleAndId('Récupération', $userToSend->getId());
            if ($actDelete->getCode() == NULL) {
                $am->deleteActivationByIdAndLibelle($actDelete->getIdUser(), 'Récupération');
            }
            $am->addActivation($ac);
        }
    }
}