{ if($uai) { // Vérifier que le n°UAI est disponible if( DB_WEBMESTRE_tester_structure_UAI($uai) ) { exit('Erreur : numéro UAI déjà utilisé !'); } } // Insérer l'enregistrement dans la base du webmestre // Créer le fichier de connexion de la base de données de la structure // Créer la base de données de la structure // Créer un utilisateur pour la base de données de la structure et lui attribuer ses droits $base_id = DB_WEBMESTRE_ajouter_structure($base_id=0,$geo_id,$uai,$localisation,$denomination,$contact_nom,$contact_prenom,$contact_courriel); // Créer un dossier pour accueillir les vignettes verticales avec l'identité des élèves Creer_Dossier('./__tmp/badge/'.$base_id); Ecrire_Fichier('./__tmp/badge/'.$base_id.'/index.htm','Circulez, il n\'y a rien à voir par ici !'); // Lancer les requêtes pour créer et remplir les tables charger_parametres_mysql_supplementaires($base_id); DB_STRUCTURE_creer_remplir_tables_structure('./_sql/structure/'); // Il est arrivé que la fonction DB_STRUCTURE_modifier_parametres() retourne une erreur disant que la table n'existe pas. // Comme si les requêtes de DB_STRUCTURE_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; $tab_parametres['uai'] = $uai; $tab_parametres['denomination'] = $denomination; DB_STRUCTURE_modifier_parametres($tab_parametres);
/** * Sauver un cookie avec des options de mise en page pdf * * @param string $page * @return void */ function save_cookie_select($page) { switch($page) { case 'cartouche' : global $orientation,$couleur,$legende,$marge_min,$cart_contenu,$cart_detail; $tab_cookie = compact('orientation','couleur','legende','marge_min','cart_contenu','cart_detail'); break; case 'grille_referentiel' : global $orientation,$couleur,$legende,$marge_min,$cases_nb,$cases_largeur,$colonne_vide; $tab_cookie = compact('orientation','couleur','legende','marge_min','cases_nb','cases_largeur','colonne_vide'); break; case 'matiere' : global $matiere_id; $tab_cookie = compact('matiere_id'); break; case 'palier' : global $palier_id; $tab_cookie = compact('palier_id'); break; case 'releve_synthese' : global $couleur,$legende; $tab_cookie = compact('couleur','legende'); break; case 'releve_items' : global $orientation,$couleur,$legende,$marge_min,$cases_nb,$cases_largeur; $tab_cookie = compact('orientation','couleur','legende','marge_min','cases_nb','cases_largeur'); break; } // Si le dossier n'existe pas, on le créé (possible car au début tous les Cookies des établissements étaient dans un même dossier commun). $dossier_nom = './__tmp/cookie/'.$_SESSION['BASE']; if(!is_dir($dossier_nom)) { Creer_Dossier($dossier_nom); Ecrire_Fichier($dossier_nom.'/index.htm','Circulez, il n\'y a rien à voir par ici !'); } /* Remarque : il y a un problème de serialize avec les type float : voir http://fr2.php.net/manual/fr/function.serialize.php#85988 Dans ce cas il faut remplacer serialize($tab_cookie) par preg_replace( '/d:([0-9]+(\.[0-9]+)?([Ee][+-]?[0-9]+)?);/e', "'d:'.(round($1,9)).';'", serialize($tab_cookie) ); */ $filename = $dossier_nom.'/user'.$_SESSION['USER_ID'].'_'.$page.'.txt'; Ecrire_Fichier($filename,serialize($tab_cookie)); }