mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	Upgraded conversations creation
This commit is contained in:
		@@ -71,20 +71,26 @@ class conversationsController{
 | 
			
		||||
			Rest_fatal_error(400, "Please check parametres passed with the request !");
 | 
			
		||||
		
 | 
			
		||||
		//Extract parametres
 | 
			
		||||
		$conversationName = ($_POST["name"] == "false" ? false : $_POST['name']);
 | 
			
		||||
		$followConversation = ($_POST['follow'] == "true" ? true : false);
 | 
			
		||||
		$usersList = numbers_list_to_array($_POST['users']);
 | 
			
		||||
		$conv = new ConversationInfo();
 | 
			
		||||
		$conv->set_id_owner(userID);
 | 
			
		||||
		$conv->set_name($_POST["name"] == "false" ? false : removeHTMLnodes($_POST['name']));
 | 
			
		||||
		$conv->set_following($_POST['follow'] == "true" ? true : false);
 | 
			
		||||
 | 
			
		||||
		//Process the list of users
 | 
			
		||||
		$membersList = numbers_list_to_array($_POST['users']);
 | 
			
		||||
 | 
			
		||||
		//Add current user (if not present)
 | 
			
		||||
		if(!isset($usersList[userID]))
 | 
			
		||||
			$usersList[userID] = userID;
 | 
			
		||||
		if(!isset($membersList[userID]))
 | 
			
		||||
			$membersList[userID] = userID;
 | 
			
		||||
 | 
			
		||||
		//Check users
 | 
			
		||||
		if(count($usersList) < 1)
 | 
			
		||||
		if(count($membersList) < 1)
 | 
			
		||||
			Rest_fatal_error(501, "Please select at least one user !");
 | 
			
		||||
		
 | 
			
		||||
		$conv->set_members($membersList);
 | 
			
		||||
		
 | 
			
		||||
		//Try to create the conversation
 | 
			
		||||
		$conversationID = CS::get()->components->conversations->create(userID, $followConversation, $usersList, $conversationName);
 | 
			
		||||
		$conversationID = CS::get()->components->conversations->create($conv);
 | 
			
		||||
		
 | 
			
		||||
		//Check for errors
 | 
			
		||||
		if($conversationID == 0)
 | 
			
		||||
 
 | 
			
		||||
@@ -125,17 +125,14 @@ class conversations {
 | 
			
		||||
	/**
 | 
			
		||||
	 * Create a new conversation
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param int $userID The ID of the user creating the conversation
 | 
			
		||||
	 * @param bool $follow Defines if the user creating the conversation will follow it 
 | 
			
		||||
	 * @param array $usersList The list of users following the conversation
 | 
			
		||||
	 * @param Mixed $name Optionnal, the name of the conversation
 | 
			
		||||
	 * @param ConversationInfo $conv Information about the conversation to create
 | 
			
		||||
	 * @return int 0 for a fail else the ID of the newly created conversation
 | 
			
		||||
	 */
 | 
			
		||||
	public function create(int $userID, bool $follow, array $usersList, $name = "") : int{
 | 
			
		||||
	public function create(ConversationInfo $conv) : int{
 | 
			
		||||
		
 | 
			
		||||
		$mainInformations = array(
 | 
			
		||||
			"ID_utilisateurs" => $userID*1,
 | 
			
		||||
			"name" => ($name ? $name : ""),
 | 
			
		||||
			"ID_utilisateurs" => $conv->get_id_owner(),
 | 
			
		||||
			"name" => ($conv->has_name() ? $conv->get_name() : ""),
 | 
			
		||||
			"last_active" => time(),
 | 
			
		||||
			"creation_time" => time()
 | 
			
		||||
		);
 | 
			
		||||
@@ -152,12 +149,12 @@ class conversations {
 | 
			
		||||
			return 0;
 | 
			
		||||
		
 | 
			
		||||
		//Insert users registrattions
 | 
			
		||||
		foreach($usersList as $processUser){
 | 
			
		||||
		foreach($conv->get_members() as $processUser){
 | 
			
		||||
 | 
			
		||||
			//Make user follow the conversation if required
 | 
			
		||||
			$processUserFollowing = false;
 | 
			
		||||
			if($userID == $processUser)
 | 
			
		||||
				$processUserFollowing = $follow;
 | 
			
		||||
			$processUserFollowing = true;
 | 
			
		||||
			if($conv->get_id_owner() == $processUser)
 | 
			
		||||
				$processUserFollowing = $conv->is_following();
 | 
			
		||||
 | 
			
		||||
			//Try to insert user in conversation
 | 
			
		||||
			if(!$this->addMember($conversationID, $processUser, $processUserFollowing))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user