mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-27 15:59:29 +00:00
Use friend model.
This commit is contained in:
parent
375a4c6c82
commit
9bc436b2a2
@ -22,11 +22,20 @@ class friendsController{
|
|||||||
if($friendsList === false)
|
if($friendsList === false)
|
||||||
Rest_fatal_error(500, "Couldn't get friends list !");
|
Rest_fatal_error(500, "Couldn't get friends list !");
|
||||||
|
|
||||||
|
//Process the list
|
||||||
|
$api_list = array();
|
||||||
|
foreach($friendsList as $friend){
|
||||||
|
|
||||||
|
//Parse friend informations
|
||||||
|
$api_list[] = $this->parseFriendAPI($friend);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//Update the last activity of the user
|
//Update the last activity of the user
|
||||||
CS::get()->components->user->updateLastActivity(userID);
|
CS::get()->components->user->updateLastActivity(userID);
|
||||||
|
|
||||||
//Return list
|
//Return list
|
||||||
return $friendsList;
|
return $api_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -213,4 +222,23 @@ class friendsController{
|
|||||||
//Success
|
//Success
|
||||||
return array("success" => "Friendship status has been updated!");
|
return array("success" => "Friendship status has been updated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a friend object into an object readable by the api
|
||||||
|
*
|
||||||
|
* @param Friend $friend The input friend
|
||||||
|
* @return array Informations about the friend readable by the api
|
||||||
|
*/
|
||||||
|
private function parseFriendAPI(Friend $friend) : array {
|
||||||
|
|
||||||
|
//Parse informations about the friend
|
||||||
|
$data = array(
|
||||||
|
"ID_friend" => $friend->getFriendID(),
|
||||||
|
"accepted" => $friend->isAccepted() ? 1 : 0,
|
||||||
|
"following" => $friend->isFollowing() ? 1 : 0,
|
||||||
|
"time_last_activity" => $friend->getLastActivityTime()
|
||||||
|
);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
}
|
}
|
@ -28,7 +28,7 @@ class friends {
|
|||||||
* Get and returns the list of the friends of a user
|
* Get and returns the list of the friends of a user
|
||||||
*
|
*
|
||||||
* @param int $userID The ID of the user
|
* @param int $userID The ID of the user
|
||||||
* @return array The list of the friends of the user
|
* @return array The list of the friends of the user (Friend objects)
|
||||||
*/
|
*/
|
||||||
public function getList(int $userID) : array {
|
public function getList(int $userID) : array {
|
||||||
|
|
||||||
@ -51,12 +51,7 @@ class friends {
|
|||||||
//Process results
|
//Process results
|
||||||
$friendsList = array();
|
$friendsList = array();
|
||||||
foreach($results as $process){
|
foreach($results as $process){
|
||||||
$friendsList[] = array(
|
$friendsList[] = $this->parse_friend_db_infos($process);
|
||||||
"ID_friend" => $process["ID_amis"],
|
|
||||||
"accepted" => $process["actif"],
|
|
||||||
"following" => $process["abonnement"],
|
|
||||||
"time_last_activity" => $process["last_activity"]
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Return result
|
//Return result
|
||||||
@ -353,6 +348,25 @@ class friends {
|
|||||||
return CS::get()->db->count($tableName, $conditions, $condValues);
|
return CS::get()->db->count($tableName, $conditions, $condValues);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse friend informations from the database
|
||||||
|
*
|
||||||
|
* @param array $data Informations about the friend from the database
|
||||||
|
* @return Friend Parsed friend object
|
||||||
|
*/
|
||||||
|
private function parse_friend_db_infos(array $data) : Friend {
|
||||||
|
|
||||||
|
$friend = new Friend();
|
||||||
|
|
||||||
|
//Parse informations
|
||||||
|
$friend->setFriendID($data["ID_amis"]);
|
||||||
|
$friend->setAccepted($data["actif"] == 1);
|
||||||
|
$friend->setFollowing($data["abonnement"] == 1);
|
||||||
|
$friend->setLastActivityTime($data["last_activity"]);
|
||||||
|
|
||||||
|
return $friend;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Register component
|
//Register component
|
||||||
|
Loading…
Reference in New Issue
Block a user