diff options
author | Ugnich Anton | 2013-11-02 03:25:18 +0700 |
---|---|---|
committer | Ugnich Anton | 2013-11-02 03:25:18 +0700 |
commit | 796c55d1591acc0188c0c269409d914f0dce12c5 (patch) | |
tree | 8bce0a47a1fc21bb71b2fa2a1887973ae47cac05 /src/java/com/juick | |
parent | 79a9182f4ad429fa43ad379028087d04d5abd126 (diff) |
Ad messages
Diffstat (limited to 'src/java/com/juick')
-rw-r--r-- | src/java/com/juick/http/www/Discover.java | 16 | ||||
-rw-r--r-- | src/java/com/juick/http/www/Home.java | 17 | ||||
-rw-r--r-- | src/java/com/juick/http/www/PageTemplates.java | 19 | ||||
-rw-r--r-- | src/java/com/juick/http/www/User.java | 6 | ||||
-rw-r--r-- | src/java/com/juick/http/www/UserThread.java | 3 |
5 files changed, 50 insertions, 11 deletions
diff --git a/src/java/com/juick/http/www/Discover.java b/src/java/com/juick/http/www/Discover.java index a9ae360a..62822ee4 100644 --- a/src/java/com/juick/http/www/Discover.java +++ b/src/java/com/juick/http/www/Discover.java @@ -17,6 +17,7 @@ */ package com.juick.http.www; +import com.juick.server.AdsQueries; import com.juick.server.MessagesQueries; import com.juick.server.TagQueries; import java.io.IOException; @@ -110,13 +111,24 @@ public class Discover { out.println("<div id=\"content\">"); if (mids.size() > 0) { + int ad_mid = 0; + if (visitor != null && paramShow == null && paramTag == 0 && paramSearch == null) { + ad_mid = AdsQueries.getAdMID(sql, visitor.UID); + if (ad_mid > 0 && mids.indexOf(ad_mid) == -1) { + mids.add(0, ad_mid); + AdsQueries.logAdMID(sql, visitor.UID, ad_mid); + } else { + ad_mid = 0; + } + } + out.println("<ul>"); - PageTemplates.printMessages(out, sql, null, mids, visitor, locale, visitor == null ? 2 : 3); + PageTemplates.printMessages(out, sql, null, mids, visitor, locale, visitor == null ? 2 : 3, ad_mid); out.println("</ul>"); } if (visitor != null) { - if (mids.size() == 20) { + if (mids.size() >= 20) { String nextpage = "?before=" + mids.get(mids.size() - 1); if (paramShow != null) { nextpage += "&show=" + paramShow; diff --git a/src/java/com/juick/http/www/Home.java b/src/java/com/juick/http/www/Home.java index d2500993..2705d953 100644 --- a/src/java/com/juick/http/www/Home.java +++ b/src/java/com/juick/http/www/Home.java @@ -18,6 +18,7 @@ package com.juick.http.www; import com.juick.json.Users; +import com.juick.server.AdsQueries; import com.juick.server.MessagesQueries; import com.juick.server.PMQueries; import java.io.IOException; @@ -94,12 +95,24 @@ public class Home { out.println("<div id=\"content\">"); if (mids.size() > 0) { + int ad_mid = 0; + if (paramShow == null || paramShow.equals("top")) { + ad_mid = AdsQueries.getAdMID(sql, visitor.UID); + + if (ad_mid > 0 && mids.indexOf(ad_mid) == -1) { + mids.add(0, ad_mid); + AdsQueries.logAdMID(sql, visitor.UID, ad_mid); + } else { + ad_mid = 0; + } + } + out.println("<ul>"); - PageTemplates.printMessages(out, sql, null, mids, visitor, locale, visitor == null ? 2 : 3); + PageTemplates.printMessages(out, sql, null, mids, visitor, locale, visitor == null ? 2 : 3, ad_mid); out.println("</ul>"); } - if (mids.size() == 20) { + if (mids.size() >= 20) { String nextpage = "?before=" + mids.get(mids.size() - 1); if (paramShow != null) { nextpage += "&show=" + paramShow; diff --git a/src/java/com/juick/http/www/PageTemplates.java b/src/java/com/juick/http/www/PageTemplates.java index d63cb5f5..c7118277 100644 --- a/src/java/com/juick/http/www/PageTemplates.java +++ b/src/java/com/juick/http/www/PageTemplates.java @@ -357,11 +357,20 @@ public class PageTemplates { return msg; } - public static void printMessages(PrintWriter out, Connection sql, com.juick.User user, ArrayList<Integer> mids, com.juick.User visitor, Locale locale, int YandexID) { + public static void printMessages(PrintWriter out, Connection sql, com.juick.User user, ArrayList<Integer> mids, com.juick.User visitor, Locale locale, int YandexID, int ad_mid) { ResourceBundle rb = ResourceBundle.getBundle("Global", locale); ArrayList<com.juick.Message> msgs = MessagesQueries.getMessages(sql, mids); + for (int i = 0; i < msgs.size(); i++) { + com.juick.Message msg = msgs.get(i); + if (msg.MID == ad_mid) { + msgs.remove(i); + msgs.add(0, msg); + break; + } + } + ArrayList<Integer> blUIDs = new ArrayList<Integer>(20); if (visitor != null) { for (int i = 0; i < msgs.size(); i++) { @@ -372,7 +381,7 @@ public class PageTemplates { for (int i = 0; i < msgs.size(); i++) { - if (i == 1 && YandexID > 0) { + if (i == 1 && YandexID > 0 && ad_mid == 0) { out.println(" <li class=\"ads\"><div id=\"yandex_ad\"></div></li>"); out.println("<script type=\"text/javascript\">"); out.println("(function(w, d, n, s, t) {"); @@ -440,7 +449,11 @@ public class PageTemplates { out.println(" <div class=\"msg-cont\">"); out.println(" <div class=\"msg-menu\"><a href=\"#\" onclick=\"showMessageLinksDialog(" + msg.MID + "); return false\"></a></div>"); out.println(" <div class=\"msg-header\"><a href=\"/" + msg.User.UName + "/\">@" + msg.User.UName + "</a>:" + tags + "</div>"); - out.println(" <div class=\"msg-ts\"><a href=\"/" + msg.User.UName + "/" + msg.MID + "\" title=\"" + msg.TimestampString + " GMT\">" + formatDate(msg.TimeAgo, msg.TimestampString, locale) + "</a></div>"); + out.print(" <div class=\"msg-ts\"><a href=\"/" + msg.User.UName + "/" + msg.MID + "\" title=\"" + msg.TimestampString + " GMT\">" + formatDate(msg.TimeAgo, msg.TimestampString, locale) + "</a>"); + if (msg.MID == ad_mid) { + out.print(" · " + rb.getString("Sponsored")); + } + out.println("</div>"); if (msg.Place != null) { out.println(" <div class=\"msg-place\"><a href=\"/places/" + msg.Place.pid + "\">" + msg.Place.name + "</a></div>"); } diff --git a/src/java/com/juick/http/www/User.java b/src/java/com/juick/http/www/User.java index 64675044..5de54341 100644 --- a/src/java/com/juick/http/www/User.java +++ b/src/java/com/juick/http/www/User.java @@ -115,12 +115,12 @@ public class User { out.println("<div id=\"content\">"); out.println("<ul>"); if (mids.size() > 0) { - PageTemplates.printMessages(out, sql, user, mids, visitor, locale, visitor == null ? 4 : 5); + PageTemplates.printMessages(out, sql, user, mids, visitor, locale, visitor == null ? 4 : 5, 0); } out.println("</ul>"); - if (mids.size() == 20) { - String nextpage = "?before=" + mids.get(19); + if (mids.size() >= 20) { + String nextpage = "?before=" + mids.get(mids.size() - 1); if (paramShow != null) { nextpage += "&show=" + paramShow; } diff --git a/src/java/com/juick/http/www/UserThread.java b/src/java/com/juick/http/www/UserThread.java index 0d096aa1..1e81a728 100644 --- a/src/java/com/juick/http/www/UserThread.java +++ b/src/java/com/juick/http/www/UserThread.java @@ -130,8 +130,9 @@ public class UserThread { out.println(" <li id=\"msg-" + mid + "\" class=\"msg msgthread\">"); out.println(" <div class=\"msg-avatar\"><a href=\"/" + msg.User.UName + "/\"><img src=\"//i.juick.com/a/" + msg.User.UID + ".png\" alt=\"" + msg.User.UName + "\"/></a></div>"); out.println(" <div class=\"msg-cont\">"); + out.println(" <div class=\"msg-menu\"><a href=\"#\" onclick=\"showMessageLinksDialog(" + msg.MID + "); return false\"></a></div>"); out.println(" <div class=\"msg-header\"><a href=\"/" + msg.User.UName + "/\">@" + msg.User.UName + "</a>:" + tags + "</div>"); - out.println(" <div class=\"msg-ts\">" + PageTemplates.formatJSLocalTime(msg.TimestampString) + "<a href=\"#\" onclick=\"showMessageLinksDialog(" + msg.MID + "); return false\" class=\"msg-menu\"></a></div>"); + out.println(" <div class=\"msg-ts\">" + PageTemplates.formatJSLocalTime(msg.TimestampString) + "</div>"); if (msg.Place != null) { out.println(" <div class=\"msg-place\"><a href=\"/places/" + msg.Place.pid + "\">" + msg.Place.name + "</a></div>"); } |