getMots(); break; case 'zglossary': $retour = $this->getMotsZglossary(); break; case 'autoabbr': $retour = $this->getMotsAutoAbbr(); break; case 'def': if(isset($ressources[1])) { $retour = $this->getDefinition($ressources[1]); } else { $retour = $this->getToutesDefinitions(); } break; case 'defs': $retour = $this->getToutesDefinitions(); break; default: $retour = 'Le service requiert un nom de méthode'; break; } $entete_http = RestServeur::HTTP_CODE_OK; $corps_http = json_encode($retour); } else { $entete_http = RestServeur::HTTP_CODE_CONTENU_REQUIS; } RestServeur::envoyerEnteteStatutHttp($entete_http); header('Content-type: application/json; charset=UTF-8'); echo $corps_http; exit; } private function getDefinition($mot) { $requete_selection_definition = 'SELECT valeur FROM definitions WHERE cle = "'. self::simplifier($mot).'"'; $definition = $this->bdd->recuperer($requete_selection_definition); return $definition; } private function getToutesDefinitions() { return $this->bdd->recupererTous('SELECT valeur FROM definitions'); } private function getMots() { $requete = 'SELECT TRIM(cle) as cle FROM definitions'; // certaines cles ont des espaces $assoc = $this->bdd->recupererTous($requete); array_walk($assoc, array($this,"formaterTableauDefinitions")); return $assoc; } private function formaterTableauDefinitions(&$item) { $item = $item['cle']; } private function getMotsZglossary() { $assoc = $this->bdd->recupererTous('SELECT cle as term, 0 as type, valeur as definition FROM definitions' . ' WHERE valeur != ""'); return $assoc; } private function getMotsAutoAbbr() { $assoc = $this->bdd->recupererTous("SELECT CONCAT(cle, '*') as cle FROM definitions WHERE valeur != ''"); $assoc2 = Array(); foreach($assoc as $v) { $assoc2[$v['cle']] = true; } return $assoc2; } static function simplifier($chaine){ return trim(strtolower(iconv('UTF-8', 'ASCII//TRANSLIT', $chaine)), " \t\n\r\0\x0b*"); } } ?>