Rev 2458 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** Liste des utilisateurs du cel, par défaut les 50 premiers ou bien commencant par la chaine fournie en paramètre** @internal Mininum PHP version : 5.2* @category CEL* @package Services* @subpackage Observations* @version 0.1* @author Mathias CHOUET <mathias@tela-botanica.org>* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @author Aurelien PERONNET <aurelien@tela-botanica.org>* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org>*/class InventoryUserList extends Cel {public function getElement($uid) {$this->controleUtilisateur($uid[0]);// Découplage de l'annuaire TB (suppression de la lecture dans cel_utilisateurs)// @TODO vérifier que ça n'impacte que la liste d'usurpation d'identité pour les admins (on peut s'en passer)$requete = 'SELECT DISTINCT ce_utilisateur as id_utilisateur, courriel_utilisateur as courriel '.'FROM cel_obs '.$this->construireRequeteConditionTableObs($uid).' '.'LIMIT 0,50 '.' -- '.__FILE__.':'.__LINE__;$utilisateurs = Cel::db()->requeter($requete);$liste_utilisateurs = array();if ($utilisateurs) {foreach ($utilisateurs as $utilisateur) {$liste_utilisateurs[] = $utilisateur;}}usort($liste_utilisateurs, array($this, 'trierUtilisateurs'));$this->envoyerJson($liste_utilisateurs);return true;}public function trierUtilisateurs($val1, $val2) {if (strstr($val1['courriel'], '@')) {if (strstr($val2['courriel'], '@')) {return strcmp($val1['courriel'], $val2['courriel']);} else {return -1;}} else {if (strstr($val2['courriel'], '@')) {return 1;} else {return strcmp($val1['courriel'], $val2['courriel']);}}}private function construireRequeteConditionTableObs($params) {$condition = '';if (isset($params[1]) && $params[1] != null && $params[1] != '*') {$condition .= ' WHERE courriel_utilisateur LIKE '.Cel::db()->proteger($params[1].'%');}return $condition;}}