aboutsummaryrefslogtreecommitdiff
path: root/src/java/com/juick/http/www
diff options
context:
space:
mode:
authorGravatar Ugnich Anton2013-11-02 03:25:18 +0700
committerGravatar Ugnich Anton2013-11-02 03:25:18 +0700
commit796c55d1591acc0188c0c269409d914f0dce12c5 (patch)
tree8bce0a47a1fc21bb71b2fa2a1887973ae47cac05 /src/java/com/juick/http/www
parent79a9182f4ad429fa43ad379028087d04d5abd126 (diff)
Ad messages
Diffstat (limited to 'src/java/com/juick/http/www')
-rw-r--r--src/java/com/juick/http/www/Discover.java16
-rw-r--r--src/java/com/juick/http/www/Home.java17
-rw-r--r--src/java/com/juick/http/www/PageTemplates.java19
-rw-r--r--src/java/com/juick/http/www/User.java6
-rw-r--r--src/java/com/juick/http/www/UserThread.java3
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 += "&amp;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 += "&amp;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(" &#183; " + 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 += "&amp;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>");
}