1 25 29 package org.jresearch.gossip.actions.user; 30 31 import java.sql.SQLException ; 32 33 import javax.servlet.http.Cookie ; 34 import javax.servlet.http.HttpServletRequest ; 35 import javax.servlet.http.HttpServletResponse ; 36 import javax.servlet.http.HttpSession ; 37 38 import org.apache.struts.action.ActionForm; 39 import org.apache.struts.action.ActionForward; 40 import org.apache.struts.action.ActionMapping; 41 import org.apache.struts.action.ActionMessage; 42 import org.apache.struts.action.ActionMessages; 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.ProfileForm; 50 51 56 public class RegistrationAction extends BaseAction { 57 58 72 public ActionForward process(ActionMapping mapping, ActionForm form, 73 HttpServletRequest request, HttpServletResponse response) 74 throws SystemException { 75 if (IConst.VALUES.FALSE.equals(Configurator.getInstance().get( 76 IConst.CONFIG.ENABLE_FORUM_SIGN_ON)) 77 || IConst.VALUES.FALSE.equals(Configurator.getInstance().get( 78 IConst.CONFIG.ENABLE_FORUM_REGISTRATION)) 79 || IConst.VALUES.TRUE.equals(Configurator.getInstance().get( 80 IConst.CONFIG.ENABLE_EMAIL_CONFIRMATION))) { 81 return (mapping.findForward(IConst.TOKEN.DENIED)); 82 } 83 84 HttpSession session = request.getSession(); 85 UserDAO dao = UserDAO.getInstance(); 86 87 try { 88 89 if (dao.addUser((ProfileForm) form)) { 90 User user = dao.getUser(((ProfileForm) form).getLogin(), 91 ((ProfileForm) form).getPassword()); 92 log(request, "logs.LOG7", user.getName()); 93 94 if (user.getStatus() > 0) { 95 user.setIp(request.getRemoteAddr()); 96 session.setAttribute(IConst.SESSION.USER_KEY, user); 97 98 if (IConst.VALUES.TRUE.equals(Configurator.getInstance() 99 .get(IConst.CONFIG.ENABLE_AUTO_LOGIN))) { 100 if (user.getSettings().isAutologin()) { 102 Cookie userCookie = new Cookie ( 103 IConst.COOKIE.USER_COOKIE, user.getName() 104 + "*" + user.getPassword()); 105 userCookie 106 .setMaxAge(IConst.COOKIE.SECONDS_PER_YEAR); 107 ((HttpServletResponse ) response) 108 .addCookie(userCookie); 109 } 110 } 111 } 112 } else { 113 ActionMessages errors = new ActionMessages(); 114 115 errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( 116 "errors.ERR6")); 117 118 saveErrors(request, errors); 119 120 return (mapping.getInputForward()); 121 } 122 } catch (SQLException sqle) { 123 getServlet().log("Connection.process", sqle); 124 throw new SystemException(sqle); 125 } 126 127 return (mapping.findForward(IConst.TOKEN.WELCOME)); 128 } 129 } | Popular Tags |