コード例 #1
0
{
	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);
コード例 #2
0
/**
 * 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));
}