New file |
0,0 → 1,120 |
<?php |
|
class OdsTriple extends JRestService { |
|
/** |
* Méthode appelée avec une requête de type GET. |
* |
*/ |
function getElement($param = array()) { |
|
$abreviation_demandee = $param[0]; |
|
$abreviation = $this->transformerParametreEnAbreviation($abreviation_demandee); |
|
$info = $this->obtenirValeursListeParAbreviation($abreviation); |
|
$info = $this->formaterListeTripleEnTableauCleValeur($info); |
|
// Envoi sur la sortie standard |
$this->envoyer($info); |
} |
|
private function transformerParametreEnAbreviation($parametre) { |
|
$parametre_tirets_supprimes = str_replace('-', ' ', $parametre); |
$parametre_mots_majuscules = ucwords($parametre_tirets_supprimes); |
$abreviation = str_replace(' ', '',$parametre_tirets_supprimes); |
|
return $abreviation; |
} |
|
private function formaterListeTripleEnTableauCleValeur($info) { |
|
$tableau_cle_valeur = array(); |
|
foreach($info as $id_triple => $triple) { |
$tableau_cle_valeur[$id_triple] = $triple['ot_valeur']; |
} |
|
return $tableau_cle_valeur; |
} |
|
protected function obtenirValeursListeParId($id_liste) { |
|
$requete = 'SELECT * FROM ods_triple WHERE ot_ce_parent ='.$this->proteger($id_liste); |
$resultat = $this->executerRequete($requete); |
|
return $resultat; |
|
} |
|
protected function obtenirValeursListeParAbreviation($abreviation_triple) { |
|
$requete = 'SELECT * FROM ods_triples WHERE ot_ce_parent = (SELECT ot_id_triple FROM ods_triples WHERE ot_cle ='.$this->proteger($abreviation_triple).')'; |
$resultat = $this->executerRequete($requete); |
|
return $this->grouperResultat($resultat); |
|
} |
|
protected function obtenirValeurTripleParId($id_triple) { |
|
$requete = 'SELECT * FROM ods_triples WHERE ot_id_triple = '.$this->proteger($id_triple); |
$resultat = $this->executerRequete($requete); |
|
return $resultat[0]['ot_valeur']; |
|
} |
|
protected function obtenirValeurTripleParAbreviation($abreviation_triple) { |
|
$requete = 'SELECT * FROM ods_triples WHERE ot_cle = '.$this->proteger($abreviation_triple); |
$resultat = $this->executerRequete($requete); |
|
return $resultat[0]['ot_valeur']; |
|
} |
|
private function grouperResultat($tableau_resultat_requete_triple) { |
|
$tableau_resultat_requete_triple_ordonne = array(); |
|
foreach($tableau_resultat_requete_triple as $valeur_triple) { |
$tableau_resultat_requete_triple_ordonne[$valeur_triple['ot_id_triple']] = $valeur_triple; |
} |
|
return $tableau_resultat_requete_triple_ordonne; |
} |
|
protected function renvoyerInformationStadeAPartirChaineTriple($stade_observation_complet) { |
|
$infos_stades = split('_',$stade_observation_complet); |
$titre_numero_stade = array('nom','abreviation','numero'); |
|
if($this->estUnEvenementAvecDesSousStades($stade_observation_complet)) { |
$titre_numero_stade['nom'] = $infos_stades[1]; |
$titre_numero_stade['numero'] = $infos_stades[3]; |
$titre_numero_stade['abreviation'] = $infos_stades[1]; |
} else { |
$titre_numero_stade['nom'] = $infos_stades[1].' '.$infos_stades[2]; |
$titre_numero_stade['abreviation'] = $infos_stades[1].'_'.$infos_stades[2]; |
$titre_numero_stade['numero'] = ''; |
} |
|
return $titre_numero_stade; |
} |
|
protected function estUnEvenementAvecDesSousStades($evenement) { |
|
$infos_stades = split('_',$evenement); |
|
if(count($infos_stades) <= 3) { |
return false; |
} |
|
return true; |
} |
} |
|
?> |