--- layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java (revision 534987) +++ layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java (working copy) @@ -44,6 +44,8 @@ import org.apache.jetspeed.om.page.ContentPage; import org.apache.jetspeed.om.page.Fragment; import org.apache.jetspeed.om.page.Page; +import org.apache.jetspeed.page.FolderNotUpdatedException; +import org.apache.jetspeed.page.document.NodeException; import org.apache.jetspeed.request.RequestContext; import org.apache.pluto.om.window.PortletWindow; @@ -913,10 +915,41 @@ } return; } - // evlach + // evlach String decorators = request.getParameter("decorators"); - if ( decorators != null ) + // change style for all pages in user folder + String jsChangeUserPagesTheme = request.getParameter("jsChangeUserPagesTheme"); + if ( jsChangeUserPagesTheme != null ) { + String user_pages_theme = request.getParameter("user_pages_theme"); + try + { + Folder f = pageManager.getUserFolder(request.getRemoteUser()); + applyStyle(f,user_pages_theme,Fragment.LAYOUT); + decorators=null; + } + catch (Exception e) + { + throw new PortletException("Unable to update folder for defUserLayoutDeco decorator: "+e.getMessage(), e); + } + } + String jsChangeUserPortletsDeco = request.getParameter("jsChangeUserPortletsDeco"); + if ( jsChangeUserPortletsDeco != null ) + { + String user_portlets_deco = request.getParameter("user_portlets_deco"); + try + { + Folder f = pageManager.getUserFolder(request.getRemoteUser()); + applyStyle(f,user_portlets_deco,Fragment.PORTLET); + decorators = null; //do insert next if + } + catch (Exception e) + { + throw new PortletException("Unable to update folder for defUserPortletDeco decorator: "+e.getMessage(), e); + } + } + if ( decorators != null && decorators.length()>1) + { Iterator fragmentsIter = requestPage.getRootFragment().getFragments().iterator(); while(fragmentsIter.hasNext()) { @@ -1021,4 +1054,23 @@ return pageName; } } + + private void applyStyle(Folder f, String theme, String theme_type) throws FolderNotUpdatedException, NodeException + { + f.setDefaultDecorator(theme, theme_type); + pageManager.updateFolder(f); + Iterator pagesIter = f.getPages().iterator(); + while(pagesIter.hasNext()) + { + Page pp = (Page) pagesIter.next(); + pp.setDefaultDecorator(theme, theme_type); + pageManager.updatePage(pp); + } + Iterator userFoldersIter = pageManager.getFolders(f).iterator(); + while(userFoldersIter.hasNext()) + { + Folder ff = (Folder) userFoldersIter.next(); + applyStyle(ff,theme,theme_type); + } + } } Index: layout-portlets/src/java/org/apache/jetspeed/portlets/layout/resources/LayoutResource.properties =================================================================== --- layout-portlets/src/java/org/apache/jetspeed/portlets/layout/resources/LayoutResource.properties (revision 534987) +++ layout-portlets/src/java/org/apache/jetspeed/portlets/layout/resources/LayoutResource.properties (working copy) @@ -103,4 +103,4 @@ portal.folder.editing.deleteFolder=Delete portal.folder.editing.confirmDeleteThisFolder=Do you want to delete this folder? - +portal.userfolder.config.title=Global User Folder Configuration \ No newline at end of file Index: layout-portlets/src/java/org/apache/jetspeed/portlets/layout/resources/LayoutResource_el.properties =================================================================== --- layout-portlets/src/java/org/apache/jetspeed/portlets/layout/resources/LayoutResource_el.properties (revision 534987) +++ layout-portlets/src/java/org/apache/jetspeed/portlets/layout/resources/LayoutResource_el.properties (working copy) @@ -84,4 +84,4 @@ portal.page.actions.Help=\u0392\u03bf\u03ae\u03b8\u03b5\u03b9\u03b1 portal.page.actions.View=\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 - +portal.userfolder.config.title=\u03a1\u03c5\u03b8\u03bc\u03af\u03c3\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03cc\u03bb\u03b5\u03c2 \u03c4\u03b9\u03c2 \u03c3\u03b5\u03bb\u03af\u03b4\u03b5\u03c2/\u03c6\u03b1\u03ba\u03ad\u03bb\u03bf\u03c5 \u03c4\u03bf\u03c5 \u03c7\u03c1\u03ae\u03c3\u03c4\u03b7 Index: layout-portlets/src/java/org/apache/jetspeed/portlets/layout/resources/LayoutResource_en.properties =================================================================== --- layout-portlets/src/java/org/apache/jetspeed/portlets/layout/resources/LayoutResource_en.properties (revision 534987) +++ layout-portlets/src/java/org/apache/jetspeed/portlets/layout/resources/LayoutResource_en.properties (working copy) @@ -103,4 +103,5 @@ portal.folder.editing.deleteFolder=Delete portal.folder.editing.confirmDeleteThisFolder=Do you want to delete this folder? +portal.userfolder.config.title=Global User Folder Configuration Index: src/webapp/WEB-INF/templates/layout/html/columns/layout.vm =================================================================== --- src/webapp/WEB-INF/templates/layout/html/columns/layout.vm (revision 535134) +++ src/webapp/WEB-INF/templates/layout/html/columns/layout.vm (working copy) @@ -110,6 +110,24 @@
+ $messages.getString("portal.userfolder.config.title") + + + + + + +
+
#if($allowAddLayout||$allowChangeLayout)
$messages.getString("portal.page.editing.layoutConfiguration")
Index: src/webapp/WEB-INF/templates/layout/html/tcolumns/layout.vm =================================================================== --- src/webapp/WEB-INF/templates/layout/html/tcolumns/layout.vm (revision 535160) +++ src/webapp/WEB-INF/templates/layout/html/tcolumns/layout.vm (working copy) @@ -88,6 +88,24 @@ #set($submit = ".submit()") +
+ $messages.getString("portal.userfolder.config.title") + + + + + + +
#if($allowAddLayout||$allowChangeLayout)
$messages.getString("portal.page.editing.layoutConfiguration")