// Comme si les requêtes de DB_creer_remplir_tables_structure() étaient en cache, et pas encore toutes passées (parcequ'au final, quand on va voir la base, toutes les tables sont bien là). // Est-ce que c'est possible au vu du fonctionnement de la classe de connexion ? Et, bien sûr, y a-t-il quelque chose à faire pour éviter ce problème ? // En attendant une réponse de SebR, j'ai mis ce sleep(1)... sans trop savoir si cela pouvait aider... @sleep(1); // Personnaliser certains paramètres de la structure $tab_parametres = array(); $tab_parametres['version_base'] = VERSION_BASE_STRUCTURE; $tab_parametres['webmestre_uai'] = $uai; $tab_parametres['webmestre_denomination'] = $denomination; $tab_parametres['etablissement_denomination'] = $denomination; DB_STRUCTURE_COMMUN::DB_modifier_parametres($tab_parametres); // Insérer le compte administrateur dans la base de cette structure $password = fabriquer_mdp(); $user_id = DB_STRUCTURE_COMMUN::DB_ajouter_utilisateur( 0 /*user_sconet_id*/ , 0 /*user_sconet_elenoet*/ , '' /*reference*/ , 'ADM' , 'I' /*user_genre*/ , $contact_nom , $contact_prenom , NULL /*user_naissance_date*/ , $contact_courriel , 'user' /*user_email_origine*/ , 'admin' /*login*/ , crypter_mdp($password) , 0 /*classe_id*/ , '' /*id_ent*/ , '' /*id_gepi*/ ); // Pour les admins, abonnement obligatoire aux contacts effectués depuis la page d'authentification DB_STRUCTURE_NOTIFICATION::DB_ajouter_abonnement( $user_id , 'contact_externe' , 'accueil' ); // Envoyer un courriel au contact et / ou une copie du courriel au webmestre $courriel_contenu = ( $courriel_envoi || $courriel_copie ) ? Webmestre::contenu_courriel_inscription( $base_id , $denomination , $contact_nom , $contact_prenom , 'admin' , $password , URL_DIR_SACOCHE ) : '' ; $courriel_titre = ( $courriel_envoi || $courriel_copie ) ? 'Création compte - Inscription n°'.$base_id : '' ; if($courriel_envoi) { $courriel_bilan = Sesamail::mail( $contact_courriel , $courriel_titre , $courriel_contenu ); if(!$courriel_bilan) { exit('Erreur lors de l\'envoi du courriel !'); } } if($courriel_copie) { $introduction = '================================================================================'."\r\n".'Copie pour information du courriel adressé à '.$contact_courriel."\r\n".'================================================================================'."\r\n\r\n"; $courriel_bilan = Sesamail::mail( WEBMESTRE_COURRIEL , $courriel_titre , $introduction.$courriel_contenu );
} } // 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 . '" !'); } } } $user_email_origine = $courriel ? 'admin' : ''; // Insérer l'enregistrement $user_id = DB_STRUCTURE_COMMUN::DB_ajouter_utilisateur($sconet_id, 0, $reference, $profil, $genre, $nom, $prenom, NULL, $courriel, $user_email_origine, $login, crypter_mdp($password), 0, $id_ent, $id_gepi); // Pour les professeurs et directeurs, abonnement obligatoire aux signalements d'un souci pour une appréciation d'un bilan officiel DB_STRUCTURE_NOTIFICATION::DB_ajouter_abonnement($user_id, 'bilan_officiel_appreciation', 'accueil'); // Il peut (déjà !) falloir lui affecter une date de sortie... if ($box_date) { $sortie_date = '-'; $sortie_date_mysql = SORTIE_DEFAUT_MYSQL; } else { $sortie_date_mysql = convert_date_french_to_mysql($sortie_date); DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_user($user_id, array(':sortie_date' => $sortie_date_mysql)); } // Afficher le retour echo '<tr id="id_' . $user_id . '" class="new">'; echo '<td class="nu"><input type="checkbox" name="f_ids" value="' . $user_id . '" /></td>'; echo '<td class="label">' . html($id_ent) . '</td>'; echo '<td class="label">' . html($id_gepi) . '</td>'; echo '<td class="label">' . html($sconet_id) . '</td>'; echo '<td class="label">' . html($reference) . '</td>';
$tab_update[$DB_ROW['abonnement_ref']] = $_POST[$DB_ROW['abonnement_ref']]; } } } if(count($tab_delete)) { foreach($tab_delete as $abonnement_ref => $jointure_mode) { DB_STRUCTURE_NOTIFICATION::DB_supprimer_abonnement( $_SESSION['USER_ID'] , $abonnement_ref ); } } if(count($tab_insert)) { foreach($tab_insert as $abonnement_ref => $jointure_mode) { DB_STRUCTURE_NOTIFICATION::DB_ajouter_abonnement( $_SESSION['USER_ID'] , $abonnement_ref , $jointure_mode ); } } if(count($tab_update)) { foreach($tab_update as $abonnement_ref => $jointure_mode) { DB_STRUCTURE_NOTIFICATION::DB_modifier_abonnement( $_SESSION['USER_ID'] , $abonnement_ref , $jointure_mode ); } } // Afficher le retour exit_json( TRUE ); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // On ne devrait pas en arriver là !