Subversion Repositories Applications.dictionnaire

Rev

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

Rev Author Line No. Line
1 aurelien 1
<?php
2
class Dictionnaire extends RestService {
3
 
4
//+----------------------------------------------------------------------------------------------------------------+
5
// Consulter
6
	public function consulter($ressources, $parametres) {
7
    	$entete_http = RestServeur::HTTP_CODE_CONTENU_REQUIS;
8
    	$corps_http = null;
9
 
10
    	if (isset($ressources[0])) {
11
 
12
    		$methode = $ressources[0];
13
 
14
    		switch($methode) {
15
 
16
    			case 'mots':
17
    				$retour = $this->getMots();
18
    			break;
19
 
20
    			case 'def':
21
    				if(isset($ressources[1])) {
22
						$retour = $this->getDefinition($ressources[1]);
23
					} else {
24
						$retour = $this->getToutesDefinitions();
25
					}
26
				break;
27
				case 'defs':
28
					$retour = $this->getToutesDefinitions();
29
    			break;
30
 
31
    			default:
32
    				$retour = 'Le service requiert un nom de méthode';
33
    			break;
34
    		}
35
 
36
			$entete_http = RestServeur::HTTP_CODE_OK;
37
			$corps_http = json_encode($retour);
38
 
39
    	} else {
40
    		$entete_http = RestServeur::HTTP_CODE_CONTENU_REQUIS;
41
    	}
42
 
2 aurelien 43
    	RestServeur::envoyerEnteteStatutHttp($entete_http);
1 aurelien 44
    	header('Content-type : application/json; charset=UTF-8');
45
    	echo $corps_http;
46
    	exit;
47
    }
48
 
49
    private function getDefinition($mot) {
50
 
2 aurelien 51
    	$requete_selection_definition = 'SELECT valeur FROM definitions WHERE cle = "'.$this->simplifier($mot).'"';
1 aurelien 52
    	$definition = $this->bdd->recuperer($requete_selection_definition);
53
 
54
		return $definition;
55
    }
56
 
57
    private function getToutesDefinitions() {
58
 
2 aurelien 59
    	$requete_selection_toutes_definitions = 'SELECT valeur FROM definitions';
1 aurelien 60
    	$definitions = $this->bdd->recupererTous($requete_selection_toutes_definitions);
61
 
62
		return $definitions;
63
    }
64
 
2 aurelien 65
    private function getMots() {
1 aurelien 66
 
2 aurelien 67
    	$requete_selection_mots = 'SELECT cle FROM definitions';
1 aurelien 68
    	$mots = $this->bdd->recupererTous($requete_selection_mots);
2 aurelien 69
 
1 aurelien 70
    	foreach($mots as &$mot) {
71
    		$mot['cle'] = $mot['cle'];
72
    	}
73
		return $mots;
74
    }
75
 
76
    function simplifier($chaine){
77
 
78
		$sans_accent = strtr($chaine,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ',
79
		'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
80
 
81
		$en_minuscule = strtolower($sans_accent);
82
 
83
		return $en_minuscule;
84
	}
85
}
2 aurelien 86
?>