Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 605 | Details | Compare with Previous | 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
	}
919 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() {
521 mathilde 42
		$this->chargerFichierSql('chemins.structureSql');
43
	}
919 jpm 44
 
521 mathilde 45
	public function chargerFichierSql($param_chemin) {
46
		$fichierStructureSql = $this->Conteneur->getParametre($param_chemin);
478 jpm 47
		$contenuSql = $this->recupererContenu($fichierStructureSql);
605 mathilde 48
		$this->executerScriptSql($contenuSql);
442 mathilde 49
	}
478 jpm 50
 
605 mathilde 51
	public function executerScriptSql($sql) {
478 jpm 52
		$requetes = Outils::extraireRequetes($sql);
442 mathilde 53
		foreach ($requetes as $requete) {
478 jpm 54
			$this->Bdd->requeter($requete);
55
		}
442 mathilde 56
	}
478 jpm 57
 
442 mathilde 58
	public function recupererContenu($chemin) {
478 jpm 59
		$contenu = file_get_contents($chemin);
60
		if ($contenu === false){
61
			throw new Exception("Impossible d'ouvrir le fichier SQL : $chemin");
62
		}
63
		return $contenu;
442 mathilde 64
	}
65
}
66
?>