Index: layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java =================================================================== --- layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java (revision 535160) +++ 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,36 +915,7 @@ } return; } - // evlach - String decorators = request.getParameter("decorators"); - if ( decorators != null ) - { - Iterator fragmentsIter = requestPage.getRootFragment().getFragments().iterator(); - while(fragmentsIter.hasNext()) - { - Fragment fragment = (Fragment) fragmentsIter.next(); - if ( fragment == null ) - { - // ignore no longer consistent page definition - return; - } - - if (decorators.trim().length() == 0) - fragment.setDecorator(null); - else - fragment.setDecorator(decorators); - } - try - { - pageManager.updatePage(requestPage); - } - catch (Exception e) - { - throw new PortletException("Unable to update page for fragment decorator: "+e.getMessage(), e); - } - return; - } - //end evlach + } String portlets = request.getParameter("portlets"); @@ -969,6 +942,67 @@ } return; } +// evlach + String decorators = request.getParameter("decorators"); + // 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()) + { + Fragment fragment = (Fragment) fragmentsIter.next(); + if ( fragment == null ) + { + // ignore no longer consistent page definition + return; + } + + if (decorators.trim().length() == 0) + fragment.setDecorator(null); + else + fragment.setDecorator(decorators); + } + try + { + pageManager.updatePage(requestPage); + } + catch (Exception e) + { + throw new PortletException("Unable to update page for fragment decorator: "+e.getMessage(), e); + } + return; + } + //end evlach } } @@ -1021,4 +1055,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")