From: <die...@us...> - 2011-02-08 11:12:07
|
Revision: 3315 http://openutils.svn.sourceforge.net/openutils/?rev=3315&view=rev Author: diego_schivo Date: 2011-02-08 11:12:00 +0000 (Tue, 08 Feb 2011) Log Message: ----------- MEDIA-214 playlist save Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogHiddenParameters.java trunk/openutils-mgnlmedia/src/main/resources/dialog/hiddenParameters.ftl Added Paths: ----------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/HiddenParametersSaveHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogHiddenParameters.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogHiddenParameters.java 2011-02-08 10:58:39 UTC (rev 3314) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogHiddenParameters.java 2011-02-08 11:12:00 UTC (rev 3315) @@ -26,7 +26,9 @@ import javax.servlet.http.HttpServletResponse; import net.sourceforge.openutils.mgnlcontrols.dialog.ConfigurableFreemarkerDialog; +import net.sourceforge.openutils.mgnlmedia.media.save.HiddenParametersSaveHandler; +import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,6 +54,10 @@ throws RepositoryException { super.init(request, response, websiteNode, configNode); + if (StringUtils.isEmpty(getConfigValue("saveHandler"))) + { + setConfig("saveHandler", HiddenParametersSaveHandler.class.getName()); + } } @Override Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/HiddenParametersSaveHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/HiddenParametersSaveHandler.java (rev 0) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/HiddenParametersSaveHandler.java 2011-02-08 11:12:00 UTC (rev 3315) @@ -0,0 +1,77 @@ +/** + * + * SimpleMedia Module for Magnolia CMS (http://www.openmindlab.com/lab/products/media.html) + * Copyright(C) 2008-2011, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlmedia.media.save; + +import info.magnolia.cms.beans.runtime.MultipartForm; +import info.magnolia.cms.core.Content; +import info.magnolia.cms.core.ItemType; +import info.magnolia.cms.core.Path; +import info.magnolia.cms.security.AccessDeniedException; +import info.magnolia.cms.util.NodeDataUtil; +import info.magnolia.context.MgnlContext; +import info.magnolia.module.admininterface.FieldSaveHandler; + +import java.util.Enumeration; + +import javax.jcr.PropertyType; +import javax.jcr.RepositoryException; +import javax.jcr.Value; +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +/** + * @author ADMIN + * @version $Id: $ + */ +public class HiddenParametersSaveHandler implements FieldSaveHandler +{ + + /** + * Logger. + */ + private Logger log = LoggerFactory.getLogger(HiddenParametersSaveHandler.class); + + /** + * {@inheritDoc} + */ + public void save(Content parentNode, Content configNode, String name, MultipartForm form, int type, int valueType, + int isRichEditValue, int encoding) throws RepositoryException, AccessDeniedException + { + Content node = parentNode.createContent(name, ItemType.CONTENTNODE); + HttpServletRequest request = MgnlContext.getWebContext().getRequest(); + for (Enumeration paramNames = request.getParameterNames(); paramNames.hasMoreElements();) + { + String paramName = (String) paramNames.nextElement(); + String[] paramValues = request.getParameterValues(paramName); + + Content paramNode = node.createContent(Path.getUniqueLabel(node, "0"), ItemType.CONTENTNODE); + paramNode.setNodeData("name", paramName); + Value[] jcrValues = new Value[paramValues.length]; + for (int i = 0; i < paramValues.length; i++) + { + jcrValues[i] = NodeDataUtil.createValue(paramValues[i], PropertyType.STRING); + } + paramNode.setNodeData("value", jcrValues); + } + } +} Modified: trunk/openutils-mgnlmedia/src/main/resources/dialog/hiddenParameters.ftl =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/dialog/hiddenParameters.ftl 2011-02-08 10:58:39 UTC (rev 3314) +++ trunk/openutils-mgnlmedia/src/main/resources/dialog/hiddenParameters.ftl 2011-02-08 11:12:00 UTC (rev 3315) @@ -1,5 +1,5 @@ [#list request.parameterNames as pName] [#list request.getParameterValues(pName) as pValue] -<input type="hidden" id="${pName}" name="${pName}" value="${pValue!''}" /> +<input type="hidden" id="${name}_${pName}" name="${name}_${pName}" value="${pValue!''}" /> [/#list] [/#list] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |