1 18 package org.apache.roller.ui.authoring.struts.actions; 19 20 import javax.servlet.ServletException ; 21 import javax.servlet.http.HttpServletRequest ; 22 import javax.servlet.http.HttpServletResponse ; 23 24 import org.apache.commons.logging.Log; 25 import org.apache.commons.logging.LogFactory; 26 import org.apache.struts.action.Action; 27 import org.apache.struts.action.ActionForm; 28 import org.apache.struts.action.ActionForward; 29 import org.apache.struts.action.ActionMapping; 30 import org.apache.roller.model.RefererManager; 31 import org.apache.roller.model.RollerFactory; 32 import org.apache.roller.pojos.RefererData; 33 import org.apache.roller.pojos.WeblogEntryData; 34 import org.apache.roller.ui.core.RequestConstants; 35 import org.apache.roller.ui.core.RollerContext; 36 import org.apache.roller.ui.core.RollerRequest; 37 import org.apache.roller.ui.core.RollerSession; 38 import org.apache.roller.util.cache.CacheManager; 39 40 44 public class ToggleLinkbackDisplayAction extends Action 45 { 46 private static Log mLogger = LogFactory.getFactory().getInstance( 47 ToggleLinkbackDisplayAction.class); 48 49 52 public ActionForward execute( 53 ActionMapping mapping, ActionForm form, 54 HttpServletRequest req, HttpServletResponse res) 55 throws Exception  56 { 57 WeblogEntryData entry = null; 58 RollerRequest rreq = RollerRequest.getRollerRequest(req); 59 RollerSession rollerSession = RollerSession.getRollerSession(req); 60 try 61 { 62 if (rreq.getWebsite() != null 63 && rollerSession.isUserAuthorizedToAuthor(rreq.getWebsite()) ) 64 { 65 String refid = req.getParameter(RequestConstants.REFERRER_ID); 66 if ( refid != null ) 67 { 68 RefererManager refmgr = 69 RollerFactory.getRoller().getRefererManager(); 70 RefererData ref = refmgr.getReferer(refid); 71 entry = ref.getWeblogEntry(); 72 boolean was = ref.getVisible()==null ? 73 false : ref.getVisible().booleanValue(); 74 ref.setVisible(Boolean.valueOf( !was )); refmgr.saveReferer(ref); 76 77 RollerFactory.getRoller().flush(); 78 79 CacheManager.invalidate(rreq.getWebsite()); 81 } 82 } 83 } 84 catch (Exception e) 85 { 86 mLogger.error("Toggling linkback display",e); 87 throw new ServletException (e); 88 } 89 90 String url = null; 92 try 93 { 94 RollerContext rctx = RollerContext.getRollerContext(); 95 if (entry != null) { 96 url = entry.getPermalink(); 97 } else { 98 url = rreq.getWebsite().getURL(); 99 } 100 res.sendRedirect(url); 101 } 102 catch (Exception e) 103 { 104 mLogger.error("Unexpected exception",e); 105 } 106 107 return null; 108 } 109 } 110 111 | Popular Tags |