?? topicaction.java
字號:
package mybbs;
import org.apache.struts.action.*;
import org.apache.struts.upload.FormFile;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
import javax.servlet.http.HttpSession;
/**
* <p>Title發貼的管理 </p>
*
* <p>Description:用于論壇管理人員對論壇發貼,諸鎖定、
* 置頂等管理。 </p>
*
* <p>Copyright:張黎偉 Copyright (c) 2006</p>
*
* <p>Company: </p>
* @author caxton
* @version 1.0
*/
public class TopicAction
extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
PostForm postform = (PostForm) form;
FormFile file = postform.getTheFile();
DBConn conn = new DBConn();
CAEncode ncode = new CAEncode();
HttpSession session = request.getSession();
int forumid=0,userid=0;
String PageForward = "global";
boolean flag=true;
if(session.getAttribute("nickname")==null){
PageForward = "NotLogin";
flag = false;
}
else{
String nickname = (String) session.getAttribute("nickname");
String uid = (String) session.getAttribute("userid");
if ( (new CheckUser()).UserLocked(uid)) {
request.setAttribute("throw", new String("用戶被鎖定,發貼失敗!"));
flag = false;
}
else {
userid = Integer.parseInt(uid);
String fid = ncode.htmlEncode(postform.getForumsid());
forumid = Integer.parseInt(fid);
String tid = ncode.htmlEncode(postform.getTopicid());
int topicid = 0;
try {
topicid = Integer.parseInt(tid);
}
catch (Exception ex) {
topicid = 0;
}
String c_title = ncode._conv(ncode.htmlEncode(postform.getC_title()));
String c_content = ncode._conv(ncode.htmlEncode(postform.getC_content()));
String action = postform.getAction();
String theText = ncode._conv(ncode.htmlEncode(postform.getTheText()));
String IP = request.getRemoteAddr();
String items = postform.getItems();
String model = postform.getModel();
if (action.equals("3")) {
System.out.print(items + "-" + model);
items = ncode._conv(ncode.repItem(items));
model = ncode.htmlEncode(model);
}
String postid = ncode.htmlEncode(postform.getPostid());
//System.out.print(file.toString()+"#");
if (! (file.toString()).equals("")) {
uploadFile uf = new uploadFile();
uf.UPLOADFILE(file, theText);
String upload_text = uf.getFiletext();
c_content = c_content + upload_text;
}
try {
java.util.Date dd = new java.util.Date();
String dtime = dd.toLocaleString();
java.sql.Date sd = new java.sql.Date(dd.getTime());
PreparedStatement pstmt;
Operate OP = new Operate();
int uu = 0;
ResultSet rs = null;
if (action.equals("3")) {
// String AllItem = ncode.str_replace(items,"<br>","#");
ResultSet rsn = conn.query("SELECT * FROM posts");
rsn.last();
int postt = rsn.getInt("id") + 1;
rsn.close();
VoteAct votat = new VoteAct();
String postdd = String.valueOf(postt);
votat.upvote(items, postdd, c_title, model);
ResultSet rsm = conn.query(
"SELECT * FROM posts WHERE istopic>0 AND forumid=" + forumid);
rsm.last();
int lastN = rsm.getRow() + 1;
rsm.close();
String psql =
"INSERT INTO posts (forumid,groupid,istopic,topic_id,title,content,author," +
"author_id,post_ip,post_time,last_postor,last_time)VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.getPstmt(psql);
pstmt.setInt(1, forumid);
pstmt.setInt(2, 0);
pstmt.setInt(3, 2);
pstmt.setInt(4, lastN);
pstmt.setString(5, c_title);
pstmt.setString(6, c_content);
pstmt.setString(7, nickname);
pstmt.setInt(8, userid);
pstmt.setString(9, IP);
pstmt.setString(10, dtime);
pstmt.setString(11, nickname);
pstmt.setString(12, dtime);
uu = pstmt.executeUpdate();
if (uu > 0) {
OP.UpdateTotalTopic(forumid);
OP.UserTotalPost(userid);
PageForward = "postsuccessed";
request.setAttribute("topicid", String.valueOf(lastN));
}
else {
PageForward = "global";
request.setAttribute("throw", new String("發貼失敗!"));
}
}
if (action.equals("1")) {
rs = conn.query("SELECT * FROM posts WHERE istopic>0 AND forumid=" +
forumid);
rs.last();
int lastNo = rs.getRow() + 1;
rs.close();
String psql2 =
"INSERT INTO posts (forumid,groupid,istopic,topic_id,title,content,author," +
"author_id,post_ip,post_time,last_postor,last_time)VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.getPstmt(psql2);
pstmt.setInt(1, forumid);
pstmt.setInt(2, 0);
pstmt.setInt(3, 1);
pstmt.setInt(4, lastNo);
pstmt.setString(5, c_title);
pstmt.setString(6, c_content);
pstmt.setString(7, nickname);
pstmt.setInt(8, userid);
pstmt.setString(9, IP);
pstmt.setString(10, dtime);
pstmt.setString(11, nickname);
pstmt.setString(12, dtime);
uu = pstmt.executeUpdate();
if (uu > 0) {
OP.UpdateTotalTopic(forumid);
OP.UserTotalPost(userid);
PageForward = "postsuccessed";
request.setAttribute("topicid", String.valueOf(lastNo));
}
else {
PageForward = "global";
request.setAttribute("throw", new String("發貼失敗!"));
}
}
if (action.equals("2")) {
String psql3 =
"INSERT INTO posts (forumid,groupid,istopic,topic_id,title,content,author," +
"author_id,post_ip,post_time) VALUES(?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.getPstmt(psql3);
pstmt.setInt(1, forumid);
pstmt.setInt(2, 0);
pstmt.setInt(3, 0);
pstmt.setInt(4, topicid);
pstmt.setString(5, c_title);
pstmt.setString(6, c_content);
pstmt.setString(7, nickname);
pstmt.setInt(8, userid);
pstmt.setString(9, IP);
pstmt.setString(10, dtime);
uu = pstmt.executeUpdate();
if (uu > 0) {
OP.UpdateTotalPost(forumid);
OP.UserTotalPost(userid);
String sql3 = "UPDATE posts SET click_times=click_times+1,reply_times=reply_times+1,last_postor='" +
nickname + "',last_time=SYSDATE() WHERE topic_id=" + topicid
+ " AND forumid=" + forumid + " AND istopic>0";
if (conn.update(sql3) > 0) {
request.setAttribute("topicid", String.valueOf(topicid));
PageForward = "postsuccessed";
}
}
else {
PageForward = "global";
request.setAttribute("throw", new String("發貼失敗!"));
}
}
if (action.equals("4")) {
c_content = c_content + "<FONT color=red>Editted</FONT>";
String sql4 = "UPDATE posts SET title='" + c_title + "',content='" +
c_content
+ "' WHERE id=" + postid + " AND author='" + nickname + "'";
//System.out.print(sql4);
if (conn.update(sql4) > 0) {
request.setAttribute("topicid", String.valueOf(topicid));
PageForward = "postsuccessed";
}
else {
PageForward = "global";
request.setAttribute("throw", new String("發貼失敗!"));
}
}
}
catch (Exception e) {
PageForward = "global";
request.setAttribute("throw", e.toString());
}
}
}
request.setAttribute("forumsid", String.valueOf(forumid));
return actionMapping.findForward(PageForward);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -