1 22 package com.geinuke.module.admin.dbmodule; 23 24 import javax.servlet.http.HttpServletRequest ; 25 import javax.servlet.http.HttpServletResponse ; 26 27 import org.apache.velocity.context.Context; 28 29 import com.geinuke.common.EditorFactory; 30 import com.geinuke.common.GlobalConfigurationI; 31 import com.geinuke.common.NukeModuleI; 32 import com.geinuke.common.UserI; 33 import com.geinuke.middle.*; 34 import com.geinuke.module.StaticModule; 35 import com.geinuke.servlet.GeiServlet; 36 import com.geinuke.util.TextUtil; 37 38 import com.geinuke.vo.ModuleDBVO; 39 40 public class EditDBModule extends StaticModule{ 41 42 43 protected String check(HttpServletRequest req,IModuleBL mbl,boolean flag) throws Exception { 44 String error=null; 45 String text=req.getParameter("text"); 46 String nameAndTitle=req.getParameter("name"); 47 if(TextUtil.isEmpty(text)){ 48 error="MNO_EMPTY_TEXT_LABEL"; 49 }else if(TextUtil.isEmpty(nameAndTitle)){ 50 error="MNO_EMPTY_NAME_LABEL"; 51 }else if(flag && (mbl.getModule(nameAndTitle)!=null) ){ 52 error="MNAME_ALREADY_EXISTS"; 53 } 54 return error; 55 } 56 57 protected ModuleDBVO get(HttpServletRequest req){ 58 String text=req.getParameter("text"); 59 String name=req.getParameter("name"); 60 ModuleDBVO md=new ModuleDBVO(); 61 if(name!=null) 62 md.setName(name.trim().replace(' ','_')); 63 md.setTitle(name); 64 String op=req.getParameter("op"); 65 if(op!=null && op.lastIndexOf("Link")>=0) 66 text=ModuleDBVO.LINK_MODULE+text; 67 68 md.setContent(text); 69 md.setDbStored(true); 70 md.setActive(true); 71 md.setPos(0); 72 md.setRoleLevel(1000); 73 md.setSkin(0); 74 md.setWeight(0); 75 return md; 76 } 77 78 public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest req, HttpServletResponse res, UserI user, GlobalConfigurationI gConf) throws Exception { 79 IModuleBL mbl=(IModuleBL)GeiServlet.getBL("IModuleBL"); 80 GeiServlet.intLog("EditDBModule.handleAction(...), A"); 81 if(req.getParameter("op").equals("insDBModule") ){ 82 String error=null; 83 ModuleDBVO bl=this.get(req); 84 if( (error=this.check(req,mbl,true) )==null){ 85 mbl.insertDBStoredModule(bl); 86 ctx.put("moduleY",bl); 87 ctx.put("msgOK","y"); 88 ctx.put("action","updDBModule"); 89 90 }else{ 91 ctx.put("action","insDBModule"); 92 ctx.put("moduleY",bl); 93 ctx.put("errors",ctx); 94 ctx.put("error",error); 95 } 96 97 }else if(req.getParameter("op").equals("updDBModule") ){ 98 String error=null; 99 int mid=Integer.parseInt(req.getParameter("mid")) ; 100 ModuleDBVO bl1=mbl.getModuleByID(mid); 101 if(! bl1.isDbStored()){ 102 res.sendRedirect("Error.jhtm"); 103 } 104 ModuleDBVO bl=this.get(req); 105 bl1.setName(bl.getName()); 106 bl1.setTitle(bl.getName()); 107 bl1.setContent(bl.getContent()); 111 GeiServlet.intLog("EditDBModule.handleAction(...), B"); 112 if( (error=this.check(req,mbl,false) )==null){ 113 GeiServlet.intLog("EditDBModule.handleAction(...), C"+bl1.getContent()); 114 mbl.updateDBModule(bl1); 115 ctx.put("moduleY",bl1); 116 ctx.put("msgOK","y"); 117 }else{ 118 ctx.put("moduleY",bl1); 119 ctx.put("errors",ctx); 120 ctx.put("error",error); 121 } 122 GeiServlet.intLog("EditDBModule.handleAction(...), D"+error); 123 ctx.put("action","updDBModule"); 124 }else if(req.getParameter("op").equals("updDBModuleStart") ){ 125 126 int mid=Integer.parseInt(req.getParameter("mid")) ; 127 ModuleDBVO bl1=mbl.getModuleByID(mid); 128 GeiServlet.intLog("EditDBModule.handleAction(...), E "+bl1.getName()); 129 GeiServlet.intLog("EditDBModule.handleAction(...), E "+bl1.getTitle()); 130 GeiServlet.intLog("EditDBModule.handleAction(...), E "+bl1.getContent()); 131 ctx.put("moduleY",bl1); 132 ctx.put("action","updDBModule"); 133 134 }else { 135 ModuleDBVO bl=this.get(req); 136 bl.setContent(""); 137 bl.setName(""); 138 bl.setTitle(""); 139 ctx.put("moduleY",bl); 140 ctx.put("action","insDBModule"); 141 } 142 EditorFactory ef=new EditorFactory(req,new Object ()); 143 ctx.put("factory",ef); 144 145 146 return super.handleAction(module,ctx,req,res,user,gConf); 147 } 148 149 150 151 } 152 | Popular Tags |