New file |
0,0 → 1,201 |
<?php |
class Conteneur { |
protected $parametres = array(); |
protected $partages = array(); |
|
public function __construct(array $parametres = null) { |
$this->parametres = is_null($parametres) ? array() : $parametres; |
} |
|
public function getParametre($cle) { |
$valeur = isset($this->parametres[$cle]) ? $this->parametres[$cle] : Config::get($cle); |
return $valeur; |
} |
|
public function getParametreTableau($cle) { |
$tableau = array(); |
$parametre = $this->getParametre($cle); |
if (empty($parametre) === false) { |
$tableauPartiel = explode(',', $parametre); |
$tableauPartiel = array_map('trim', $tableauPartiel); |
foreach ($tableauPartiel as $champ) { |
if (strpos($champ, '=') === false) { |
$tableau[] = trim($champ); |
} else { |
list($cle, $val) = explode('=', $champ); |
$tableau[trim($cle)] = trim($val); |
} |
} |
} |
return $tableau; |
} |
|
public function setParametre($cle, $valeur) { |
$this->parametres[$cle] = $valeur; |
} |
|
public function getParametresUrl() { |
if (!isset($this->partages['Parametres'])){ |
$this->partages['Parametres'] = new Parametres($this->parametres['parametres'], $this->getBdd()); |
} |
return $this->partages['Parametres']; |
} |
|
public function getParametresUrlVerificateur() { |
if (!isset($this->partages['ParametresVerificateur'])){ |
$parametres = $this->getParametresUrl(); |
$parametresAPI = $this->getParametreTableau('parametresAPI'); |
$this->partages['ParametresVerificateur'] = new ParametresVerificateur($parametres, $parametresAPI); |
} |
return $this->partages['ParametresVerificateur']; |
} |
|
public function getRessourcesUrl() { |
if (!isset($this->partages['Ressources'])){ |
$this->partages['Ressources'] = new Ressources($this->parametres['ressources']); |
} |
return $this->partages['Ressources']; |
} |
|
public function getRessourcesUrlVerificateur() { |
if (!isset($this->partages['RessourcesVerificateur'])){ |
$ressources = $this->getRessourcesUrl(); |
$projetsDispo = $this->getParametreTableau('projetsDispo'); |
$servicesDispo = $this->getParametreTableau('servicesDispo'); |
$this->partages['RessourcesVerificateur'] = new RessourcesVerificateur($ressources, $projetsDispo, $servicesDispo); |
} |
return $this->partages['RessourcesVerificateur']; |
} |
|
public function getUrlFormatage() { |
if (!isset($this->partages['UrlFormatage'])){ |
$Bdd = $this->getBdd(); |
$this->partages['UrlFormatage'] = new UrlFormatage($Bdd); |
} |
return $this->partages['UrlFormatage']; |
} |
|
public function getRequetesAssemblage() { |
if (!isset($this->partages['RequetesAssemblage'])){ |
$this->partages['RequetesAssemblage'] = new RequetesAssemblage($this->getBdd()); |
} |
return $this->partages['RequetesAssemblage']; |
} |
|
|
public function getVersionVerificateur() { |
if (!isset($this->partages['VersionVerificateur'])){ |
$ressources = $this->getRessourcesUrl(); |
$parametres = $this->getParametresUrl(); |
$versions = $this->getVersions(); |
$this->partages['VersionVerificateur'] = new VersionVerificateur($ressources, $parametres, $versions); |
} |
return $this->partages['VersionVerificateur']; |
} |
|
public function getBdd() { |
if (!isset($this->partages['Bdd'])){ |
$this->partages['Bdd'] = new Bdd(); |
} |
return $this->partages['Bdd']; |
} |
|
public function getCacheSimple($options = array()) { |
$cache = new CacheSimple($options); |
return $cache; |
} |
|
public function getVersions() { |
if (!isset($this->partages['Versions'])){ |
$parametres = $this->getParametresUrl(); |
$ressources = $this->getRessourcesUrl(); |
$bdd = $this->getBdd(); |
$versions = new Versions($parametres, $bdd); |
$this->partages['Versions'] = $versions; |
} |
return $this->partages['Versions']; |
} |
|
public function getProjet() { |
if (!isset($this->partages['Projet'])){ |
$ressources = $this->getRessourcesUrl(); |
$projet = new Projet($ressources); |
$projet->setCheminBase($this->getParametre('cheminBase')); |
$projet->setCheminConfig($this->getParametre('chemin_configurations')); |
$projet->setCheminBiblio($this->getParametre('chemin_bibliotheque')); |
$projet->initialiser(); |
$projet->setParamsVerif($this->getParametresUrlVerificateur()); |
$projet->setRessourcesVerif($this->getRessourcesUrlVerificateur()); |
$projet->setVersionVerif($this->getVersionVerificateur()); |
$projet->setServiceGenerique($this->getServiceGenerique()); |
$this->partages['Projet'] = $projet; |
} |
return $this->partages['Projet']; |
} |
|
public function getNomDao() { |
$ressources = $this->getRessourcesUrl(); |
$parametres = $this->getParametresUrl(); |
$bdd = $this->getBdd(); |
$versions = $this->getVersions(); |
$nomDao = new NomDAO($ressources, $parametres, $bdd, $versions); |
return $nomDao; |
} |
|
public function getOntologiesDao() { |
$ressources = $this->getRessourcesUrl(); |
$parametres = $this->getParametresUrl(); |
$bdd = $this->getBdd(); |
$versions = $this->getVersions(); |
$ontologieDao = new OntologieDAO($ressources, $parametres, $bdd, $versions); |
return $ontologieDao; |
} |
|
public function getNomFormateur() { |
$formateur = new NomFormateur(); |
$formateur->setBdd($this->getBdd()); |
$formateur->setChampsProjet($this->getParametreTableau('champsProjet')); |
$formateur->setDetailsHrefTpl($this->getParametre('detailsHrefTpl')); |
$formateur->setOntologieHrefTpl($this->getParametre('ontologieHrefTpl')); |
return $formateur; |
} |
|
public function getOntologiesFormateur() { |
$formateur = new OntologieFormateur(); |
$formateur->setBdd($this->getBdd()); |
$formateur->setChampsProjet($this->getParametreTableau('champsProjet')); |
$formateur->setDetailsHrefTpl($this->getParametre('detailsHrefOntologiesTpl')); |
$formateur->setLangueDemandee($this->getParametresUrl()->get('retour.langue')); |
return $formateur; |
} |
|
public function getWikipediaBot($options = array()) { |
$wpBot = new WikipediaBot($options); |
return $wpBot; |
} |
|
public function getUrl($url) { |
$url = new Url($url); |
return $url; |
} |
|
public function getServiceGenerique() { |
$ressources = $this->getRessourcesUrl(); |
$classe = $ressources->getServiceClasse(); |
$classeGenerique = $classe.'Generique'; |
if ($ressources->getServiceNom() == 'noms' || $ressources->getServiceNom() == 'taxons') { |
$service = new $classeGenerique($this->getRessourcesUrl(), $this->getParametresUrl(), $this->getNomDao(), $this->getNomFormateur()); |
if ($classe == 'NomsListe') { |
$service->setListeUrl($this->getParametre('listeUrl')); |
} |
} else if ($ressources->getServiceNom() == 'ontologies') { |
$service = new $classeGenerique($this->getRessourcesUrl(), $this->getParametresUrl(), $this->getOntologiesDao(), $this->getOntologiesFormateur()); |
if ($classe == 'OntologiesListe') { |
$service->setListeUrl($this->getParametre('listeUrlOntologies')); |
} |
} |
|
return $service; |
} |
} |
?> |