1 25 29 package org.jresearch.gossip.actions.user; 30 31 import java.sql.SQLException ; 32 33 import javax.servlet.http.HttpServletRequest ; 34 import javax.servlet.http.HttpServletResponse ; 35 import javax.servlet.http.HttpSession ; 36 37 import org.apache.struts.action.ActionForm; 38 import org.apache.struts.action.ActionForward; 39 import org.apache.struts.action.ActionMapping; 40 import org.apache.struts.action.ActionMessage; 41 import org.apache.struts.action.ActionMessages; 42 import org.apache.struts.util.MessageResources; 43 import org.jresearch.gossip.IConst; 44 import org.jresearch.gossip.actions.BaseAction; 45 import org.jresearch.gossip.beans.user.User; 46 import org.jresearch.gossip.configuration.Configurator; 47 import org.jresearch.gossip.dao.UserDAO; 48 import org.jresearch.gossip.exception.SystemException; 49 import org.jresearch.gossip.forms.PendingRegistrationForm; 50 import org.jresearch.gossip.forms.ProfileForm; 51 import org.jresearch.gossip.mail.MailMessage; 52 import org.jresearch.gossip.mail.MailQueue; 53 54 59 public class ConfirmPendingRegistrationAction extends BaseAction { 60 61 75 public ActionForward process(ActionMapping mapping, ActionForm form, 76 HttpServletRequest request, HttpServletResponse response) 77 throws SystemException { 78 if (IConst.VALUES.FALSE.equals(Configurator.getInstance().get( 79 IConst.CONFIG.ENABLE_FORUM_SIGN_ON)) 80 || IConst.VALUES.FALSE.equals(Configurator.getInstance().get( 81 IConst.CONFIG.ENABLE_FORUM_REGISTRATION)) 82 || IConst.VALUES.FALSE.equals(Configurator.getInstance().get( 83 IConst.CONFIG.ENABLE_EMAIL_CONFIRMATION))) { 84 return (mapping.findForward(IConst.TOKEN.DENIED)); 85 } 86 87 HttpSession session = request.getSession(); 88 UserDAO dao = UserDAO.getInstance(); 89 PendingRegistrationForm pprForm = (PendingRegistrationForm) form; 90 try { 91 92 ProfileForm profile = new ProfileForm(); 93 profile.setLogin(pprForm.getLogin()); 94 profile.setEmail(pprForm.getEmail()); 95 String password = dao.generatePassword(); 96 profile.setPassword(password); 97 profile.setPassword2(password); 98 99 if (dao.checkPendingUser(pprForm.getLogin(), pprForm.getCode()) 100 && dao.addUser(profile)) { 101 dao.deletePendingUser(pprForm.getLogin()); 102 User newuser = dao.getUser(profile.getLogin(), profile 103 .getPassword()); 104 log(request, "logs.LOG7", newuser.getName()); 105 106 if (newuser.getStatus() > 0) { 107 newuser.setIp(request.getRemoteAddr()); 108 session.setAttribute(IConst.SESSION.USER_KEY, newuser); 109 113 MessageResources messages = getResources(request); 114 Configurator config = Configurator.getInstance(); 115 116 120 StringBuffer siteUrl = new StringBuffer (); 121 siteUrl.append(request.getServerName()); 122 siteUrl.append(":"); 123 siteUrl.append(request.getServerPort()); 124 siteUrl.append(request.getContextPath()); 125 siteUrl.append(config.get(IConst.CONFIG.MODULE_PREFIX)); 126 siteUrl.append("/"); 127 128 Object [] messArgs = new Object [] { newuser.getName(), 129 profile.getPassword(), siteUrl.toString(), 130 config.get(IConst.CONFIG.SITE_NAME) }; 131 132 MailQueue queue = (MailQueue) session.getServletContext() 133 .getAttribute(IConst.CONTEXT.MAIL_QUEUE); 134 queue.push(new MailMessage(messages.getMessage(Configurator 135 .getInstance().getLocale( 136 IConst.CONFIG.DEFAULT_LOCALE), 137 "mails.NEW_ACCOUNT", messArgs), messages 138 .getMessage(Configurator.getInstance().getLocale( 139 IConst.CONFIG.DEFAULT_LOCALE), 140 "mails.NEW_USER_SUBJ", config 141 .get(IConst.CONFIG.SITE_NAME)), 142 config.get(IConst.CONFIG.ADMINMAIL), 143 messages.getMessage(Configurator.getInstance() 144 .getLocale(IConst.CONFIG.DEFAULT_LOCALE), 145 "mails.FORUM_ADMIN"), newuser.getInfo() 146 .getEmail(), newuser.getName())); 147 } 148 } else { 149 ActionMessages errors = new ActionMessages(); 150 151 errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( 152 "errors.ERR6")); 153 154 saveErrors(request, errors); 155 156 return (mapping.getInputForward()); 157 } 158 } catch (SQLException sqle) { 159 getServlet().log("Connection.process", sqle); 160 throw new SystemException(sqle); 161 } 162 163 return (mapping.findForward(IConst.TOKEN.WELCOME)); 164 } 165 } | Popular Tags |