Subversion Repositories eFlore/Projets.eflore-projets

Rev

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
	}
521 mathilde 24
 
25
 
442 mathilde 26
	//+------------------------------------------------------------------------------------------------------+
27
	// Méthodes communes aux projets d'eFlore
478 jpm 28
 
442 mathilde 29
	public function chargerConfigDuProjet() {
478 jpm 30
		$scriptChemin = $this->Conteneur->getParametre('scriptChemin');
31
		$fichierIni = $scriptChemin.$this->projetNom.'.ini';
32
		if (file_exists($fichierIni)) {
33
			Config::charger($fichierIni);
34
		} else {
35
			$m = "Veuillez configurer le projet en créant le fichier '{$this->projetNom}.ini' ".
36
			"dans le dossier du module de script du projet à partir du fichier '{$this->projetNom}.defaut.ini'.";
37
			throw new Exception($m);
442 mathilde 38
		}
478 jpm 39
	}
40
 
442 mathilde 41
	//changée
478 jpm 42
	public function chargerStructureSql() {
521 mathilde 43
		$this->chargerFichierSql('chemins.structureSql');
44
	}
45
 
46
 
47
	public function chargerFichierSql($param_chemin) {
48
		$fichierStructureSql = $this->Conteneur->getParametre($param_chemin);
478 jpm 49
		$contenuSql = $this->recupererContenu($fichierStructureSql);
605 mathilde 50
		$this->executerScriptSql($contenuSql);
442 mathilde 51
	}
521 mathilde 52
 
53
 
478 jpm 54
 
605 mathilde 55
	public function executerScriptSql($sql) {
478 jpm 56
		$requetes = Outils::extraireRequetes($sql);
442 mathilde 57
		foreach ($requetes as $requete) {
478 jpm 58
			$this->Bdd->requeter($requete);
59
		}
442 mathilde 60
	}
478 jpm 61
 
442 mathilde 62
	public function recupererContenu($chemin) {
478 jpm 63
		$contenu = file_get_contents($chemin);
64
		if ($contenu === false){
65
			throw new Exception("Impossible d'ouvrir le fichier SQL : $chemin");
66
		}
67
		return $contenu;
442 mathilde 68
	}
69
}
70
?>