You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2005/06/08 18:06:46 UTC
svn commit: r189602 [50/50] - in /incubator/roller/trunk: ./ contrib/
contrib/lib/ contrib/plugins/ contrib/plugins/src/ contrib/plugins/src/org/
contrib/plugins/src/org/roller/ contrib/plugins/src/org/roller/presentation/
contrib/plugins/src/org/roller/presentation/velocity/
contrib/plugins/src/org/roller/presentation/velocity/plugins/
contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/
contrib/plugins/src/org/roller/presentation/velocity/plugins/bookmarks/
contrib/plugins/src/org/roller/presentation/velocity/plugins/email/
contrib/plugins/src/org/roller/presentation/velocity/plugins/jspwiki/
contrib/plugins/src/org/roller/presentation/velocity/plugins/radeox/
contrib/plugins/src/org/roller/presentation/velocity/plugins/readmore/
contrib/plugins/src/org/roller/presentation/velocity/plugins/smileys/
contrib/plugins/src/org/roller/presentation/velocity/plugins/textile/ docs/
docs/images/ docs/installguide/ docs/installguide/old/ docs/userguide/
docs/userguide/images/ docs/userguide/old/ metadata/ metadata/database/
metadata/database/hibernate/ metadata/xdoclet/ personal/ personal/eclipse/
personal/testing/ src/ src/org/ src/org/roller/ src/org/roller/business/
src/org/roller/business/hibernate/ src/org/roller/business/utils/
src/org/roller/model/ src/org/roller/pojos/ src/org/roller/presentation/
src/org/roller/presentation/atom/ src/org/roller/presentation/bookmarks/
src/org/roller/presentation/bookmarks/actions/
src/org/roller/presentation/bookmarks/formbeans/
src/org/roller/presentation/bookmarks/tags/
src/org/roller/presentation/filters/ src/org/roller/presentation/forms/
src/org/roller/presentation/newsfeeds/ src/org/roller/presentation/pagecache/
src/org/roller/presentation/pagecache/rollercache/
src/org/roller/presentation/tags/ src/org/roller/presentation/tags/calendar/
src/org/roller/presentation/tags/menu/
src/org/roller/presentation/velocity/ src/org/roller/presentation/weblog/
src/org/roller/presentation/weblog/actions/
src/org/roller/presentation/weblog/formbeans/
src/org/roller/presentation/weblog/search/
src/org/roller/presentation/weblog/search/operations/
src/org/roller/presentation/weblog/tags/ src/org/roller/presentation/website/
src/org/roller/presentation/website/actions/
src/org/roller/presentation/website/formbeans/
src/org/roller/presentation/website/tags/
src/org/roller/presentation/xmlrpc/ src/org/roller/util/ tests/ tests/org/
tests/org/roller/ tests/org/roller/business/ tests/org/roller/model/
tests/org/roller/persistence/ tests/org/roller/presentation/
tests/org/roller/presentation/atom/ tests/org/roller/presentation/bookmarks/
tests/org/roller/presentation/velocity/
tests/org/roller/presentation/velocity/plugins/
tests/org/roller/presentation/velocity/plugins/smileys/
tests/org/roller/presentation/velocity/plugins/textile/
tests/org/roller/presentation/xmlrpc/ tests/org/roller/util/ tools/
tools/buildtime/ tools/buildtime/mockrunner-0.2.6/
tools/buildtime/mockrunner-0.2.6/lib/ tools/buildtime/tomcat-4.1.24/
tools/buildtime/xdoclet-1.2/ tools/buildtime/xdoclet-1.2/lib/
tools/hibernate-2.1/ tools/hibernate-2.1/lib/ tools/lib/
tools/standard-1.0.3/ tools/standard-1.0.3/lib/ tools/standard-1.0.3/tld/
tools/struts-1.1/ tools/struts-1.1/lib/ web/ web/WEB-INF/
web/WEB-INF/classes/ web/WEB-INF/classes/flavors/
web/WEB-INF/classes/themes/ web/bookmarks/ web/images/ web/images/editor/
web/images/midas/ web/images/preview/ web/images/smileys/ web/tags/
web/templates/ web/theme/ web/theme/images/ web/theme/lavender/
web/theme/scripts/ web/theme/scripts/classes/ web/themes/ web/themes/basic/
web/themes/berkley/ web/themes/berkley/images/ web/themes/cheb/
web/themes/cheb/images/ web/themes/cheb/scripts/ web/themes/clean/
web/themes/currency-i18n/ web/themes/currency-i18n/images/
web/themes/currency/ web/themes/currency/images/ web/themes/grey2/
web/themes/moonshine/ web/themes/pacifica/ web/themes/robot/
web/themes/rolling/ web/themes/rolling/images/ web/themes/sotto/
web/themes/sotto/images/ web/themes/sotto/styles/ web/themes/sunsets/
web/themes/sunsets/images/ web/themes/sunsets/scripts/
web/themes/sunsets/styles/ web/themes/werner/ web/themes/x2/
web/themes/x2/images/ web/themes/x2/scripts/ web/themes/x2/styles/
web/weblog/ web/website/
Added: incubator/roller/trunk/web/weblog/comment-preview.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/comment-preview.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/comment-preview.jsp (added)
+++ incubator/roller/trunk/web/weblog/comment-preview.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,27 @@
+<%@ include file="/weblog/comments-header.jspf" %>
+
+<body>
+
+<div class="comments">
+
+<div class="commentTitle">
+ <bean:write name="blogEntry" property="title" scope="request" />
+</div>
+
+<h3><fmt:message key="comments.preview" /></h3>
+<bean:define id="comment" name="commentForm" type="org.roller.presentation.forms.CommentForm"/>
+
+<% Integer count = new Integer(-1); // JvdM: 'count' needs to be there for comment-display.jspf %>
+<table class="rollertable">
+ <tr class="rollertable_even">
+ <%@ include file="comment-display.jspf" %>
+ </tr>
+</table>
+
+<div class="content"><fmt:message key="comments.preview.edit" /></div>
+
+<%@ include file="comment-form.jspf" %>
+
+</div>
+
+<%@ include file="/theme/footer.jsp" %>
\ No newline at end of file
Added: incubator/roller/trunk/web/weblog/comments-header.jspf
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/comments-header.jspf?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/comments-header.jspf (added)
+++ incubator/roller/trunk/web/weblog/comments-header.jspf Wed Jun 8 09:06:16 2005
@@ -0,0 +1,91 @@
+
+<%@ page language="java" errorPage="/error.jsp" %>
+
+<%@ page import="org.roller.pojos.RollerConfig" %>
+<%@ page import="org.roller.pojos.WeblogEntryData" %>
+<%@ page import="org.roller.pojos.WebsiteData" %>
+<%@ page import="org.roller.presentation.RollerContext" %>
+<%@ page import="org.roller.presentation.RollerRequest" %>
+<%@ page import="org.roller.util.DateUtil" %>
+<%@ page import="org.roller.util.RegexUtil" %>
+<%@ page import="org.roller.util.StringUtils" %>
+<%@ page import="org.roller.util.Utilities" %>
+
+<%@ include file="/taglibs.jsp" %>
+<%
+RollerContext rc = RollerContext.getRollerContext(request);
+RollerConfig rollerConfig = rc.getRollerConfig();
+boolean escapeHtml = rollerConfig.getEscapeCommentHtml().booleanValue();
+boolean autoformat = rollerConfig.getAutoformatComments().booleanValue();
+
+String themeName = "basic";
+String userName = "";
+WeblogEntryData entry = (WeblogEntryData)request.getAttribute("blogEntry");
+WebsiteData website = null;
+if (entry != null)
+{
+ website = entry.getWebsite();
+ if (website != null)
+ {
+ userName = website.getUser().getUserName();
+ if (StringUtils.isNotEmpty(website.getEditorTheme()))
+ {
+ themeName = website.getEditorTheme();
+ }
+ }
+}
+
+String contextPath = request.getContextPath();
+%>
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title><%= rollerConfig.getSiteName() %> :: <fmt:message key="comments.title" /> ::
+ <bean:write name="blogEntry" property="title"
+ scope="request" filter="true" />
+ </title>
+
+ <script type="text/javascript"
+ src="<%= contextPath %>/theme/scripts/roller.js"></script>
+
+ <link rel="stylesheet" type="text/css" media="all"
+ href="<%= contextPath %>/theme/layout.css" />
+
+ <link rel="stylesheet" type="text/css" media="all"
+ href="<%= contextPath %>/theme/roller.css" />
+
+ <link rel="stylesheet" type="text/css" media="all"
+ href="<%= contextPath %>/theme/menu.css" />
+
+ <style type="text/css">
+ body {
+ background-color: #FFFFFF;
+ background-image: none;
+ color: #000000;
+ font-family: verdana, sans-serif;
+ font-size: small;
+ }
+ h3 {
+ margin-left: auto;
+ margin-right: auto;
+ text-align: center;
+ }
+ #footer {
+ display: none;
+ }
+ th {
+ vertical-align: middle;
+ text-align: right;
+ padding-right: 5px;
+ font-size: 12px;
+ }
+ </style>
+ <!-- Change this by changing your "Editor Theme" -->
+ <link rel="stylesheet" type="text/css"
+ href="<%= contextPath %>/themes/<%= themeName %>/theme.css" />
+ <!-- Edit your _css Page Template -->
+ <link rel="stylesheet" type="text/css"
+ href="<%= contextPath %>/page/<%= userName %>/_css" />
+</head>
\ No newline at end of file
Added: incubator/roller/trunk/web/weblog/comments.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/comments.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/comments.jsp (added)
+++ incubator/roller/trunk/web/weblog/comments.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,42 @@
+
+<%@ include file="/weblog/comments-header.jspf" %>
+
+<body>
+
+<div class="comments">
+
+<roller:StatusMessage/>
+
+<div class="commentTitle">
+ <bean:write name="blogEntry" property="title"
+ scope="request" filter="false" />
+</div>
+
+<table class="rollertable">
+<logic:iterate id="comment" indexId="count" name="blogComments"
+ scope="request" type="org.roller.pojos.CommentData">
+ <%
+ String rowClass = "rollertable_even";
+ if (count.intValue() % 2 == 0)
+ rowClass = "rollertable_even";
+ else
+ rowClass = "rollertable_odd";
+ %>
+ <tr class="<%= rowClass %>">
+ <%@ include file="comment-display.jspf" %>
+ </tr>
+</logic:iterate>
+</table>
+
+</div>
+
+<c:if test="${blogEntry.commentsStillAllowed}">
+ <h3><fmt:message key="comments.header" /></h3>
+ <%@ include file="comment-form.jspf" %>
+</c:if>
+<c:if test="${!blogEntry.commentsStillAllowed}">
+ <fmt:message key="comments.disabled" />
+</c:if>
+
+
+<%@ include file="/theme/footer.jsp" %>
Added: incubator/roller/trunk/web/weblog/editor-dhtml.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/editor-dhtml.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/editor-dhtml.jsp (added)
+++ incubator/roller/trunk/web/weblog/editor-dhtml.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,294 @@
+
+<%-- This page is designed to be included in edit-weblog.jsp --%>
+
+<%@ include file="/taglibs.jsp" %>
+
+<html:hidden property="text" />
+
+<script language="JavaScript">
+<!--
+ // dhtml editor requires IE 6
+ var agt=navigator.userAgent.toLowerCase();
+ msie = agt.indexOf("msie");
+ ie = (msie != -1);
+ major = parseInt(navigator.appVersion);
+ if (ie)
+ {
+ major = parseInt( agt.substring( msie+5 ) );
+ }
+ if (!ie || major < 6)
+ {
+ document.write("<span class=\"statusMsg\">");
+ document.write("We recommend ");
+ document.write("<a href=\"http://www.microsoft.com/windows/ie/default.asp\">IE 6 or higher</a> ");
+ document.write("for using the dHtml editor. ")
+ document.write("Please <a href=\"");
+ document.write("website.do?method=edit&rmik=Settings\">");
+ document.write("change to the text editor</a> or upgrade ");
+ document.write("your browser.</span>");
+ }
+
+ function postWeblogEntry(publish)
+ {
+ document.weblogEntryFormEx.text.value = iView.document.body.innerHTML;
+ if (publish)
+ document.weblogEntryFormEx.publishEntry.value = "true";
+ document.weblogEntryFormEx.submit();
+ }
+
+ var viewMode = 1; // WYSIWYG
+
+ function selOn(ctrl)
+ {
+ ctrl.style.borderColor = '#000000';
+ ctrl.style.backgroundColor = '#B5BED6';
+ ctrl.style.cursor = 'hand';
+ }
+
+ function selOff(ctrl)
+ {
+ ctrl.style.borderColor = '#D6D3CE';
+ ctrl.style.backgroundColor = '#D6D3CE';
+ }
+
+ function selDown(ctrl)
+ {
+ ctrl.style.backgroundColor = '#8492B5';
+ }
+
+ function selUp(ctrl)
+ {
+ ctrl.style.backgroundColor = '#B5BED6';
+ }
+
+ function doBold()
+ {
+ iView.document.execCommand('bold', false, null);
+ }
+
+ function doItalic()
+ {
+ iView.document.execCommand('italic', false, null);
+ }
+
+ function doUnderline()
+ {
+ iView.document.execCommand('underline', false, null);
+ }
+
+ function doLeft()
+ {
+ iView.document.execCommand('justifyleft', false, null);
+ }
+
+ function doCenter()
+ {
+ iView.document.execCommand('justifycenter', false, null);
+ }
+
+ function doRight()
+ {
+ iView.document.execCommand('justifyright', false, null);
+ }
+
+ function doOrdList()
+ {
+ iView.document.execCommand('insertorderedlist', false, null);
+ }
+
+ function doBulList()
+ {
+ iView.document.execCommand('insertunorderedlist', false, null);
+ }
+
+ function doForeCol()
+ {
+ var fCol = prompt('Enter foreground color', '');
+
+ if(fCol != null)
+ iView.document.execCommand('forecolor', false, fCol);
+ }
+
+ function doBackCol()
+ {
+ var bCol = prompt('Enter background color', '');
+
+ if(bCol != null)
+ iView.document.execCommand('backcolor', false, bCol);
+ }
+
+ function doLink()
+ {
+ iView.document.execCommand('createlink');
+ }
+
+ function doImage()
+ {
+ var imgSrc = prompt('Enter image location', '');
+
+ if(imgSrc != null)
+ iView.document.execCommand('insertimage', false, imgSrc);
+ }
+
+ function doRule()
+ {
+ iView.document.execCommand('inserthorizontalrule', false, null);
+ }
+
+ function doFont(fName)
+ {
+ if(fName != '')
+ iView.document.execCommand('fontname', false, fName);
+ }
+
+ function doSize(fSize)
+ {
+ if(fSize != '')
+ iView.document.execCommand('fontsize', false, fSize);
+ }
+
+ function doHead(hType)
+ {
+ if(hType != '')
+ {
+ iView.document.execCommand('formatblock', false, hType);
+ doFont(selFont.options[selFont.selectedIndex].value);
+ }
+ }
+
+ function doToggleView()
+ {
+ if(viewMode == 1)
+ {
+ iHTML = iView.document.body.innerHTML;
+ iView.document.body.innerText = iHTML;
+
+ // Hide all controls
+ tblCtrls.style.display = 'none';
+ tblCtrls2.style.display = 'none';
+ //selFont.style.display = 'none';
+ //selSize.style.display = 'none';
+ //selHeading.style.display = 'none';
+ iView.focus();
+
+ viewMode = 2; // Code
+ }
+ else
+ {
+ iText = iView.document.body.innerText;
+ iView.document.body.innerHTML = iText;
+
+ // Show all controls
+ tblCtrls.style.display = 'inline';
+ tblCtrls2.style.display = 'inline';
+ //selFont.style.display = 'inline';
+ //selSize.style.display = 'inline';
+ //selHeading.style.display = 'inline';
+ iView.focus();
+
+ viewMode = 1; // WYSIWYG
+ }
+ }
+// -->
+</script>
+<style>
+
+ .butClass
+ {
+ border: 1px solid;
+ border-color: #D6D3CE;
+ }
+
+ .tdClass
+ {
+ padding-left: 3px;
+ padding-top:3px;
+ }
+
+</style>
+
+<table width="95%" height="30px" border="0" cellspacing="0" cellpadding="0" bgcolor="#D6D3CE">
+<tr>
+ <td id="tblCtrls" class="tdClass">
+ <img alt="Bold" class="butClass" src="<%= request.getContextPath() %>/images/editor/bold.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doBold()">
+ <img alt="Italic" class="butClass" src="<%= request.getContextPath() %>/images/editor/italic.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doItalic()">
+ <img alt="Underline" class="butClass" src="<%= request.getContextPath() %>/images/editor/underline.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doUnderline()">
+
+ <img alt="Left" class="butClass" src="<%= request.getContextPath() %>/images/editor/left.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doLeft()">
+ <img alt="Center" class="butClass" src="<%= request.getContextPath() %>/images/editor/center.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doCenter()">
+ <img alt="Right" class="butClass" src="<%= request.getContextPath() %>/images/editor/right.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doRight()">
+
+ <img alt="Ordered List" class="butClass" src="<%= request.getContextPath() %>/images/editor/ordlist.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doOrdList()">
+ <img alt="Bulleted List" class="butClass" src="<%= request.getContextPath() %>/images/editor/bullist.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doBulList()">
+
+ <img alt="Text Color" class="butClass" src="<%= request.getContextPath() %>/images/editor/forecol.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doForeCol()">
+ <img alt="Background Color" class="butClass" src="<%= request.getContextPath() %>/images/editor/bgcol.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doBackCol()">
+
+ <img alt="Hyperlink" class="butClass" src="<%= request.getContextPath() %>/images/editor/link.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doLink()">
+ <img alt="Image" class="butClass" src="<%= request.getContextPath() %>/images/editor/image.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doImage()">
+ <img alt="Horizontal Rule" class="butClass" src="<%= request.getContextPath() %>/images/editor/rule.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doRule()">
+
+ </td>
+ <td class="tdClass" colspan="1" width="20%" align="right">
+ <img alt="Toggle Mode" class="butClass" src="<%= request.getContextPath() %>/images/editor/mode.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doToggleView()">
+
+ </td>
+</tr>
+</table>
+
+<table width="95%" height="30px" border="0" cellspacing="0" cellpadding="0" bgcolor="#D6D3CE">
+<tr>
+ <td id="tblCtrls2" class="tdClass" colspan="1" width="80%">
+ <select id="selFont" onChange="doFont(this.options[this.selectedIndex].value)">
+ <option value="">-- Font --</option>
+ <option value="Arial">Arial</option>
+ <option value="Courier">Courier</option>
+ <option value="Sans Serif">Sans Serif</option>
+ <option value="Tahoma">Tahoma</option>
+ <option value="Verdana">Verdana</option>
+ <option value="Wingdings">Wingdings</option>
+ </select>
+ <select id="selSize" onChange="doSize(this.options[this.selectedIndex].value)">
+ <option value="">-- Size --</option>
+ <option value="1">Very Small</option>
+ <option value="2">Small</option>
+ <option value="3">Medium</option>
+ <option value="4">Large</option>
+ <option value="5">Larger</option>
+ <option value="6">Very Large</option>
+ </select>
+ <select id="selHeading" onChange="doHead(this.options[this.selectedIndex].value)">
+ <option value="">-- Heading --</option>
+ <option value="Heading 1">H1</option>
+ <option value="Heading 2">H2</option>
+ <option value="Heading 3">H3</option>
+ <option value="Heading 4">H4</option>
+ <option value="Heading 5">H5</option>
+ <option value="Heading 6">H6</option>
+ </select>
+ </td>
+</tr>
+
+</table>
+
+<% // hack to support iframe's src attribute doing a call out
+// No longer needed because form is now session scope
+//session.setAttribute("weblogEntryFormEx",
+ //request.getAttribute("weblogEntryFormEx"));
+%>
+<table width="95%" border="0" cellspacing="0" cellpadding="0" >
+<tr>
+ <td><iframe id="iView" width="100%" height="250" tabindex="2">
+ Your browser does not support iframes.
+ Either change browsers or select a
+ different editor for your website.</iframe>
+ </td>
+</tr>
+</table>
+<script language="JavaScript">
+ iView.document.designMode = 'On';
+ iView.document.open();
+ iView.document.write(document.weblogEntryFormEx.text.value);
+ iView.document.close();
+</script>
+
Added: incubator/roller/trunk/web/weblog/editor-ekit.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/editor-ekit.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/editor-ekit.jsp (added)
+++ incubator/roller/trunk/web/weblog/editor-ekit.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,83 @@
+
+<%-- This page is designed to be included in edit-weblog.jsp --%>
+<%@ page import="org.roller.presentation.weblog.formbeans.WeblogEntryFormEx" %>
+<%@ include file="/taglibs.jsp" %>
+
+<script type="text/javascript">
+<!--
+function postWeblogEntry(publish)
+{
+ document.weblogEntryFormEx.text.value = document.Ekit.getDocumentText();
+ if (publish)
+ document.weblogEntryFormEx.publishEntry.value = "true";
+ document.weblogEntryFormEx.submit();
+}
+-->
+</script>
+
+<html:hidden property="text" />
+
+<%-- Use the Ekit applet --%>
+
+<%--
+<%
+String text = "";
+WeblogEntryFormEx form
+ = (WeblogEntryFormEx) request.getAttribute("weblogEntryFormEx");
+if (form.getText() != null) {
+ text = form.getText();
+}
+String entryText = "<html><head></head><body>"+text+"</body></html>";
+%>
+<jsp:plugin type="applet" code="com.hexidec.ekit.EkitApplet.class" tabindex="2"
+ codebase="." jreversion="1.3" height="350" width="90%" name="Ekit"
+ archive="ekitapplet.jar" type="application/x-java-applet;version=1.3"
+ nspluginurl="http://java.sun.com/products/plugin/1.3.0_01/plugin-install.html"
+ iepluginurl="http://java.sun.com/products/plugin/1.3.0_01/jinstall-130_01-win32.cab#Version=1,3,0,1">
+ <jsp:params>
+ <jsp:param name="stylesheet" value="ekit.css"/>
+ <jsp:param name="langcode" value="en" />
+ <jsp:param name="langcountry" value="US" />
+ <jsp:param name="toolbar" value="true"/>
+ <jsp:param name="sourceview" value="false"/>
+ <jsp:param name="exclusive" value="true"/>
+ <jsp:param name="menuicons" value="true"/>
+ <jsp:param name="scriptable" value="true"/>
+ <jsp:param name="document" value="<%=entryText%>"/>
+ </jsp:params>
+ <jsp:fallback>
+ <p>Unable to start Java Plugin.</p>
+ </jsp:fallback>
+</jsp:plugin>
+--%>
+
+<APPLET CODEBASE="." CODE="com.hexidec.ekit.EkitApplet.class"
+ ARCHIVE="ekitapplet.jar" NAME="Ekit" WIDTH="95%" HEIGHT="350">
+<PARAM NAME="codebase" VALUE=".">
+<PARAM NAME="code" VALUE="com.hexidec.ekit.EkitApplet.class">
+<PARAM NAME="archive" VALUE="ekitapplet.jar">
+<PARAM NAME="type" VALUE="application/x-java-applet;version=1.3">
+<PARAM NAME="scriptable" VALUE="true">
+
+<!-- Load text into Ekit applet by using the form bean -->
+<PARAM NAME="DOCUMENT"
+ VALUE="<HTML><HEAD></HEAD><BODY><bean:write
+ name="weblogEntryFormEx" property="text" /></BODY></HTML>">
+
+<PARAM NAME="STYLESHEET" VALUE="ekit.css">
+<PARAM NAME="LANGCODE" VALUE="en">
+<PARAM NAME="LANGCOUNTRY" VALUE="US">
+<PARAM NAME="TOOLBAR" VALUE="true">
+<PARAM NAME="SOURCEVIEW" VALUE="false">
+<PARAM NAME="EXCLUSIVE" VALUE="true">
+<PARAM NAME="MENUICONS" VALUE="true">
+</APPLET>
+
+
+<br /><a href="http://www.hexidec.com">Ekit</a>
+editor by Howard Kistler of
+<a href="http://www.hexidec.com">hexidec codex</a>
+<br />
+<br />
+
+
Added: incubator/roller/trunk/web/weblog/editor-midas.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/editor-midas.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/editor-midas.jsp (added)
+++ incubator/roller/trunk/web/weblog/editor-midas.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,430 @@
+
+<%-- This page is designed to be included in edit-weblog.jsp --%>
+
+<%@ include file="/taglibs.jsp" %>
+
+<html:hidden property="text" />
+
+<script type="text/javascript">
+<!--
+ function postWeblogEntry(publish)
+ {
+ document.weblogEntryFormEx.text.value = document.getElementById('edit').contentWindow.document.body.innerHTML;
+ if (publish) document.weblogEntryFormEx.publishEntry.value = "true";
+ document.weblogEntryFormEx.submit();
+ }
+-->
+</script>
+
+<%-- The rest of this is straight from the Midas demo, except the DMJ_MOD marked changes --%>
+
+<style type="text/css">
+.imagebutton {height: 22; width: 23; border: solid 2px #C0C0C0; background-color: #C0C0C0}
+.image {position: relative; left: 1; top: 1; height:20; width:21; border:none;}
+.toolbar {height: 30; background-color: #C0C0C0;}
+</style>
+
+<script>
+
+var command = "";
+
+function InitToolbarButtons() {
+ kids = document.getElementsByTagName('DIV');
+
+ for (var i=0; i < kids.length; i++) {
+ if (kids[i].className == "imagebutton") {
+ kids[i].onmouseover = tbmouseover;
+ kids[i].onmouseout = tbmouseout;
+ kids[i].onmousedown = tbmousedown;
+ kids[i].onmouseup = tbmouseup;
+ kids[i].onclick = tbclick;
+ }
+ }
+}
+
+function tbmousedown(e)
+{
+ this.firstChild.style.left = 2;
+ this.firstChild.style.top = 2;
+ this.style.border="inset 2px";
+ e.preventDefault();
+}
+
+function tbmouseup()
+{
+ this.firstChild.style.left = 1;
+ this.firstChild.style.top = 1;
+ this.style.border="outset 2px";
+}
+
+function tbmouseout()
+{
+ this.style.border="solid 2px #C0C0C0";
+}
+
+function tbmouseover()
+{
+ this.style.border="outset 2px";
+}
+
+ function insertNodeAtSelection(win, insertNode)
+ {
+ // get current selection
+ var sel = win.getSelection();
+
+ // get the first range of the selection
+ // (there's almost always only one range)
+ var range = sel.getRangeAt(0);
+
+ // deselect everything
+ sel.removeAllRanges();
+
+ // remove content of current selection from document
+ range.deleteContents();
+
+ // get location of current selection
+ var container = range.startContainer;
+ var pos = range.startOffset;
+
+ // make a new range for the new selection
+ range=document.createRange();
+
+ if (container.nodeType==3 && insertNode.nodeType==3) {
+
+ // if we insert text in a textnode, do optimized insertion
+ container.insertData(pos, insertNode.nodeValue);
+
+ // put cursor after inserted text
+ range.setEnd(container, pos+insertNode.length);
+ range.setStart(container, pos+insertNode.length);
+
+ } else {
+
+
+ var afterNode;
+ if (container.nodeType==3) {
+
+ // when inserting into a textnode
+ // we create 2 new textnodes
+ // and put the insertNode in between
+
+ var textNode = container;
+ container = textNode.parentNode;
+ var text = textNode.nodeValue;
+
+ // text before the split
+ var textBefore = text.substr(0,pos);
+ // text after the split
+ var textAfter = text.substr(pos);
+
+ var beforeNode = document.createTextNode(textBefore);
+ var afterNode = document.createTextNode(textAfter);
+
+ // insert the 3 new nodes before the old one
+ container.insertBefore(afterNode, textNode);
+ container.insertBefore(insertNode, afterNode);
+ container.insertBefore(beforeNode, insertNode);
+
+ // remove the old node
+ container.removeChild(textNode);
+
+ } else {
+
+ // else simply insert the node
+ afterNode = container.childNodes[pos];
+ container.insertBefore(insertNode, afterNode);
+ }
+
+ range.setEnd(afterNode, 0);
+ range.setStart(afterNode, 0);
+ }
+
+ sel.addRange(range);
+ };
+
+function getOffsetTop(elm) {
+
+ var mOffsetTop = elm.offsetTop;
+ var mOffsetParent = elm.offsetParent;
+
+ while(mOffsetParent){
+ mOffsetTop += mOffsetParent.offsetTop;
+ mOffsetParent = mOffsetParent.offsetParent;
+ }
+
+ return mOffsetTop;
+}
+
+function getOffsetLeft(elm) {
+
+ var mOffsetLeft = elm.offsetLeft;
+ var mOffsetParent = elm.offsetParent;
+
+ while(mOffsetParent){
+ mOffsetLeft += mOffsetParent.offsetLeft;
+ mOffsetParent = mOffsetParent.offsetParent;
+ }
+
+ return mOffsetLeft;
+}
+
+function tbclick()
+{
+ if ((this.id == "forecolor") || (this.id == "hilitecolor")) {
+ parent.command = this.id;
+ buttonElement = document.getElementById(this.id);
+ document.getElementById("colorpalette").style.left = getOffsetLeft(buttonElement);
+ document.getElementById("colorpalette").style.top = getOffsetTop(buttonElement) + buttonElement.offsetHeight;
+ document.getElementById("colorpalette").style.visibility="visible";
+ } else if (this.id == "createlink") {
+ var szURL = prompt("Enter a URL:", "");
+ document.getElementById('edit').contentWindow.document.execCommand("CreateLink",false,szURL)
+ } else if (this.id == "createtable") {
+ e = document.getElementById("edit");
+ rowstext = prompt("enter rows");
+ colstext = prompt("enter cols");
+ rows = parseInt(rowstext);
+ cols = parseInt(colstext);
+ if ((rows > 0) && (cols > 0)) {
+ table = e.contentWindow.document.createElement("table");
+ table.setAttribute("border", "1");
+ table.setAttribute("cellpadding", "2");
+ table.setAttribute("cellspacing", "2");
+ tbody = e.contentWindow.document.createElement("tbody");
+ for (var i=0; i < rows; i++) {
+ tr =e.contentWindow.document.createElement("tr");
+ for (var j=0; j < cols; j++) {
+ td =e.contentWindow.document.createElement("td");
+ br =e.contentWindow.document.createElement("br");
+ td.appendChild(br);
+ tr.appendChild(td);
+ }
+ tbody.appendChild(tr);
+ }
+ table.appendChild(tbody);
+ insertNodeAtSelection(e.contentWindow, table);
+ }
+ } else {
+ document.getElementById('edit').contentWindow.document.execCommand(this.id, false, null);
+ }
+}
+
+function Select(selectname)
+{
+ var cursel = document.getElementById(selectname).selectedIndex;
+ /* First one is always a label */
+ if (cursel != 0) {
+ var selected = document.getElementById(selectname).options[cursel].value;
+ document.getElementById('edit').contentWindow.document.execCommand(selectname, false, selected);
+ document.getElementById(selectname).selectedIndex = 0;
+ }
+ document.getElementById("edit").contentWindow.focus();
+}
+
+function dismisscolorpalette()
+{
+ document.getElementById("colorpalette").style.visibility="hidden";
+}
+
+function Start() {
+ document.getElementById('edit').contentWindow.document.designMode = "on";
+ try
+ {
+ //document.getElementById('edit').contentWindow.document.execCommand("undo", false, null);
+ }
+ catch (e)
+ {
+ alert("This demo is not supported on your level of Mozilla.");
+ }
+
+ InitToolbarButtons();
+ document.addEventListener("mousedown", dismisscolorpalette, true);
+ document.getElementById("edit").contentWindow.document.addEventListener("mousedown", dismisscolorpalette, true);
+ document.addEventListener("keypress", dismisscolorpalette, true);
+ document.getElementById("edit").contentWindow.document.addEventListener("keypress", dismisscolorpalette, true);
+
+ <%-- DMJ_MOD --%>
+ document.getElementById('edit').contentWindow.document.body.innerHTML = document.weblogEntryFormEx.text.value;
+}
+
+</script>
+
+<%-- DMJ_MOD commented this out, Roller provides the body
+</head>
+<body onLoad="Start()">
+<h2>Please note that the changing of text format (Heading, Paragraph, etc.) will only function
+properly on a 1.3b build dated after January 26, 2003. Thanks.</h2>
+--%>
+
+<table bgcolor="#C0C0C0" id="toolbar1">
+<tr>
+<td>
+
+<%-- DMJ_MOD change image paths to add images/midas --%>
+
+<div class="imagebutton" id="cut"><img class="image" src="images/midas/cut.gif" alt="Cut" title="Cut"></div>
+</td>
+<td>
+<div class="imagebutton" id="copy"><img class="image" src="images/midas/copy.gif" alt="Copy" title="Copy"></div>
+</td>
+<td>
+<div class="imagebutton" id="paste"><img class="image" src="images/midas/paste.gif" alt="Paste" title="Paste"></div>
+<td>
+</td>
+<td>
+</td>
+<td>
+<div class="imagebutton" id="undo"><img class="image" src="images/midas/undo.gif" alt="Undo" title="Undo"></div>
+</td>
+<td>
+<div class="imagebutton" id="redo"><img class="image" src="images/midas/redo.gif" alt="Redo" title="Redo"></div>
+</td>
+
+<td>
+</td>
+<td>
+<div style="left: 10;" class="imagebutton" id="createlink"><img class="image" src="images/midas/link.gif" alt="Insert Link" title="Insert Link"></div>
+</td>
+<td>
+</td>
+<td>
+<div style="left: 10;" class="imagebutton" id="createtable"><img class="image" src="images/midas/table.gif" alt="Insert Table" title="Insert Table"></div>
+</td>
+</tr>
+</table>
+<br>
+<table bgcolor="#C0C0C0" id="toolbar2">
+<tr>
+<td>
+<select id="formatblock" onchange="Select(this.id);">
+
+ <option value="<p>">Normal</option>
+ <option value="<p>">Paragraph</option>
+ <option value="<h1>">Heading 1 <h1></option>
+ <option value="<h2>">Heading 2 <h2></option>
+ <option value="<h3>">Heading 3 <h3></option>
+ <option value="<h4>">Heading 4 <h4></option>
+
+ <option value="<h5>">Heading 5 <h5></option>
+ <option value="<h6>">Heading 6 <h6></option>
+ <option value="<address>">Address <ADDR></option>
+ <option value="<pre>">Formatted <pre></option>
+</select>
+</td>
+<td>
+<select id="fontname" onchange="Select(this.id);">
+ <option value="Font">Font</option>
+
+ <option value="Arial">Arial</option>
+ <option value="Courier">Courier</option>
+ <option value="Times New Roman">Times New Roman</option>
+</select>
+</td>
+<td>
+<select unselectable="on" id="fontsize" onchange="Select(this.id);">
+ <option value="Size">Size</option>
+ <option value="1">1</option>
+
+ <option value="2">2</option>
+ <option value="3">3</option>
+ <option value="4">4</option>
+ <option value="5">5</option>
+ <option value="6">6</option>
+ <option value="7">7</option>
+
+</select>
+</td>
+
+<%-- DMJ_MOD change image paths to add images/midas --%>
+
+<td>
+<div class="imagebutton" id="bold"><img class="image" src="images/midas/bold.gif" alt="Bold" title="Bold"></div>
+</td>
+<td>
+<div class="imagebutton" id="italic"><img class="image" src="images/midas/italic.gif" alt="Italic" title="Italic"></div>
+</td>
+<td>
+<div class="imagebutton" id="underline"><img class="image" src="images/midas/underline.gif" alt="Underline" title="Underline"></div>
+</td>
+<td>
+</td>
+<td>
+<div style="left: 10;" class="imagebutton" id="forecolor"><img class="image" src="images/midas/forecolor.gif" alt="Text Color" title="Text Color"></div>
+</td>
+<td>
+
+<div style="left: 40;" class="imagebutton" id="hilitecolor"><img class="image" src="images/midas/backcolor.gif" alt="Background Color" title="Background Color"></div>
+</td>
+<td>
+</td>
+<td>
+<div style="left: 10;" class="imagebutton" id="justifyleft"><img class="image" src="images/midas/justifyleft.gif" alt="Align Left" title="Align Left"></div>
+</td>
+<td>
+<div style="left: 40;" class="imagebutton" id="justifycenter"><img class="image" src="images/midas/justifycenter.gif" alt="Center" title="Center"></div>
+</td>
+<td>
+<div style="left: 70;" class="imagebutton" id="justifyright"><img class="image" src="images/midas/justifyright.gif" alt="Align Right" title="Align Right"></div>
+</td>
+<td>
+</td>
+<td>
+<div style="left: 10;" class="imagebutton" id="insertorderedlist"><img class="image" src="images/midas/orderedlist.gif" alt="Ordered List" title="Ordered List"></div>
+
+</td>
+<td>
+<div style="left: 40;" class="imagebutton" id="insertunorderedlist"><img class="image" src="images/midas/unorderedlist.gif" alt="Unordered List" title="Unordered List"></div>
+</td>
+<td>
+</td>
+<td>
+<div style="left: 10;" class="imagebutton" id="outdent"><img class="image" src="images/midas/outdent.gif" alt="Outdent" title="Outdent"></div>
+</td>
+<td>
+<div style="left: 40;" class="imagebutton" id="indent"><img class="image" src="images/midas/indent.gif" alt="Indent" title="Indent"></div>
+</td>
+</tr>
+</table>
+<br />
+<%-- DMJ_MOD added weblogs/ to colors.html path --%>
+<iframe width="250" height="170" id="colorpalette" src="weblog/colors.html" style="visibility:hidden; position: absolute;"></iframe>
+<iframe id="edit" width="95%" height="350px"></iframe>
+<script type="text/javascript">
+function viewsource(source)
+{
+ if (source) {
+ var html = document.createTextNode(document.getElementById('edit').contentWindow.document.body.innerHTML);
+ document.getElementById('edit').contentWindow.document.body.innerHTML = "";
+ document.getElementById('edit').contentWindow.document.body.appendChild(html);
+ document.getElementById("toolbar1").style.visibility="hidden";
+ document.getElementById("toolbar2").style.visibility="hidden";
+ } else {
+ var html = document.getElementById('edit').contentWindow.document.body.ownerDocument.createRange();
+ html.selectNodeContents(document.getElementById('edit').contentWindow.document.body);
+ document.getElementById('edit').contentWindow.document.body.innerHTML = html.toString();
+ document.getElementById("toolbar1").style.visibility="visible";
+ document.getElementById("toolbar2").style.visibility="visible";
+ }
+}
+
+function usecss(source)
+{
+ document.getElementById('edit').contentWindow.document.execCommand("useCSS", false, !(source));
+}
+
+function readonly(source)
+{
+ document.getElementById('edit').contentWindow.document.execCommand("readonly", false, !(source));
+}
+</script>
+<br />
+<input type="checkbox" onclick="viewsource(this.checked)">
+View HTML Source</input>
+<input checked type="checkbox" onclick="usecss(this.checked)">
+Use CSS</input>
+<input type="checkbox" onclick="readonly(this.checked)">
+Read only</input>
+
+<br />
+<br />
+
Added: incubator/roller/trunk/web/weblog/editor-text-js.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/editor-text-js.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/editor-text-js.jsp (added)
+++ incubator/roller/trunk/web/weblog/editor-text-js.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,241 @@
+
+<%-- This page is designed to be included in edit-weblog.jsp --%>
+
+<%@ include file="/taglibs.jsp" %>
+<script type="text/javascript" src="<html:rewrite page="/theme/scripts/xmlp.js"/>"></script>
+<script type="text/javascript">
+<!--
+var expires = new Date();
+expires.setTime(expires.getTime() + 24 * 30 * 60 * 60 * 1000); // sets it for approx 30 days.
+
+function doParse() {
+ var parser = new XMLParser();
+ var form = document.forms[0];
+ // wrap contents of textarea with root element
+ var xml = "<root>" + form.text.value + "</root>";
+ try
+ {
+ parser.parse(xml);
+ }
+ catch (e)
+ {
+ var msg = "Invalid XML: " + e.message;
+ msg += "\n\nClick OK to continue posting with (possibly) invalid markup.";
+ var ans = confirm(msg);
+ if (ans)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ return true;
+}
+
+function postWeblogEntry(publish)
+{
+ if (document.getElementById("parseXML").checked) {
+ setCookie("parseXML","true",expires,"/");
+ if (doParse()) {
+ if (publish) {
+ document.weblogEntryFormEx.publishEntry.value = "true";
+ }
+ document.weblogEntryFormEx.submit();
+ }
+ } else {
+ deleteCookie("parseXML");
+ if (publish) {
+ document.weblogEntryFormEx.publishEntry.value = "true";
+ }
+ document.weblogEntryFormEx.submit();
+ }
+}
+
+function htmlcode(theform,htmltag,prompttext)
+{
+ // insert <x>yyy</x> style markup
+ inserttext = prompt(tag_prompt+"\n<"+htmltag+">xxx</"+htmltag+">",'');
+ if ((inserttext != null) && (inserttext != "")) {
+ theform.text.value += "<"+htmltag+">"+inserttext+"</"+htmltag+"> ";
+ }
+ theform.text.focus();
+}
+
+// *******************************************************
+
+function dolist(theform) {
+// inserts list with option to have numbered or alphabetical type
+ listtype = prompt(list_type_prompt, "");
+ if ((listtype == "b") || (listtype == "1")) {
+ if (listtype == "b") {
+ thelist = "<ul>\n";
+ listend = "</ul> ";
+ }
+ else {
+ if (listtype == "1") {
+ thelist = "<ol>\n";
+ listend = "</ol> ";
+ }
+ }
+ }
+ else {
+ thelist = "<ul>\n";
+ listend = "</ul> ";
+ }
+ listentry = "initial";
+ while ((listentry != "") && (listentry != null)) {
+ listentry = prompt(list_item_prompt, "");
+ if ((listentry != "") && (listentry != null))
+ thelist = thelist+"<li>"+listentry+"\n";
+ }
+ theform.text.value += thelist+listend;
+ theform.text.focus();
+}
+
+// *******************************************************
+
+function htmllink(theform,thetag) {
+// inserts named url or email link
+ linktext = prompt(link_text_prompt,"");
+ var prompttext;
+ if (thetag == "url") {
+ thetype = "a href=\"";
+ prompt_text = link_url_prompt;
+ prompt_contents = "http://";
+ }
+ else {
+ thetype = "a href=mailto:";
+ prompt_text = link_email_prompt;
+ prompt_contents = "";
+ }
+ linkurl = prompt(prompt_text,prompt_contents);
+ if ((linkurl != null) && (linkurl != "")) {
+ theform.text.value += "<"+thetype+linkurl+"\">"+linktext+"</a> ";
+ }
+ else {
+ theform.text.value += "<"+thetype+linkurl+"\">"+linktext+"</a> ";
+ }
+ theform.text.focus();
+}
+
+// *******************************************************
+
+function insertimage(theform) {
+ //insert <img src="" alt="" align=""> tag
+ imgsrc = prompt(img_src_prompt,"http://");
+ imgalt = prompt(img_alt_prompt,"");
+ imgalign = prompt(img_align_prompt,"");
+ if (imgalign == "r") imgalign = "right";
+ if (imgalign == "l") imgalign = "left";
+ theform.text.value += "<img src=\""+imgsrc+"\" alt=\""+imgalt+"\" align=\""+imgalign+"\">";
+ theform.text.focus();
+}
+
+// *******************************************************
+
+function insertmedia(theform,type) {
+ if (type == 'img') {
+ //insert <img src="" alt="" align=""> tag'
+ imgsrc = "";
+ imgsrc = theform.imagefile.options[theform.imagefile.selectedIndex].value;
+ imgsrc2 = ""
+ for (i=0; i < imgsrc.length; i++) {
+ if (imgsrc.charAt(i) == "'") {
+ imgsrc2 = imgsrc2 + "\"";
+ }
+ else {
+ imgsrc2 = imgsrc2 + imgsrc.charAt(i);
+ }
+ }
+ imgalt = prompt(img_alt_prompt,"");
+ imgalign = prompt(img_align_prompt,"");
+ if (imgalign == "r") imgalign = "right";
+ if (imgalign == "l") imgalign = "left";
+ theform.text.value += "<img src="+imgsrc2+" alt=\""+imgalt+"\" align=\""+imgalign+"\">";
+ }
+ else {
+ //type must be 'other'
+ linksrc = "";
+ linksrc = theform.mediafile.options[theform.mediafile.selectedIndex].value;
+ linktext = "";
+ linktext = prompt("Please enter the text for this link: ");
+ theform.text.value += "<a href="+linksrc+">"+linktext+"</a>";
+ }
+ theform.text.focus();
+}
+
+// *******************************************************
+// the following are the text prompts for buttons etc.
+// DO NOT ADD LINE-BREAKS BETWEEN THE "...." QUOTES!
+
+// MINI-HELP MESSAGES
+
+b_text = "Insert BOLD text";
+i_text = "Insert ITALIC text";
+u_text = "Insert UNDERLINED text";
+
+url_text = "Insert a hyperlink into your message";
+email_text = "Insert an email-link into your message";
+img_text = "Insert an image into your message";
+
+list_text = "Insert an ordered list into your message";
+quote_text = "Insert a quote into your message";
+
+// TEXT FOR POP-UP PROMPTS
+
+tag_prompt = "Enter the text to be formatted:";
+
+font_formatter_prompt = "Enter the text to be formatted with the specified";
+
+img_src_prompt = "Enter the url to the image you would like displayed";
+img_alt_prompt = "Enter the text to appear while the image is downloading";
+img_align_prompt = "Image alignment: leave blank for no alignment, r for right, l for left";
+
+link_text_prompt = "Enter the text to be displayed for the link (optional)";
+link_url_prompt = "Enter the full URL for the link";
+link_email_prompt = "Enter the email address for the link";
+
+list_type_prompt = "What type of list do you want? Enter '1' for a numbered list, enter 'b' for an bulleted list.";
+list_item_prompt = "Enter a list item.\nLeave the box empty or press 'Cancel' to complete the list.";
+// -->
+</script>
+
+<div>
+<div style="text-align: right; width: 95%">
+<div style="float: left">
+<input type="checkbox" name="parseXML" id="parseXML"
+ onclick="parseXML()"> <label for="parseXML">Validate as XML</label>
+<script type="text/javascript">
+<!--
+// determine user's parse XML preference and check box appropriately
+if (getCookie("parseXML") == "true") {
+ document.getElementById('parseXML').checked = true;
+} else {
+ document.getElementById('parseXML').checked = false;
+}
+// -->
+</script>
+</div>
+
+<input type="button" name="bold" value="bold" tabindex="3"
+ onclick="htmlcode(weblogEntryFormEx,'strong',tag_prompt)" />
+<input type="button" name="italics" value="italics" tabindex="4"
+ onclick="htmlcode(weblogEntryFormEx,'em',tag_prompt)" />
+<input type="button" name="underline" value="underline" tabindex="5"
+ onclick="htmlcode(weblogEntryFormEx,'u',tag_prompt)" />
+<input type="button" name="list" value="list" tabindex="6"
+ onclick="dolist(weblogEntryFormEx)" />
+<input type="button" name="url" value="link" tabindex="7"
+ onclick="htmllink(weblogEntryFormEx,'url')" />
+<input type="button" name="email" value="e-mail"
+ onclick="htmllink(weblogEntryFormEx,'email')" tabindex="8" />
+<input type="button" name="image" value="image" tabindex="9"
+ onclick="insertimage(weblogEntryFormEx)" />
+</div>
+<html:textarea property="text" cols="75" rows="20"
+ styleId="text" style="width: 95%" tabindex="2"/>
+</div>
+
+
Added: incubator/roller/trunk/web/weblog/editor-text.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/editor-text.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/editor-text.jsp (added)
+++ incubator/roller/trunk/web/weblog/editor-text.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,17 @@
+
+<%-- This page is designed to be included in edit-weblog.jsp --%>
+
+<%@ include file="/taglibs.jsp" %>
+
+<script type="text/javascript">
+<!--
+function postWeblogEntry(publish)
+{
+ if (publish)
+ document.weblogEntryFormEx.publishEntry.value = "true";
+ document.weblogEntryFormEx.submit();
+}
+// -->
+</script>
+
+<html:textarea property="text" cols="75" rows="20" style="width: 100%" tabindex="2"/>
Added: incubator/roller/trunk/web/weblog/export-entries.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/export-entries.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/export-entries.jsp (added)
+++ incubator/roller/trunk/web/weblog/export-entries.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,62 @@
+<%@ include file="/theme/header.jsp" %>
+<%@ page import="org.roller.presentation.BasePageModel" %>
+<%
+BasePageModel model = (BasePageModel)request.getAttribute("model");
+%>
+
+<h1><fmt:message key="weblogEntryExport.title" /></h1>
+
+<roller:StatusMessage/>
+
+<html:form action="/exportEntries" method="post" focus="title">
+
+ <html:hidden name="method" property="method" value="export"/>
+
+ <h3><fmt:message key="weblogEntryQuery.section.dateRange" /></h3>
+
+ <div class="row">
+ <label style="width:20%; float:left; text-align:right; padding: 2px" for="startDateString">
+ <fmt:message key="weblogEntryQuery.label.startDate" />:
+ </label>
+ <roller:Date property="startDateString" dateFormat='<%= model.getShortDateFormat() %>' />
+ </div>
+
+ <div class="row">
+ <label style="width:20%; float:left; text-align:right; padding: 2px" for="endDateString">
+ <fmt:message key="weblogEntryQuery.label.endDate" />:
+ </label>
+ <roller:Date property="endDateString" dateFormat='<%= model.getShortDateFormat() %>' />
+ </div>
+
+ <h3><fmt:message key="weblogEntryQuery.section.format" /></h3>
+
+ <div class="row">
+ <label style="width:20%; float:left; text-align:right; padding: 2px" for="fileBy">
+ <fmt:message key="weblogEntryQuery.label.separateEntries" />:
+ </label>
+ <select name="fileBy">
+ <option><fmt:message key="weblogEntryQuery.label.day" /></option>
+ <option selected="selected"><fmt:message key="weblogEntryQuery.label.month" /></option>
+ <option><fmt:message key="weblogEntryQuery.label.year" /></option>
+ </select>
+ </div>
+
+ <div class="row">
+ <label style="width:20%; float:left; text-align:right; padding: 2px" for="exportFormat">
+ <fmt:message key="weblogEntryQuery.label.exportTo" />:
+ </label>
+ <input type="radio" name="exportFormat" value="Atom" checked="checked">
+ <fmt:message key="weblogEntryQuery.label.atom" /></input>
+ <br />
+ <input type="radio" name="exportFormat" value="RSS" >
+ <fmt:message key="weblogEntryQuery.label.rss" /></input>
+ </div>
+
+ <div class="buttonBox">
+ <input type="button" name="post"
+ value='<fmt:message key="weblogEntryQuery.button.export" />' onclick="submit()" />
+ </div>
+
+</html:form>
+
+<%@ include file="/theme/footer.jsp" %>
Added: incubator/roller/trunk/web/weblog/import-entries.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/import-entries.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/import-entries.jsp (added)
+++ incubator/roller/trunk/web/weblog/import-entries.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,32 @@
+<%@ include file="/theme/header.jsp" %>
+
+<h1><fmt:message key="weblogEntryImport.title" /></h1>
+
+<roller:StatusMessage/>
+
+<html:form action="/importEntries" method="post" focus="title">
+
+ <html:hidden name="method" property="method" value="importEntries"/>
+
+ <h3><fmt:message key="weblogEntryImport.selectXML" /></h3>
+
+ <table cellspacing="0" cellpadding="0" class="edit">
+ <tr>
+ <td><fmt:message key="weblogEntryImport.XMLFile" /><br />
+ <html:select property="importFileName" size="1" >
+ <html:options property="xmlFiles" />
+ </html:select>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="buttonBox" colspan="1">
+ <input type="button" name="post" value='<fmt:message key="weblogEntryImport.button.import" />'
+ onclick="submit()" />
+ </td>
+ </tr>
+ </table>
+
+</html:form>
+
+<%@ include file="/theme/footer.jsp" %>
\ No newline at end of file
Added: incubator/roller/trunk/web/weblog/referers.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/referers.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/referers.jsp (added)
+++ incubator/roller/trunk/web/weblog/referers.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,42 @@
+<%@ include file="/theme/header.jsp" %>
+
+<%-- Form allows deleting of referers --%>
+<h1><fmt:message key="referers.todaysReferers" /></h1>
+<html:form action="/referers" method="post">
+<input type="hidden" name="method" value="delete" />
+
+<%-- Table of referers, with check box for each --%>
+<table width="75%" class="rollertable" >
+ <tr class="rollertable">
+ <th class="rollertable"></th>
+ <th class="rollertable"><fmt:message key="referers.url" /></th>
+ <th class="rollertable"><fmt:message key="referers.hits" /></th>
+ </tr>
+
+ <c:forEach var="referer" items="${referers}">
+ <tr>
+ <td class="rollertable">
+ <input type="checkbox" name="id" value='<c:out value="${referer.id}" />' />
+ </td>
+ <td class="rollertable">
+ <c:out value="${referer.displayUrl}" escapeXml="false" />
+ </td>
+ <td class="rollertable"><c:out value="${referer.dayHits}" /></td>
+ </tr>
+ </c:forEach>
+
+</table>
+
+<br />
+<input type="submit" value='<fmt:message key="referers.deleteSelected" />' /></input>
+</html:form>
+
+<%-- Form allows reset of day hits --%>
+<h2><fmt:message key="referers.hitCounters" /></h2>
+<p><fmt:message key="referers.hits" />: <c:out value="${pageHits}"/></p>
+<html:form action="/referers" method="post">
+ <input type="hidden" name="method" value="reset" />
+ <input type="submit" value='<fmt:message key="referers.reset" />' /></input>
+</html:form>
+
+<%@ include file="/theme/footer.jsp" %>
Added: incubator/roller/trunk/web/weblog/spellcheck-entry.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/weblog/spellcheck-entry.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/weblog/spellcheck-entry.jsp (added)
+++ incubator/roller/trunk/web/weblog/spellcheck-entry.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,85 @@
+<!-- spellcheck-entry.jsp -->
+<%@ page import="org.roller.model.RollerSpellCheck,com.swabunga.spell.event.SpellCheckEvent" %>
+<%@ page import="org.apache.commons.lang.StringUtils,java.util.*" %>
+<%@ include file="/theme/header.jsp" %>
+<script type="text/javascript">
+<!--
+ function postWeblogEntry(activeForm,publish)
+ {
+ if (publish)
+ activeForm.publishEntry.value = "true";
+ activeForm.submit();
+ }
+
+ function spellcheck(activeForm)
+ {
+ activeForm.method.value = "spellCheck";
+ postWeblogEntry(activeForm);
+ }
+// -->
+</script>
+
+<roller:StatusMessage/>
+
+<html:form action="/weblog" method="post">
+ <bean:define id="text" name="weblogEntryFormEx"
+ property="text" type="java.lang.String" />
+ <input type="hidden" name="method" value="spellCheck"/>
+ <input type="hidden" name="publishEntry" value="false" />
+ <html:hidden property="title" />
+ <html:hidden property="categoryId" />
+ <html:hidden property="dateString" />
+ <html:hidden property="hours" />
+ <html:hidden property="minutes" />
+ <html:hidden property="seconds" />
+ <html:hidden property="day"/>
+ <html:hidden property="id"/>
+ <html:hidden property="anchor"/>
+<h3>Use Spell Check Results</h3>
+
+ <table class="rTable" width="90%" border="1">
+ <tr class="rEvenTr">
+ <td class="rTd"><font style='font-size: 14px; vertical-align: middle; line-height= 18px; font-family: verdana, sans-serif;'><%= escapeText %></font></td>
+ </tr>
+ </table>
+ <br />
+ <input type="button" name="post" value="Post to Weblog"
+ onClick="javascript:postWeblogEntry(this.form,true)" />
+
+ <input type="button" name="draft" value="Save as Draft"
+ onClick="javascript:postWeblogEntry(this.form)" />
+
+</html:form>
+
+<h2>Or</h2>
+
+<html:form action="/weblog" method="post" focus="title">
+
+<h3>Edit Manually</h3>
+ <input type="hidden" name="method" value="update"/>
+ <input type="hidden" name="publishEntry" value="false" />
+ <html:hidden property="title" />
+ <html:hidden property="categoryId" />
+ <html:hidden property="dateString" />
+ <html:hidden property="hours" />
+ <html:hidden property="minutes" />
+ <html:hidden property="seconds" />
+ <html:hidden property="day"/>
+ <html:hidden property="id"/>
+ <html:hidden property="anchor"/>
+ <html:textarea property="text" cols="75" rows="20" style="width: 90%"/>
+ <br />
+ <br />
+ <input type="button" name="post" value="Post to Weblog"
+ onClick="javascript:postWeblogEntry(this.form, true)" />
+
+ <input type="button" name="draft" value="Save as Draft"
+ onClick="javascript:postWeblogEntry(this.form)" />
+
+ <input type="button" name="spelling" value="Recheck"
+ onClick="javascript:spellcheck(this.form)" />
+
+</html:form>
+
+
+<%@ include file="/theme/footer.jsp" %>
\ No newline at end of file
Added: incubator/roller/trunk/web/website/Maintenance.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/Maintenance.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/Maintenance.jsp (added)
+++ incubator/roller/trunk/web/website/Maintenance.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,23 @@
+<%@ include file="/theme/header.jsp" %>
+
+<h1><fmt:message key="maintenance.title" /></h1>
+
+<html:form action="/maintenance" method="post">
+
+ <input type="hidden" name="method" value="" />
+
+ <fmt:message key="maintenance.prompt.index" /><br />
+ <input type="submit" value='<fmt:message key="maintenance.button.index" />'
+ onclick="this.form.method.value='index'" />
+ <br />
+ <br />
+
+ <fmt:message key="maintenance.prompt.flush" /><br />
+ <input type="submit" value='<fmt:message key="maintenance.button.flush" />'
+ onclick="this.form.method.value='flushCache'" />
+
+</html:form>
+
+<%@ include file="/theme/footer.jsp" %>
+
+
Added: incubator/roller/trunk/web/website/adminUser.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/adminUser.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/adminUser.jsp (added)
+++ incubator/roller/trunk/web/website/adminUser.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,65 @@
+
+<%@ include file="/theme/header.jsp" %>
+
+<roller:StatusMessage/>
+
+<h1><fmt:message key="userAdmin.title" /></h1>
+
+<html:form action="/adminUser" method="post">
+ <p>
+ <strong><fmt:message key="userAdmin.editUser" />:</strong>
+ <html:text property="userName" size="10" />
+ <input type="submit" value='<fmt:message key="userAdmin.edit" />' />
+ <input type="submit" value='<fmt:message key="userAdmin.rebuildIndex" />' onclick="this.form.method.value='index'" />
+ <html:hidden property="method" value="edit" />
+ </p>
+</html:form>
+
+<br />
+
+<c:if test="${not empty userAdminForm.userName}">
+ <h2><fmt:message key="userAdmin.userSettings" /></h2>
+ <html:form action="/adminUser" method="post">
+
+ <table>
+ <tr>
+ <td><fmt:message key="userAdmin.delete" /><br />
+ <html:checkbox property="delete" />
+ <span class="warning"><fmt:message key="userAdmin.warning" /></span>
+ </td>
+ </tr>
+ <tr>
+ <td><fmt:message key="userAdmin.enabled" /><br />
+ <html:checkbox property="userEnabled" value="true" />
+ </td>
+ <tr>
+ <td><fmt:message key="userAdmin.name" /><br />
+ <html:text property="fullName" size="50"/>
+ </td>
+ </tr>
+ <c:if test="${cookieLogin != 'true'}">
+ <tr>
+ <td><fmt:message key="userAdmin.password" /><br />
+ <html:password property="password" size="50"/>
+ </td>
+ </tr>
+ </c:if>
+ <tr>
+ <td><fmt:message key="userAdmin.email" /><br />
+ <html:text property="emailAddress" size="50"/></input>
+ </td>
+ </tr>
+ </table>
+
+ <html:hidden property="id"/></input>
+ <html:hidden property="userName" /></input>
+
+ <input type="submit" value='<fmt:message key="userAdmin.save" />'/></input>
+ <html:hidden property="method" value="update"/></input>
+
+ </html:form>
+</c:if>
+
+<%@ include file="/theme/footer.jsp" %>
+
+
Added: incubator/roller/trunk/web/website/edit-page.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/edit-page.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/edit-page.jsp (added)
+++ incubator/roller/trunk/web/website/edit-page.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,54 @@
+
+<%@ include file="/theme/header.jsp" %>
+
+<roller:StatusMessage/>
+
+<html:form action="/page" method="post">
+
+ <h1><fmt:message key="pageForm.editPage" />:<bean:write name="pageForm" property="name" /></h1>
+
+ <table>
+ <tr>
+ <td><fmt:message key="pageForm.name" /><br />
+ <html:text property="name" size="50"/>
+ </td>
+ </tr>
+ <tr>
+ <td><fmt:message key="pageForm.link" /><br />
+ <html:text property="link" size="50"/>
+ </td>
+ </tr>
+ <tr>
+ <td><fmt:message key="pageForm.description" /><br />
+ <html:textarea property="description" rows="3" cols="50"/>
+ </td>
+ </tr>
+ <tr>
+ <td><fmt:message key="pageForm.template" /><br />
+ <html:textarea property="template" cols="80" rows="30" style="width: 100%" />
+ </td>
+ </tr>
+ </table>
+
+ <html:hidden property="id"/>
+ <html:hidden property="name"/>
+
+ <br />
+ <input type="submit" value='<fmt:message key="pageForm.save" />' /></input>
+ <html:hidden property="method" value="update"/>
+
+</html:form>
+
+<%--
+Added by Matt Raible since the focus javascript generated by Struts
+doesn't seem to work for forms with duplicate named elements.
+--%>
+<script type="text/javascript">
+<!--
+ document.forms[0].elements[0].focus();
+// -->
+</script>
+
+<%@ include file="/theme/footer.jsp" %>
+
+
Added: incubator/roller/trunk/web/website/edit-pages.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/edit-pages.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/edit-pages.jsp (added)
+++ incubator/roller/trunk/web/website/edit-pages.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,61 @@
+
+<%@ include file="/theme/header.jsp" %>
+
+<roller:StatusMessage/>
+
+<h1><fmt:message key="pagesForm.title" /></h1>
+
+<%-- table of pages --%>
+<table class="rollertable">
+ <tr>
+ <th width="10%"><fmt:message key="pagesForm.name" /></th>
+ <th width="10%"><fmt:message key="pagesForm.link" /></th>
+ <th width="70%"><fmt:message key="pagesForm.description" /></th>
+ <th width="5%"><fmt:message key="pagesForm.edit" /></th>
+ <th width="5%"><fmt:message key="pagesForm.remove" /></th>
+ </tr>
+ <logic:iterate id="p" name="pages" >
+ <roller:row oddStyleClass="rollertable_odd" evenStyleClass="rollertable_even">
+
+ <td><bean:write name="p" property="name" /></td>
+ <td><bean:write name="p" property="link" /></td>
+ <td><bean:write name="p" property="description" /></td>
+
+ <%-- links to edit and remove page actions --%>
+ <td class="center">
+ <roller:link forward="editPage">
+ <roller:linkparam id="username" name="user" property="userName" />
+ <roller:linkparam id="pageid" name="p" property="id" />
+ <img src="images/Edit16.png" border="0" alt="icon" />
+ </roller:link>
+ </td>
+
+ <td class="center">
+ <roller:link forward="removePage.ok">
+ <roller:linkparam id="username" name="user" property="userName" />
+ <roller:linkparam id="pageid" name="p" property="id" />
+ <img src="images/Remove16.gif" border="0" alt="icon" />
+ </roller:link>
+ </td>
+
+ </roller:row>
+ </logic:iterate>
+</table>
+
+<p><fmt:message key="pagesForm.hiddenNote" /></p>
+
+<%-- form to add a new page --%>
+<h2><fmt:message key="pagesForm.addNewPage" /></h2>
+<html:form action="/page" method="post" focus="name">
+
+ <fmt:message key="pagesForm.name"/>: <html:text property="name" size="30"/>
+
+ <input type="submit" value='<fmt:message key="pagesForm.add" />' />
+ <input type="hidden" property="template"
+ value="<html><body><fmt:message key="pagesForm.emptyPage" /></body></html>" />
+ <html:hidden property="method" value="add"/>
+
+</html:form>
+
+<%@ include file="/theme/footer.jsp" %>
+
Added: incubator/roller/trunk/web/website/edit-website.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/edit-website.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/edit-website.jsp (added)
+++ incubator/roller/trunk/web/website/edit-website.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,163 @@
+<%@ include file="/theme/header.jsp" %>
+
+<roller:StatusMessage/>
+
+<h1><fmt:message key="websiteSettings.title" /></h1>
+<html:form action="/website" method="post">
+ <html:hidden property="method" value="update"/></input>
+
+ <html:hidden property="id"/></input>
+ <html:hidden property="weblogDayPageId" />
+ <html:hidden property="locale"/></input>
+ <html:hidden property="timezone"/></input>
+ <html:hidden property="editorTheme"/></input>
+ <html:hidden property="isEnabled"/></input>
+
+<table>
+
+ <tr>
+ <td class="propname" width="30%"><fmt:message key="websiteSettings.websiteTitle" />
+ <td><html:text property="name" size="60"/></input></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="websiteSettings.websiteDescription" /></td>
+ <td><html:textarea property="description" rows="3" cols="40"/></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="websiteSettings.homePage" /></td>
+ <td>
+ <html:select property="defaultPageId" size="1">
+ <html:options collection="pages"
+ property="id" labelProperty="name" />
+ </html:select>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="websiteSettings.editor" /></td>
+ <td>
+ <html:select property="editorPage" size="1">
+ <html:options name="editorPagesList" />
+ </html:select></p>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="websiteSettings.defaultCategory" /></td>
+ <td>
+ <html:select property="defaultCategoryId" size="1">
+ <html:options collection="categories"
+ property="id" labelProperty="name" />
+ </html:select>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="websiteSettings.allowComments" /></td>
+ <td><html:checkbox property="allowComments" /></input></td>
+ </tr>
+<%
+RollerContext rc = RollerContext.getRollerContext(request);
+RollerConfig rollerConfig = rc.getRollerConfig();
+boolean emailComments = rollerConfig.getEmailComments().booleanValue();
+if (emailComments) { %>
+ <tr>
+ <td class="propname"><fmt:message key="websiteSettings.emailComments" /></td>
+ <td><html:checkbox property="emailComments" onclick="toggleNextRow(this)" /></input></td>
+ </tr>
+
+ <tr <c:if test="${!websiteFormEx.emailComments}">style="display: none"</c:if>>
+ <td class="propname"><fmt:message key="websiteSettings.emailFromAddress" /></td>
+ <td><html:text size="50" property="emailFromAddress" /></input></td>
+ </tr>
+
+ <tr>
+ <td><h2><fmt:message key="websiteSettings.formatting" /></h2></td>
+ <td></td>
+ </tr>
+<% } %>
+
+<% if (org.roller.presentation.velocity.ContextLoader.hasPlugins()) { %>
+ <tr>
+ <td class="propname">Default Entry Formatters <br />(applied in the listed order)</td>
+ <td>
+ <logic:iterate id="plugin" type="org.roller.presentation.velocity.PagePlugin"
+ collection="<%= org.roller.presentation.velocity.ContextLoader.getPagePlugins() %>">
+ <html:multibox property="defaultPluginsArray"
+ title="<%= plugin.getName() %>" value="<%= plugin.getName() %>" /></input>
+ <label for="<%= plugin.getName() %>"><%= plugin.getName() %></label>
+ <a href="javascript:void(0);" onmouseout="return nd();"
+ onmouseover="return overlib('<%= plugin.getDescription() %>', STICKY, MOUSEOFF, TIMEOUT, 3000);">?</a>
+ <br />
+ </logic:iterate>
+ </td>
+ </tr>
+<% } else { %>
+ <html:hidden property="defaultPlugins" />
+<% } %>
+
+ <tr>
+ <td><h2><fmt:message key="websiteSettings.bloggerApi" /></h2></td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="websiteSettings.enableBloggerApi" /></td>
+ <td><html:checkbox property="enableBloggerApi" onclick="onEnableBloggerApi()" /></input></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="websiteSettings.bloggerApiCategory" /></td>
+ <td>
+ <html:select property="bloggerCategoryId" size="1">
+ <html:options collection="bloggerCategories"
+ property="id" labelProperty="name" />
+ </html:select>
+ </td>
+ </tr>
+
+ <tr>
+ <td><h2><fmt:message key="websiteSettings.spamPrevention" /></h2></td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="websiteSettings.ignoreUrls" /></td>
+ <td><html:textarea property="ignoreWords" rows="3" cols="40"/></td>
+ </tr>
+ <tr>
+ <td> </td>
+ </tr>
+ <tr>
+ <td class="buttonBox" colspan="2">
+ <input type="submit" value='<fmt:message key="websiteSettings.button.update" />' />
+ </td>
+ </tr>
+</table>
+
+</html:form>
+
+<script type="text/javascript">
+<!--
+// Added since the focus javascript generated by Struts
+// doesn't seem to work for forms with duplicate named elements.
+document.forms[0].elements[0].focus();
+
+function onEnableBloggerApi()
+{
+ if ( document.websiteForm.enableBloggerApi.checked == true )
+ {
+ document.websiteForm.bloggerCategoryId.disabled = false;
+ }
+ else
+ {
+ document.websiteForm.bloggerCategoryId.disabled = true;
+ }
+}
+//-->
+</script>
+
+<%@ include file="/theme/footer.jsp" %>
+
Added: incubator/roller/trunk/web/website/export.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/export.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/export.jsp (added)
+++ incubator/roller/trunk/web/website/export.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,13 @@
+
+<%@ include file="/theme/header.jsp" %>
+
+<h3>Export Website to XML</h3>
+
+<p>The link below will retrieve all of your user data in Roller's own XML format.</p>
+
+<p>
+<a href="<%= request.getContextPath()+"/ExportServlet" %>">EXPORT</a>
+</p>
+
+<%@ include file="/theme/footer.jsp" %>
+
Added: incubator/roller/trunk/web/website/remove-page.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/remove-page.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/remove-page.jsp (added)
+++ incubator/roller/trunk/web/website/remove-page.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,37 @@
+
+<%@ include file="/theme/header.jsp" %>
+
+
+<h3>
+<jsp:useBean id="pageForm" scope="session"
+ class="org.roller.presentation.forms.PageForm"/>
+Remove Page [<jsp:getProperty name="pageForm" property="name"/>]
+</h3>
+
+<p>Are you sure you want to remove this page?</p>
+<p>
+Page name = [<jsp:getProperty name="pageForm" property="name"/>]<br />
+Page id = [<jsp:getProperty name="pageForm" property="id"/>]
+</p>
+
+<table>
+<tr>
+ <td>
+ <html:form action="/page" method="post">
+ <html:submit value="Yes"/></input>
+ <html:hidden property="method" value="remove"/></input>
+ <html:hidden property="id" /></input>
+ </html:form>
+ </td>
+ <td>
+ <html:form action="/page" method="post">
+ <html:hidden name="user" property="userName" /></input>
+ <html:submit value="No"/></input>
+ <html:hidden property="method" value="cancel"/></input>
+ </html:form>
+ </td>
+</tr>
+</table>
+
+<%@ include file="/theme/footer.jsp" %>
+
Added: incubator/roller/trunk/web/website/rollerConfig.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/rollerConfig.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/rollerConfig.jsp (added)
+++ incubator/roller/trunk/web/website/rollerConfig.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,186 @@
+
+<%@ include file="/theme/header.jsp" %>
+
+<roller:StatusMessage/>
+
+<h1><fmt:message key="configForm.title" /></h1>
+<html:form action="/rollerConfig" method="post">
+
+ <html:hidden property="id"/></input>
+ <html:hidden property="databaseVersion"/></input>
+
+ <table border="0">
+
+ <tr>
+ <td colspan="2"><h2><fmt:message key="configForm.siteSettings" /></h2></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.siteName" /></td>
+ <td><html:text property="siteName" size="50" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.siteDescription" /></td>
+ <td><html:text property="siteDescription" size="50" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.siteAdminEmail" /></td>
+ <td><html:text property="emailAddress" size="50" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.absoluteUrl" /></td>
+ <td><html:text property="absoluteURL" size="50" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.enableLinkback" /></td>
+ <td><html:checkbox property="enableLinkback" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.searchIndexDir" /></td>
+ <td><html:text property="indexDir" size="50" /></td>
+ </tr>
+
+ <tr>
+ <td colspan="2"><h2><fmt:message key="configForm.userSettings" /></h2></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.allowNewUsers" /></td>
+ <td><html:checkbox property="newUserAllowed" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.adminUsers" /></td>
+ <td><html:text property="adminUsers" size="30" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.encryptPasswords" /></td>
+ <td><html:checkbox property="encryptPasswords" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.algorithm" /></td>
+ <td><html:text property="algorithm" size="5" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.newUserThemes" /></td>
+ <td><html:text property="userThemes"/></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.editorPages" /></td>
+ <td><html:textarea property="editorPages" cols="40" rows="2" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.autoformatComments" /></td>
+ <td><html:checkbox property="autoformatComments" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.escapeCommentHtml" /></td>
+ <td><html:checkbox property="escapeCommentHtml" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.emailComments" /></td>
+ <td><html:checkbox property="emailComments" /></td>
+ </tr>
+
+ <tr>
+ <td colspan="2"> </td>
+ </tr>
+
+ <tr>
+ <td colspan="2"><h2><fmt:message key="configForm.fileUploadSettings" /></h2></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.enableFileUploads" /></td>
+ <td><html:checkbox property="uploadEnabled" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.allowedExtensions" /></td>
+ <td><html:text property="uploadAllow" size="30" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.forbiddenExtensions" /></td>
+ <td><html:text property="uploadForbid" size="30" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.maxFileSize" /></td>
+ <td><html:text property="uploadMaxFileMB" size="5" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.maxDirSize" /></td>
+ <td><html:text property="uploadMaxDirMB" size="5" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.uploadDir" /></td>
+ <td><html:text property="uploadDir" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.uploadPath" /></td>
+ <td><html:text property="uploadPath" /></td>
+ </tr>
+
+ <tr>
+ <td colspan="2"> </td>
+ </tr>
+
+ <tr>
+ <td colspan="2"><h2><fmt:message key="configForm.rssAggregatorSettings" /></h2></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.enableRssAggregator" /></td>
+ <td><html:checkbox property="enableAggregator" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.cacheIncomingRss" /></td>
+ <td><html:checkbox property="rssUseCache" /></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.rssNewsfeedCacheTime" /></td>
+ <td><html:text property="rssCacheTime" size="4" /></td>
+ </tr>
+
+ <tr>
+ <td colspan="2"><h2><fmt:message key="configForm.debuggingSettings" /></h2></td>
+ </tr>
+
+ <tr>
+ <td class="propname"><fmt:message key="configForm.enableMemoryDebugging" /></td>
+ <td><html:checkbox property="memDebug" /></td>
+ </tr>
+ <tr>
+ <td> </td>
+ </tr>
+ <tr>
+ <td class="buttonBox" colspan="2">
+ <input class="buttonBox" type="submit" value='<fmt:message key="configForm.save" />'/>
+ </td>
+ </tr>
+ </table>
+
+ <html:hidden property="method" value="update"/>
+
+</html:form>
+
+
+<%@ include file="/theme/footer.jsp" %>
\ No newline at end of file
Added: incubator/roller/trunk/web/website/theme-editor.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/theme-editor.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/theme-editor.jsp (added)
+++ incubator/roller/trunk/web/website/theme-editor.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,79 @@
+<%@ include file="/theme/header.jsp"%>
+<%
+String username = "";
+try
+{
+ RollerRequest rreq = RollerRequest.getRollerRequest(request);
+ UserData ud = rreq.getUser();
+ username = ud.getUserName();
+}
+catch (Exception e)
+{
+ throw new ServletException(e);
+}
+%>
+<h1><fmt:message key="themeEditor.title" /></h1>
+
+<html:form action="/themeEditor" method="post">
+
+<input type=hidden name="method" value='preview' />
+
+<table width="95%">
+
+ <tr>
+ <td>
+ <c:if test='${empty themeEditorForm.themeName || themeEditorForm.themeName == "Custom"}' >
+ <p><fmt:message key="themeEditor.yourThemeIsShownBelow" /></p>
+ </c:if>
+ <c:if test='${!empty themeEditorForm.themeName && themeEditorForm.themeName != "Custom"}' >
+ <p><fmt:message key="themeEditor.themeBelowIsCalled" /> <b><c:out value="${themeEditorForm.themeName}" /></b></p>
+ <p><fmt:message key="themeEditor.savePrompt" /></p>
+ <p><fmt:message key="themeEditor.saveWarning" /></p>
+ <input type="button" value='<fmt:message key="themeEditor.save" />' name="saveButton"
+ onclick="this.form.method.value='save';this.form.submit()" tabindex="4" />
+
+ <input type="button" value='<fmt:message key="themeEditor.cancel" />' name="cancelButton"
+ onclick="this.form.method.value='cancel';this.form.submit()" tabindex="5" />
+ </c:if>
+ </td>
+ </tr>
+
+ <tr>
+ <td> </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p><fmt:message key="themeEditor.selectTheme" />:
+ <html:select property="themeName" size="1" onchange="this.form.submit()" >
+ <html:options name="themes"/>
+ </html:select> </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <iframe name="preview" id="preview"
+ src="<%= request.getContextPath() %>/preview/<%= username %>/"
+ frameborder=1 width="100%" height="400"
+ marginheight="0" marginwidth="0"></iframe>
+ </td>
+ </tr>
+
+</table>
+
+</html:form>
+
+
+<script type="text/javascript">
+<!--
+ function save()
+ {
+ //alert(document.themeEditorForm.method.value);
+ document.themeEditorForm.method.value = "save";
+ document.themeEditorForm.submit();
+ }
+// -->
+</script>
+
+<%@ include file="/theme/footer.jsp"%>
\ No newline at end of file
Added: incubator/roller/trunk/web/website/upload-file.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/upload-file.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/website/upload-file.jsp (added)
+++ incubator/roller/trunk/web/website/upload-file.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,34 @@
+<%@ include file="/theme/header.jsp" %>
+
+<roller:StatusMessage/>
+
+<h1><fmt:message key="uploadFiles.title" /></h1>
+<roller:FileUpload />
+
+<h2><fmt:message key="uploadFiles.manageFiles" /></h2>
+
+<html:form action="/uploadFiles" method="post">
+ <roller:FileManager />
+ <table>
+ <tr>
+ <td align="left">
+ <input type="submit" value='<fmt:message key="uploadFiles.button.delete" />' /></input>
+ </td>
+ </tr>
+ </table>
+ <input type="hidden" name="method" value="delete"></input>
+</html:form>
+
+<%--
+Added by Matt Raible since the focus javascript generated by Struts uses
+a name reference and IE seems to only focus on file inputs via elements[0]?
+--%>
+<script type="text/javascript">
+<!--
+ document.forms[0].elements[0].focus();
+// -->
+</script>
+
+
+<%@ include file="/theme/footer.jsp" %>
+
Added: incubator/roller/trunk/web/welcome.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/welcome.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/welcome.jsp (added)
+++ incubator/roller/trunk/web/welcome.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,16 @@
+
+<%@ include file="/theme/header.jsp" %>
+
+<h2><fmt:message key="welcome.title" /></h2>
+
+<p><fmt:message key="welcome.accountCreated" /></p>
+
+<p><b><fmt:message key="welcome.addressIs" />:</b> <c:out value="${weblogURL}"/></p>
+
+<p><b><fmt:message key="welcome.rssAddressIs" />:</b> <c:out value="${rssURL}"/></p>
+
+<p><a href="weblog.do?method=create&rmik=New%20Entry"><fmt:message key="welcome.clickHere" /></a>
+<fmt:message key="welcome.toLoginAndPost" /></p>
+
+<%@ include file="/theme/footer.jsp" %>
+