/*
* 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 .
*/
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.io.UnsupportedEncodingException;
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 java.util.Arrays;
import java.util.Locale;
import java.util.ResourceBundle;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Ugnich Anton
*/
public class User {
protected void doGetBlog(Connection sql, Connection sqlSearch, HttpServletRequest request, HttpServletResponse response, com.juick.User user) throws ServletException, IOException {
com.juick.User visitor = Utils.getVisitorUser(sql, request);
Locale locale = request.getLocale();
ResourceBundle rb = ResourceBundle.getBundle("User", locale);
String title = "@" + user.UName + " - ";
ArrayList mids;
String paramShow = request.getParameter("show");
int paramTag = 0;
String paramTagStr = request.getParameter("tag");
if (paramTagStr != null && paramTagStr.length() < 64) {
paramTag = TagQueries.getTagID(sql, paramTagStr, false);
}
int paramBefore = 0;
String paramBeforeStr = request.getParameter("before");
if (paramBeforeStr != null) {
try {
paramBefore = Integer.parseInt(paramBeforeStr);
} catch (NumberFormatException e) {
}
}
String paramSearch = request.getParameter("search");
if (paramSearch != null && paramSearch.length() > 64) {
paramSearch = null;
}
if (paramShow == null) {
if (paramTag > 0) {
title += "*" + Utils.encodeHTML(paramTagStr);
mids = MessagesQueries.getUserTag(sql, user.UID, paramTag, paramBefore);
} else if (paramSearch != null) {
title += rb.getString("(Menu) Search") + ": " + Utils.encodeHTML(paramSearch);
mids = MessagesQueries.getUserSearch(sql, sqlSearch, user.UID, Utils.encodeSphinx(paramSearch), paramBefore);
} else {
title += rb.getString("(Menu) Blog");
mids = MessagesQueries.getUserBlog(sql, user.UID, paramBefore);
}
} else if (paramShow.equals("recomm")) {
title += rb.getString("(Menu) Recommendations");
mids = MessagesQueries.getUserRecommendations(sql, user.UID, paramBefore);
} else if (paramShow.equals("photos")) {
title += rb.getString("(Menu) Photos");
mids = MessagesQueries.getUserPhotos(sql, user.UID, paramBefore);
} else {
response.sendError(404);
return;
}
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
try {
PageTemplates.pageHead(out, title, null);
PageTemplates.pageNavigation(out, locale, visitor);
PageTemplates.pageUserTitle(out, sql, locale, user, visitor);
out.println("