ROL-2084 Unnecessary escaping of HTML symbols happen on plain text email notification
git-svn-id: https://svn.apache.org/repos/asf/roller/trunk@1726464 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/app/src/main/java/org/apache/roller/weblogger/util/MailUtil.java b/app/src/main/java/org/apache/roller/weblogger/util/MailUtil.java
index 8614f59..f04d492 100644
--- a/app/src/main/java/org/apache/roller/weblogger/util/MailUtil.java
+++ b/app/src/main/java/org/apache/roller/weblogger/util/MailUtil.java
@@ -313,10 +313,10 @@
// Determine with mime type to use for e-mail
StringBuilder msg = new StringBuilder();
StringBuilder ownermsg = new StringBuilder();
- boolean escapeHtml = !WebloggerRuntimeConfig.getBooleanProperty("users.comments.htmlenabled");
+ boolean isPlainText = !WebloggerRuntimeConfig.getBooleanProperty("users.comments.htmlenabled");
// first the common stub message for the owner and commenters (if applicable)
- if (!escapeHtml) {
+ if (!isPlainText) {
msg.append("<html><body style=\"background: white; ");
msg.append(" color: black; font-size: 12px\">");
}
@@ -328,21 +328,22 @@
msg.append(resources.getString("email.comment.anonymous")+": ");
}
- msg.append((escapeHtml) ? "\n\n" : "<br /><br />");
-
- msg.append((escapeHtml) ? Utilities.escapeHTML(commentObject.getContent())
+ msg.append((isPlainText) ? "\n\n" : "<br /><br />");
+
+ // Don't escape the content if email will be sent as plain text
+ msg.append((isPlainText) ? commentObject.getContent()
: Utilities.transformToHTMLSubset(Utilities.escapeHTML(commentObject.getContent())));
- msg.append((escapeHtml) ? "\n\n----\n"
+ msg.append((isPlainText) ? "\n\n----\n"
: "<br /><br /><hr /><span style=\"font-size: 11px\">");
msg.append(resources.getString("email.comment.respond") + ": ");
- msg.append((escapeHtml) ? "\n" : "<br />");
+ msg.append((isPlainText) ? "\n" : "<br />");
// Build link back to comment
String commentURL = WebloggerFactory.getWeblogger()
.getUrlStrategy().getWeblogCommentsURL(weblog, null, entry.getAnchor(), true);
- if (escapeHtml) {
+ if (isPlainText) {
msg.append(commentURL);
} else {
msg.append("<a href=\""+commentURL+"\">"+commentURL+"</a></span>");
@@ -353,60 +354,60 @@
if (commentObject.getPending() || weblog.getEmailComments()) {
// First, list any messages from the system that were passed in:
if (messages.getMessageCount() > 0) {
- ownermsg.append((escapeHtml) ? "" : "<p>");
+ ownermsg.append((isPlainText) ? "" : "<p>");
ownermsg.append(resources.getString("commentServlet.email.thereAreSystemMessages"));
- ownermsg.append((escapeHtml) ? "\n\n" : "</p>");
- ownermsg.append((escapeHtml) ? "" : "<ul>");
+ ownermsg.append((isPlainText) ? "\n\n" : "</p>");
+ ownermsg.append((isPlainText) ? "" : "<ul>");
}
for (Iterator it = messages.getMessages(); it.hasNext();) {
RollerMessage rollerMessage = (RollerMessage)it.next();
- ownermsg.append((escapeHtml) ? "" : "<li>");
+ ownermsg.append((isPlainText) ? "" : "<li>");
ownermsg.append(MessageFormat.format(resources.getString(
rollerMessage.getKey()), (Object[])rollerMessage.getArgs()) );
- ownermsg.append((escapeHtml) ? "\n\n" : "</li>");
+ ownermsg.append((isPlainText) ? "\n\n" : "</li>");
}
if (messages.getMessageCount() > 0) {
- ownermsg.append((escapeHtml) ? "\n\n" : "</ul>");
+ ownermsg.append((isPlainText) ? "\n\n" : "</ul>");
}
// Next, list any validation error messages that were passed in:
if (messages.getErrorCount() > 0) {
- ownermsg.append((escapeHtml) ? "" : "<p>");
+ ownermsg.append((isPlainText) ? "" : "<p>");
ownermsg.append(resources.getString("commentServlet.email.thereAreErrorMessages"));
- ownermsg.append((escapeHtml) ? "\n\n" : "</p>");
- ownermsg.append((escapeHtml) ? "" : "<ul>");
+ ownermsg.append((isPlainText) ? "\n\n" : "</p>");
+ ownermsg.append((isPlainText) ? "" : "<ul>");
}
for (Iterator it = messages.getErrors(); it.hasNext();) {
RollerMessage rollerMessage = (RollerMessage)it.next();
- ownermsg.append((escapeHtml) ? "" : "<li>");
+ ownermsg.append((isPlainText) ? "" : "<li>");
ownermsg.append(MessageFormat.format(resources.getString(
rollerMessage.getKey()), (Object[])rollerMessage.getArgs()) );
- ownermsg.append((escapeHtml) ? "\n\n" : "</li>");
+ ownermsg.append((isPlainText) ? "\n\n" : "</li>");
}
if (messages.getErrorCount() > 0) {
- ownermsg.append((escapeHtml) ? "\n\n" : "</ul>");
+ ownermsg.append((isPlainText) ? "\n\n" : "</ul>");
}
ownermsg.append(msg);
- ownermsg.append((escapeHtml) ? "\n\n----\n" :
+ ownermsg.append((isPlainText) ? "\n\n----\n" :
"<br /><br /><hr /><span style=\"font-size: 11px\">");
// commenter email address: allow blog owner to reply via email instead of blog comment
if (!StringUtils.isBlank(commentObject.getEmail())) {
ownermsg.append(resources.getString("email.comment.commenter.email") + ": " + commentObject.getEmail());
- ownermsg.append((escapeHtml) ? "\n\n" : "<br/><br/>");
+ ownermsg.append((isPlainText) ? "\n\n" : "<br/><br/>");
}
// add link to weblog edit page so user can login to manage comments
ownermsg.append(resources.getString("email.comment.management.link") + ": ");
- ownermsg.append((escapeHtml) ? "\n" : "<br/>");
+ ownermsg.append((isPlainText) ? "\n" : "<br/>");
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("bean.entryId", entry.getId());
String deleteURL = WebloggerFactory.getWeblogger().getUrlStrategy().getActionURL(
"comments", "/roller-ui/authoring", weblog.getHandle(), parameters, true);
- if (escapeHtml) {
+ if (isPlainText) {
ownermsg.append(deleteURL);
} else {
ownermsg.append(
@@ -438,7 +439,7 @@
from = user.getEmailAddress();
}
- boolean isHtml = !escapeHtml;
+ boolean isHtml = !isPlainText;
if (commentObject.getPending() || weblog.getEmailComments()) {
if(isHtml) {