mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-11-04 04:04:20 +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