aboutsummaryrefslogtreecommitdiff
path: root/src/com/juick/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/juick/server')
-rw-r--r--src/com/juick/server/MessagesQueries.java24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/com/juick/server/MessagesQueries.java b/src/com/juick/server/MessagesQueries.java
index 444cd13d..5e3cc238 100644
--- a/src/com/juick/server/MessagesQueries.java
+++ b/src/com/juick/server/MessagesQueries.java
@@ -286,13 +286,25 @@ public class MessagesQueries {
PreparedStatement stmt = null;
ResultSet rs = null;
try {
- if (before > 0) {
- stmt = sql.prepareStatement("SELECT message_id FROM messages WHERE message_id<? AND (privacy>0 OR user_id=?) AND lang='ru' ORDER BY message_id DESC LIMIT 20");
- stmt.setInt(1, before);
- stmt.setInt(2, visitor_uid);
+ if (visitor_uid > 1) {
+ if (before > 0) {
+ stmt = sql.prepareStatement("SELECT message_id FROM messages WHERE message_id<? AND (privacy>0 OR user_id=?) AND lang='ru' AND user_id NOT IN (SELECT bl_user_id FROM bl_users WHERE user_id=?) ORDER BY message_id DESC LIMIT 20");
+ stmt.setInt(1, before);
+ stmt.setInt(2, visitor_uid);
+ stmt.setInt(3, visitor_uid);
+ } else {
+ stmt = sql.prepareStatement("SELECT message_id FROM messages WHERE (privacy>0 OR user_id=?) AND lang='ru' AND user_id NOT IN (SELECT bl_user_id FROM bl_users WHERE user_id=?) ORDER BY message_id DESC LIMIT 20");
+ stmt.setInt(1, visitor_uid);
+ stmt.setInt(2, visitor_uid);
+ }
} else {
- stmt = sql.prepareStatement("SELECT message_id FROM messages WHERE (privacy>0 OR user_id=?) AND lang='ru' ORDER BY message_id DESC LIMIT 20");
- stmt.setInt(1, visitor_uid);
+ if (before > 0) {
+ stmt = sql.prepareStatement("SELECT message_id FROM messages WHERE message_id<? AND privacy>0 AND lang='ru' ORDER BY message_id DESC LIMIT 20");
+ stmt.setInt(1, before);
+ } else {
+ stmt = sql.prepareStatement("SELECT message_id FROM messages WHERE privacy>0 AND lang='ru' ORDER BY message_id DESC LIMIT 20");
+ }
+
}
rs = stmt.executeQuery();
rs.beforeFirst();