Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 92 | Rev 262 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
31 aurelien 1
<?php
2
 
92 aurelien 3
class OdsTriple extends JRestService {
4
 
5
	/**
6
     * Méthode appelée avec une requête de type GET.
7
     *
8
     */
9
    function getElement($param = array()) {
10
 
11
    	$abreviation_demandee = $param[0];
12
 
13
    	$abreviation = $this->transformerParametreEnAbreviation($abreviation_demandee);
14
 
15
        $info = $this->obtenirValeursListeParAbreviation($abreviation);
16
 
17
        $info = $this->formaterListeTripleEnTableauCleValeur($info);
18
 
19
        // Envoi sur la sortie standard
20
        $this->envoyer($info);
21
    }
22
 
23
    private function transformerParametreEnAbreviation($parametre) {
24
 
25
    	$parametre_tirets_supprimes = str_replace('-', ' ', $parametre);
26
    	$parametre_mots_majuscules = ucwords($parametre_tirets_supprimes);
27
    	$abreviation = str_replace(' ', '',$parametre_tirets_supprimes);
28
 
29
    	return $abreviation;
30
    }
31
 
32
    private function formaterListeTripleEnTableauCleValeur($info) {
33
 
34
    	$tableau_cle_valeur = array();
35
 
36
    	foreach($info as $id_triple => $triple) {
37
    		$tableau_cle_valeur[$id_triple] = $triple['ot_valeur'];
38
    	}
39
 
40
    	return $tableau_cle_valeur;
41
    }
67 aurelien 42
 
31 aurelien 43
	protected function obtenirValeursListeParId($id_liste) {
44
 
45
		$requete = 'SELECT * FROM ods_triple WHERE ot_ce_parent ='.$this->proteger($id_liste);
46
		$resultat = $this->executerRequete($requete);
47
 
48
		return $resultat;
49
 
50
	}
51
 
52
	protected function obtenirValeursListeParAbreviation($abreviation_triple) {
53
 
33 aurelien 54
		$requete = 'SELECT * FROM ods_triples WHERE ot_ce_parent = (SELECT ot_id_triple FROM ods_triples WHERE ot_cle ='.$this->proteger($abreviation_triple).')';
31 aurelien 55
		$resultat = $this->executerRequete($requete);
56
 
33 aurelien 57
		return $this->grouperResultat($resultat);
31 aurelien 58
 
59
	}
60
 
61
	protected function obtenirValeurTripleParId($id_triple) {
62
 
92 aurelien 63
		$requete = 'SELECT * FROM ods_triples WHERE ot_id_triple = '.$this->proteger($id_triple);
31 aurelien 64
		$resultat = $this->executerRequete($requete);
92 aurelien 65
 
66
		return $resultat[0]['ot_valeur'];
31 aurelien 67
 
68
	}
69
 
70
	protected function obtenirValeurTripleParAbreviation($abreviation_triple) {
71
 
92 aurelien 72
		$requete = 'SELECT * FROM ods_triples WHERE ot_cle = '.$this->proteger($abreviation_triple);
31 aurelien 73
		$resultat = $this->executerRequete($requete);
74
 
92 aurelien 75
		return $resultat[0]['ot_valeur'];
31 aurelien 76
 
77
	}
78
 
33 aurelien 79
	private function grouperResultat($tableau_resultat_requete_triple) {
80
 
81
		$tableau_resultat_requete_triple_ordonne = array();
82
 
83
		foreach($tableau_resultat_requete_triple as $valeur_triple) {
84
			$tableau_resultat_requete_triple_ordonne[$valeur_triple['ot_id_triple']] = $valeur_triple;
85
		}
86
 
87
		return $tableau_resultat_requete_triple_ordonne;
88
	}
89
 
46 aurelien 90
	protected function renvoyerInformationStadeAPartirChaineTriple($stade_observation_complet) {
91
 
92
	   	$infos_stades = split('_',$stade_observation_complet);
93
	   	$titre_numero_stade = array('nom','abreviation','numero');
94
 
95
	   	if($this->estUnEvenementAvecDesSousStades($stade_observation_complet)) {
96
	   		$titre_numero_stade['nom'] = $infos_stades[1];
97
	   		$titre_numero_stade['numero'] = $infos_stades[3];
98
	   		$titre_numero_stade['abreviation'] = $infos_stades[1];
99
	   	} else {
100
	   		$titre_numero_stade['nom'] = $infos_stades[1].' '.$infos_stades[2];
101
	   		$titre_numero_stade['abreviation'] = $infos_stades[1].'_'.$infos_stades[2];
102
	   		$titre_numero_stade['numero'] = '';
103
	   	}
104
 
105
	   	return $titre_numero_stade;
106
	}
174 aurelien 107
 
108
    protected function getInformationEvenementParId($id_evenement) {
109
 
110
    	$requete_informations_evenement = 'SELECT * FROM ods_triples '.
111
   		'WHERE ot_id_triple IN '.
112
   		'('.$this->proteger($id_evenement).')';
113
 
114
    	$resultat_requete_informations_evenement = $this->executerRequete($requete_informations_evenement);
115
    	$informations_evenement = $resultat_requete_informations_evenement[0];
116
 
117
    	return $informations_evenement;
118
    }
46 aurelien 119
 
120
    protected function estUnEvenementAvecDesSousStades($evenement) {
121
 
122
    	$infos_stades = split('_',$evenement);
123
 
124
   		if(count($infos_stades) <= 3) {
125
			return false;
126
   		}
127
 
128
   		return true;
129
    }
31 aurelien 130
}
131
 
132
?>