Rev 1765 | Rev 2458 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** Liste des utilisateurs du cel, par défaut les 50 premiers* ou bien commencant par la chaine fournie en paramètre* in : utf8* out : utf8** @category PHP* @package jrest* @author Aurélien Peronnet <aurelien@tela-botanica.org>* @copyright © 2010-2014 Tela-Botanica* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL*/class InventoryUserList extends Cel {function getElement($uid) {$this->controleUtilisateur($uid[0]);$requete_utilisateurs ='SELECT DISTINCT id_utilisateur, courriel FROM cel_utilisateurs '.$this->construireRequeteConditionTableUtilisateurs($uid).' '.'UNION '.'SELECT DISTINCT ce_utilisateur as id_utilisateur, courriel_utilisateur as courriel '.'FROM cel_obs '.$this->construireRequeteConditionTableObs($uid).' '.'LIMIT 0,50';$utilisateurs = Cel::db()->requeter($requete_utilisateurs);$liste_utilisateurs = array();if ($utilisateurs) {foreach ($utilisateurs as $utilisateur) {$liste_utilisateurs[] = $utilisateur;}}usort($liste_utilisateurs, 'trierUtilisateurs');$this->envoyerJson($liste_utilisateurs);return true;}private function construireRequeteConditionTableUtilisateurs($params) {$condition = '';if (isset($params[1]) && $params[1] != null && $params[1] != '*') {$condition .= ' WHERE courriel LIKE '.Cel::db()->proteger($params[1].'%');}return $condition;}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;}}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']);}}}?>