| 1 package com.dotmarketing.portlets.htmlpages.action; 2 3 import java.net.URLDecoder ; 4 5 import javax.portlet.ActionRequest; 6 import javax.portlet.ActionResponse; 7 import javax.portlet.PortletConfig; 8 9 import org.apache.struts.action.ActionForm; 10 import org.apache.struts.action.ActionMapping; 11 12 import com.dotmarketing.factories.InodeFactory; 13 import com.dotmarketing.factories.PublishFactory; 14 import com.dotmarketing.portal.struts.DotPortletAction; 15 import com.dotmarketing.portlets.htmlpages.model.HTMLPage; 16 import com.dotmarketing.util.Logger; 17 import com.dotmarketing.util.WebKeys; 18 import com.liferay.portal.model.User; 19 import com.liferay.portlet.ActionRequestImpl; 20 import com.liferay.util.servlet.SessionMessages; 21 22 29 public class PublishHTMLPagesAction extends DotPortletAction { 30 31 public void processAction( 32 ActionMapping mapping, ActionForm form, PortletConfig config, 33 ActionRequest req, ActionResponse res) 34 throws Exception { 35 36 String cmd = req.getParameter("cmd"); 37 38 Logger.debug(this, "Running PublishHTMLPagesAction!!!! cmd=" + cmd); 39 40 String referer = req.getParameter("referer"); 41 if ((referer!=null) && (referer.length()!=0)) { 42 referer = URLDecoder.decode(referer,"UTF-8"); 43 } 44 45 try { 46 User user = _getUser(req); 48 49 if ((cmd != null) && cmd.equals(com.dotmarketing.util.Constants.PREPUBLISH)) { 50 _prePublishHTMLPages(req, user); 51 52 } 53 java.util.List relatedAssets = (java.util.List ) req.getAttribute(WebKeys.HTMLPAGE_RELATED_ASSETS); 54 java.util.List relatedWorkflows = (java.util.List ) req.getAttribute(WebKeys.HTMLPAGE_RELATED_WORKFLOWS); 55 56 if (((cmd != null) && cmd.equals(com.dotmarketing.util.Constants.PUBLISH)) || 57 ((relatedAssets == null || relatedAssets.size()==0) && (relatedWorkflows == null || relatedWorkflows.size()==0))) { 58 _publishHTMLPages(req, user); 59 60 if ((referer!=null) && (referer.length()!=0)) { 61 _sendToReferral(req, res, referer); 62 } 63 } 64 65 setForward(req, "portlet.ext.htmlpages.publish_htmlpages"); 66 67 } 68 catch (Exception e) { 69 _handleException(e, req); 70 } 71 } 72 73 private void _prePublishHTMLPages(ActionRequest req, User user) throws Exception { 74 75 String [] publishInode = req.getParameterValues("publishInode"); 76 77 if (publishInode == null) return; 78 79 java.util.List relatedAssets = new java.util.ArrayList (); 81 java.util.List relatedWorkflows = new java.util.ArrayList (); 82 83 for (int i=0;i<publishInode.length;i++) { 84 85 HTMLPage htmlPage = (HTMLPage) InodeFactory.getInode(publishInode[i],HTMLPage.class); 86 87 if (htmlPage.getInode()>0) { 88 90 relatedAssets = PublishFactory.getRelatedAssets(htmlPage,relatedAssets); 92 93 } 94 } 95 req.setAttribute(WebKeys.HTMLPAGE_RELATED_WORKFLOWS,relatedWorkflows); 96 req.setAttribute(WebKeys.HTMLPAGE_RELATED_ASSETS,relatedAssets); 97 98 } 99 100 private void _publishHTMLPages(ActionRequest req, User user) throws Exception { 101 102 103 String [] publishInode = req.getParameterValues("publishInode"); 104 105 if (publishInode == null) return; 106 107 ActionRequestImpl reqImpl = (ActionRequestImpl)req; 108 109 for (int i=0;i<publishInode.length;i++) { 110 HTMLPage htmlpage = (HTMLPage) InodeFactory.getInode(publishInode[i],HTMLPage.class); 111 112 if (htmlpage.getInode()>0) { 113 PublishFactory.publishAsset(htmlpage,reqImpl.getHttpServletRequest()); 115 } 116 } 117 SessionMessages.add(reqImpl.getHttpServletRequest(), "message", "message.htmlpage_list.published"); 118 119 } 120 } | Popular Tags |