Subversion Repositories eFlore/Projets.eflore-projets

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
442 mathilde 1
<?php
2
/**
478 jpm 3
 *
4
 * fonctions
442 mathilde 5
 * @author mathilde
6
 *
7
 */
478 jpm 8
class EfloreCommun {
442 mathilde 9
 
478 jpm 10
	private $Conteneur = null;
442 mathilde 11
	private $Bdd = null;
478 jpm 12
	private $projetNom = '';
13
	private $scriptChemin = '';
14
 
15
	public function __construct($conteneur) {
16
		$this->Conteneur = $conteneur;
17
		$this->Bdd = $this->Conteneur->getBdd();
18
	}
19
 
442 mathilde 20
	public function initialiserProjet($projetNom) {
21
		$this->projetNom = $projetNom;
22
		$this->chargerConfigDuProjet();
23
	}
478 jpm 24
 
442 mathilde 25
	//+------------------------------------------------------------------------------------------------------+
26
	// Méthodes communes aux projets d'eFlore
478 jpm 27
 
442 mathilde 28
	public function chargerConfigDuProjet() {
478 jpm 29
		$scriptChemin = $this->Conteneur->getParametre('scriptChemin');
30
		$fichierIni = $scriptChemin.$this->projetNom.'.ini';
31
		if (file_exists($fichierIni)) {
32
			Config::charger($fichierIni);
33
		} else {
34
			$m = "Veuillez configurer le projet en créant le fichier '{$this->projetNom}.ini' ".
35
			"dans le dossier du module de script du projet à partir du fichier '{$this->projetNom}.defaut.ini'.";
36
			throw new Exception($m);
442 mathilde 37
		}
478 jpm 38
	}
39
 
442 mathilde 40
	//changée
478 jpm 41
	public function chargerStructureSql() {
42
		$fichierStructureSql = $this->Conteneur->getParametre('chemins.structureSql');
43
		$contenuSql = $this->recupererContenu($fichierStructureSql);
44
		$this->executerScripSql($contenuSql);
442 mathilde 45
	}
478 jpm 46
 
442 mathilde 47
	public function executerScripSql($sql) {
478 jpm 48
		$requetes = Outils::extraireRequetes($sql);
442 mathilde 49
		foreach ($requetes as $requete) {
478 jpm 50
			$this->Bdd->requeter($requete);
51
		}
442 mathilde 52
	}
478 jpm 53
 
442 mathilde 54
	public function recupererContenu($chemin) {
478 jpm 55
		$contenu = file_get_contents($chemin);
56
		if ($contenu === false){
57
			throw new Exception("Impossible d'ouvrir le fichier SQL : $chemin");
58
		}
59
		return $contenu;
442 mathilde 60
	}
61
}
62
?>