Get multiple users infos

This commit is contained in:
Pierre 2017-05-27 15:11:17 +02:00
parent 0694456217
commit bc8b3dc0a2
2 changed files with 13 additions and 8 deletions

View File

@ -67,7 +67,7 @@ class userController
* @return array The result * @return array The result
*/ */
public function getUserInfos() : array{ public function getUserInfos() : array{
user_login_required(); user_login_required();sleep(5);
//Determine userID //Determine userID
if(!isset($_POST['userID'])) if(!isset($_POST['userID']))
@ -100,19 +100,24 @@ class userController
Rest_fatal_error(400, "Please specify user ID !"); Rest_fatal_error(400, "Please specify user ID !");
$usersID = array(); $usersID = array();
foreach(json_decode($_POST['usersID']) as $userID){ foreach(explode(",", $_POST['usersID']) as $userID){
$usersID[] = $userID*1; if($userID*1 > 0)
$usersID[$userID*1] = $userID*1;
} }
//Check for errors
if(count($userID) == 0)
Rest_fatal_error(400, "No user ID were specified!");
//Try to get user infos //Try to get user infos
$userInfos = CS::get()->user->getUserInfos($userID); $userInfos = CS::get()->user->getMultipleUserInfos($usersID);
//Check if response is empty //Check if response is empty
if(count($userInfos) == 0) if(count($userInfos) == 0)
throw new RestException(401, "Couldn't get user data (maybe user doesn't exists) !"); throw new RestException(401, "Couldn't get user data (maybe user doesn't exists) !");
//Return result //Return result
return array($userInfos); return $userInfos;
} }
/** /**

View File

@ -174,12 +174,12 @@ class User{
public function getMultipleUserInfos(array $usersID) : array { public function getMultipleUserInfos(array $usersID) : array {
//Prepare database request //Prepare database request
$tablesName = "utilisateurs"; $tablesName = "utilisateurs";
$conditions = "WHERE "; $conditions = "WHERE (utilisateurs.ID < 0)";
$conditionsValues = array(); $conditionsValues = array();
//Process users //Process users
foreach($usersID as $i=>$process){ foreach($usersID as $i=>$process){
$conditions.= ($i==0 ? "" : " OR ")."utilisateurs.ID = ?"; $conditions .= " OR utilisateurs.ID = ?";
$conditionsValues[] = $process; $conditionsValues[] = $process;
} }
@ -191,7 +191,7 @@ class User{
return array(); //No result return array(); //No result
//Process result //Process result
foreach($userInfos as $processUser){ foreach($usersInfos as $processUser){
$result[$processUser['ID']] = $this->generateUserInfosArray($processUser); $result[$processUser['ID']] = $this->generateUserInfosArray($processUser);
} }