Subversion Repositories Sites.obs-saisons.fr

Rev

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