Example #1
0
 /**
  * Ajouter une structure (mode multi-structures)
  *
  * @param int    $base_id   Pour forcer l'id de la base de la structure ; normalement transmis à 0 (=> auto-increment), sauf dans un cadre de gestion interne à Sésamath
  * @param int    $geo_id
  * @param string $structure_uai
  * @param string $localisation
  * @param string $denomination
  * @param string $contact_nom
  * @param string $contact_prenom
  * @param string $contact_courriel
  * @param string $inscription_date   Pour forcer la date d'inscription, par exemple en cas de transfert de bases académiques (facultatif).
  * @return int
  */
 public static function ajouter_structure($base_id,$geo_id,$structure_uai,$localisation,$denomination,$contact_nom,$contact_prenom,$contact_courriel,$inscription_date=0)
 {
   // Insérer l'enregistrement d'une nouvelle structure dans la base du webmestre
   $base_id = DB_WEBMESTRE_WEBMESTRE::DB_ajouter_structure($base_id,$geo_id,$structure_uai,$localisation,$denomination,$contact_nom,$contact_prenom,$contact_courriel,$inscription_date);
   // Génération des paramètres de connexion à la base de données
   $BD_name = 'sac_base_'.$base_id; // Limité à 64 caractères (tranquille...)
   $BD_user = '******'.$base_id; // Limité à 16 caractères (attention !)
   $BD_pass = fabriquer_mdp();
   // Créer le fichier de connexion de la base de données de la structure
   FileSystem::fabriquer_fichier_connexion_base($base_id,SACOCHE_WEBMESTRE_BD_HOST,SACOCHE_WEBMESTRE_BD_PORT,$BD_name,$BD_user,$BD_pass);
   // Créer la base de données d'une structure, un utilisateur MySQL, et lui attribuer ses droits.
   DB_WEBMESTRE_WEBMESTRE::DB_ajouter_base_structure_et_user_mysql($base_id,$BD_name,$BD_user,$BD_pass);
   /* Il reste à :
     + Lancer les requêtes pour installer et remplir les tables, éventuellement personnaliser certains paramètres de la structure
     + Insérer le compte administrateur dans la base de cette structure, éventuellement lui envoyer un courriel
     + Créer un dossier pour les les vignettes images
   */
   return $base_id;
 }