1 2 3 24 package com.geinuke.module.forum; 25 26 import java.util.ArrayList ; 27 import java.util.HashMap ; 28 import java.util.Locale ; 29 30 import javax.servlet.http.HttpServletRequest ; 31 import javax.servlet.http.HttpServletResponse ; 32 33 import org.apache.velocity.context.Context; 34 35 import com.geinuke.common.EditorFactory; 36 import com.geinuke.common.GlobalConfigurationI; 37 import com.geinuke.common.ModuleWidgetI; 38 import com.geinuke.common.NukeModuleI; 39 import com.geinuke.common.PageTool; 40 import com.geinuke.common.UserI; 41 import com.geinuke.middle.ICommentBL; 42 import com.geinuke.middle.IForumBL; 43 import com.geinuke.middle.ITopicBL; 44 import com.geinuke.middle.IUserBL; 45 import com.geinuke.module.ModuleWriter; 46 import com.geinuke.servlet.GeiServlet; 47 import com.geinuke.util.NukeResource; 48 import com.geinuke.vo.CommentVO; 49 import com.geinuke.vo.ForumVO; 50 import com.geinuke.vo.ModuleDBVO; 51 import com.geinuke.vo.TopicVO; 52 import com.geinuke.vo.UserVO; 53 import com.geinuke.util.log.*; 54 55 public class NewForumComment implements ModuleWidgetI{ 56 57 public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest req, HttpServletResponse res, UserI user, GlobalConfigurationI gConf) throws Exception { 58 String moduleTempName=null; 59 ArrayList topicsTID=new ArrayList (); 60 int tid=Integer.parseInt( req.getParameter("tid") ); 61 62 63 64 ForumVO forum=null; 65 TopicVO to=null; 66 IForumBL fbl=(IForumBL)GeiServlet.getBL("IForumBL"); 67 ITopicBL tbl=(ITopicBL)GeiServlet.getBL("ITopicBL"); 68 ICommentBL cbl=(ICommentBL)GeiServlet.getBL("ICommentBL"); 69 70 forum=fbl.getForumByTId(tid); 71 72 if(forum.getFState()<3){ 73 74 if(req.getParameter("cid")!=null){ 75 IUserBL ubl=(IUserBL)GeiServlet.getBL("IUserBL"); 76 int cid=Integer.parseInt(req.getParameter("cid")); 77 CommentVO co=cbl.getForumCommentByCId(cid); 78 UserVO us=ubl.getUserByID(co.getUId()); 79 ctx.put("aut",us.getUName()); 80 ctx.put("ctx",ctx); 81 ctx.put("reText",co.getText()); 82 }else if(req.getParameter("xtid")!=null){ 83 IUserBL ubl=(IUserBL)GeiServlet.getBL("IUserBL"); 84 int xtid=Integer.parseInt(req.getParameter("xtid")); 85 TopicVO tt=tbl.getForumTopicByTId(xtid); 86 UserVO us=ubl.getUserByID(tt.getAuthor().getId()); 87 ctx.put("aut",us.getUName()); 88 ctx.put("ctx",ctx); 89 ctx.put("reText",tt.getText()); 90 GeiServlet.intLog(ILogger.INFO,"NewForumComment.handleAction(...), aut="+us.getUName()+" reText="+tt.getText()); 91 } 92 93 to=tbl.getForumTopicByTId(tid); 94 HashMap authors=cbl.getUsersByForumCommentXId(tid); 95 Locale lo=NukeResource.getLocale(req,res); 96 97 EditorFactory ef=new EditorFactory(req,null); 98 ctx.put("factory",ef); 99 100 ctx.put("pageTool",new PageTool(lo)); 101 ctx.put("topic",to); 102 ctx.put("authors",authors); 103 ctx.put("replies",to.getComments()); 104 ctx.put("forum",forum); 105 }else{ 106 res.sendRedirect("ErrorForum.jhtm"); 107 } 108 109 moduleTempName=gConf.getModulePage(module.getName(),req); 110 return ModuleWriter.fill(ctx,module,moduleTempName); 111 } 112 113 } 114 | Popular Tags |