/trunk/services/modules/0.1/nomstaxons/ListeTaxons.php |
---|
19,7 → 19,6 |
private $conteneur; |
private $navigation; |
private $masque; |
private $bdd; |
private $parametres = array(); |
private $ressources = array(); |
29,7 → 28,6 |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_nomstaxons.ini'); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->bdd = $this->conteneur->getBdd(); |
} |
42,7 → 40,7 |
$this->initialiserRessourcesEtParametres($ressources, $parametres); |
// Lancement du service |
$taxons = $this->chargerNoms($this->masque->getMasque('referentiel'), $this->masque->getMasque('nom')); |
$taxons = $this->chargerNoms($this->navigation->getFiltre('masque.referentiel'), $this->navigation->getFiltre('masque.nom')); |
$total = $this->compterNoms($taxons); |
$this->navigation->setTotal($total); |
$this->navigation->setSansLimite(); |
/trunk/services/modules/0.1/Communes.php |
---|
61,28 → 61,15 |
} |
private function traiterRessources() { |
$this->chargerConfigService(); |
$this->analyserRessources(); |
$retour = $this->initialiserService(); |
return $retour; |
} |
private function chargerConfigService() { |
$chemin = Config::get('chemin_configurations')."config_{$this->serviceNom}.ini"; |
Config::charger($chemin); |
} |
private function analyserRessources() { |
if ($this->methode == 'consulter') { |
if (count($this->ressources) == 0) { |
if ($this->verifierPresenceParametre('masque.nom')) { |
$this->sousServiceNom = 'liste-communes'; |
} else { |
$message = "Le service demandé '{$this->serviceNom}' ". |
"nécessite l'utilisation d'un paramètre (non vide) : masque.nom \n"; |
$code = RestServeur::HTTP_CODE_ECHEC_CONDITION; |
throw new Exception($message, $code); |
} |
if (count($this->ressources) == 0 && $this->verifierPresenceParametre('masque.nom')) { |
$this->sousServiceNom = 'liste-communes'; |
} |
} |
if ($this->sousServiceNom == null) { |
91,11 → 78,12 |
} |
private function verifierPresenceParametre($cle) { |
$ok = false; |
if (isset($this->parametres[$cle]) && trim($this->parametres[$cle]) != '') { |
$ok = true; |
if (isset($this->parametres[$cle]) && trim($this->parametres[$cle]) == '') { |
$message = "Le service demandé '{$this->serviceNom}' ". |
"nécessite l'utilisation d'un paramètre (non vide) : masque.nom \n"; |
throw new Exception($message, RestServeur::HTTP_CODE_ECHEC_CONDITION); |
} |
return $ok; |
return true; |
} |
private function lancerMessageErreurRessource() { |
118,11 → 106,10 |
foreach ($chemins as $chemin) { |
if (file_exists($chemin)) { |
$this->conteneur->chargerConfiguration('config_'.$this->serviceNom.'.ini'); |
require_once $chemin; |
$service = new $classe($this->conteneur); |
if ($this->methode == 'consulter') { |
$retour = $service->consulter($this->ressources, $this->parametres); |
$retour = $service->consulter($this->parametres); |
} else { |
$message = "Le sous-service '{$this->sousServiceNom}' du service '{$this->serviceNom}' ". |
"ne possède pas de méthode '{$this->methode}' !"; |
/trunk/services/modules/0.1/observations/ListeObservationsWidget.php |
---|
17,7 → 17,6 |
private $conteneur; |
private $navigation; |
private $masque; |
private $bdd; |
private $parametres = array(); |
private $ressources = array(); |
29,7 → 28,6 |
$this->conteneur->chargerConfiguration('config_observations.ini'); |
$this->conteneur->chargerConfiguration('config_departements_bruts.ini'); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->bdd = $this->conteneur->getBdd(); |
} |
149,7 → 147,7 |
* */ |
private function chargerClauseWhere() { |
$where = array(); |
$tableauMasque = $this->masque->getMasque(); |
$tableauMasque = $this->navigation->getFiltre(); |
if (!empty($tableauMasque)) { |
foreach($tableauMasque as $idMasque => $valeurMasque) { |
157,7 → 155,7 |
switch ($idMasque) { |
// nom du masque => nom BDD |
case 'auteur' : |
$whereAuteur = ' '.$this->creerFiltreAuteur($this->masque->getMasque('auteur')); |
$whereAuteur = ' '.$this->creerFiltreAuteur($this->navigation->getFiltre('auteur')); |
if($whereAuteur != '') { |
$where[] = $whereAuteur; |
} |
/trunk/services/modules/0.1/syndication/SyndicationCommentaires.php |
---|
12,13 → 12,6 |
*/ |
class SyndicationCommentaires { |
private $ressources = null; |
private $parametres = null; |
private $format = null; |
private $service = null; |
private $squelette = null; |
private $squelette_dossier = null; |
private $masque = array(); |
private $mappingFiltre = array(); |
private $conteneur = null; |
private $bdd = null; |
28,9 → 21,8 |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_syndication_commentaires.ini'); |
$this->mappingFiltre = $this->conteneur->getParametre('mapping_masque'); |
$this->masque = $conteneur->getMasque(); |
$this->bdd = $conteneur->getBdd(); |
$this->navigation = $conteneur->getNavigation(); |
$this->bdd = $this->conteneur->getBdd(); |
$this->navigation = $this->conteneur->getNavigation(); |
} |
public function consulter($params = array()) { |
255,7 → 247,7 |
private function chargerClauseWhere() { |
$where = array(); |
$tableauMasque = $this->masque->getMasque(); |
$tableauMasque = $this->navigation->getFiltre(); |
if (!empty($tableauMasque)) { |
foreach ($tableauMasque as $idMasque => $valeurMasque) { |
$idMasque = str_replace('masque.', '', $idMasque); |
/trunk/services/modules/0.1/syndication/SyndicationTagsParProtocole.php |
---|
16,13 → 16,6 |
/** |
* Paramètres du service |
* */ |
private $ressources = null; |
private $parametres = null; |
private $format = null; |
private $service = null; |
private $squelette = null; |
private $squelette_dossier = null; |
private $masque = array(); |
private $mappingFiltre = array(); |
private $conteneur = null; |
private $bdd = null; |
37,9 → 30,8 |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_syndication_tagsparprotocole.ini'); |
$this->mappingFiltre = $this->conteneur->getParametre('mapping_masque'); |
$this->masque = $conteneur->getMasque(); |
$this->bdd = $conteneur->getBdd(); |
$this->navigation = $conteneur->getNavigation(); |
$this->bdd = $this->conteneur->getBdd(); |
$this->navigation = $this->conteneur->getNavigation(); |
} |
/** |
295,7 → 287,7 |
* */ |
private function chargerClauseWhere() { |
$where = array(); |
$tableauMasque = $this->masque->getMasque(); |
$tableauMasque = $this->navigation->getFiltre(); |
if (!empty($tableauMasque)) { |
foreach ($tableauMasque as $idMasque => $valeurMasque) { |
$idMasque = str_replace('masque.', '', $idMasque); |
/trunk/services/modules/0.1/syndication/SyndicationVotesParProtocole.php |
---|
15,13 → 15,6 |
/** |
* Paramètres du service |
* */ |
private $ressources = null; |
private $parametres = null; |
private $format = null; |
private $service = null; |
private $squelette = null; |
private $squelette_dossier = null; |
private $masque = array(); |
private $mappingFiltre = array(); |
private $conteneur = null; |
private $bdd = null; |
36,9 → 29,8 |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_syndication_votesparprotocole.ini'); |
$this->mappingFiltre = $this->conteneur->getParametre('mapping_masque'); |
$this->masque = $conteneur->getMasque(); |
$this->bdd = $conteneur->getBdd(); |
$this->navigation = $conteneur->getNavigation(); |
$this->bdd = $this->conteneur->getBdd(); |
$this->navigation = $this->conteneur->getNavigation(); |
} |
/** |
285,7 → 277,7 |
* */ |
private function chargerClauseWhere() { |
$where = array(); |
$tableauMasque = $this->masque->getMasque(); |
$tableauMasque = $this->navigation->getFiltre(); |
if (!empty($tableauMasque)) { |
foreach($tableauMasque as $idMasque => $valeurMasque) { |
$idMasque = str_replace('masque.', '', $idMasque); |
/trunk/services/modules/0.1/commentaires/ListeCommentaires.php |
---|
21,10 → 21,7 |
private $conteneur; |
private $navigation; |
private $masque; |
private $bdd; |
private $parametres = array(); |
private $ressources = array(); |
private $mapping = array(); |
private $mappingInverse = array(); |
32,7 → 29,6 |
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = ($conteneur == null) ? new Conteneur() : $conteneur; |
$this->navigation = $this->conteneur->getNavigation(); |
$this->masque = $this->conteneur->getMasque(); |
$this->bdd = $this->conteneur->getBdd(); |
$this->mapping = $this->conteneur->getParametreTableau('commentaires.mapping'); |
74,7 → 70,7 |
private function creerClauseWhere() { |
$where = array(); |
$filtres = $this->masque->getMasque(); |
$filtres = $this->navigation->getFiltre(); |
if (!empty($filtres)) { |
foreach ($filtres as $cle => $valeur) { |
$where[] = $this->mappingInverse[$cle].' = '.$this->bdd->proteger($valeur); |
/trunk/services/modules/0.1/communes/ListeCommunes.php |
---|
17,28 → 17,18 |
private $conteneur; |
private $navigation; |
private $masque; |
private $parametres = array(); |
private $ressources = array(); |
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_communes.ini'); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
} |
/** |
* Méthode principale de la classe. |
* Lance la récupération des images dans la base et les place dans un objet ResultatService |
* pour l'afficher. |
* @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2) |
* @param array $parametres les paramètres situés après le ? dans l'url |
* */ |
public function consulter($ressources, $parametres) { |
$this->initialiserRessourcesEtParametres($ressources, $parametres); |
public function consulter($parametres) { |
$this->parametres = $parametres; |
$communes = $this->chargerCommunes($this->masque->getMasque('nom')); |
$communes = $this->chargerCommunes(); |
$total = $this->compterCommunes($communes); |
$this->navigation->setTotal($total); |
$this->navigation->setSansLimite(); |
48,17 → 38,14 |
return $resultat; |
} |
private function initialiserRessourcesEtParametres($ressources, $parametres) { |
$this->ressources = $ressources; |
$this->parametres = $parametres; |
} |
private function chargerCommunes($requete) { |
private function chargerCommunes() { |
$urlCelTpl = $this->conteneur->getParametre('urlServiceCelCommune'); |
$url = $urlCelTpl.$requete; |
$url = $urlCelTpl.$this->navigation->getFiltre('masque.nom'); |
$restClient = $this->conteneur->getRestClient(); |
$resultatJson = $restClient->consulter($url); |
var_dump($url); |
$resultat = json_decode($resultatJson); |
return $resultat; |
} |
65,4 → 52,4 |
private function compterCommunes($communes) { |
return count($communes); |
} |
} |
} |
/trunk/services/modules/0.1/mots_cles/ListeMotsCles.php |
---|
19,7 → 19,6 |
private $conteneur; |
private $navigation; |
private $masque; |
private $bdd; |
private $mapping = array(); |
28,7 → 27,6 |
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->bdd = $this->conteneur->getBdd(); |
$this->mapping = $this->conteneur->getParametreTableau('mots-cles.mapping'); |
67,7 → 65,7 |
private function creerClauseWhere() { |
$where = array(); |
$filtres = $this->masque->getMasque(); |
$filtres = $this->navigation->getFiltre(); |
if (!empty($filtres)) { |
foreach ($filtres as $cle => $valeur) { |
$where[] = $this->mappingInverse[$cle].' = '.$this->bdd->proteger($valeur); |
/trunk/services/bibliotheque/Masque.php |
---|
File deleted |
\ No newline at end of file |
/trunk/services/bibliotheque/Navigation.php |
---|
18,7 → 18,10 |
private $conteneur; |
private $parametresUrl; |
private $urlNavigation; |
private $serviceNom; |
private $filtresPossibles; |
private $filtresActifs; |
private $total; |
private $sansLimite; |
26,18 → 29,33 |
* Constructeur de la classe Navigation |
* @param Array $parametresUrl (optionnel) la liste des paramètre issus du Conteneur |
*/ |
public function __construct($conteneur, $parametresUrl = null) { |
public function __construct($conteneur) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->parametresUrl = $parametresUrl; |
$this->urlNavigation = $this->conteneur->getUrlService(); |
$this->urlNavigation->setOption(Url::OPTION_ENCODER_VALEURS, true); |
$contexte = $this->conteneur->getContexte(); |
$this->parametresUrl = $contexte->getQS(); |
$this->serviceNom = $contexte->getRessource(1); |
$this->filtresPossibles = $this->conteneur->getparametre($this->serviceNom.'.masques_possibles'); |
$this->chargerFiltresActifs(); |
} |
private function chargerFiltresActifs() { |
if ($this->parametresUrl != null) { |
foreach ($this->parametresUrl as $paramNom => $valeur) { |
if (in_array($paramNom, $this->filtresPossibles)) { |
$this->filtresActifs[$paramNom] = $valeur; |
} |
} |
} |
} |
/** |
* Obtenir la valeur courante de départ |
*/ |
public function getDepart() { |
return $this->conteneur->getParametre('navigation.depart') == null ? 0 : $this->conteneur->getParametre('navigation.depart') ; |
$navDepart = $this->getParamUrl('navigation.depart'); |
return ($navDepart == null) ? 0 : $navDepart ; |
} |
/** |
44,14 → 62,19 |
* Obtenir la limite courante |
*/ |
public function getLimite() { |
$limiteParam = $this->getParamUrl('navigation.limite'); |
$limite = 10; |
if ($this->conteneur->getParametre('navigation.limite') != null && is_numeric($this->conteneur->getParametre('navigation.limite'))) { |
$limiteParam = $this->conteneur->getParametre('navigation.limite'); |
if ($limiteParam != null && is_numeric($limiteParam)) { |
$limite = ($limiteParam < 1000) ? $limiteParam : 1000;// Pour éviter les abus ! |
} |
return $limite; |
} |
private function getParamUrl($nom) { |
$valeur = isset($this->parametresUrl[$nom]) ? $this->parametresUrl[$nom] : null; |
return $valeur; |
} |
/** |
* Récupérer l'url de navigation en concaténant d'éventuels paramètres |
* @param $depart l'entier de départ de la recherche |
63,8 → 86,11 |
$parametres['navigation.depart'] = $depart; |
$parametres['navigation.limite'] = $limite; |
$this->urlNavigation->setRequete($parametres); |
$url = $this->urlNavigation->getURL(); |
$urlServiceBase = $this->getParametre('url_service_base').$this->serviceNom; |
$urlNavigation = $this->conteneur->getUrl($urlServiceBase); |
$urlNavigation->setOption(Url::OPTION_ENCODER_VALEURS, true); |
$urlNavigation->setRequete($parametres); |
$url = $urlNavigation->getURL(); |
return $url; |
} |
119,11 → 145,13 |
} |
/** |
* Créer l'entête en fonction des paramètres donnés |
*/ |
* Génère un tableau contenant les informations pour l'entête des services renvoyant une liste de résultats. |
* |
* @return array Le tableau d'entête prés à être encodé en JSON. |
*/ |
public function getEntete() { |
$entete = array(); |
$entete['masque'] = $this->conteneur->getMasque()->getChaineMasque(); |
$entete['masque'] = $this->getChaineFiltresActifs(); |
$entete['total'] = $this->getTotal(); |
if ($this->sansLimite == false) { |
143,4 → 171,30 |
return $entete; |
} |
/** |
* Retourne les filtres au format chaine sous la forme filtre1=valeur1&filtre2=valeur2. |
* |
* @return String la chaine de caractères ou une chaine vide si pas de filtre. |
*/ |
private function getChaineFiltresActifs() { |
return (!empty($this->filtresActifs)) ? http_build_query($this->filtresActifs) : ''; |
} |
/** |
* Récupérer tout ou partie des filtres présent dans l'url. |
* |
* @param String $filtreNom (optionnel) le nom du filtre tel que présent dans l'url. |
* @return mixed si un filtre est passé en paramètre retourn la valeur correspondante, si pas de paramétre |
* retourne le tableau complet des filtres. False en cas d'erreur. |
* */ |
public function getFiltre($filtreNom = null) { |
$retour = false; |
if ($filtreNom == null) { |
$retour = $this->filtresActifs; |
} else if ($filtreNom != null && isset($this->filtresActifs[$filtreNom])) { |
$retour = $this->filtresActifs[$filtreNom]; |
} |
return retour; |
} |
} |
/trunk/services/bibliotheque/Conteneur.php |
---|
21,9 → 21,6 |
protected $parametres; |
protected $partages = array(); |
protected $parametresUrl; |
protected $serviceNom; |
/** |
* Constructeur de la classe |
* @param Array $parametres (optionnel) les paramètres additionnels à ajouter à ceux des fichiers de config |
30,11 → 27,6 |
* */ |
public function __construct(array $parametres = null) { |
$this->parametres = is_null($parametres) ? array() : $parametres; |
// Récupération du contexte courrant et configuration du conteneur |
$contexte = $this->getContexte(); |
$this->parametresUrl = $contexte->getQS(); |
$this->serviceNom = $contexte->getRessource(1); |
} |
/** |
121,10 → 113,6 |
return new Url($base); |
} |
public function getUrlService() { |
return $this->getUrl($this->getParametre($this->serviceNom.'.url_service')); |
} |
public function getControleAcces() { |
if (!isset($this->partages['controleAcces'])) { |
$this->partages['controleAcces'] = new ControleAcces($this); |
134,18 → 122,11 |
public function getNavigation() { |
if (!isset($this->partages['navigation'])) { |
$this->partages['navigation'] = new Navigation($this, $this->parametresUrl); |
$this->partages['navigation'] = new Navigation($this); |
} |
return $this->partages['navigation']; |
} |
public function getMasque() { |
if (!isset($this->partages['masque'])) { |
$this->partages['masque'] = new Masque($this->getparametre($this->serviceNom.'.masques_possibles'), $this->parametresUrl); |
} |
return $this->partages['masque']; |
} |
public function getContexte() { |
if (!isset($this->partages['contexte'])) { |
$this->partages['contexte'] = new Contexte($this, $_SERVER, $_GET, $_POST, $_SESSION, $_COOKIE); |