*/
namespace ImageHeberg;
if (!defined('_PHPUNIT_')) {
require '../config/config.php';
}
// Anti flood
$maSession = new SessionObject();
// Un utilisateur...
$monUtilisateur = new UtilisateurObject();
require _TPL_TOP_;
// En cas de validation du formulaire
if (isset($_POST['valider']) && $maSession->checkFlag()) {
// Flag pour la création de l'utilisateur
$flagCreation = true;
$messageErreur = '';
if (empty($_POST['userName'])) {
$flagCreation = false;
$messageErreur .= '
Merci de saisir un identifiant.';
}
if (empty($_POST['userPassword'])) {
$flagCreation = false;
$messageErreur .= '
Merci de saisir un mot de passe.';
}
if (empty($_POST['userMail'])) {
$flagCreation = false;
$messageErreur .= '
Merci de saisir une adresse courriel.';
}
// Vérification du bon format de l'adresse mail
if (filter_var($_POST['userMail'], FILTER_VALIDATE_EMAIL) === false) {
$flagCreation = false;
$messageErreur .= '
L\'adresse courriel saisie n\'est pas correcte.';
}
// Disponibilité de l'email
if (UtilisateurObject::verifierEmailDisponible($_POST['userMail']) !== true) {
$flagCreation = false;
$messageErreur .= '
Cet email n\'est pas disponible. Merci d\'en choisir un autre.';
}
// Disponibilité du login
if (UtilisateurObject::verifierLoginDisponible($_POST['userName']) !== true) {
$flagCreation = false;
$messageErreur .= '
Ce nom d\'utilisateur n\'est pas possible. Merci d\'en choisir un autre.';
}
// Données administratives : droits de l'utilisateur
$monUtilisateur->setLevel(UtilisateurObject::LEVEL_USER);
// Données fournies par l'utilisateur
// Nom d'utilisateur
$monUtilisateur->setUserName($_POST['userName']);
// Mot de passe - Crypté
$monUtilisateur->setPasswordToCrypt($_POST['userPassword']);
// Adresse mail
$monUtilisateur->setEmail(strtolower($_POST['userMail']));
// Si tout est bon
if ($flagCreation) {
// Création de l'utilisateur
$monUtilisateur->enregistrer();
// Connexion de l'utilisateur
$monUtilisateur->connexion($_POST['userName'], $_POST['userPassword']);
$maSession->removeFlag();
// TODO : envoi d'un mail avec les identifiants de l'utilisateur
// voir une création de compte avec validation par mail ?
if (!_PHPUNIT_) {
// Redirection sur la page d'accueil - sauf si mode tests
header('Location: ' . _URL_HTTPS_);
die();
}
} else {
echo '