diff --git a/RestControllers/conversationsController.php b/RestControllers/conversationsController.php index 43ed30a..6fce15f 100644 --- a/RestControllers/conversationsController.php +++ b/RestControllers/conversationsController.php @@ -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) diff --git a/classes/components/conversations.php b/classes/components/conversations.php index cd9a4cf..e137925 100644 --- a/classes/components/conversations.php +++ b/classes/components/conversations.php @@ -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))