Rev 92 | Rev 262 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass 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 getInformationEvenementParId($id_evenement) {$requete_informations_evenement = 'SELECT * FROM ods_triples '.'WHERE ot_id_triple IN '.'('.$this->proteger($id_evenement).')';$resultat_requete_informations_evenement = $this->executerRequete($requete_informations_evenement);$informations_evenement = $resultat_requete_informations_evenement[0];return $informations_evenement;}protected function estUnEvenementAvecDesSousStades($evenement) {$infos_stades = split('_',$evenement);if(count($infos_stades) <= 3) {return false;}return true;}}?>