1 package com.dotmarketing.portlets.templates.action; 2 3 import java.net.URLDecoder ; 4 import java.util.HashSet ; 5 import java.util.Iterator ; 6 import java.util.List ; 7 import java.util.Set ; 8 9 import javax.portlet.ActionRequest; 10 import javax.portlet.ActionResponse; 11 import javax.portlet.PortletConfig; 12 13 import org.apache.struts.action.ActionForm; 14 import org.apache.struts.action.ActionMapping; 15 16 import com.dotmarketing.factories.InodeFactory; 17 import com.dotmarketing.factories.PublishFactory; 18 import com.dotmarketing.portal.struts.DotPortletAction; 19 import com.dotmarketing.portlets.htmlpages.model.HTMLPage; 20 import com.dotmarketing.portlets.templates.model.Template; 21 import com.dotmarketing.services.PageServices; 22 import com.dotmarketing.util.Config; 23 import com.dotmarketing.util.Logger; 24 import com.liferay.portal.model.User; 25 import com.liferay.portlet.ActionRequestImpl; 26 import com.liferay.util.servlet.SessionMessages; 27 28 35 public class PublishTemplatesAction extends DotPortletAction { 36 37 public void processAction( 38 ActionMapping mapping, ActionForm form, PortletConfig config, 39 ActionRequest req, ActionResponse res) 40 throws Exception { 41 42 Logger.debug(this, "Running PublishTemplatesAction!!!!"); 43 44 String referer = req.getParameter("referer"); 45 if ((referer!=null) && (referer.length()!=0)) { 46 referer = URLDecoder.decode(referer,"UTF-8"); 47 } 48 49 try { 50 User user = com.liferay.portal.util.PortalUtil.getUser(req); 52 53 _publishTemplates(req, user); 54 55 if ((referer!=null) && (referer.length()!=0)) { 56 _sendToReferral(req, res, referer); 57 } 58 59 setForward(req, "portlet.ext.templates.publish_templates"); 60 61 } 62 catch (Exception e) { 63 _handleException(e, req); 64 } 65 } 66 67 @SuppressWarnings ("unchecked") 68 private void _publishTemplates(ActionRequest req, User user) throws Exception { 69 70 String [] publishInode = req.getParameterValues("publishInode"); 71 72 if (publishInode == null) return; 73 74 ActionRequestImpl reqImpl = (ActionRequestImpl)req; 75 76 Set relatedPages = new HashSet (); 78 79 for (int i=0;i<publishInode.length;i++) { 80 81 Template template = (Template) InodeFactory.getInode(publishInode[i],Template.class); 82 83 if (template.getInode()>0) { 84 85 PublishFactory.publishAsset(template,reqImpl.getHttpServletRequest()); 87 String condition = "live=" + com.dotmarketing.db.DbConnectionFactory.getDBTrue() + " and deleted=" + com.dotmarketing.db.DbConnectionFactory.getDBFalse(); 89 List pagesForThisTemplate = InodeFactory.getChildrenClassByCondition(template, HTMLPage.class, condition); 90 relatedPages.addAll(pagesForThisTemplate); 91 } 92 } 93 94 Iterator iterPages = relatedPages.iterator(); 95 while (iterPages.hasNext()) { 97 PageServices.publishPageToFile((HTMLPage) iterPages.next()); 99 } 100 101 SessionMessages.add(req, "message", "message.template_list.published"); 102 103 } 104 105 } | Popular Tags |