* @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']); } } } ?>