1 22 package com.geinuke.module.forum; 23 24 import java.util.ArrayList ; 25 import java.util.Hashtable ; 26 import java.util.Locale ; 27 28 import javax.servlet.http.HttpServletRequest ; 29 import javax.servlet.http.HttpServletResponse ; 30 31 import org.apache.velocity.context.Context; 32 33 import com.geinuke.common.GlobalConfigurationI; 34 import com.geinuke.common.ModuleWidgetI; 35 import com.geinuke.common.NukeModuleI; 36 import com.geinuke.common.PageTool; 37 import com.geinuke.common.UserI; 38 import com.geinuke.middle.IForumBL; 39 import com.geinuke.module.ModuleWriter; 40 import com.geinuke.servlet.GeiServlet; 41 import com.geinuke.util.CookieHandler; 42 import com.geinuke.util.NukeResource; 43 import com.geinuke.vo.CategoryVO; 44 import com.geinuke.vo.ForumVO; 45 import com.geinuke.vo.ModuleDBVO; 46 47 48 public class ShowForums implements ModuleWidgetI{ 49 50 protected Hashtable categForums(ArrayList list){ 51 Hashtable h=null; 52 h=new Hashtable (); 53 ForumVO fo=null; 54 CategoryVO cat=null; 55 ArrayList forums=null; 56 for(int i=0;list!=null && i<list.size();i++){ 57 fo=(ForumVO)list.get(i); 58 cat=(CategoryVO)fo.getCategories().get(0); 59 forums=(ArrayList )h.get(cat.getTitle()); 60 if(forums!=null) 61 forums.add(fo); 62 else{ 63 forums=new ArrayList (); 64 forums.add(fo); 65 h.put(cat.getTitle(),forums); 66 } 67 } 68 69 return h; 70 } 71 72 73 74 public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest req, HttpServletResponse res, UserI user, GlobalConfigurationI gConf) throws Exception { 75 String moduleTempName=null; 76 ArrayList forums=null; 77 IForumBL fbl=(IForumBL)GeiServlet.getBL("IForumBL"); 78 forums=fbl.getVisibleForums(); 79 80 81 ForumUtil fu=new ForumUtil(user,new CookieHandler(req,res)); 82 fu.tagForums(forums); 83 Hashtable h=this.categForums(forums); 84 85 86 Locale lo=NukeResource.getLocale(req,res); 87 if(user.getRole().getLevela()>=160) 88 ctx.put("mayChange","Y"); 89 ctx.put("pageTool",new PageTool(lo)); 90 ctx.put("fforums",forums); 91 ctx.put("HForums",h); 92 ArrayList catz=new ArrayList (h.keySet()); 93 ctx.put("cats",catz); 94 moduleTempName=gConf.getModulePage(module.getName(),req); 95 return ModuleWriter.fill(ctx,module,moduleTempName); 96 } 97 98 } | Popular Tags |