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.GlobalConfigurationI; 36 import com.geinuke.common.ModuleWidgetI; 37 import com.geinuke.common.NukeModuleI; 38 import com.geinuke.common.PageTool; 39 import com.geinuke.common.UserI; 40 import com.geinuke.middle.ICategoryBL; 41 import com.geinuke.middle.ICommentBL; 42 import com.geinuke.middle.IForumBL; 43 import com.geinuke.middle.ITopicBL; 44 import com.geinuke.module.ModuleWriter; 45 import com.geinuke.servlet.GeiServlet; 46 import com.geinuke.util.CookieHandler; 47 import com.geinuke.util.NukeResource; 48 import com.geinuke.util.Paginator; 49 import com.geinuke.util.ServletUtil; 50 import com.geinuke.vo.CategoryVO; 51 import com.geinuke.vo.ForumVO; 52 import com.geinuke.vo.ModuleDBVO; 53 import com.geinuke.vo.TopicVO; 54 55 public class ShowSingleForumTopic 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 ArrayList forums=null; 61 int tid=Integer.parseInt( req.getParameter("tid") ); 62 63 ForumVO forum=null; 64 TopicVO to=null; 65 IForumBL fbl=(IForumBL)GeiServlet.getBL("IForumBL"); 66 forum=fbl.getForumByTId(tid); 67 forums=fbl.getEmptyVisibleForums(); 68 69 ITopicBL tbl=(ITopicBL)GeiServlet.getBL("ITopicBL"); 70 71 to=tbl.getForumTopicByTId(tid); 72 if(ServletUtil.hasToUpdateForumTopic(req,to)){ 73 to.setCounter(to.getCounter()+1); 74 to.setLastVisit(System.currentTimeMillis()); 75 tbl.updateForumTopic(to); 76 ServletUtil.setVisitedTopic(req,to.getTId()); 77 } 78 ForumUtil fu=new ForumUtil(user,new CookieHandler(req,res)); 79 fu.tagTopic(forum,to,true); 80 81 89 90 ICommentBL cbl=(ICommentBL)GeiServlet.getBL("ICommentBL"); 91 92 HashMap authors=cbl.getUsersByForumCommentXId(tid); 93 ICategoryBL cabl=(ICategoryBL)GeiServlet.getBL("ICategoryBL"); 94 ArrayList cats=cabl.getCategoriesByCatType(CategoryVO.CAT_FORUMS); 95 ctx.put("cats",cats); 96 97 98 99 Locale lo=NukeResource.getLocale(req,res); 100 102 ArrayList list=null; 103 String pag=req.getParameter("wp"); 104 Paginator pager=new Paginator(to.getComments(),15,"Forum.jhtm?"+req.getQueryString()); 105 if(pag!=null){ 106 list=pager.getPage(Integer.parseInt(pag)); 107 }else{ 108 list=pager.getPage(1); 109 } 110 111 112 ctx.put("pag",pager); 113 114 if(user.getRole().getLevela()>=160) 115 ctx.put("mayChange","Y"); 116 ctx.put("forums",forums); 117 ctx.put("pageTool",new PageTool(lo)); 118 ctx.put("topic",to); 119 ctx.put("authors",authors); 120 ctx.put("replies",list); 122 ctx.put("forum",forum); 123 124 125 moduleTempName=gConf.getModulePage(module.getName(),req); 126 return ModuleWriter.fill(ctx,module,moduleTempName); 127 } 128 129 } 130 | Popular Tags |