| 1 2 23 package com.geinuke.module.admin.home; 24 25 import java.util.ArrayList ; 26 import java.util.Enumeration ; 27 import java.util.Locale ; 28 29 import javax.servlet.http.HttpServletRequest ; 30 import javax.servlet.http.HttpServletResponse ; 31 32 import org.apache.velocity.context.Context; 33 34 import com.geinuke.bizlogic.BlockBL; 35 import com.geinuke.bizlogic.ModuleBL; 36 import com.geinuke.common.EditorFactory; 37 import com.geinuke.common.GlobalConfigurationI; 38 import com.geinuke.common.ModuleWidgetI; 39 import com.geinuke.common.NukeModuleI; 40 import com.geinuke.common.UserI; 41 import com.geinuke.middle.IBlockBL; 42 import com.geinuke.middle.IModuleBL; 43 import com.geinuke.middle.IPortalCFGBL; 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.util.TextUtil; 49 import com.geinuke.vo.BlockDBVO; 50 import com.geinuke.vo.ModuleDBVO; 51 import com.geinuke.vo.PortalCFGVO; 52 53 54 public class HomePage implements ModuleWidgetI{ 55 56 public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest req, HttpServletResponse res, UserI user, GlobalConfigurationI gConf) throws Exception { 57 ArrayList list=null; 58 String moduleTempName=null; 59 String upd=req.getParameter("upd"); 60 PortalCFGVO po=null; 61 IPortalCFGBL pbl=(IPortalCFGBL)GeiServlet.getBL("IPortalCFGBL"); 62 po=pbl.getPortalCFG(); 63 64 72 73 if(upd!=null){ 75 String smtpHost=req.getParameter("smtphost"); 76 String portalEmail=req.getParameter("portalemail"); 77 String portalTitle=req.getParameter("portaltitle"); 78 String homeText=req.getParameter("hometext"); 79 String portalStyle=req.getParameter("pStyle"); 80 String portalLogo=req.getParameter("portalLogo"); 81 String portalLocale=req.getParameter("portalLocale"); 82 String portalURL=req.getParameter("portalUrl"); 83 String sessionHits=req.getParameter("sessionHits"); 84 85 IBlockBL bbl=(IBlockBL)GeiServlet.getBL("IBlockBL"); 86 BlockDBVO blo=null; 87 if(! TextUtil.isEmpty( portalStyle)){ 88 GeiServlet.fixStyle(req.getSession(true),portalStyle); 89 IUserBL ubl=(IUserBL)GeiServlet.getBL("IUserBL"); 90 ubl.updateAllDefStyle(portalStyle); 91 blo=bbl.getBlockByName("ChangeTheme"); 92 if(blo.isActive()){ 93 bbl.updateSingleBlock(blo.getId(),"active"); 94 } 95 } 96 if(! TextUtil.isEmpty( portalLocale)){ 97 98 blo=bbl.getBlockByName("Languages"); 99 if(blo.isActive()){ 100 bbl.updateSingleBlock(blo.getId(),"active"); 101 } 102 } 103 po.setHomeText(homeText.trim()); 106 po.setPortalEmail(portalEmail); 107 po.setPortalTitle(portalTitle); 108 po.setSmtpHost(smtpHost); 109 po.setPortalStyle(portalStyle); 110 po.setPortalLocale(portalLocale); 111 po.setPortalURL(portalURL); 112 po.setPortalLogo(portalLogo); 113 try{ 114 po.setSessionHits( Integer.parseInt(sessionHits) ); 115 }catch(Exception nop){} 116 117 pbl.updatePortalCFG(po); 119 } 121 po=pbl.getPortalCFG(); 122 123 String path=GeiServlet.getNukePath(); 124 String style=po.getPortalStyle(); 125 path=path+"/WEB-INF/templates/themes/"; 126 list=NukeResource.getDirectories(path); 127 ctx.put("style",style); 128 ctx.put("themes",list); 129 130 String ind=NukeResource.getLocale(req,res).getLanguage(); 131 String target=null,aux=null; 132 Locale loc=null,xx=null; 133 if(! TextUtil.isEmpty(po.getPortalLocale() )){ 134 ind=((Locale )NukeResource.locales.get(po.getPortalLocale())).getLanguage(); 135 136 Enumeration en=NukeResource.locales.keys(); 137 138 139 while(en.hasMoreElements() && target==null){ 140 aux=(String )en.nextElement(); 141 loc=(Locale )NukeResource.locales.get(aux); 142 target=loc.getLanguage(); 143 if(target.equals(ind)){ 144 target=aux; 145 xx=loc; 146 }else{ 147 target=null; 148 } 149 } 150 NukeResource.cache.put("Locale",xx); 151 }else{ 152 target=""; 153 NukeResource.cache.remove("Locale"); 154 } 155 156 157 ctx.put("lang",target); 158 ctx.put("languages",NukeResource.locales.keys()); 159 ctx.put("locales",NukeResource.locales); 160 EditorFactory ef=new EditorFactory(req,""); 162 163 ctx.put("factory",ef); 164 ctx.put("cfg",po); 165 166 moduleTempName=gConf.getModulePage(module.getName(),req); 167 return ModuleWriter.fill(ctx,module,moduleTempName); 168 } 169 170 } 171 | Popular Tags |