// 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>';
예제 #3
0
        $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à !