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 2009/05/24 05:08:01 UTC
svn commit: r778077 - in /roller/trunk/apps/weblogger/web/WEB-INF/jsps:
admin/GlobalCommentManagement.jsp editor/Comments.jsp
Author: snoopdave
Date: Sun May 24 03:08:00 2009
New Revision: 778077
URL: http://svn.apache.org/viewvc?rev=778077&view=rev
Log:
Fixing logic for showing only first 1000 characers of long comments:
https://issues.apache.org/jira/browse/ROL-1803
Modified:
roller/trunk/apps/weblogger/web/WEB-INF/jsps/admin/GlobalCommentManagement.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/Comments.jsp
Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/admin/GlobalCommentManagement.jsp
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/admin/GlobalCommentManagement.jsp?rev=778077&r1=778076&r2=778077&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/jsps/admin/GlobalCommentManagement.jsp (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/admin/GlobalCommentManagement.jsp Sun May 24 03:08:00 2009
@@ -303,7 +303,7 @@
<br />
<span class="details">
- <s:if test="#comment.content.length > 1000">
+ <s:if test="#comment.content.length() > 1000">
<pre><div id="comment-<s:property value="#comment.id"/>"><str:wordWrap width="72"><str:truncateNicely upper="1000" appendToEnd="..."><s:property value="#comment.content" escape="true" /></str:truncateNicely></str:wordWrap></div></pre>
<div id="link-<s:property value="#comment.id"/>">
<a onclick='readMoreComment("<s:property value="#comment.id"/>")'>
Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/Comments.jsp
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/Comments.jsp?rev=778077&r1=778076&r2=778077&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/Comments.jsp (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/Comments.jsp Sun May 24 03:08:00 2009
@@ -19,62 +19,62 @@
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<script type="text/javascript">
-<!--
-function setChecked(val, name) {
- form = $('comments');
- len = form.elements.length;
- var i=0;
- for( i=0 ; i<len ; i++) {
- if (form.elements[i].name == name) {
- form.elements[i].checked=val;
+ <!--
+ function setChecked(val, name) {
+ form = $('comments');
+ len = form.elements.length;
+ var i=0;
+ for( i=0 ; i<len ; i++) {
+ if (form.elements[i].name == name) {
+ form.elements[i].checked=val;
+ }
}
}
-}
-function bulkDelete() {
- if (window.confirm('<s:text name="commentManagement.confirmBulkDelete"><s:param value="bulkDeleteCount" /></s:text>')) {
- document.commentQueryForm.method.value = "bulkDelete";
- document.commentQueryForm.submit();
+ function bulkDelete() {
+ if (window.confirm('<s:text name="commentManagement.confirmBulkDelete"><s:param value="bulkDeleteCount" /></s:text>')) {
+ document.commentQueryForm.method.value = "bulkDelete";
+ document.commentQueryForm.submit();
+ }
}
-}
-function createRequestObject() {
- var ro;
- var browser = navigator.appName;
- if (browser == "Microsoft Internet Explorer") {
- ro = new ActiveXObject("Microsoft.XMLHTTP");
- } else {
- ro = new XMLHttpRequest();
+ 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;
+
+ function readMoreComment(id) {
+ url = "<%= request.getContextPath()%>/roller-ui/authoring/commentdata?id=" + id;
+ if (isBusy) return;
+ isBusy = true;
+ http.open('get', url);
+ http.onreadystatechange = handleCommentResponse;
+ http.send(null);
}
- return ro;
-}
-var http = createRequestObject();
-var init = false;
-var isBusy = false;
-
-function readMoreComment(id) {
- url = "<%= request.getContextPath() %>/roller-ui/authoring/commentdata?id=" + id;
- if (isBusy) return;
- isBusy = true;
- http.open('get', url);
- http.onreadystatechange = handleCommentResponse;
- http.send(null);
-}
-
-function handleCommentResponse() {
- if (http.readyState == 4) {
- comment = eval("(" + http.responseText + ")");
- commentDiv = $("comment-" + comment.id);
- commentDiv.textContent = comment.content;
- linkDiv = $("link-" + comment.id);
- linkDiv.parentNode.removeChild(linkDiv);
+
+ function handleCommentResponse() {
+ if (http.readyState == 4) {
+ comment = eval("(" + http.responseText + ")");
+ commentDiv = $("comment-" + comment.id);
+ commentDiv.textContent = comment.content;
+ linkDiv = $("link-" + comment.id);
+ linkDiv.parentNode.removeChild(linkDiv);
+ }
+ isBusy = false;
}
- isBusy = false;
-}
--->
+ -->
</script>
<p class="subtitle">
- <s:if test="bean.entryId != null">
+ <s:if test="bean.entryId != null">
<s:text name="Manage comments for entry titled <span>{0}</span>">
<s:param><s:property value="firstComment.weblogEntry.title" /></s:param>
</s:text>
@@ -94,269 +94,269 @@
<s:else>
-<%-- ============================================================= --%>
+ <%-- ============================================================= --%>
<%-- Comment table / form with checkboxes --%>
<%-- ============================================================= --%>
-<s:form action="comments!update">
- <s:hidden name="weblog" />
- <s:hidden name="bean.ids" />
- <s:hidden name="bean.entryId" />
- <s:hidden name="bean.offset" />
- <s:hidden name="bean.count" />
- <s:hidden name="bean.startDateString" />
- <s:hidden name="bean.endDateString" />
- <s:hidden name="bean.pendingString" />
- <s:hidden name="bean.spamString" />
-
-<%-- ============================================================= --%>
+ <s:form action="comments!update">
+ <s:hidden name="weblog" />
+ <s:hidden name="bean.ids" />
+ <s:hidden name="bean.entryId" />
+ <s:hidden name="bean.offset" />
+ <s:hidden name="bean.count" />
+ <s:hidden name="bean.startDateString" />
+ <s:hidden name="bean.endDateString" />
+ <s:hidden name="bean.pendingString" />
+ <s:hidden name="bean.spamString" />
+
+ <%-- ============================================================= --%>
<%-- Number of comments and date message --%>
-<%-- ============================================================= --%>
-
-<div class="tablenav">
-
- <div style="float:left;">
- <s:text name="commentManagement.nowShowing">
- <s:param value="pager.items.size()" />
- </s:text>
- </div>
- <div style="float:right;">
- <s:date name="firstComment.postTime" format="MM/dd/yy hh:mm a" />
- ---
- <s:date name="lastComment.postTime" format="MM/dd/yy hh:mm a" />
- </div>
- <br />
-
-
- <%-- ============================================================= --%>
+ <%-- ============================================================= --%>
+
+ <div class="tablenav">
+
+ <div style="float:left;">
+ <s:text name="commentManagement.nowShowing">
+ <s:param value="pager.items.size()" />
+ </s:text>
+ </div>
+ <div style="float:right;">
+ <s:date name="firstComment.postTime" format="MM/dd/yy hh:mm a" />
+ ---
+ <s:date name="lastComment.postTime" format="MM/dd/yy hh:mm a" />
+ </div>
+ <br />
+
+
+ <%-- ============================================================= --%>
<%-- Next / previous links --%>
<%-- ============================================================= --%>
-
- <s:if test="pager.prevLink != null && pager.nextLink != null">
- <br /><center>
- «
- <a href='<s:property value="pager.prevLink" />'>
- <s:text name="commentManagement.prev" /></a>
- | <a href='<s:property value="pager.nextLink" />'>
- <s:text name="commentManagement.next" /></a>
- »
- </center><br />
- </s:if>
- <s:elseif test="pager.prevLink != null">
- <br /><center>
- «
- <a href='<s:property value="pager.prevLink" />'>
- <s:text name="commentManagement.prev" /></a>
- | <s:text name="commentManagement.next" />
- »
- </center><br />
- </s:elseif>
- <s:elseif test="pager.nextLink != null">
- <br /><center>
- «
- <s:text name="commentManagement.prev" />
- | <a class="" href='<s:property value="pager.nextLink" />'>
- <s:text name="commentManagement.next" /></a>
- »
- </center><br />
- </s:elseif>
- <s:else><br /></s:else>
-
-</div> <%-- class="tablenav" --%>
-
+ <s:if test="pager.prevLink != null && pager.nextLink != null">
+ <br /><center>
+ «
+ <a href='<s:property value="pager.prevLink" />'>
+ <s:text name="commentManagement.prev" /></a>
+ | <a href='<s:property value="pager.nextLink" />'>
+ <s:text name="commentManagement.next" /></a>
+ »
+ </center><br />
+ </s:if>
+ <s:elseif test="pager.prevLink != null">
+ <br /><center>
+ «
+ <a href='<s:property value="pager.prevLink" />'>
+ <s:text name="commentManagement.prev" /></a>
+ | <s:text name="commentManagement.next" />
+ »
+ </center><br />
+ </s:elseif>
+ <s:elseif test="pager.nextLink != null">
+ <br /><center>
+ «
+ <s:text name="commentManagement.prev" />
+ | <a class="" href='<s:property value="pager.nextLink" />'>
+ <s:text name="commentManagement.next" /></a>
+ »
+ </center><br />
+ </s:elseif>
+ <s:else><br /></s:else>
+
+ </div> <%-- class="tablenav" --%>
+
+
<%-- ============================================================= --%>
<%-- Bulk comment delete link --%>
<%-- ============================================================= --%>
-
-<s:if test="bulkDeleteCount > 0">
- <p>
- <s:text name="commentManagement.bulkDeletePrompt1">
- <s:param value="bulkDeleteCount" />
- </s:text>
- <a href="#" onclick="bulkDelete()">
- <s:text name="commentManagement.bulkDeletePrompt2" />
- </a>
- </p>
-</s:if>
+ <s:if test="bulkDeleteCount > 0">
+ <p>
+ <s:text name="commentManagement.bulkDeletePrompt1">
+ <s:param value="bulkDeleteCount" />
+ </s:text>
+ <a href="#" onclick="bulkDelete()">
+ <s:text name="commentManagement.bulkDeletePrompt2" />
+ </a>
+ </p>
+ </s:if>
+
+
+ <table class="rollertable" width="100%">
+
+ <%-- ======================================================== --%>
+ <%-- Comment table header --%>
+
+ <tr>
+ <th class="rollertable" width="5%">
+ <s:text name="commentManagement.columnApproved" />
+ </th>
+ <th class="rollertable" width="5%">
+ <s:text name="commentManagement.columnSpam" />
+ </th>
+ <th class="rollertable" width="5%" >
+ <s:text name="commentManagement.columnDelete" />
+ </th>
+ <th class="rollertable">
+ <s:text name="commentManagement.columnComment" />
+ </th>
+ </tr>
+
+ <%-- ======================================================== --%>
+ <%-- Select ALL and NONE buttons --%>
+
+ <tr class="actionrow">
+ <td align="center">
+ <s:text name="commentManagement.select" /><br/>
+
+ <a href="#" onclick='setChecked(1,"bean.approvedComments")'>
+ <s:text name="commentManagement.all" /></a><br />
+
+ <a href="#" onclick='setChecked(0,"bean.approvedComments")'>
+ <s:text name="commentManagement.none" /></a>
+ </td>
+ <td align="center">
+ <s:text name="commentManagement.select" /><br/>
+
+ <a href="#" onclick='setChecked(1,"bean.spamComments")'>
+ <s:text name="commentManagement.all" /></a><br />
+
+ <a href="#" onclick='setChecked(0,"bean.spamComments")'>
+ <s:text name="commentManagement.none" /></a>
+ </td>
+ <td align="center">
+ <s:text name="commentManagement.select" /><br/>
+
+ <a href="#" onclick='setChecked(1,"bean.deleteComments")'>
+ <s:text name="commentManagement.all" /></a><br />
+
+ <a href="#" onclick='setChecked(0,"bean.deleteComments")'>
+ <s:text name="commentManagement.none" /></a>
+ </td>
+ <td align="right">
+ <br />
+ <span class="pendingCommentBox"> </span>
+ <s:text name="commentManagement.pending" />
+ <span class="spamCommentBox"> </span>
+ <s:text name="commentManagement.spam" />
+ </td>
+ </tr>
-<table class="rollertable" width="100%">
-<%-- ======================================================== --%>
-<%-- Comment table header --%>
-
-<tr>
- <th class="rollertable" width="5%">
- <s:text name="commentManagement.columnApproved" />
- </th>
- <th class="rollertable" width="5%">
- <s:text name="commentManagement.columnSpam" />
- </th>
- <th class="rollertable" width="5%" >
- <s:text name="commentManagement.columnDelete" />
- </th>
- <th class="rollertable">
- <s:text name="commentManagement.columnComment" />
- </th>
-</tr>
-
-<%-- ======================================================== --%>
-<%-- Select ALL and NONE buttons --%>
-
- <tr class="actionrow">
- <td align="center">
- <s:text name="commentManagement.select" /><br/>
-
- <a href="#" onclick='setChecked(1,"bean.approvedComments")'>
- <s:text name="commentManagement.all" /></a><br />
-
- <a href="#" onclick='setChecked(0,"bean.approvedComments")'>
- <s:text name="commentManagement.none" /></a>
- </td>
- <td align="center">
- <s:text name="commentManagement.select" /><br/>
-
- <a href="#" onclick='setChecked(1,"bean.spamComments")'>
- <s:text name="commentManagement.all" /></a><br />
-
- <a href="#" onclick='setChecked(0,"bean.spamComments")'>
- <s:text name="commentManagement.none" /></a>
- </td>
- <td align="center">
- <s:text name="commentManagement.select" /><br/>
-
- <a href="#" onclick='setChecked(1,"bean.deleteComments")'>
- <s:text name="commentManagement.all" /></a><br />
-
- <a href="#" onclick='setChecked(0,"bean.deleteComments")'>
- <s:text name="commentManagement.none" /></a>
- </td>
- <td align="right">
- <br />
- <span class="pendingCommentBox"> </span>
- <s:text name="commentManagement.pending" />
- <span class="spamCommentBox"> </span>
- <s:text name="commentManagement.spam" />
- </td>
- </tr>
-
-
-<%-- ========================================================= --%>
+ <%-- ========================================================= --%>
<%-- Loop through comments --%>
<%-- ========================================================= --%>
-<s:iterator id="comment" value="pager.items" status="rowstatus">
-<tr>
- <td>
- <%-- a bit funky to use checkbox list here, but using checkbox didn't work for me :(
+ <s:iterator id="comment" value="pager.items" status="rowstatus">
+ <tr>
+ <td>
+ <%-- a bit funky to use checkbox list here, but using checkbox didn't work for me :(
we are effectively just creating a checkbox list of 1 item for each iteration of our collection --%>
- <s:checkboxlist name="bean.approvedComments" list="{#comment}" listKey="id" listValue="name" />
- </td>
- <td>
- <%-- a bit funky to use checkbox list here, but using checkbox didn't work for me :(
+ <s:checkboxlist name="bean.approvedComments" list="{#comment}" listKey="id" listValue="name" />
+ </td>
+ <td>
+ <%-- a bit funky to use checkbox list here, but using checkbox didn't work for me :(
we are effectively just creating a checkbox list of 1 item for each iteration of our collection --%>
- <s:checkboxlist name="bean.spamComments" list="{#comment}" listKey="id" listValue="name" />
- </td>
- <td>
- <%-- a bit funky to use checkbox list here, but using checkbox didn't work for me :(
+ <s:checkboxlist name="bean.spamComments" list="{#comment}" listKey="id" listValue="name" />
+ </td>
+ <td>
+ <%-- a bit funky to use checkbox list here, but using checkbox didn't work for me :(
we are effectively just creating a checkbox list of 1 item for each iteration of our collection --%>
- <s:checkboxlist name="bean.deleteComments" list="{#comment}" listKey="id" listValue="name" />
- </td>
-
- <%-- ======================================================== --%>
+ <s:checkboxlist name="bean.deleteComments" list="{#comment}" listKey="id" listValue="name" />
+ </td>
+
+ <%-- ======================================================== --%>
<%-- Display comment details and text --%>
-
- <%-- <td> with style if comment is spam or pending --%>
- <s:if test="#comment.status == 'SPAM'">
- <td class="spamcomment">
- </s:if>
- <s:elseif test="#comment.status == 'PENDING'">
- <td class="pendingcomment">
- </s:elseif>
- <s:else>
- <td>
- </s:else>
-
- <%-- comment details table in table --%>
- <table style="border:none; padding:0px; margin:0px">
- <tr>
- <td style="border: none; padding:0px;">
- <s:text name="commentManagement.entryTitled" /></td>
- <td class="details" style="border: none; padding:0px;">
- <a href='<s:property value="#comment.weblogEntry.permalink" />'>
- <s:property value="#comment.weblogEntry.title" /></a>
- </td>
- </tr>
-
- <tr>
- <td style="border: none; padding:0px;">
- <s:text name="commentManagement.commentBy" /></td>
- <td class="details" style="border: none; padding:0px;">
- <s:if test="#comment.email != null && #comment.name != null">
- <s:text name="commentManagement.commentByBoth" >
- <s:param><s:property value="#comment.name" /></s:param>
- <s:param><s:property value="#comment.email" /></s:param>
- <s:param><s:property value="#comment.email" /></s:param>
- <s:param><s:property value="#comment.remoteHost" /></s:param>
- </s:text>
- </s:if>
- <s:elseif test="#comment.email == null && #comment.name == null">
- <s:text name="commentManagement.commentByIP" >
- <s:param><s:property value="#comment.remoteHost" /></s:param>
- </s:text>
- </s:elseif>
- <s:else>
- <s:text name="commentManagement.commentByName" >
- <s:param><s:property value="#comment.name" /></s:param>
- <s:param><s:property value="#comment.remoteHost" /></s:param>
- </s:text>
- </s:else>
-
- <s:if test="#comment.url != null">
- <br /><a href='<s:property value="#comment.url" />'>
- <str:truncateNicely upper="60" appendToEnd="..."><s:property value="#comment.url" /></str:truncateNicely></a>
- </s:if>
- </td>
- </tr>
- <tr>
- <td style="border: none; padding:0px;">
- <s:text name="commentManagement.postTime" /></td>
- <td class="details" style="border: none; padding:0px;">
- <s:property value="#comment.postTime" /></td>
- </tr>
- </table> <%-- end comment details table in table --%>
-
- <%-- comment content --%>
- <br />
- <span class="details">
-
- <s:if test="#comment.content.length > 1000">
- <pre><div id="comment-<s:property value="#comment.id"/>"><str:wordWrap width="72"><str:truncateNicely upper="1000" appendToEnd="..."><s:property value="#comment.content" escape="true" /></str:truncateNicely></str:wordWrap></div></pre>
- <div id="link-<s:property value="#comment.id"/>">
- <a onclick='readMoreComment("<s:property value="#comment.id"/>")'>
- <s:text name="commentManagement.readmore" />
- </a>
- </div>
- </s:if>
- <s:else>
- <pre><str:wordWrap><s:property value="#comment.content" escape="true" /></str:wordWrap></pre>
- </s:else>
-
- </span>
-
- </td>
-</tr>
-</s:iterator>
-</table>
-<br />
-<%-- ========================================================= --%>
+ <%-- <td> with style if comment is spam or pending --%>
+ <s:if test="#comment.status == 'SPAM'">
+ <td class="spamcomment">
+ </s:if>
+ <s:elseif test="#comment.status == 'PENDING'">
+ <td class="pendingcomment">
+ </s:elseif>
+ <s:else>
+ <td>
+ </s:else>
+
+ <%-- comment details table in table --%>
+ <table style="border:none; padding:0px; margin:0px">
+ <tr>
+ <td style="border: none; padding:0px;">
+ <s:text name="commentManagement.entryTitled" /></td>
+ <td class="details" style="border: none; padding:0px;">
+ <a href='<s:property value="#comment.weblogEntry.permalink" />'>
+ <s:property value="#comment.weblogEntry.title" /></a>
+ </td>
+ </tr>
+
+ <tr>
+ <td style="border: none; padding:0px;">
+ <s:text name="commentManagement.commentBy" /></td>
+ <td class="details" style="border: none; padding:0px;">
+ <s:if test="#comment.email != null && #comment.name != null">
+ <s:text name="commentManagement.commentByBoth" >
+ <s:param><s:property value="#comment.name" /></s:param>
+ <s:param><s:property value="#comment.email" /></s:param>
+ <s:param><s:property value="#comment.email" /></s:param>
+ <s:param><s:property value="#comment.remoteHost" /></s:param>
+ </s:text>
+ </s:if>
+ <s:elseif test="#comment.email == null && #comment.name == null">
+ <s:text name="commentManagement.commentByIP" >
+ <s:param><s:property value="#comment.remoteHost" /></s:param>
+ </s:text>
+ </s:elseif>
+ <s:else>
+ <s:text name="commentManagement.commentByName" >
+ <s:param><s:property value="#comment.name" /></s:param>
+ <s:param><s:property value="#comment.remoteHost" /></s:param>
+ </s:text>
+ </s:else>
+
+ <s:if test="#comment.url != null">
+ <br /><a href='<s:property value="#comment.url" />'>
+ <str:truncateNicely upper="60" appendToEnd="..."><s:property value="#comment.url" /></str:truncateNicely></a>
+ </s:if>
+ </td>
+ </tr>
+ <tr>
+ <td style="border: none; padding:0px;">
+ <s:text name="commentManagement.postTime" /></td>
+ <td class="details" style="border: none; padding:0px;">
+ <s:property value="#comment.postTime" /></td>
+ </tr>
+ </table> <%-- end comment details table in table --%>
+
+ <%-- comment content --%>
+ <br />
+ <span class="details">
+
+ <s:if test="#comment.content.length() > 1000">
+ <pre><div id="comment-<s:property value="#comment.id"/>"><str:wordWrap width="72"><str:truncateNicely upper="1000" appendToEnd="..."><s:property value="#comment.content" escape="true" /></str:truncateNicely></str:wordWrap></div></pre>
+ <div id="link-<s:property value="#comment.id"/>">
+ <a onclick='readMoreComment("<s:property value="#comment.id"/>")'>
+ <s:text name="commentManagement.readmore" />
+ </a>
+ </div>
+ </s:if>
+ <s:else>
+ <pre><str:wordWrap><s:property value="#comment.content" escape="true" /></str:wordWrap></pre>
+ </s:else>
+
+ </span>
+
+ </td>
+ </tr>
+ </s:iterator>
+ </table>
+ <br />
+
+ <%-- ========================================================= --%>
<%-- Save changes and cancel buttons --%>
<%-- ========================================================= --%>
-
-<s:submit key="commentManagement.update" />
-</s:form>
+ <s:submit key="commentManagement.update" />
+
+ </s:form>
</s:else>