get_form_ID();
// Vérifier que c'est le bon formulaire
if ($form_id != 121) {
return;
}
// Récupérer tous les champs
$all_fields = $ninja_forms_processing->get_all_fields();
$email = '';
$username = '';
$password = '';
foreach ($all_fields as $field_id => $value) {
switch ($field_id) {
case 1542: // email
$email = $value;
if (email_exists($value)) {
$ninja_forms_processing->add_error('email-exists-'.$field_id, 'Cette adresse email est déjà utilisée.', $field_id);
}
if (!is_email($value)) {
$ninja_forms_processing->add_error('email-invalid-'.$field_id, 'Veuillez entrer une adresse email valide.', $field_id);
}
break;
case 1548: // username
$username = $value;
if (!validate_username($value)) {
$ninja_forms_processing->add_error('username-invalid-'.$field_id, 'Nom d\'utilisateur invalide. Veuillez essayer un autre.', $field_id);
}
if (username_exists($value)) {
$ninja_forms_processing->add_error('username-exists-'.$field_id, 'Ce nom d\'utilisateur existe déjà. Veuillez en choisir un autre.', $field_id);
}
if (strlen($value) < 4) {
$ninja_forms_processing->add_error('username-short-'.$field_id, 'Le nom d\'utilisateur doit contenir au moins 4 caractères.', $field_id);
}
break;
case 1549: // password
$password = $value;
if (strlen($value) < 8) {
$ninja_forms_processing->add_error('password-short-'.$field_id, 'Le mot de passe doit contenir au moins 8 caractères.', $field_id);
}
break;
}
}
}
// Désactiver la création d'utilisateur par FEditor
add_action('ninja_forms_before_processing', function() {
global $ninja_forms_processing;
$form_id = $ninja_forms_processing->get_form_ID();
if ($form_id == 121) {
remove_action('ninja_forms_pre_process', 'ninja_forms_before_pre_process_registration', 10);
remove_action('ninja_forms_post_process', 'ninja_forms_process_register_form', 10);
}
}, 1);
// Gérer la création d'utilisateur après validation réussie
add_action('ninja_forms_post_process', 'custom_create_user_from_ninja_form', 10);
function custom_create_user_from_ninja_form() {
global $ninja_forms_processing;
$form_id = $ninja_forms_processing->get_form_ID();
// Vérifier que c'est le bon formulaire
if ($form_id != 121) {
return;
}
// Vérifier qu'il n'y a pas d'erreurs
if ($ninja_forms_processing->get_errors_count() > 0) {
return;
}
// Récupérer les données du formulaire
$email = $ninja_forms_processing->get_field_value(1542);
$username = $ninja_forms_processing->get_field_value(1548);
$password = $ninja_forms_processing->get_field_value(1549);
$first_name = $ninja_forms_processing->get_field_value(1536);
$last_name = $ninja_forms_processing->get_field_value(1537);
$etablissement = $ninja_forms_processing->get_field_value(1842);
$cursus = $ninja_forms_processing->get_field_value(1844);
// Créer l'utilisateur avec le mot de passe fourni
$user_data = array(
'user_login' => $username,
'user_email' => $email,
'user_pass' => $password,
'first_name' => $first_name,
'last_name' => $last_name,
'role' => 'subscriber',
);
$user_id = wp_insert_user($user_data);
if (is_wp_error($user_id)) {
// En cas d'erreur lors de la création
error_log('Erreur création utilisateur: ' . $user_id->get_error_message());
// Ajouter une erreur générale
$ninja_forms_processing->add_error('user-creation-failed', 'Une erreur est survenue lors de la création de votre compte.');
} else {
// Succès - sauvegarder les meta données personnalisées
update_user_meta($user_id, 'etablissement', $etablissement);
update_user_meta($user_id, 'cursus', $cursus);
// Connecter automatiquement l'utilisateur
wp_set_auth_cookie($user_id);
wp_set_current_user($user_id);
}
Prochains Évènements | Le Service Culturel du Crous de Paris
Information importante :
Suite à un incident technique, notre site connaît des perturbations. Certaines fonctionnalités peuvent être temporairement indisponibles.
The page you are looking for is no longer here, or never existed in the first place (bummer). You can try searching for what you are looking for using the form below. If that still doesn't provide the results you are looking for, you can always start over from the home page.