Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 174 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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