Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 262 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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