mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-11-04 04:04:20 +00:00 
			
		
		
		
	Can create a frienship request
This commit is contained in:
		@@ -29,6 +29,43 @@ class friendsController{
 | 
				
			|||||||
		return $friendsList;
 | 
							return $friendsList;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Send a friendship request
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @url POST /friends/sendRequest
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function sendRequest(){
 | 
				
			||||||
 | 
							user_login_required(); //Login required
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Check parametres
 | 
				
			||||||
 | 
							if(!isset($_POST["friendID"]))
 | 
				
			||||||
 | 
								Rest_fatal_error(400, "Please specify a user ID !");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Extract informations and process request
 | 
				
			||||||
 | 
							$friendID = toInt($_POST['friendID']);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Check if the two persons are already friend
 | 
				
			||||||
 | 
							if(CS::get()->components->friends->are_friend(userID, $friendID))
 | 
				
			||||||
 | 
								Rest_fatal_error(401, "The two personns are already friend !");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Check if there is already a pending request
 | 
				
			||||||
 | 
							//Check if the current user has sent a request to the other user
 | 
				
			||||||
 | 
							if(CS::get()->components->friends->sent_request(userID, $friendID))
 | 
				
			||||||
 | 
								Rest_fatal_error(401, "You have already sent a friendship request to this personn !");
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
							//Check if the current user has received a friendship request
 | 
				
			||||||
 | 
							if(CS::get()->components->friends->sent_request($friendID, userID))
 | 
				
			||||||
 | 
								Rest_fatal_error(401, "You have already received a friendship request from this personn !");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//We can now create the request
 | 
				
			||||||
 | 
							if(!CS::get()->components->friends->send_request(userID, $friendID))
 | 
				
			||||||
 | 
								Rest_fatal_error(500, "Couldn't create friendship request !");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return array("success" => "The friendship request has been created !");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Respond to a friendship request
 | 
						 * Respond to a friendship request
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -186,6 +186,28 @@ class friends {
 | 
				
			|||||||
		return count($response) > 0;
 | 
							return count($response) > 0;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Send a friendship request
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param $userID The ID of the user creating the request
 | 
				
			||||||
 | 
						 * @param $targetID The target of the friendship request
 | 
				
			||||||
 | 
						 * @return TRUE in case of success / FALSE else
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function send_request(int $userID, int $targetID) : bool {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Prepare the insertion
 | 
				
			||||||
 | 
							$tableName = $this->friendsTable;
 | 
				
			||||||
 | 
							$values = array(
 | 
				
			||||||
 | 
								"ID_personne" => $targetID,
 | 
				
			||||||
 | 
								"ID_amis" => $userID,
 | 
				
			||||||
 | 
								"actif" => 0
 | 
				
			||||||
 | 
							);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Try to perform the request
 | 
				
			||||||
 | 
							return CS::get()->db->addLine($tableName, $values) == true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Check wether a user has sent a friendship 
 | 
						 * Check wether a user has sent a friendship 
 | 
				
			||||||
	 * request to another friend
 | 
						 * request to another friend
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user