1 23 27 package org.jresearch.gossip.actions.message; 28 29 import java.sql.SQLException ; 30 31 import javax.servlet.http.HttpServletRequest ; 32 import javax.servlet.http.HttpServletResponse ; 33 import javax.servlet.http.HttpSession ; 34 35 import org.apache.struts.action.ActionForm; 36 import org.apache.struts.action.ActionForward; 37 import org.apache.struts.action.ActionMapping; 38 import org.jresearch.gossip.IConst; 39 import org.jresearch.gossip.beans.forum.Message; 40 import org.jresearch.gossip.beans.forum.Topic; 41 import org.jresearch.gossip.beans.user.User; 42 import org.jresearch.gossip.dao.ForumDAO; 43 import org.jresearch.gossip.exception.SystemException; 44 import org.jresearch.gossip.forms.MessageForm; 45 import org.jresearch.gossip.forms.ProcessMessageForm; 46 47 52 public class EditMessageAction extends GetMessageAction { 53 67 public ActionForward process(ActionMapping mapping, ActionForm form, 68 HttpServletRequest request, HttpServletResponse response) 69 throws SystemException { 70 HttpSession session = request.getSession(); 71 MessageForm messageForm = new MessageForm(); 72 ForumDAO dao = ForumDAO.getInstance(); 73 User user = (User) session.getAttribute(IConst.SESSION.USER_KEY); 74 ProcessMessageForm pmForm = (ProcessMessageForm) form; 75 try { 76 77 int fid = Integer.parseInt(pmForm.getFid()); 78 boolean isUserMod = dao.checkMod(fid, user); 79 Topic currThread = dao.getThreadInfo(Integer.parseInt(pmForm 80 .getTid())); 81 Message mess = dao.getMessage(pmForm.getMid()); 82 if (mess == null) { 83 return (new ActionForward("/ShowThread.do?fid=" 84 + pmForm.getFid() + "&tid=" + pmForm.getTid() 85 + "&block=" + pmForm.getBlock(), true)); 86 } else { 87 getServlet().log("check user access rights "); 89 if (isUserMod 90 || (user.getName().equals(mess.getSender()) && (currThread 91 .getLocked() == IConst.Topic.STATUS_UNLOCKED))) { 92 return super.process(mapping, form, request, response); 93 } else { 94 return (mapping.findForward(IConst.TOKEN.DENIED)); 95 } 96 } 97 } catch (SQLException sqle) { 98 getServlet().log("Connection.process", sqle); 99 throw new SystemException(sqle); 100 } 101 } 102 103 109 protected String fillMessageForm(MessageForm messageForm, Message mess, 110 ProcessMessageForm form, HttpServletRequest request) { 111 messageForm.setTitle(mess.getHeading()); 112 messageForm.setText(mess.getCentents()); 113 messageForm.setMid(form.getMid()); 114 messageForm.setFid(form.getFid()); 115 messageForm.setTid(form.getTid()); 116 messageForm.setBlock(form.getBlock()); 117 return "editMessageForm"; 118 } 119 } | Popular Tags |