mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	Can delete all the comments of a user
This commit is contained in:
		@@ -41,11 +41,11 @@ class Comments {
 | 
				
			|||||||
	 * Fetch the comments of a post
 | 
						 * Fetch the comments of a post
 | 
				
			||||||
	 * 
 | 
						 * 
 | 
				
			||||||
	 * @param int $postID The ID of the post
 | 
						 * @param int $postID The ID of the post
 | 
				
			||||||
	 * @param bool $load_comments Specify whether the comments should be
 | 
						 * @param bool $load_likes Specify whether the likes should be
 | 
				
			||||||
	 * loaded or not (default to true)
 | 
						 * loaded or not (default to true)
 | 
				
			||||||
	 * @return array The list of comments of the post (as Comment objects)
 | 
						 * @return array The list of comments of the post (as Comment objects)
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public function get(int $postID, bool $load_comments = true) : array {
 | 
						public function get(int $postID, bool $load_likes = true) : array {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Perform a request on the database
 | 
							//Perform a request on the database
 | 
				
			||||||
		$conditions = "WHERE ID_texte = ? ORDER BY ID";
 | 
							$conditions = "WHERE ID_texte = ? ORDER BY ID";
 | 
				
			||||||
@@ -55,14 +55,27 @@ class Comments {
 | 
				
			|||||||
		$result = CS::get()->db->select($this::COMMENTS_TABLE, $conditions, $condValues);
 | 
							$result = CS::get()->db->select($this::COMMENTS_TABLE, $conditions, $condValues);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		//Process comments list
 | 
							//Process comments list
 | 
				
			||||||
		$comments = array();
 | 
							return $this->processMultipleResults($result, $load_likes);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		foreach($result as $entry){
 | 
						}
 | 
				
			||||||
			$comments[] = $this->dbToComment($entry, $load_comments);
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return $comments;
 | 
						/**
 | 
				
			||||||
 | 
						 * Fetch the list of comments of a user
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param int $userID The ID of the target user
 | 
				
			||||||
 | 
						 * @return array The list of comments of the user, as comment object
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function getAllUser(int $userID) : array {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Perform a request over the database
 | 
				
			||||||
 | 
							$conditions = "WHERE ID_personne = ? ORDER BY ID";
 | 
				
			||||||
 | 
							$condValues = array($userID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Fetch the messages on the database
 | 
				
			||||||
 | 
							$result = CS::get()->db->select($this::COMMENTS_TABLE, $conditions, $condValues);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Process comments list
 | 
				
			||||||
 | 
							return $this->processMultipleResults($result, FALSE);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
@@ -231,6 +244,45 @@ class Comments {
 | 
				
			|||||||
		) > 0;
 | 
							) > 0;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Delete all the comments of a user
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param int $userID The ID of the target user
 | 
				
			||||||
 | 
						 * @return bool TRUE for a success / FALSE else
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function deleteAllUser(int $userID) : bool {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Get all the comments of the user
 | 
				
			||||||
 | 
							$comments = $this->getAllUser($userID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Process the list of comments
 | 
				
			||||||
 | 
							$success = true;
 | 
				
			||||||
 | 
							foreach($comments as $comment)
 | 
				
			||||||
 | 
								$success = $this->process_delete($comment) ? $success : false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Return result
 | 
				
			||||||
 | 
							return $success;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Turn multiple database entries into Comment objects
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param array $entries The database entries to process
 | 
				
			||||||
 | 
						 * @param bool $load_likes Specify whether likes should be loaded
 | 
				
			||||||
 | 
						 * or not
 | 
				
			||||||
 | 
						 * @return array The list of generated Comment objects
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						private function processMultipleResults(array $entries, bool $load_likes) : array {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							$comments = array();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							foreach($entries as $entry){
 | 
				
			||||||
 | 
								$comments[] = $this->dbToComment($entry, $load_likes);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return $comments;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Turn a comment database entry into a Comment object
 | 
						 * Turn a comment database entry into a Comment object
 | 
				
			||||||
	 * 
 | 
						 * 
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user