aboutsummaryrefslogtreecommitdiff
path: root/src/java/com
diff options
context:
space:
mode:
authorGravatar Ugnich Anton2014-07-25 18:14:56 +0700
committerGravatar Ugnich Anton2014-07-25 18:14:56 +0700
commit21847edc8b557f795bc6e64ca1f84c23252ab314 (patch)
treecdec287b127e04a946ede374b74385b9d7261f1b /src/java/com
parenta0a9e4151991111886d88b565fda7db9fba1dfd8 (diff)
Reader
Diffstat (limited to 'src/java/com')
-rw-r--r--src/java/com/juick/http/www/Main.java3
-rw-r--r--src/java/com/juick/http/www/PageTemplates.java3
-rw-r--r--src/java/com/juick/http/www/Reader.java78
3 files changed, 83 insertions, 1 deletions
diff --git a/src/java/com/juick/http/www/Main.java b/src/java/com/juick/http/www/Main.java
index e0c84734..1d5e64d3 100644
--- a/src/java/com/juick/http/www/Main.java
+++ b/src/java/com/juick/http/www/Main.java
@@ -49,6 +49,7 @@ public class Main extends HttpServlet implements Stream.StreamListener {
Stream xmpp;
Home home = new Home();
Discover discover = new Discover();
+ Reader reader = new Reader();
PM pm = new PM();
Login login = new Login();
Help help = new Help();
@@ -150,6 +151,8 @@ public class Main extends HttpServlet implements Stream.StreamListener {
com.juick.User visitor = Utils.getVisitorUser(sql, request, response);
home.doGet(sql, sqlSearch, request, response, visitor);
}
+ } else if (uri.equals("/reader")) {
+ reader.doGet(sql, request, response);
} else if (uri.equals("/post")) {
com.juick.User visitor = Utils.getVisitorUser(sql, request, response);
if (visitor != null) {
diff --git a/src/java/com/juick/http/www/PageTemplates.java b/src/java/com/juick/http/www/PageTemplates.java
index da4c0b81..f0a87c42 100644
--- a/src/java/com/juick/http/www/PageTemplates.java
+++ b/src/java/com/juick/http/www/PageTemplates.java
@@ -51,7 +51,7 @@ public class PageTemplates {
out.println("<!DOCTYPE html>");
out.print("<html>");
out.print("<head>");
- out.print("<link rel=\"stylesheet\" href=\"/style.2014072300.css\"/>");
+ out.print("<link rel=\"stylesheet\" href=\"/style.2014072500.css\"/>");
out.print("<script type=\"text/javascript\" src=\"//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js\"></script>");
out.print("<script type=\"text/javascript\" src=\"/scripts.2014071701.js\"></script>");
if (headers != null) {
@@ -74,6 +74,7 @@ public class PageTemplates {
out.print(" <nav id=\"global\"><ul>");
out.print("<li><a href=\"/\">Популярные</a></li>");
out.print("<li><a href=\"/?show=all\" rel=\"nofollow\">Все сообщения</a></li>");
+ out.print("<li><a href=\"/reader\" rel=\"nofollow\">Ссылки</a></li>");
out.println("</ul></nav>");
out.print(" <div id=\"search\"><form action=\"/\"><input type=\"text\" name=\"search\" class=\"text\" placeholder=\"Поиск\"");
if (search != null) {
diff --git a/src/java/com/juick/http/www/Reader.java b/src/java/com/juick/http/www/Reader.java
new file mode 100644
index 00000000..dc356482
--- /dev/null
+++ b/src/java/com/juick/http/www/Reader.java
@@ -0,0 +1,78 @@
+/*
+ * Juick
+ * Copyright (C) 2008-2011, Ugnich Anton
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.juick.http.www;
+
+import com.juick.server.MessagesQueries;
+import com.juick.server.TagQueries;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author Ugnich Anton
+ */
+public class Reader {
+
+ protected void doGet(Connection sql, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ com.juick.User visitor = Utils.getVisitorUser(sql, request, response);
+
+ response.setContentType("text/html; charset=UTF-8");
+ PrintWriter out = response.getWriter();
+ try {
+ String head = "<meta name=\"robots\" content=\"noindex,nofollow\"/>";
+ PageTemplates.pageHead(out, "Ссылки", head);
+ PageTemplates.pageNavigation(out, visitor, null);
+ out.println("<section id=\"content\" style=\"width: 95%; margin-left: 15px\">");
+
+ out.println("<ul id=\"readerlinks\">");
+
+ PreparedStatement stmt = null;
+ ResultSet rs = null;
+ try {
+ stmt = sql.prepareStatement("SELECT rss_id,url,title FROM reader_links ORDER BY ts DESC LIMIT 100");
+ rs = stmt.executeQuery();
+ rs.beforeFirst();
+ while (rs.next()) {
+ out.println("<li><img src=\"//i.juick.com/rss-icons/" + rs.getInt(1) + ".png\" width=\"16\" height=\"16\"/><a href=\"" + rs.getString(2) + "\" rel=\"nofollow\" target=\"_blank\">" + rs.getString(3) + "</a></li>");
+ }
+ } catch (SQLException e) {
+ System.err.println(e);
+ } finally {
+ Utils.finishSQL(rs, stmt);
+ }
+
+ out.println("</ul>");
+
+ out.println("</section>");
+ PageTemplates.pageFooter(request, out, visitor, true);
+ PageTemplates.pageEnd(out);
+ } finally {
+ out.close();
+ }
+ }
+}