summaryrefslogtreecommitdiff
path: root/includes/classes/Messages.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/classes/Messages.php')
-rwxr-xr-x[-rw-r--r--]includes/classes/Messages.php14
1 files changed, 5 insertions, 9 deletions
diff --git a/includes/classes/Messages.php b/includes/classes/Messages.php
index e53042e..104f02a 100644..100755
--- a/includes/classes/Messages.php
+++ b/includes/classes/Messages.php
@@ -229,8 +229,8 @@ class Messages extends BitBase {
// ====================== insane message mergin and sorting ======================
$sort_mode = $pListHash['sort_mode'];
$ret = [];
- $normalMessageCount = count($normalMessages);
- $systemMessageCount = count($systemMessages);
+ $normalMessageCount = \count($normalMessages);
+ $systemMessageCount = \count($systemMessages);
$normalMsg = $systemMsg = NULL;
if (strpos($sort_mode, '_asc') !== FALSE) {
$sortType = '_asc';
@@ -361,11 +361,7 @@ class Messages extends BitBase {
$bindVars[] = '%'.strtoupper( $pListHash['find'] ).'%';
}
- if( !empty( $pListHash['neighbour'] ) && $pListHash['neighbour'] == 'prev' ) {
- $query = "SELECT MAX(`msg_id`) FROM `".BIT_DB_PREFIX."messages` mm WHERE `to_user_id`=? AND `msg_id` < ? $whereSql";
- } else {
- $query = "SELECT MIN(`msg_id`) FROM `".BIT_DB_PREFIX."messages` mm WHERE `to_user_id`=? AND `msg_id` > ? $whereSql";
- }
+ $query = ( !empty( $pListHash['neighbour'] ) && $pListHash['neighbour'] == 'prev' ) ? "SELECT MAX(`msg_id`) FROM `" . BIT_DB_PREFIX . "messages` mm WHERE `to_user_id`=? AND `msg_id` < ? $whereSql" : "SELECT MIN(`msg_id`) FROM `" . BIT_DB_PREFIX . "messages` mm WHERE `to_user_id`=? AND `msg_id` > ? $whereSql";
$msg_id = $this->mDb->getOne( $query, $bindVars );
return( !empty( $msg_id ) ? $msg_id : FALSE );
@@ -403,9 +399,9 @@ class Messages extends BitBase {
// Standard user to user messages
$normalCount = $this->mDb->getOne( "select count( * ) from `".BIT_DB_PREFIX."messages` where `to_user_id`=? and `is_read`=?", [ $pUserId, 'n' ] );
// Broadcast messages where they have a messages_system_map row but is_read is not yet set
- $broadcastCount = $this->mDb->getOne("SELECT COUNT(mm.`msg_id`) FROM `".BIT_DB_PREFIX."messages` mm INNER JOIN `".BIT_DB_PREFIX."messages_system_map` msm ON (mm.`msg_id` = msm.`msg_id` AND msm.`is_read` <> 'y' AND `is_hidden` <> 'y' AND msm.`to_user_id`= ?) WHERE mm.`to_user_id` = ? AND mm.`group_id` IN (SELECT `group_id` FROM `".BIT_DB_PREFIX."users_groups_map` WHERE `user_id`= ?) ", array($pUserId, ROOT_USER_ID, $pUserId));
+ $broadcastCount = $this->mDb->getOne("SELECT COUNT(mm.`msg_id`) FROM `".BIT_DB_PREFIX."messages` mm INNER JOIN `".BIT_DB_PREFIX."messages_system_map` msm ON (mm.`msg_id` = msm.`msg_id` AND msm.`is_read` <> 'y' AND `is_hidden` <> 'y' AND msm.`to_user_id`= ?) WHERE mm.`to_user_id` = ? AND mm.`group_id` IN (SELECT `group_id` FROM `".BIT_DB_PREFIX."users_groups_map` WHERE `user_id`= ?) ", [ $pUserId, ROOT_USER_ID, $pUserId ]);
// Broadcast messages where they do not yet have a messages_system_map row
- $broadcastCount2 = $this->mDb->getOne("SELECT COUNT(mm.`msg_id`) FROM `".BIT_DB_PREFIX."messages` mm WHERE mm.`to_user_id` = ? AND mm.`group_id` IN (SELECT `group_id` FROM `".BIT_DB_PREFIX."users_groups_map` WHERE `user_id` = ?) AND NOT EXISTS ( SELECT msm.`msg_id` FROM `".BIT_DB_PREFIX."messages_system_map` msm WHERE msm.`msg_id` = mm.`msg_id` AND msm.`to_user_id` = ?)", array(ROOT_USER_ID, $pUserId, $pUserId));
+ $broadcastCount2 = $this->mDb->getOne("SELECT COUNT(mm.`msg_id`) FROM `".BIT_DB_PREFIX."messages` mm WHERE mm.`to_user_id` = ? AND mm.`group_id` IN (SELECT `group_id` FROM `".BIT_DB_PREFIX."users_groups_map` WHERE `user_id` = ?) AND NOT EXISTS ( SELECT msm.`msg_id` FROM `".BIT_DB_PREFIX."messages_system_map` msm WHERE msm.`msg_id` = mm.`msg_id` AND msm.`to_user_id` = ?)", [ ROOT_USER_ID, $pUserId, $pUserId ]);
return $normalCount + $broadcastCount + $broadcastCount2;
}