You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ag...@apache.org on 2008/06/28 21:18:57 UTC
svn commit: r672574 [13/16] - in /roller/planet/core/trunk: ./ lib/
lib/buildtime/ lib/jakarta-taglibs-standard-1.1.2/
lib/jakarta-taglibs-standard-1.1.2/lib/
lib/jakarta-taglibs-standard-1.1.2/tld/ lib/openjpa-0.9.7/ lib/rome-0.9/
lib/spring-1.2/ lib/...
Added: roller/planet/core/trunk/web/WEB-INF/jsps/errors/404.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/errors/404.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/errors/404.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/errors/404.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,60 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+<fmt:setBundle basename="ApplicationResources" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title><fmt:message key="error.title.404" /></title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <link rel="stylesheet" type="text/css" media="all" href='<c:url value="/roller-ui/styles/roller.css"/>' />
+ </head>
+ <body>
+
+ <div style="padding: 15px 25px 25px 25px">
+ <h2 class="error"><fmt:message key="error.title.404" /></h2>
+
+ <c:set var="status_code" value="${requestScope['javax.servlet.error.status_code']}" />
+ <c:set var="message" value="${requestScope['javax.servlet.error.message']}" />
+ <c:set var="type" value="${requestScope['javax.servlet.error.type']}" />
+
+ <table width="80%" border="1px" style="border-collapse: collapse;">
+ <tr>
+ <td width="20%">Status Code</td>
+ <td><c:out value="${status_code}" /></td>
+ </tr>
+ <tr>
+ <td width="20%">Message</td>
+ <td><c:out value="${message}" /></td>
+ </tr>
+ <tr>
+ <td width="20%">Type</td>
+ <td><c:out value="${type}" /></td>
+ </tr>
+ <tr>
+ <td width="20%">Exception</td>
+ <td><fmt:message key="error.text.404" /></td>
+ </tr>
+ </table>
+ </div>
+
+ <br />
+ <br />
+ </body>
+</html>
Added: roller/planet/core/trunk/web/WEB-INF/jsps/errors/denied.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/errors/denied.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/errors/denied.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/errors/denied.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,27 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+
+<h2><s:text name="denied.title" /></h2>
+
+<s:text name="denied.prompt" />
+
+<ul>
+ <li><s:text name="denied.reason0" /></li>
+ <li><s:text name="denied.reason1" /></li>
+</ul>
Added: roller/planet/core/trunk/web/WEB-INF/jsps/errors/error.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/errors/error.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/errors/error.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/errors/error.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,60 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+<fmt:setBundle basename="ApplicationResources" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title><fmt:message key="errorPage.title" /></title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <link rel="stylesheet" type="text/css" media="all" href='<c:url value="/roller-ui/styles/roller.css"/>' />
+ </head>
+ <body>
+ <div style="padding: 15px 25px 25px 25px">
+ <h2 class="error"><fmt:message key="errorPage.title" /></h2>
+
+ <c:set var="status_code" value="${requestScope['javax.servlet.error.status_code']}" />
+ <c:set var="message" value="${requestScope['javax.servlet.error.message']}" />
+ <c:set var="type" value="${requestScope['javax.servlet.error.type']}" />
+ <c:set var="exception" value="${requestScope['javax.servlet.error.exception']}" />
+
+ <table width="80%" border="1px" style="border-collapse: collapse;">
+ <tr>
+ <td width="20%">Status Code</td>
+ <td><c:out value="${status_code}" /></td>
+ </tr>
+ <tr>
+ <td width="20%">Message</td>
+ <td><c:out value="${message}" /></td>
+ </tr>
+ <tr>
+ <td width="20%">Type</td>
+ <td><c:out value="${type}" /></td>
+ </tr>
+ <tr>
+ <td width="20%">Exception</td>
+ <td><fmt:message key="errorPage.message" /></td>
+ </tr>
+ </table>
+ </div>
+
+ <br />
+ <br />
+ </body>
+</html>
Modified: roller/planet/core/trunk/web/WEB-INF/jsps/login.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/login.jsp?rev=672574&r1=672573&r2=672574&view=diff
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/login.jsp (original)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/login.jsp Sat Jun 28 12:18:17 2008
@@ -24,7 +24,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name="Login.pageTitle" /></title>
- <link rel="stylesheet" type="text/css" href='<c:url value="/planet-ui/css/planet.css" />' />
+ <link rel="stylesheet" type="text/css" href='<c:url value="/planet-ui/css/planet-ui.css" />' />
</head>
<body>
<div id="wrapper">
Added: roller/planet/core/trunk/web/WEB-INF/jsps/taglibs-struts2.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/taglibs-struts2.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/taglibs-struts2.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/taglibs-struts2.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,25 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<% response.setContentType("text/html; charset=UTF-8"); %>
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
+<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
+<%@ taglib uri="/struts-tags" prefix="s" %>
\ No newline at end of file
Added: roller/planet/core/trunk/web/WEB-INF/jsps/tiles/empty.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/tiles/empty.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/tiles/empty.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/tiles/empty.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,17 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
\ No newline at end of file
Added: roller/planet/core/trunk/web/WEB-INF/jsps/tiles/footer.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/tiles/footer.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/tiles/footer.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/tiles/footer.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,28 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+
+
+<a href="http://opensource2.atlassian.com/projects/roller/">
+ <s:text name="footer.reportIssue" /></a> |
+
+<a href="http://cwiki.apache.org/confluence/display/ROLLER/Roller+User+Documentation">
+ <s:text name="footer.userGuide" /></a> |
+
+<a href="http://cwiki.apache.org/confluence/display/ROLLER/Roller+Mailing+Lists">
+ <s:text name="footer.mailingLists" /></a>
Added: roller/planet/core/trunk/web/WEB-INF/jsps/tiles/head.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/tiles/head.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/tiles/head.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/tiles/head.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,9 @@
+<%--
+This default stuff goes in the HTML head element of each page
+You can override it with your own file via WEB-INF/tiles-def.xml
+--%>
+<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+
+<link rel="stylesheet" type="text/css" media="all" href='<s:url value="/planet-ui/css/planet-ui.css"/>' />
+<script type="text/javascript" src='<s:url value="/planet-ui/scripts/scriptaculous/prototype.js"/>' ></script>
+<script type="text/javascript" src='<s:url value="/planet-ui/scripts/actionbar.js"/>' ></script>
Added: roller/planet/core/trunk/web/WEB-INF/jsps/tiles/menubar.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/tiles/menubar.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/tiles/menubar.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/tiles/menubar.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,50 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+
+<table class="menubar" cellpadding="0" cellspacing="0">
+ <tr>
+ <td class="menuLeft">
+ <a href="<s:url value="/"/>"><s:property value="getProp('site.name')"/></a>
+ | <a href="<s:url action="menu" namespace="/planet-ui" />"><s:text name="menubar.mainMenu" /></a>
+ <s:if test="userIsAdmin">
+ | <a href="<s:url action="globalConfig" namespace="/planet-ui/admin" />"><s:text name="menubar.globalConfig" /></a>
+ | <a href="<s:url action="userAdmin" namespace="/planet-ui/admin" />"><s:text name="menubar.userAdmin" /></a>
+ </s:if>
+ </td>
+
+ <td class="menuRight">
+ <s:if test="authenticatedUser != null">
+<%-- remove link resource to profile.rol - use CWP-IDM instead
+ <s:text name="menubar.loggedInAs" /> <a href="<s:url action="profile" namespace="/planet-ui" />"><s:property value="authenticatedUser.userName"/></a>,
+--%>
+ <s:text name="menubar.loggedInAs" /> <s:property value="authenticatedUser.userName"/></a>,
+ <a href="<s:url action="logout" namespace="/planet-ui" />"><s:text name="menubar.logout"/></a>
+ </s:if>
+ <s:else>
+ <a href="<s:url action="login-redirect" namespace="/planet-ui" />"><s:text name="menubar.login"/></a>
+ <s:if test="getBooleanProp('users.registration.enabled')">
+ | <a href="<s:url action="register" namespace="/planet-ui" />"><s:text name="menubar.register"/></a>
+ </s:if>
+ <s:elseif test="getProp('users.registration.url') != ''">
+ | <a href="<s:property value="getProp('users.registration.url')"/>"><s:text name="menubar.register"/></a>
+ </s:elseif>
+ </s:else>
+ </td>
+ </tr>
+</table>
Added: roller/planet/core/trunk/web/WEB-INF/jsps/tiles/messages.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/tiles/messages.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/tiles/messages.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/tiles/messages.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,41 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+
+<%-- Success Messages --%>
+<s:if test="!actionMessages.isEmpty">
+ <div id="messages" class="messages">
+ <s:actionmessage />
+ </div>
+</s:if>
+
+<%-- Error Messages --%>
+<s:if test="!actionErrors.isEmpty || !fieldErrors.isEmpty">
+ <div id="errors" class="errors">
+ <ul>
+ <s:iterator id="actionError" value="actionErrors">
+ <li><s:property value="#actionError" /></li>
+ </s:iterator>
+ <s:iterator id="fieldErrorName" value="fieldErrors.keySet()">
+ <s:iterator id="fieldErrorValue" value="fieldErrors[#fieldErrorName]">
+ <li><s:property value="#fieldErrorValue" /></li>
+ </s:iterator>
+ </s:iterator>
+ </ul>
+ </div>
+</s:if>
Added: roller/planet/core/trunk/web/WEB-INF/jsps/tiles/tiles-simplepage.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/tiles/tiles-simplepage.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/tiles/tiles-simplepage.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/tiles/tiles-simplepage.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,58 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title><s:property value="getProp('site.name')"/>: <s:property value="pageTitle" /></title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <tiles:insertAttribute name="head" />
+ </head>
+ <body>
+
+ <div id="menubar">
+ <tiles:insertAttribute name="menubar" />
+ </div>
+
+ <div id="wrapper">
+ <div id="leftcontent_wrap">
+ <div id="leftcontent">
+ </div>
+ </div>
+
+ <div id="centercontent_wrap">
+ <div id="centercontent">
+ <tiles:insertAttribute name="title" />
+ <tiles:insertAttribute name="messages" />
+ <tiles:insertAttribute name="content" />
+ </div>
+ </div>
+
+ <div id="rightcontent_wrap">
+ <div id="rightcontent">
+ </div>
+ </div>
+ </div>
+
+ <div id="footer">
+ <tiles:insertAttribute name="footer" />
+ </div>
+
+ </body>
+</html>
Added: roller/planet/core/trunk/web/WEB-INF/jsps/tiles/title.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/jsps/tiles/title.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/jsps/tiles/title.jsp (added)
+++ roller/planet/core/trunk/web/WEB-INF/jsps/tiles/title.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,29 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+
+ <s:if test="actionPlanet && actionGroup">
+ <h1 class="pageTitle-planet"><span class="planet"><s:property value="%{actionPlanet.title}"/></span> > <span class="planet"><s:property value="%{actionGroup.title}"/></span> > <span class="page"><s:property value="pageTitle" /></span></h1>
+ </s:if>
+ <s:elseif test="actionPlanet">
+ <h1 class="pageTitle-planet"><span class="planet"><s:property value="%{actionPlanet.title}"/></span> > <span class="page"><s:property value="pageTitle" /></span></h1>
+ </s:elseif>
+ <s:else>
+ <h1 class="pageTitle-simple"><s:property value="pageTitle" /></h1>
+ </s:else>
+
Added: roller/planet/core/trunk/web/WEB-INF/security.xml
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/security.xml?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/security.xml (added)
+++ roller/planet/core/trunk/web/WEB-INF/security.xml Sat Jun 28 12:18:17 2008
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+-->
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
+ "http://www.springframework.org/dtd/spring-beans.dtd">
+
+<beans>
+
+ <!-- ======================== FILTER CHAIN ======================= -->
+ <bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
+ <property name="filterInvocationDefinitionSource">
+ <value>
+ CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
+ PATTERN_TYPE_APACHE_ANT
+ /**=channelProcessingFilter,httpSessionContextIntegrationFilter,remoteUserFilter,authenticationProcessingFilter,rememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
+ </value>
+ </property>
+ </bean>
+
+ <!-- ========== SSL SWITCHING ========== -->
+ <bean id="channelProcessingFilter" class="org.acegisecurity.securechannel.ChannelProcessingFilter">
+ <property name="channelDecisionManager" ref="channelDecisionManager"/>
+ <property name="filterInvocationDefinitionSource">
+ <value>
+ PATTERN_TYPE_APACHE_ANT
+ </value>
+ </property>
+ </bean>
+
+ <!-- ========== Maintains SessionContext accross Requests ========== -->
+ <bean id="httpSessionContextIntegrationFilter" class="org.acegisecurity.context.HttpSessionContextIntegrationFilter"/>
+
+ <!-- ========== WRAPS HTTP REQUEST OBJECT ========== -->
+ <bean id="remoteUserFilter" class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter"/>
+
+ <!-- ========== Local Authentication Processing ========== -->
+ <bean id="authenticationProcessingFilter" class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
+ <property name="authenticationManager" ref="authenticationManager"/>
+ <property name="authenticationFailureUrl" value="/planet-ui/login.rol?error=true"/>
+ <property name="defaultTargetUrl" value="/"/>
+ <property name="filterProcessesUrl" value="/roller_j_security_check"/>
+ <property name="rememberMeServices" ref="rememberMeServices"/>
+ </bean>
+
+ <!-- ========== Remember Me PROCESSING ========== -->
+ <bean id="rememberMeProcessingFilter" class="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
+ <property name="authenticationManager" ref="authenticationManager"/>
+ <property name="rememberMeServices" ref="rememberMeServices"/>
+ </bean>
+
+ <bean id="rememberMeServices" class="org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices">
+ <property name="userDetailsService" ref="planetUserAuthenticationDao"/>
+ <property name="key" value="rollerlovesacegi"/>
+ <property name="parameter" value="rememberMe"/>
+ </bean>
+
+ <bean id="rememberMeAuthenticationProvider" class="org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider">
+ <property name="key" value="rollerlovesacegi"/>
+ </bean>
+
+ <!-- ========== ANONYMOUS USER HANDLING ========== -->
+ <bean id="anonymousProcessingFilter" class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
+ <property name="key" value="anonymous"/>
+ <property name="userAttribute" value="anonymous,ROLE_ANONYMOUS"/>
+ </bean>
+
+ <!-- ========== TURN EXCEPTIONS INTO ACTIONS ========== -->
+ <bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter">
+ <property name="authenticationEntryPoint" ref="authenticationProcessingFilterEntryPoint"/>
+ <property name="accessDeniedHandler" ref="accessDeniedHandler"/>
+ </bean>
+
+ <!-- Note the order that entries are placed against the objectDefinitionSource is critical.
+ The FilterSecurityInterceptor will work from the top of the list down to the FIRST pattern that matches the request URL.
+ Accordingly, you should place MOST SPECIFIC (ie a/b/c/d.*) expressions first, with LEAST SPECIFIC (ie a/.*) expressions last -->
+ <!-- ========== AUTHORIZATION ENFORCEMENT ========== -->
+ <bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
+ <property name="authenticationManager" ref="authenticationManager"/>
+ <property name="accessDecisionManager" ref="accessDecisionManager"/>
+ <property name="objectDefinitionSource">
+ <value>
+ PATTERN_TYPE_APACHE_ANT
+ /planet-ui/login-redirect**=admin,editor
+ /planet-ui/profile**=admin,editor
+ /planet-ui/createPlanet**=admin,editor
+ /planet-ui/menu**=admin,editor
+ /planet-ui/editor/**=admin,editor
+ /planet-ui/admin/**=admin
+ /planet-ui/cwpAccessDenied**=admin,editor,anonymous
+ /rewrite-status*=admin
+ </value>
+ </property>
+ </bean>
+
+
+ <!-- Log failed authentication attempts to commons-logging -->
+ <bean id="loggerListener" class="org.acegisecurity.event.authentication.LoggerListener"/>
+
+ <!-- ========== AUTHENTICATION MANAGER AND PROVIDERS ========== -->
+ <bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
+ <property name="providers">
+ <list>
+ <ref local="daoAuthenticationProvider"/>
+ <!-- Uncomment this for LDAP/SSO configuration <ref local="ldapAuthProvider"/> -->
+ <!-- Uncomment this for CAS/SSO configuration <ref local="casAuthenticationProvider"/> -->
+ <!-- rememberMeAuthenticationProvider added programmatically -->
+ <ref local="anonymousAuthenticationProvider"/>
+ </list>
+ </property>
+ </bean>
+
+ <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
+ <property name="userDetailsService" ref="planetUserAuthenticationDao"/>
+ </bean>
+
+ <!-- Read users from Roller Planet -->
+ <bean id="planetUserAuthenticationDao" class="org.apache.roller.planet.ui.core.security.RollerUserDetailsService"/>
+
+ <bean id="anonymousAuthenticationProvider" class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
+ <property name="key" value="anonymous"/>
+ </bean>
+
+ <bean id="userCache" class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
+ <property name="cache">
+ <bean class="org.springframework.cache.ehcache.EhCacheFactoryBean">
+ <property name="cacheManager">
+ <bean class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>
+ </property>
+ <property name="cacheName" value="userCache"/>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="roleVoter" class="org.acegisecurity.vote.RoleVoter">
+ <property name="rolePrefix" value=""/>
+ </bean>
+
+ <bean id="accessDecisionManager" class="org.acegisecurity.vote.AffirmativeBased">
+ <property name="allowIfAllAbstainDecisions" value="false"/>
+ <property name="decisionVoters">
+ <list>
+ <ref local="roleVoter"/>
+ </list>
+ </property>
+ </bean>
+
+ <!-- defines what happens with a failed authentication exception -->
+ <bean id="authenticationProcessingFilterEntryPoint" class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
+ <property name="loginFormUrl" value="/planet-ui/login.rol"/>
+ <property name="forceHttps" value="false"/>
+ </bean>
+
+ <!-- defines what happens when someone is forbidden a resource -->
+ <bean id="accessDeniedHandler" class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
+ <property name="errorPage" value="/planet-ui/denied.rol"/>
+ </bean>
+
+ <bean id="channelDecisionManager" class="org.acegisecurity.securechannel.ChannelDecisionManagerImpl">
+ <property name="channelProcessors">
+ <list>
+ <bean class="org.acegisecurity.securechannel.SecureChannelProcessor"/>
+ <bean class="org.acegisecurity.securechannel.InsecureChannelProcessor"/>
+ </list>
+ </property>
+ </bean>
+
+</beans>
Added: roller/planet/core/trunk/web/WEB-INF/tiles.xml
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/tiles.xml?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/tiles.xml (added)
+++ roller/planet/core/trunk/web/WEB-INF/tiles.xml Sat Jun 28 12:18:17 2008
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+-->
+<!DOCTYPE tiles-definitions PUBLIC
+ "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
+ "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
+<tiles-definitions>
+
+ <definition name=".tiles-simplepage" template="/WEB-INF/jsps/tiles/tiles-simplepage.jsp">
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head.jsp" />
+ <put-attribute name="menubar" value="/WEB-INF/jsps/tiles/menubar.jsp" />
+ <put-attribute name="title" value="/WEB-INF/jsps/tiles/title.jsp" />
+ <put-attribute name="messages" value="/WEB-INF/jsps/tiles/messages.jsp" />
+ <put-attribute name="content" value="${content}" />
+ <put-attribute name="footer" value="/WEB-INF/jsps/tiles/footer.jsp" />
+ </definition>
+
+ <definition name=".tiles-errorpage" extends=".tiles-simplepage">
+ <put-attribute name="menubar" value="/WEB-INF/jsps/tiles/empty.jsp" />
+ <put-attribute name="title" value="/WEB-INF/jsps/tiles/empty.jsp" />
+ </definition>
+
+
+ <!-- error pages -->
+ <definition name=".denied" extends=".tiles-errorpage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/errors/denied.jsp" />
+ </definition>
+
+
+ <!-- core pages (and associates) -->
+ <definition name=".Login" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/core/Login.jsp" />
+ </definition>
+
+ <definition name=".LoginDisabled" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/core/LoginDisabled.jsp" />
+ </definition>
+
+ <definition name=".Register" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/core/Register.jsp" />
+ </definition>
+
+ <definition name=".RegisterDisabled" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/core/RegisterDisabled.jsp" />
+ </definition>
+
+ <definition name=".Welcome" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/core/Welcome.jsp" />
+ </definition>
+
+ <definition name=".Profile" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/core/Profile.jsp" />
+ </definition>
+
+ <definition name=".ProfileDisabled" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/core/ProfileDisabled.jsp" />
+ </definition>
+
+ <definition name=".CreatePlanet" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/core/CreatePlanet.jsp" />
+ </definition>
+
+ <definition name=".MainMenu" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/core/MainMenu.jsp" />
+ </definition>
+
+
+ <!-- editor pages -->
+ <definition name=".PlanetConfig" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/PlanetConfig.jsp" />
+ </definition>
+
+ <definition name=".PlanetRemove" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/PlanetRemove.jsp" />
+ </definition>
+
+ <definition name=".Members" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/Members.jsp" />
+ </definition>
+
+ <definition name=".Groups" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/Groups.jsp" />
+ </definition>
+
+ <definition name=".GroupAdd" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/GroupAdd.jsp" />
+ </definition>
+
+ <definition name=".GroupEdit" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/GroupEdit.jsp" />
+ </definition>
+
+ <definition name=".GroupRemove" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/GroupRemove.jsp" />
+ </definition>
+
+ <definition name=".Subscriptions" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/Subscriptions.jsp" />
+ </definition>
+
+
+ <!-- admin pages -->
+ <definition name=".GlobalConfig" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/admin/GlobalConfig.jsp" />
+ </definition>
+
+ <definition name=".UserAdmin" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/admin/UserAdmin.jsp" />
+ </definition>
+
+ <definition name=".CreateUser" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/admin/CreateUser.jsp" />
+ </definition>
+
+ <definition name=".ModifyUser" extends=".tiles-simplepage" >
+ <put-attribute name="content" value="/WEB-INF/jsps/admin/ModifyUser.jsp" />
+ </definition>
+
+</tiles-definitions>
Modified: roller/planet/core/trunk/web/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/WEB-INF/web.xml?rev=672574&r1=672573&r2=672574&view=diff
==============================================================================
--- roller/planet/core/trunk/web/WEB-INF/web.xml (original)
+++ roller/planet/core/trunk/web/WEB-INF/web.xml Sat Jun 28 12:18:17 2008
@@ -1,7 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <display-name>Planet Roller</display-name>
+ <display-name>Roller Planet</display-name>
+
+ <context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>/WEB-INF/security.xml</param-value>
+ </context-param>
<filter>
<filter-name>struts2</filter-name>
@@ -9,31 +14,62 @@
</filter>
<filter>
+ <filter-name>securityFilter</filter-name>
+ <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
+ <init-param>
+ <param-name>targetClass</param-name>
+ <param-value>org.acegisecurity.util.FilterChainProxy</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
<filter-name>PersistenceSessionFilter</filter-name>
<filter-class>org.apache.roller.planet.ui.core.filters.PersistenceSessionFilter</filter-class>
</filter>
<filter>
- <filter-name>RequestMappingFilter</filter-name>
- <filter-class>org.apache.roller.planet.ui.rendering.filters.RequestMappingFilter</filter-class>
+ <filter-name>SchemeEnforcementFilter</filter-name>
+ <filter-class>org.apache.roller.planet.ui.core.filters.SchemeEnforcementFilter</filter-class>
</filter>
<filter>
- <filter-name>DebugFilter</filter-name>
- <filter-class>org.apache.roller.planet.ui.core.filters.DebugFilter</filter-class>
+ <filter-name>CharEncodingFilter</filter-name>
+ <filter-class>org.apache.roller.planet.ui.core.filters.CharEncodingFilter</filter-class>
</filter>
- <!--
+ <filter>
+ <filter-name>RequestMappingFilter</filter-name>
+ <filter-class>org.apache.roller.planet.ui.rendering.filters.RequestMappingFilter</filter-class>
+ </filter>
+
+ <!-- This filter ensures that the request encoding is set to UTF-8 before any
+ other processing forces request parsing using a default encoding.
+ Note: Any filters preceding this one MUST not cause request parsing. -->
+ <filter-mapping>
+ <filter-name>CharEncodingFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ <dispatcher>REQUEST</dispatcher>
+ <dispatcher>FORWARD</dispatcher>
+ </filter-mapping>
+
+ <!-- Scheme enforcement. Only here until we get Acegi scheme enforcement working -->
<filter-mapping>
- <filter-name>DebugFilter</filter-name>
- <url-pattern>*.action</url-pattern>
+ <filter-name>SchemeEnforcementFilter</filter-name>
+ <url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
- -->
+
+ <!-- Acegi Security filters - controls secure access to different parts of Roller -->
+ <filter-mapping>
+ <filter-name>securityFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ <dispatcher>REQUEST</dispatcher>
+ <dispatcher>FORWARD</dispatcher>
+ </filter-mapping>
<filter-mapping>
<filter-name>PersistenceSessionFilter</filter-name>
- <url-pattern>/planet-ui/*</url-pattern>
+ <url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
@@ -75,6 +111,11 @@
<load-on-startup>5</load-on-startup>
</servlet>
+ <servlet>
+ <servlet-name>UserDataServlet</servlet-name>
+ <servlet-class>org.apache.roller.planet.ui.struts2.ajax.UserDataServlet</servlet-class>
+ </servlet>
+
<servlet-mapping>
<servlet-name>HomepageServlet</servlet-name>
<url-pattern>/planet-ui/rendering/homepage</url-pattern>
@@ -95,11 +136,19 @@
<url-pattern>/planet-ui/rendering/opml/*</url-pattern>
</servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>UserDataServlet</servlet-name>
+ <url-pattern>/planet-ui/editor/userdata/*</url-pattern>
+ </servlet-mapping>
+
<listener>
<listener-class>org.apache.roller.planet.ui.core.PlanetContext</listener-class>
</listener>
+ <listener>
+ <listener-class>org.apache.tiles.web.startup.TilesListener</listener-class>
+ </listener>
<resource-ref>
<res-ref-name>jdbc/rollerdb</res-ref-name>
@@ -112,31 +161,4 @@
<welcome-file>index.html</welcome-file>
</welcome-file-list>
- <security-constraint>
- <display-name>planet-ui</display-name>
- <web-resource-collection>
- <web-resource-name>planet-ui</web-resource-name>
- <url-pattern>/planet-ui/admin/*</url-pattern>
- <http-method>GET</http-method>
- <http-method>POST</http-method>
- </web-resource-collection>
- <auth-constraint>
- <description/>
- <role-name>admin</role-name>
- </auth-constraint>
- </security-constraint>
-
- <security-role>
- <description/>
- <role-name>admin</role-name>
- </security-role>
-
- <login-config>
- <auth-method>FORM</auth-method>
- <form-login-config>
- <form-login-page>/planet-ui/Login.action</form-login-page>
- <form-error-page>/planet-ui/Login.action?failed=true</form-error-page>
- </form-login-config>
- </login-config>
-
</web-app>
Added: roller/planet/core/trunk/web/planet-ui/css/planet-ui.css
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/planet-ui/css/planet-ui.css?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/planet-ui/css/planet-ui.css (added)
+++ roller/planet/core/trunk/web/planet-ui/css/planet-ui.css Sat Jun 28 12:18:17 2008
@@ -0,0 +1,200 @@
+
+body {
+ color: #333;
+ margin: 0px;
+ padding: 0px;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+h1,h2,h3 {
+ margin: 10px 0px 10px 0px;
+}
+
+a {
+ color: #5c67e0;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+img {
+ border: none;
+ padding: 0px 3px 0px 0px;
+}
+
+.fieldError {
+ color: red;
+}
+
+.errors, .messages, .warnings {
+ padding: 5px;
+ margin: 10px 0px 10px 0px;
+}
+.errors {
+ background-color: #fcc;
+ border: 1px solid red;
+}
+.messages {
+ background-color: #cfc;
+ border: 1px solid green;
+}
+.warnings {
+ background-color: #ffffce;
+ border: 1px solid #f0c000;
+}
+
+.warning {
+ color: #f00;
+ font-size: larger;
+}
+
+/** This hides the field error messages struts2 inserts **/
+.errorMessage {
+ display: none;
+}
+
+
+/** MenuBar Styles **/
+
+div#menubar {
+ padding: 2px 10px 4px 10px;
+ background-color: #DDD;
+}
+
+table.menubar {
+ width: 100%;
+}
+
+table.menubar td.menuLeft {
+ text-align: left;
+}
+
+table.menubar td.menuRight {
+ text-align: right;
+}
+
+div.actionItem {
+ display: none;
+}
+
+div#wrapper {
+ padding: 10px 10px 0px 10px;
+}
+
+div#footer {
+ padding: 40px 10px 10px 10px;
+ text-align: center;
+ color: #aaa;
+ font-size: 8pt;
+}
+
+
+/** Page Title Styles **/
+
+h1.pageTitle-simple {
+ color: #4cbc00;
+}
+
+h1.pageTitle-planet span.planet {
+ color: #e77100;
+}
+
+h1.pageTitle-planet span.page {
+ color: #4cbc00;
+ font-size: smaller;
+}
+
+
+/** Main Menu Styles **/
+
+div.planetBox {
+ width: 75%;
+ border-top: 1px solid #999;
+ padding-top: 5px;
+ margin-bottom: 20px;
+}
+
+span.mm_planet_name {
+ color: #e77100;
+ font-weight: bold;
+ font-size: 16pt;
+}
+
+div.planetBox table.mm_table {
+ width: 100%;
+ margin-top: 8px;
+}
+
+td.mm_subtable_label {
+ width: 100px;
+ vertical-align: top;
+ font-weight: bold;
+}
+
+td.mm_table_actions {
+ width: 20%;
+ text-align: left;
+ vertical-align: top;
+ background-color: #fff4d4;
+ padding: 4px;
+}
+
+
+div.addSub {
+ margin-bottom: 20px;
+}
+
+
+/** General Form and Table Styles **/
+
+td.tdLabel {
+ vertical-align:top;
+}
+
+table.form {
+ width: 80%
+}
+
+table.data {
+ border-collapse: collapse;
+ border: 1px solid #a0a0a0;
+}
+
+table.data td, table.data th {
+ border-collapse: collapse;
+ border: 1px solid #a0a0a0;
+ padding: 3px;
+}
+
+table.data th {
+ background: #f3e4c8;
+ background-image: url(../images/th-bg-grey.png);
+}
+
+td.narrowColumn {
+ width: 5%;
+ text-align: center;
+}
+
+td.labelColumn {
+ width: 25%;
+}
+
+td.valueColumn {
+ width: 75%;
+}
+
+tr.evenRow {
+ background: #f5f5f5;
+}
+
+tr.errorRow {
+ background: #fcc;
+}
+
+table.data td.submit {
+ padding: 10px;
+ text-align: right;
+}
Added: roller/planet/core/trunk/web/planet-ui/images/cog.png
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/planet-ui/images/cog.png?rev=672574&view=auto
==============================================================================
Binary file - no diff available.
Propchange: roller/planet/core/trunk/web/planet-ui/images/cog.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: roller/planet/core/trunk/web/planet-ui/images/table_multiple.png
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/planet-ui/images/table_multiple.png?rev=672574&view=auto
==============================================================================
Binary file - no diff available.
Propchange: roller/planet/core/trunk/web/planet-ui/images/table_multiple.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: roller/planet/core/trunk/web/planet-ui/images/world_go.png
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/planet-ui/images/world_go.png?rev=672574&view=auto
==============================================================================
Binary file - no diff available.
Propchange: roller/planet/core/trunk/web/planet-ui/images/world_go.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: roller/planet/core/trunk/web/planet-ui/index.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/planet-ui/index.jsp?rev=672574&r1=672573&r2=672574&view=diff
==============================================================================
--- roller/planet/core/trunk/web/planet-ui/index.jsp (original)
+++ roller/planet/core/trunk/web/planet-ui/index.jsp Sat Jun 28 12:18:17 2008
@@ -1 +1 @@
-<% response.sendRedirect("admin/ConfigForm.action"); %>
+<% response.sendRedirect("menu.rol"); %>
Added: roller/planet/core/trunk/web/planet-ui/login-redirect.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/planet-ui/login-redirect.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/planet-ui/login-redirect.jsp (added)
+++ roller/planet/core/trunk/web/planet-ui/login-redirect.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,20 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. The ASF licenses this file to You
+ under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. For additional information regarding
+ copyright in this work, please see the NOTICE file in the top level
+ directory of this distribution.
+--%>
+<%
+ response.sendRedirect(request.getContextPath()+"/planet-ui/menu.rol");
+%>
Added: roller/planet/core/trunk/web/planet-ui/logout-redirect.jsp
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/planet-ui/logout-redirect.jsp?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/planet-ui/logout-redirect.jsp (added)
+++ roller/planet/core/trunk/web/planet-ui/logout-redirect.jsp Sat Jun 28 12:18:17 2008
@@ -0,0 +1,8 @@
+<%@ page import="org.apache.roller.planet.ui.core.PlanetContext" %>
+<%
+// invalidating local session logs us out of Acegi
+request.getSession().removeAttribute(PlanetContext.USER_ID);
+request.getSession().invalidate();
+
+response.sendRedirect(request.getContextPath());
+%>
Added: roller/planet/core/trunk/web/planet-ui/scripts/ajax-user.js
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/planet-ui/scripts/ajax-user.js?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/planet-ui/scripts/ajax-user.js (added)
+++ roller/planet/core/trunk/web/planet-ui/scripts/ajax-user.js Sat Jun 28 12:18:17 2008
@@ -0,0 +1,84 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* under the Apache License, Version 2.0 (the "License"); you may not
+* use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+// Used in: InviteMember.jsp, UserAdmin.jsp
+
+function createRequestObject() {
+ var ro;
+ var browser = navigator.appName;
+ if (browser == "Microsoft Internet Explorer") {
+ ro = new ActiveXObject("Microsoft.XMLHTTP");
+ } else {
+ ro = new XMLHttpRequest();
+ }
+ return ro;
+}
+var http = createRequestObject();
+var init = false;
+var isBusy = false;
+var userURL = "<%= request.getContextPath() %>" + "/planet-ui/editor/userdata?length=50";
+
+function onUserNameFocus(enabled) {
+ if (!init) {
+ init = true;
+ u = userURL;
+ if (enabled != null) u = u + "&enabled=" + enabled;
+ sendUserRequest(u);
+ }
+}
+function onUserNameChange(enabled) {
+ u = userURL;
+ if (enabled != null) u = u + "&enabled=" + enabled;
+ userName = document.getElementById("userName");
+ if (userName.value.length > 0) u = u + "&startsWith=" + userName.value;
+ sendUserRequest(u);
+}
+function onUserSelected() {
+ userList = document.getElementById("userList");
+ user = userList.options[userList.options.selectedIndex];
+ userName = document.getElementById("userName");
+ userName.value = user.value;
+}
+function sendUserRequest(url) {
+ if (isBusy) return;
+ isBusy = true;
+ http.open('get', url);
+ http.onreadystatechange = handleUserResponse;
+ http.send(null);
+}
+function handleUserResponse() {
+ if (http.readyState == 4) {
+ userList = document.getElementById("userList");
+ for (i = userList.options.length; i >= 0; i--) {
+ userList.options[i] = null;
+ }
+ //userList.onchange = null;
+ data = http.responseText;
+ if (data.indexOf("\n") != -1) {
+ lines = data.split('\n');
+ for (i = 0; i < lines.length; i++) {
+ if (lines[i].indexOf(',') != -1) {
+ userArray = lines[i].split(',');
+ userList.options[userList.length] =
+ new Option(userArray[0] + " (" + userArray[1] + ")", userArray[0]);
+ }
+ }
+ }
+
+ }
+ isBusy = false;
+}
Added: roller/planet/core/trunk/web/planet-ui/scripts/scriptaculous/builder.js
URL: http://svn.apache.org/viewvc/roller/planet/core/trunk/web/planet-ui/scripts/scriptaculous/builder.js?rev=672574&view=auto
==============================================================================
--- roller/planet/core/trunk/web/planet-ui/scripts/scriptaculous/builder.js (added)
+++ roller/planet/core/trunk/web/planet-ui/scripts/scriptaculous/builder.js Sat Jun 28 12:18:17 2008
@@ -0,0 +1,119 @@
+// script.aculo.us builder.js v1.6.4, Wed Sep 06 11:30:58 CEST 2006
+
+// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+//
+// See scriptaculous.js for full license.
+
+var Builder = {
+ NODEMAP: {
+ AREA: 'map',
+ CAPTION: 'table',
+ COL: 'table',
+ COLGROUP: 'table',
+ LEGEND: 'fieldset',
+ OPTGROUP: 'select',
+ OPTION: 'select',
+ PARAM: 'object',
+ TBODY: 'table',
+ TD: 'table',
+ TFOOT: 'table',
+ TH: 'table',
+ THEAD: 'table',
+ TR: 'table'
+ },
+ // note: For Firefox < 1.5, OPTION and OPTGROUP tags are currently broken,
+ // due to a Firefox bug
+ node: function(elementName) {
+ elementName = elementName.toUpperCase();
+
+ // try innerHTML approach
+ var parentTag = this.NODEMAP[elementName] || 'div';
+ var parentElement = document.createElement(parentTag);
+ try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
+ parentElement.innerHTML = "<" + elementName + "></" + elementName + ">";
+ } catch(e) {}
+ var element = parentElement.firstChild || null;
+
+ // see if browser added wrapping tags
+ if(element && (element.tagName != elementName))
+ element = element.getElementsByTagName(elementName)[0];
+
+ // fallback to createElement approach
+ if(!element) element = document.createElement(elementName);
+
+ // abort if nothing could be created
+ if(!element) return;
+
+ // attributes (or text)
+ if(arguments[1])
+ if(this._isStringOrNumber(arguments[1]) ||
+ (arguments[1] instanceof Array)) {
+ this._children(element, arguments[1]);
+ } else {
+ var attrs = this._attributes(arguments[1]);
+ if(attrs.length) {
+ try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
+ parentElement.innerHTML = "<" +elementName + " " +
+ attrs + "></" + elementName + ">";
+ } catch(e) {}
+ element = parentElement.firstChild || null;
+ // workaround firefox 1.0.X bug
+ if(!element) {
+ element = document.createElement(elementName);
+ for(attr in arguments[1])
+ element[attr == 'class' ? 'className' : attr] = arguments[1][attr];
+ }
+ if(element.tagName != elementName)
+ element = parentElement.getElementsByTagName(elementName)[0];
+ }
+ }
+
+ // text, or array of children
+ if(arguments[2])
+ this._children(element, arguments[2]);
+
+ return element;
+ },
+ _text: function(text) {
+ return document.createTextNode(text);
+ },
+ _attributes: function(attributes) {
+ var attrs = [];
+ for(attribute in attributes)
+ attrs.push((attribute=='className' ? 'class' : attribute) +
+ '="' + attributes[attribute].toString().escapeHTML() + '"');
+ return attrs.join(" ");
+ },
+ _children: function(element, children) {
+ if(typeof children=='object') { // array can hold nodes and text
+ children.flatten().each( function(e) {
+ if(typeof e=='object')
+ element.appendChild(e)
+ else
+ if(Builder._isStringOrNumber(e))
+ element.appendChild(Builder._text(e));
+ });
+ } else
+ if(Builder._isStringOrNumber(children))
+ element.appendChild(Builder._text(children));
+ },
+ _isStringOrNumber: function(param) {
+ return(typeof param=='string' || typeof param=='number');
+ },
+ dump: function(scope) {
+ if(typeof scope != 'object' && typeof scope != 'function') scope = window; //global scope
+
+ var tags = ("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY " +
+ "BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET " +
+ "FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+
+ "KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+
+ "PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+
+ "TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);
+
+ tags.each( function(tag){
+ scope[tag] = function() {
+ return Builder.node.apply(Builder, [tag].concat($A(arguments)));
+ }
+ });
+ }
+}
\ No newline at end of file