mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-23 13:59:29 +00:00
Conversation name can be updated
This commit is contained in:
parent
952779f527
commit
219e26b4c0
@ -122,8 +122,27 @@ class conversationsController{
|
|||||||
Rest_fatal_error(500, "Couldn't update user follow state !");
|
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
|
//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;
|
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
|
* Check if a user is a conversation moderator or not
|
||||||
*
|
*
|
||||||
* @param Integer $userID The ID of the user to check
|
* @param Integer $userID The ID of the user to check
|
||||||
* @param Integer $conversationID The ID of the conversation 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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user