mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-12-28 06:28:58 +00:00
Upgraded conversations creation
This commit is contained in:
parent
4ca3314236
commit
2a24d63a5c
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user