1 package com.dotmarketing.servlets; 2 3 import java.io.FileInputStream ; 4 import java.io.FileNotFoundException ; 5 import java.io.IOException ; 6 7 import javax.servlet.ServletException ; 8 import javax.servlet.ServletOutputStream ; 9 import javax.servlet.http.HttpServlet ; 10 import javax.servlet.http.HttpServletRequest ; 11 import javax.servlet.http.HttpServletResponse ; 12 13 import com.dotmarketing.beans.UserProxy; 14 import com.dotmarketing.cms.factories.PublicUserFactory; 15 import com.dotmarketing.factories.ClickstreamFactory; 16 import com.dotmarketing.factories.InodeFactory; 17 import com.dotmarketing.factories.UserProxyFactory; 18 import com.dotmarketing.portlets.campaigns.factories.RecipientFactory; 19 import com.dotmarketing.portlets.campaigns.model.Recipient; 20 import com.dotmarketing.util.Config; 21 import com.dotmarketing.util.Logger; 22 import com.liferay.portal.model.User; 23 24 public class CampaignReportingServlet extends HttpServlet { 25 26 28 private static final long serialVersionUID = 1L; 29 String UPDATE_OPENED = "UPDATE recipient set opened = now() where recipient_id = ?"; 30 31 32 34 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException , IOException { 35 36 try { 37 38 ServletOutputStream out = response.getOutputStream(); 39 response.setContentType("image/gif"); 40 FileInputStream fis = new FileInputStream (Config.CONTEXT.getRealPath("/portal/images/shim.gif")); 41 42 byte[] buf = new byte[1024]; 43 int i = 0; 44 45 while ((i = fis.read(buf)) != -1) { 46 out.write(buf, 0, i); 47 } 48 49 fis.close(); 50 out.close(); 51 } 52 catch (FileNotFoundException e) { 53 Logger.warn(this, e.toString(), e); 54 } 55 56 Recipient r = RecipientFactory.getRecipient(request.getParameter("r")); 57 58 if (r.getInode() > 0) { 59 r.setOpened(new java.util.Date ()); 60 r.setLastResult(200); 61 r.setLastMessage("Opened Email"); 62 InodeFactory.saveInode(r); 63 User user = PublicUserFactory.getUserByEmail(r.getEmail()); 64 UserProxy sub = UserProxyFactory.getUserProxy(user); 65 if (sub.getInode() > 0) { 66 sub.setLastResult(200); 67 sub.setLastMessage("Opened Email"); 68 UserProxyFactory.saveUserProxy(sub); 69 } 70 71 ClickstreamFactory.setClickStreamUser(user.getUserId(), request); 72 } 73 74 return; 75 } 76 77 78 } 79 | Popular Tags |