From 636b44d06dfbf84210c44f488659e629ed4db0ec Mon Sep 17 00:00:00 2001 From: Ugnich Anton Date: Sun, 2 Feb 2014 23:21:07 +0700 Subject: MessagesQueries.getTags --- src/com/juick/server/MessagesQueries.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/com/juick/server/MessagesQueries.java') diff --git a/src/com/juick/server/MessagesQueries.java b/src/com/juick/server/MessagesQueries.java index 64ee3b96..bf26b70b 100644 --- a/src/com/juick/server/MessagesQueries.java +++ b/src/com/juick/server/MessagesQueries.java @@ -352,6 +352,35 @@ public class MessagesQueries { return mids; } + public static ArrayList getTags(Connection sql, String tids, int visitor_uid, int before, int cnt) { + ArrayList mids = new ArrayList(20); + + PreparedStatement stmt = null; + ResultSet rs = null; + try { + if (before > 0) { + stmt = sql.prepareStatement("SELECT messages.message_id FROM messages_tags INNER JOIN messages USING(message_id) WHERE messages_tags.tag_id IN (" + tids + ") AND messages.message_id0 OR messages.user_id=?) ORDER BY messages.message_id DESC LIMIT ?"); + stmt.setInt(1, before); + stmt.setInt(2, visitor_uid); + stmt.setInt(3, cnt); + } else { + stmt = sql.prepareStatement("SELECT messages.message_id FROM messages_tags INNER JOIN messages USING(message_id) WHERE messages_tags.tag_id IN (" + tids + ") AND (messages.privacy>0 OR messages.user_id=?) ORDER BY messages.message_id DESC LIMIT ?"); + stmt.setInt(1, visitor_uid); + stmt.setInt(2, cnt); + } + rs = stmt.executeQuery(); + rs.beforeFirst(); + while (rs.next()) { + mids.add(rs.getInt(1)); + } + } catch (SQLException e) { + System.err.println(e); + } finally { + Utils.finishSQL(rs, stmt); + } + return mids; + } + public static ArrayList getPlace(Connection sql, int place_id, int visitor_uid, int before) { ArrayList mids = new ArrayList(20); -- cgit v1.2.3