mirror of
https://github.com/pierre42100/ComunicAPI
synced 2025-07-12 04:52:52 +00:00
3rdparty
RestControllers
.htaccess
CommentsController.php
MoviesController.php
SettingsController.php
SurveysController.php
accountController.php
conversationsController.php
friendsController.php
likesController.php
notificationsController.php
postsController.php
searchController.php
userController.php
welcomeController.php
classes
config
functions
helpers
.htaccess
LICENSE
README.md
index.php
init.php
83 lines
1.7 KiB
PHP
83 lines
1.7 KiB
PHP
<?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;
|
|
|
|
|
|
//In case of post
|
|
case "post":
|
|
|
|
//Extract informations
|
|
$id = getPostPostIDWithAccess("id");
|
|
$componentType = Likes::LIKE_POST;
|
|
|
|
//Delete any notification targeting this user about the post
|
|
delete_user_notifications_over_post(userID, $id);
|
|
|
|
break;
|
|
|
|
|
|
|
|
//In case of comments
|
|
case "comment":
|
|
|
|
//Extract informations
|
|
$id = getPostCommentIDWithAccess("id");
|
|
$componentType = Likes::LIKE_COMMENT;
|
|
|
|
break;
|
|
|
|
|
|
//Default case : error
|
|
default:
|
|
Rest_fatal_error(404, "Specifed component type currently not supported !");
|
|
}
|
|
|
|
//Update like status
|
|
CS::get()->components->likes->update(userID, $like, $id, $componentType);
|
|
|
|
//Success
|
|
return array("success" => "Like status updated.");
|
|
}
|
|
|
|
} |