1 2 23 package com.geinuke.module.search; 24 25 import java.util.ArrayList ; 26 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.NukeModuleI; 35 import com.geinuke.common.UserI; 36 37 import com.geinuke.middle.ISearchBL; 38 39 import com.geinuke.module.StaticModule; 40 import com.geinuke.servlet.GeiServlet; 41 42 import com.geinuke.util.Paginator; 43 import com.geinuke.util.ServletUtil; 44 import com.geinuke.vo.ModuleDBVO; 45 46 47 public class SearchAll extends StaticModule{ 48 49 public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest req, HttpServletResponse res, UserI user, GlobalConfigurationI gConf) throws Exception { 50 String mod=req.getParameter("mod"); 51 String op=req.getParameter("op"); 52 ArrayList resu=null; 53 ArrayList blog=null; 54 ArrayList news=null; 55 ArrayList forum=null; 56 if(op!=null && (op.equals("makeSB") || op.equals("makeSM") )){ 57 ISearchBL sbl=(ISearchBL)GeiServlet.getBL("ISearchBL"); 58 if(mod.equals("news")){ 59 resu=sbl.searchNewsByTitleOrText(req.getParameter("words")); 60 }else if(mod.equals("forum")){ 61 resu=sbl.searchForumTopicsByText(req.getParameter("words")); 62 }else if(mod.equals("blog")){ 63 resu=sbl.searchBlogPostsByText(req.getParameter("words")); 64 }else if(mod.equals("all")){ 65 ArrayList aux=null; 66 resu=new ArrayList (); 67 aux=sbl.searchBlogPostsByText(req.getParameter("words")); 68 resu.addAll(aux); 69 70 aux=sbl.searchForumTopicsByText(req.getParameter("words")); 71 resu.addAll(aux); 72 73 aux=sbl.searchNewsByTitleOrText(req.getParameter("words")); 74 resu.addAll(aux); 75 } 76 } 77 78 if((resu!=null)&& (resu.size()==0) ) 79 resu=null; 80 else if(resu!=null) 81 ctx.put("size",resu.size()+""); 82 String pag=req.getParameter("wp"); 83 Paginator pager=new Paginator(resu,15,"Search.jhtm?"+ServletUtil.getQueryString(req)); 84 if(pag!=null){ 85 resu=pager.getPage(Integer.parseInt(pag)); 86 }else{ 87 resu=pager.getPage(1); 88 } 89 ctx.put("pag",pager); 91 ctx.put("res",resu); 92 ctx.put("op",op); 93 ctx.put("words",req.getParameter("words")); 94 ctx.put("mod",req.getParameter("mod")); 95 return super.handleAction(module,ctx,req,res,user,gConf); 96 } 97 } 98 | Popular Tags |