*/
namespace ImageHeberg;
if (!defined('_PHPUNIT_')) {
require '../config/config.php';
}
require _TPL_TOP_;
// Anti flood
$maSession = new SessionObject();
// Un utilisateur...
$monUtilisateur = new UtilisateurObject();
// 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é 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($_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_);
die();
}
} else {
echo '