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.configuration.Configurator; 46 import org.jresearch.gossip.dao.UserDAO; 47 import org.jresearch.gossip.exception.SystemException; 48 import org.jresearch.gossip.forms.PendingRegistrationForm; 49 import org.jresearch.gossip.mail.MailMessage; 50 import org.jresearch.gossip.mail.MailQueue; 51 52 57 public class PendingRegistrationAction extends BaseAction { 58 59 73 public ActionForward process(ActionMapping mapping, ActionForm form, 74 HttpServletRequest request, HttpServletResponse response) 75 throws SystemException { 76 if (IConst.VALUES.FALSE.equals(Configurator.getInstance().get( 77 IConst.CONFIG.ENABLE_FORUM_SIGN_ON)) 78 || IConst.VALUES.FALSE.equals(Configurator.getInstance().get( 79 IConst.CONFIG.ENABLE_FORUM_REGISTRATION)) 80 || IConst.VALUES.FALSE.equals(Configurator.getInstance().get( 81 IConst.CONFIG.ENABLE_EMAIL_CONFIRMATION))) { 82 return (mapping.findForward(IConst.TOKEN.DENIED)); 83 } 84 PendingRegistrationForm prForm = (PendingRegistrationForm) form; 85 HttpSession session = request.getSession(); 86 UserDAO dao = UserDAO.getInstance(); 87 88 try { 89 90 String confirmcode = dao.generatePassword(); 91 if (dao.addPendingUser(prForm.getLogin(), prForm.getEmail(), 92 confirmcode)) { 93 log(request, "logs.LOG7", prForm.getLogin()); 94 setStatusMessage(request, "status.PENDING_USER_ADDED", prForm 95 .getLogin()); 96 97 101 MessageResources messages = getResources(request); 102 Configurator config = Configurator.getInstance(); 103 104 108 StringBuffer siteUrl = new StringBuffer (); 109 siteUrl.append(request.getServerName()); 110 siteUrl.append(":"); 111 siteUrl.append(request.getServerPort()); 112 siteUrl.append(request.getContextPath()); 113 siteUrl.append(config.get(IConst.CONFIG.MODULE_PREFIX)); 114 siteUrl.append("/"); 115 StringBuffer params = new StringBuffer ("?login="); 117 params.append(prForm.getLogin()); 118 params.append("&email="); 119 params.append(prForm.getEmail()); 120 params.append("&code="); 121 params.append(confirmcode); 122 StringBuffer actUrl = new StringBuffer (); 124 actUrl.append(siteUrl); 125 actUrl.append("ConfirmRegistration.do"); 126 actUrl.append(params); 127 StringBuffer delUrl = new StringBuffer (); 129 delUrl.append(siteUrl); 130 delUrl.append("DeleteRegistration.do"); 131 delUrl.append(params); 132 Object [] messArgs = new Object [] { prForm.getLogin(), 133 actUrl.toString(), siteUrl.toString(), 134 config.get(IConst.CONFIG.SITE_NAME), delUrl.toString() }; 135 136 MailQueue queue = (MailQueue) session.getServletContext() 137 .getAttribute(IConst.CONTEXT.MAIL_QUEUE); 138 queue.push(new MailMessage(messages.getMessage(Configurator 139 .getInstance().getLocale(IConst.CONFIG.DEFAULT_LOCALE), 140 "mails.CONFIRM_ACCOUNT", messArgs), messages 141 .getMessage(Configurator.getInstance().getLocale( 142 IConst.CONFIG.DEFAULT_LOCALE), 143 "mails.CONFIRM_ACCOUNT_SUBJ", config 144 .get(IConst.CONFIG.SITE_NAME)), config 145 .get(IConst.CONFIG.ADMINMAIL), messages.getMessage( 146 Configurator.getInstance().getLocale( 147 IConst.CONFIG.DEFAULT_LOCALE), 148 "mails.FORUM_ADMIN"), prForm.getEmail(), prForm 149 .getLogin())); 150 151 } else { 152 ActionMessages errors = new ActionMessages(); 153 154 errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( 155 "errors.ERR6")); 156 157 saveErrors(request, errors); 158 return (mapping.getInputForward()); 159 } 160 } catch (SQLException sqle) { 161 getServlet().log("Connection.process", sqle); 162 throw new SystemException(sqle); 163 } 164 165 return (mapping.findForward(IConst.TOKEN.WELCOME)); 166 } 167 } | Popular Tags |