Реализация ChatMessageDTO.

This commit is contained in:
2023-01-28 04:24:37 +02:00
parent d9ec810f7f
commit 99b90a198b
105 changed files with 11492 additions and 10578 deletions
+11 -9
View File
@@ -515,20 +515,22 @@ class forum
//Если автор предыдущего сообщения не текущий юзер - отправляем в чат сообщение о новом ответе
if ($lst['uid'] + 1 != $this->user['id']) {
$fnt = '<b>' . date('d.m.Y H:i') . '</b> На форуме опубликован новый ответ в обсуждении, в котором вы принимали участие. <a href=https://new-combats.com/forum?read=' . $topic . ' target=_blank \>Читать далее</a>';
$ins = '';
$ll = [];
$sp = mysql_query('SELECT `u`.`city`,`u`.`id`,`u`.`login`,`f`.`uid`,`f`.`login` FROM `forum_msg` AS `f` LEFT JOIN `users` AS `u` ON `f`.`uid` = `u`.`id` WHERE `f`.`delete` = "0" AND (`f`.`topic` = "' . mysql_real_escape_string($topic) . '" OR (`f`.`topic` = "-1" AND `f`.`id` = "' . mysql_real_escape_string($topic) . '")) LIMIT 1');
$sp = mysql_query('SELECT `u`.`city`,`u`.`id`,`u`.`login`,`f`.`uid`,`f`.`login` FROM `forum_msg` AS `f` LEFT JOIN `users` AS `u` ON `f`.`uid` = `u`.`id` WHERE `f`.`delete` = 0 AND (`f`.`topic` = ' . (int)$topic . ' OR (`f`.`topic` = -1 AND `f`.`id` = ' . (int)$topic . ')) LIMIT 1');
while ($pl = mysql_fetch_array($sp)) {
if (!isset($ll[$pl['uid']]) && $pl['uid'] != $this->user['id']) {
$ins .= '("' . $pl['city'] . '","1","' . $pl['login'] . '","6","-1","' . $fnt . '"),';
$ll[$pl['uid']] = true;
if (isset($ll[$pl['uid']]) || $pl['uid'] == $this->user['id']) {
continue;
}
$cmsg = new ChatMessage();
$cmsg->setCity($pl['city']);
$cmsg->setTo($pl['login']);
$cmsg->setText($fnt);
$cmsg->setType(6);
(new Chat())->sendMsg($cmsg);
$ll[$pl['uid']] = true;
}
unset($ll);
$ins = trim($ins, ',');
if ($ins != '') {
mysql_query('INSERT INTO `chat` (`city`,`new`,`to`,`type`,`time`,`text`) VALUES ' . $ins . '');
}
}
}
$fid = mysql_insert_id();