fixed double count in read messages
Former-commit-id: e3661ad675c7dcd70fbea3bc5a41b3f103a376a0
This commit is contained in:
parent
7893827652
commit
d2649bb51c
|
@ -363,9 +363,11 @@ function messages_get_count(
|
|||
|
||||
$sql = sprintf(
|
||||
'SELECT count(*) FROM (
|
||||
SELECT tm.*, utimestamp_read > 0 as "read" FROM tmensajes tm
|
||||
SELECT DISTINCT tm.*, utimestamp_read > 0 as "read"
|
||||
FROM tmensajes tm
|
||||
LEFT JOIN tnotification_user nu
|
||||
ON tm.id_mensaje=nu.id_mensaje
|
||||
AND nu.id_user="%s"
|
||||
LEFT JOIN (tnotification_group ng
|
||||
INNER JOIN tusuario_perfil up
|
||||
ON ng.id_group=up.id_grupo
|
||||
|
@ -377,6 +379,7 @@ function messages_get_count(
|
|||
%s',
|
||||
$user,
|
||||
$user,
|
||||
$user,
|
||||
$read
|
||||
);
|
||||
|
||||
|
@ -467,11 +470,14 @@ function messages_get_overview(
|
|||
ON tns.id=tm.id_source';
|
||||
}
|
||||
|
||||
// Using distinct because could be double assignment due group/user.
|
||||
$sql = sprintf(
|
||||
'SELECT * FROM (
|
||||
SELECT tm.*, utimestamp_read > 0 as "read" %s FROM tmensajes tm
|
||||
SELECT DISTINCT tm.*, utimestamp_read > 0 as "read" %s
|
||||
FROM tmensajes tm
|
||||
LEFT JOIN tnotification_user nu
|
||||
ON tm.id_mensaje=nu.id_mensaje
|
||||
AND nu.id_user="%s"
|
||||
LEFT JOIN (tnotification_group ng
|
||||
INNER JOIN tusuario_perfil up
|
||||
ON ng.id_group=up.id_grupo
|
||||
|
@ -486,6 +492,7 @@ function messages_get_overview(
|
|||
ORDER BY %s
|
||||
%s',
|
||||
$source_fields,
|
||||
$config['id_user'],
|
||||
$source_join,
|
||||
$config['id_user'],
|
||||
$config['id_user'],
|
||||
|
|
|
@ -131,10 +131,13 @@ function check_notification_readable(int $id_message)
|
|||
return false;
|
||||
}
|
||||
|
||||
// Using distinct to avoid double response on group messages read by user.
|
||||
$sql = sprintf(
|
||||
'SELECT tm.*, utimestamp_read > 0 as "read" FROM tmensajes tm
|
||||
'SELECT DISTINCT tm.*, utimestamp_read > 0 as "read"
|
||||
FROM tmensajes tm
|
||||
LEFT JOIN tnotification_user nu
|
||||
ON tm.id_mensaje=nu.id_mensaje
|
||||
AND nu.id_user="%s"
|
||||
AND tm.id_mensaje=%d
|
||||
LEFT JOIN (tnotification_group ng
|
||||
INNER JOIN tusuario_perfil up
|
||||
|
@ -143,6 +146,7 @@ function check_notification_readable(int $id_message)
|
|||
) ON tm.id_mensaje=ng.id_mensaje
|
||||
WHERE utimestamp_erased is null
|
||||
AND (nu.id_user="%s" OR (up.id_usuario="%s" AND ng.id_group=0))',
|
||||
$config['id_user'],
|
||||
$id_message,
|
||||
$config['id_user'],
|
||||
$config['id_user']
|
||||
|
|
Loading…
Reference in New Issue