mirror of
https://github.com/pierre42100/ComunicAPI
synced 2025-06-18 16:18:04 +00:00
Can update user page like status
This commit is contained in:
59
RestControllers/likesController.php
Normal file
59
RestControllers/likesController.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* API likes controller
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
|
||||
class likesController {
|
||||
|
||||
/**
|
||||
* Update a specific component like
|
||||
*
|
||||
* @url POST /likes/update
|
||||
*/
|
||||
public function update_like(){
|
||||
|
||||
user_login_required(); //Need login
|
||||
|
||||
//Get component kind
|
||||
if(!isset($_POST["type"]))
|
||||
Rest_fatal_error(401, "Please specify like type !");
|
||||
|
||||
$type = $_POST["type"];
|
||||
|
||||
//Check new status for the like
|
||||
if(!isset($_POST['like']))
|
||||
Rest_fatal_error(400, "Please specify the new like status with the request !");
|
||||
$like = $_POST['like'] == "true";
|
||||
|
||||
//Find the right component type for checks
|
||||
switch($type){
|
||||
|
||||
//In case of user
|
||||
case "user":
|
||||
|
||||
//Extract informations
|
||||
$id = getPostUserId("id");
|
||||
$componentType = Likes::LIKE_USER;
|
||||
|
||||
//Check if user can access page
|
||||
if(!CS::get()->components->user->userAllowed(userID, $id))
|
||||
Rest_fatal_error(401, "You can not access this user information !");
|
||||
|
||||
break;
|
||||
|
||||
|
||||
//Default case : error
|
||||
default:
|
||||
Rest_fatal_error(404, "Didn't find specified component type !");
|
||||
}
|
||||
|
||||
//Update like status
|
||||
CS::get()->components->likes->update(userID, $like, $id, $componentType);
|
||||
|
||||
//Success
|
||||
return array("success" => "Like status updated.");
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user