Allow message type edition

This commit is contained in:
2021-09-17 23:45:28 +02:00
parent 0968a8481a
commit 07200af13e
6 changed files with 241 additions and 112 deletions

View File

@@ -1902,12 +1902,11 @@ class Databap extends PhpObject
return $iConnId;
}
public function addChatMessage($sMessage, $sChanName)
{
private function parseChatMessage($sMessage, $sChanName) {
$sMessage = htmlspecialchars($sMessage);
$sType = self::MESSAGE_USER;
$bSuccess = true;
$sDesc = '';
if(mb_substr($sMessage, 0, 1) == '/')
{
if(mb_substr($sMessage, 0, 4) == '/me ')
@@ -2076,11 +2075,19 @@ class Databap extends PhpObject
$sType = self::MESSAGE_PRIVATE;
}
return array('message'=>$sMessage, 'type'=>$sType, 'chan_name'=>$sChanName, 'success'=>$bSuccess);
}
public function addChatMessage($sMessage, $sChanName)
{
$sDesc = '';
$asMessage = $this->parseChatMessage($sMessage, $sChanName);
//Storing message
if($bSuccess)
if($asMessage['success'])
{
$sChanId = $this->getChanId($sChanName);
$bSuccess = $this->addMessage($sMessage, $sType, $sChanId);
$sChanId = $this->getChanId($asMessage['chan_name']);
$bSuccess = $this->addMessage($asMessage['message'], $asMessage['type'], $sChanId);
if(!$bSuccess) $sDesc = self::FAIL_INSERT;
}
@@ -2091,9 +2098,19 @@ class Databap extends PhpObject
{
$bSuccess = false;
$sDesc = '';
$asRefMsg = $this->oMySql->selectRow(self::MSG_TABLE, $iRefMsgId);
if(($asRefMsg['type'] == self::MESSAGE_USER || $asRefMsg['type'] == self::MESSAGE_PRIVATE) && $asRefMsg[$this->oMySql::getId(self::USER_TABLE)] == $this->getUserId()) {
$bSuccess = $this->addMessage($sMessage, $asRefMsg['type'], $asRefMsg['id_channel'], $this->getUserId(), $iRefMsgId);
$iChanId = $asRefMsg[MySqlManager::getId(self::CHAN_TABLE)];
$sChanName = $this->oMySql->selectValue(self::CHAN_TABLE, MySqlManager::getText(self::CHAN_TABLE), $iChanId);
$asNewMsg = $this->parseChatMessage($sMessage, $sChanName);
if(
($asRefMsg['type'] == self::MESSAGE_USER || $asRefMsg['type'] == self::MESSAGE_PRIVATE)
&&
($asNewMsg['type'] == self::MESSAGE_USER || $asNewMsg['type'] == self::MESSAGE_PRIVATE)
&&
$asRefMsg[$this->oMySql::getId(self::USER_TABLE)] == $this->getUserId()
) {
$bSuccess = $this->addMessage($sMessage, $asNewMsg['type'], $iChanId, $this->getUserId(), $iRefMsgId);
}
else $sDesc = 'Wrong user ID';