mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-23 13:59:29 +00:00
Can get all the likes of a user
This commit is contained in:
parent
b6d0d88622
commit
c95e2d7498
@ -5,7 +5,7 @@
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
|
||||
class likesController {
|
||||
class LikesController {
|
||||
|
||||
/**
|
||||
* Update a specific component like
|
||||
@ -80,4 +80,23 @@ class likesController {
|
||||
return array("success" => "Like status updated.");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Turn a UserLike object into valid API entry
|
||||
*
|
||||
* @param UserLike $object The object to convert
|
||||
* @return array Valid API database entry
|
||||
*/
|
||||
public static function UserLikeToAPI(UserLike $object) : array {
|
||||
|
||||
$data = array();
|
||||
|
||||
$data["id"] = $object->get_id();
|
||||
$data["userID"] = $object->get_userID();
|
||||
$data["time_sent"] = $object->get_time_sent();
|
||||
$data["elem_type"] = $object->get_elem_type();
|
||||
$data["elem_id"] = $object->get_elem_id();
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
@ -111,6 +111,29 @@ class Likes {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all the likes of a user, as UserLike objects
|
||||
*
|
||||
* @param int $userID The ID of the target user
|
||||
* @return array The list of likes
|
||||
*/
|
||||
public function get_all_user(int $userID) : array {
|
||||
|
||||
//Query the database
|
||||
$table = self::LIKES_TABLE;
|
||||
$condition = "WHERE ID_personne = ?";
|
||||
$condValues = array($userID);
|
||||
|
||||
$entries = cs()->db->select($table, $condition, $condValues);
|
||||
$likes = array();
|
||||
|
||||
//Process the list of likes
|
||||
foreach($entries as $entry)
|
||||
$likes[] = $this->dbToUserLike($entry);
|
||||
|
||||
return $likes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete all the likes associated to an element
|
||||
*
|
||||
@ -146,6 +169,25 @@ class Likes {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Turn database entry into UserLike object
|
||||
*
|
||||
* @param array $entry The database entry
|
||||
* @return UserLike Generated user like object
|
||||
*/
|
||||
private static function dbToUserLike(array $entry) : UserLike {
|
||||
$like = new UserLike();
|
||||
|
||||
$like->set_id($entry["ID"]);
|
||||
$like->set_userID($entry["ID_personne"]);
|
||||
$like->set_time_sent(strtotime($entry["Date_envoi"]));
|
||||
$like->set_elem_id($entry["ID_type"]);
|
||||
$like->set_elem_type($entry["type"]);
|
||||
|
||||
|
||||
return $like;
|
||||
}
|
||||
}
|
||||
|
||||
//Register class
|
||||
|
39
classes/models/UserLike.php
Normal file
39
classes/models/UserLike.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* UserLike object
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
|
||||
class UserLike extends BaseUniqueObjectFromUser {
|
||||
|
||||
//Private fields
|
||||
private $elem_id;
|
||||
private $elem_type;
|
||||
|
||||
//Set and get element ID
|
||||
public function set_elem_id(int $elem_id){
|
||||
$this->elem_id = $elem_id;
|
||||
}
|
||||
|
||||
public function has_elem_id() : bool {
|
||||
return $this->elem_id > 0;
|
||||
}
|
||||
|
||||
public function get_elem_id() : int {
|
||||
return $this->elem_id;
|
||||
}
|
||||
|
||||
//Set and get elem type
|
||||
public function set_elem_type(string $elem_type){
|
||||
$this->elem_type = $elem_type == "" ? null : $elem_type;
|
||||
}
|
||||
|
||||
public function has_elem_type() : bool {
|
||||
return $this->elem_type != null;
|
||||
}
|
||||
|
||||
public function get_elem_type() : string {
|
||||
return $this->elem_type != null ? $this->elem_type : "null";
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user