} // Vérifier que l'identifiant sconet est disponible (parmi les utilisateurs de même type de profil) if ($sconet_id) { if (DB_STRUCTURE_ADMINISTRATEUR::DB_tester_utilisateur_identifiant('sconet_id', $sconet_id, $id, $_SESSION['TAB_PROFILS_ADMIN']['TYPE'][$profil])) { exit('Erreur : identifiant Sconet déjà utilisé !'); } } // Vérifier que la référence est disponible (parmi les utilisateurs de même type de profil) if ($reference) { if (DB_STRUCTURE_ADMINISTRATEUR::DB_tester_utilisateur_identifiant('reference', $reference, $id, $_SESSION['TAB_PROFILS_ADMIN']['TYPE'][$profil])) { exit('Erreur : référence déjà utilisée !'); } } // Vérifier que le login transmis est disponible (parmi tous les utilisateurs de l'établissement) if (!$box_login) { if (DB_STRUCTURE_ADMINISTRATEUR::DB_tester_utilisateur_identifiant('login', $login, $id)) { exit('Erreur : login déjà existant !'); } $tab_donnees[':login'] = $login; } // Vérifier le domaine du serveur mail seulement en mode multi-structures car ce peut être sinon une installation sur un serveur local non ouvert sur l'extérieur. if ($courriel) { if (HEBERGEUR_INSTALLATION == 'multi-structures') { list($mail_domaine, $is_domaine_valide) = tester_domaine_courriel_valide($courriel); if (!$is_domaine_valide) { exit('Erreur avec le domaine "' . $mail_domaine . '" !'); } } $tab_donnees[':email_origine'] = 'admin'; } else { $tab_donnees[':email_origine'] = '';
// La classe n'est affichée que pour l'élève $avec_info = $profil == 'eleves' ? 'classe' : ($profil == 'parents' ? 'enfant' : ''); // //////////////////////////////////////////////////////////////////////////////////////////////////// // Initialiser plusieurs noms d'utilisateurs // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($action == 'generer_login') { $tab_login = array(); // Récupérer les données des utilisateurs concernés (besoin de le faire maintenant, on a besoin des infos pour générer le login) $listing_champs = $profil != 'parents' ? 'user_id,user_sconet_id,user_sconet_elenoet,user_reference,user_profil_sigle,user_nom,user_prenom' : 'parent.user_id AS parent_id,parent.user_sconet_id AS parent_sconet_id,parent.user_sconet_elenoet AS parent_sconet_elenoet,parent.user_reference AS parent_reference,parent.user_profil_sigle AS parent_profil_sigle,parent.user_nom AS parent_nom,parent.user_prenom AS parent_prenom'; $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users_cibles(implode(',', $tab_user), $listing_champs, $avec_info); // Mettre à jour les noms d'utilisateurs des utilisateurs concernés foreach ($DB_TAB as $DB_ROW) { // Construire le login $login = fabriquer_login($DB_ROW[$prefixe . 'prenom'], $DB_ROW[$prefixe . 'nom'], $DB_ROW[$prefixe . 'profil_sigle']); // Puis tester le login if (DB_STRUCTURE_ADMINISTRATEUR::DB_tester_utilisateur_identifiant('login', $login, $DB_ROW[$prefixe . 'id'])) { // Login pris : en chercher un autre en remplaçant la fin par des chiffres si besoin $login = DB_STRUCTURE_ADMINISTRATEUR::DB_rechercher_login_disponible($login); } DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_user($DB_ROW[$prefixe . 'id'], array(':login' => $login)); $tab_login[$DB_ROW[$prefixe . 'id']] = $login; } } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Initialiser plusieurs mots de passe // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($action == 'generer_mdp') { $tab_password = array(); // Récupérer les données des utilisateurs concernés (besoin de le faire maintenant, on a besoin des infos pour générer le mdp) $listing_champs = $profil != 'parents' ? 'user_id,user_sconet_id,user_sconet_elenoet,user_reference,user_profil_sigle,user_nom,user_prenom,user_login' : 'parent.user_id AS parent_id,parent.user_sconet_id AS parent_sconet_id,parent.user_sconet_elenoet AS parent_sconet_elenoet,parent.user_reference AS parent_reference,parent.user_profil_sigle AS parent_profil_sigle,parent.user_nom AS parent_nom,parent.user_prenom AS parent_prenom,parent.user_login AS parent_login'; $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users_cibles(implode(',', $tab_user), $listing_champs, $avec_info);