1 14 package org.compiere.wstore; 15 16 import javax.servlet.*; 17 import javax.servlet.http.*; 18 import java.io.*; 19 import java.util.*; 20 import java.math.*; 21 22 import org.apache.log4j.Logger; 23 24 import org.compiere.www.*; 25 import org.compiere.model.*; 26 import org.compiere.util.*; 27 28 34 public class InfoServlet extends HttpServlet 35 { 36 37 private Logger log = Logger.getLogger(getClass()); 38 39 44 public void init(ServletConfig config) throws ServletException 45 { 46 super.init(config); 47 if (!WEnv.initWeb(config)) 48 throw new ServletException("InfoServlet.init"); 49 } 51 55 public String getServletInfo() 56 { 57 return "Compiere Interest Area Servlet"; 58 } 60 63 public void destroy() 64 { 65 log.info("destroy"); 66 } 68 69 70 79 public void doGet(HttpServletRequest request, HttpServletResponse response) 80 throws ServletException, IOException 81 { 82 log.info("doGet from " + request.getRemoteHost() + " - " + request.getRemoteAddr()); 83 HttpSession session = request.getSession(true); 84 session.removeAttribute(JSPEnv.HDR_MESSAGE); 85 WEnv.dump(session); 86 WEnv.dump(request); 87 88 boolean success = processParameter(request); 89 90 String url = "info.jsp"; 91 log.info ("doPost - Forward to " + url); 92 RequestDispatcher dispatcher = getServletContext ().getRequestDispatcher (url); 93 dispatcher.forward (request, response); 94 } 96 104 public void doPost(HttpServletRequest request, HttpServletResponse response) 105 throws ServletException, IOException 106 { 107 log.info("doPost from " + request.getRemoteHost() + " - " + request.getRemoteAddr()); 108 doGet (request, response); 109 } 111 112 113 114 119 private boolean processParameter (HttpServletRequest request) 120 { 121 HttpSession session = request.getSession(true); 122 session.removeAttribute(JSPEnv.HDR_MESSAGE); 123 Properties ctx = JSPEnv.getCtx(request); 124 125 String mode = request.getParameter("mode"); 127 if (mode == null) 128 return false; 129 boolean subscribe = !mode.startsWith("un"); 130 int R_InterestArea_ID = WUtil.getParameterAsInt(request, "area"); 132 int AD_User_ID = WUtil.getParameterAsInt(request, "contact"); 134 log.debug("processParameter - subscribe=" + subscribe 136 + ",R_InterestArea_ID=" + R_InterestArea_ID 137 + ",AD_User_ID=" + AD_User_ID); 138 if (R_InterestArea_ID == 0 || AD_User_ID == 0) 139 return false; 140 boolean insert = subscribe; 142 int no = 0; 143 144 if (insert) { 146 String sql = "INSERT INTO R_ContactInterest (" 147 + "R_InterestArea_ID,AD_User_ID," 148 + " AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy," 149 + " SubscribeDate,OptOutDate) VALUES ("; 150 sql += R_InterestArea_ID + "," + AD_User_ID + ","; 152 int AD_Client_ID = Env.getContextAsInt(ctx, "#AD_Client_ID"); 154 int AD_Org_ID = Env.getContextAsInt(ctx, "#AD_Org_ID"); 155 sql += AD_Client_ID + "," + AD_Org_ID + ",'Y',SysDate,0,SysDate,0,"; 156 sql += "SysDate,NULL)"; 158 no = DB.executeUpdate(sql, true); 160 if (no == 0) insert = false; 162 } 163 164 if (!insert) { 166 String sql = "UPDATE R_ContactInterest" 167 + " SET SubscribeDate="; 168 sql += subscribe ? "SysDate," : "NULL,"; 169 sql += " OptOutDate="; 170 sql += subscribe ? "NULL," : "SysDate,"; 171 sql +=" Updated=SysDate, IsActive='Y' " 172 + "WHERE AD_User_ID=" + AD_User_ID 173 + " AND R_InterestArea_ID=" + R_InterestArea_ID; 174 no = DB.executeUpdate(sql); 176 } 177 178 WebUser wu = (WebUser)session.getAttribute(WebUser.NAME); 180 if (wu == null && no == 1) 181 { 182 wu = WebUser.get(ctx, AD_User_ID); 183 session.setAttribute(WebUser.NAME, wu); 184 } 185 186 return no == 1; 187 } 189 195 private void sendEMail (HttpServletRequest request, Properties ctx, WebUser wu) 196 { 197 String subject = "Compiere Web - Interest Area"; 198 String message = "Thank you - http://" 199 + request.getServerName() 200 + request.getContextPath() + "/"; 201 202 String SMTPHost = ctx.getProperty("SMTPHost", "localhost"); 203 String RequestEMail = ctx.getProperty("RequestEMail"); 204 String RequestUser = ctx.getProperty("RequestUser"); 205 String RequestUserPw = ctx.getProperty("RequestUserPw"); 206 EMail em = new EMail(SMTPHost, RequestEMail, wu.getEmail(), subject, message); 208 em.setEMailUser(RequestUser, RequestUserPw); 209 em.send(); 214 215 220 221 } 223 224 } | Popular Tags |