/** * 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; }