mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-11-03 19:54:14 +00:00 
			
		
		
		
	Conversation name can be updated
This commit is contained in:
		@@ -122,8 +122,27 @@ class conversationsController{
 | 
			
		||||
		 		Rest_fatal_error(500, "Couldn't update user follow state !");
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Check if user asked to change moderation settings
 | 
			
		||||
		if(isset($_POST['members']) OR isset($_POST['name'])){
 | 
			
		||||
 | 
			
		||||
			//Check if user is allowed to change such settings
 | 
			
		||||
			if(!CS::get()->components->conversations->userIsModerator(userID, $conversationID))
 | 
			
		||||
				Rest_fatal_error(401, "The user isn't a moderator, he can't updates such settings !");
 | 
			
		||||
			
 | 
			
		||||
			//Update conversation name (if required)
 | 
			
		||||
			if(isset($_POST["name"])){
 | 
			
		||||
				$conversationName = $_POST['name'] == "false" ? "" : $_POST['name'];
 | 
			
		||||
 | 
			
		||||
				//Update conversation name
 | 
			
		||||
				if(!CS::get()->components->conversations->changeName($conversationID, $conversationName))
 | 
			
		||||
					Rest_fatal_error(500, "Couldn't update conversation name !");
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
			
 | 
			
		||||
		//Success
 | 
			
		||||
		return array("success" => "User informations were successfully updated !");
 | 
			
		||||
		return array("success" => "Conversation informations were successfully updated !");
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -238,13 +238,62 @@ class conversations {
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Change conversation name
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param Integer $conversationID The ID of the conversation
 | 
			
		||||
	 * @param String $conversationName The name of the conversation
 | 
			
		||||
	 * @return Boolean True for a success
 | 
			
		||||
	 */
 | 
			
		||||
	public function changeName($conversationID, $conversationName){
 | 
			
		||||
		//Prepare database request
 | 
			
		||||
		$tableName = $this->conversationsListTable;
 | 
			
		||||
		$conditions = "ID = ?";
 | 
			
		||||
		$condVals = array($conversationID);
 | 
			
		||||
 | 
			
		||||
		//Changes
 | 
			
		||||
		$changes = array(
 | 
			
		||||
			"name" => $conversationName,
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		//Try to perform request
 | 
			
		||||
		if(!CS::get()->db->updateDB($tableName, $conditions, $changes, $condVals))
 | 
			
		||||
			return false; //An error occured
 | 
			
		||||
 | 
			
		||||
		//Success
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Check if a user is a conversation moderator or not
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param Integer $userID The ID of the user to check
 | 
			
		||||
	 * @param Integer $conversationID The ID of the conversation to check
 | 
			
		||||
	 * @return Boolean True if the user is a conversation moderator or not
 | 
			
		||||
	 * @return Boolean True if the user is a conversation moderator / false else
 | 
			
		||||
	 */
 | 
			
		||||
	 public function userIsModerator($userID, $conversationID){
 | 
			
		||||
		//Prepare database request
 | 
			
		||||
		$tableName = $this->conversationsListTable;
 | 
			
		||||
		$conditions = "WHERE ID = ?";
 | 
			
		||||
		$values = array($conversationID);
 | 
			
		||||
		$requiredFields = array(
 | 
			
		||||
			"ID_utilisateurs"
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		//Peform a request on the database
 | 
			
		||||
		$results = CS::get()->db->select($tableName, $conditions, $values, $requiredFields);
 | 
			
		||||
 | 
			
		||||
		//Check for errors
 | 
			
		||||
		if($results === false)
 | 
			
		||||
			return false; // An error occured
 | 
			
		||||
		
 | 
			
		||||
		//Check if there was results
 | 
			
		||||
		if(count($results) === 0)
 | 
			
		||||
			return false;
 | 
			
		||||
 | 
			
		||||
		//Check the first result only
 | 
			
		||||
		return $results[0]["ID_utilisateurs"] == $userID;
 | 
			
		||||
	 }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user