Dave,

I'm not sure that I agree with your approach on this fix.

It seems a little obscure to tie the basic functionality of the saveWebsite(website) function together with the special case where you are updating all entries with some comment settings. Plus, the update logic that you are executing is happening on weblog entries and not the website object itself, so it probably makes more sense for that method to be in the WeblogManager.

I think a better approach would be to revert the saveWebsite() method back to the way it was, then add a new method to the WeblogManager that is something like modifyAllEntries(weblog, attr, attr, etc). Then in the WebsiteFormAction class you would save the website as usual, and *if* the person has checked the "apply to all entries" box then you would make a call to that modifyAllEntries() method.

Does that make sense?

-- Allen


[EMAIL PROTECTED] wrote:
Author: snoopdave
Date: Wed Apr 19 15:08:25 2006
New Revision: 395406

URL: http://svn.apache.org/viewcvs?rev=395406&view=rev
Log:
ROL-1050: Apply comment defaults to all existing entries

Modified:
    incubator/roller/trunk/src/org/roller/business/ThemeManagerImpl.java
    
incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
    incubator/roller/trunk/src/org/roller/model/UserManager.java
    
incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java
    
incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java
    
incubator/roller/trunk/src/org/roller/presentation/website/actions/UploadFileFormAction.java
    
incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java
    
incubator/roller/trunk/src/org/roller/presentation/website/formbeans/WebsiteFormEx.java
    incubator/roller/trunk/web/WEB-INF/classes/ApplicationResources.properties
    incubator/roller/trunk/web/website/edit-website.jsp

Modified: incubator/roller/trunk/src/org/roller/business/ThemeManagerImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/ThemeManagerImpl.java?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/ThemeManagerImpl.java 
(original)
+++ incubator/roller/trunk/src/org/roller/business/ThemeManagerImpl.java Wed 
Apr 19 15:08:25 2006
@@ -363,7 +363,7 @@
             }
// save our updated website
-            userMgr.saveWebsite(website);
+            userMgr.saveWebsite(website, false);
} catch (Exception e) {
             mLogger.error("ERROR in action",e);

Modified: 
incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- 
incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
 (original)
+++ 
incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
 Wed Apr 19 15:08:25 2006
@@ -9,6 +9,7 @@
 import java.util.List;
 import java.util.Map;
 import org.hibernate.Criteria;
+import org.hibernate.Query;
 import org.hibernate.HibernateException;
 import org.hibernate.Session;
 import org.hibernate.criterion.Expression;
@@ -65,15 +66,18 @@
this.strategy = strat;
     }
- - + /**
-     * @see 
org.roller.model.UserManager#storeWebsite(org.roller.pojos.WebsiteData)
-     */
-    public void saveWebsite(WebsiteData data) throws RollerException {
-        this.strategy.store(data);
-    }
- + * Update existing website and optionally apply new comment defaults to all
+     * existing weblog entries in website.
+     * @param website              The website to be updated
+ * @param applyCommentDefaults True to apply website's comment defaults to + * all existing comments
+     */
+    public void saveWebsite(WebsiteData website, boolean applyCommentDefaults) 
throws RollerException {
+        strategy.store(website);
+        if (applyCommentDefaults) applyCommentDefaults(website);
+ } public void removeWebsite(WebsiteData weblog) throws RollerException { @@ -785,5 +789,34 @@
         }
     }
+ /**
+     * Apply comment defaults (defaultAllowComments and defaultCommentDays) to
+     * all existing entries in a website using a single HQL query.
+     * @param website Website where comment defaults are from/to be applied.
+     */
+    private void applyCommentDefaults(WebsiteData website) throws 
RollerException {
+        if (log.isDebugEnabled()) {
+            log.debug("applyCommentDefaults");
+ } + try {
+            Session session = strategy.getSession();
+            String updateString = "update WeblogEntryData set "
+                +"allowComments=:allowed, commentDays=:days, "
+                +"pubTime=pubTime, updateTime=updateTime " // ensure 
timestamps are NOT reset
+                +"where website=:site";
+            Query update = session.createQuery(updateString);
+            update.setParameter("allowed", website.getDefaultAllowComments());
+            update.setParameter("days", new 
Integer(website.getDefaultCommentDays()));
+            update.setParameter("site", website);
+ update.executeUpdate(); + } catch (Exception e) {
+            log.error("EXCEPTION applying comment defaults",e);
+        }
+ } }
+
+
+
+
+
Modified: incubator/roller/trunk/src/org/roller/model/UserManager.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/UserManager.java?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/UserManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/UserManager.java Wed Apr 19 
15:08:25 2006
@@ -90,7 +90,7 @@
     /**
      * Store a single weblog.
      */
-    public void saveWebsite(WebsiteData data) throws RollerException;
+    public void saveWebsite(WebsiteData data, boolean applyCommentDefaults) 
throws RollerException;
public void removeWebsite(WebsiteData website) throws RollerException;

Modified: 
incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- 
incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java 
(original)
+++ 
incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java 
Wed Apr 19 15:08:25 2006
@@ -49,6 +49,12 @@
// calculate the location of the requested permalink
         RollerRequest rreq = RollerRequest.getRollerRequest(request);
+ + // ROL-1102: prevent NPE for bad URLs
+        if (rreq == null) {
+            response.sendError(HttpServletResponse.SC_NOT_FOUND);
+            return;
+ } WeblogEntryData entry = rreq.getWeblogEntry();
         if (entry != null) {
             forward += entry.getPermaLink();
@@ -61,8 +67,7 @@
                     forward += "&popup=true";
             }
- } - + } mLogger.debug("forwarding to "+forward); // send an HTTP 301 response

Modified: 
incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- 
incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java
 (original)
+++ 
incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java
 Wed Apr 19 15:08:25 2006
@@ -280,7 +280,7 @@
                         website.setEditorTheme(newTheme);
UserManager userMgr = RollerFactory.getRoller().getUserManager();
-                        userMgr.saveWebsite(website);
+                        userMgr.saveWebsite(website, false);
                         RollerFactory.getRoller().flush();
mLogger.debug("Saved theme "+newTheme+" for "+username);

Modified: 
incubator/roller/trunk/src/org/roller/presentation/website/actions/UploadFileFormAction.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/actions/UploadFileFormAction.java?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- 
incubator/roller/trunk/src/org/roller/presentation/website/actions/UploadFileFormAction.java
 (original)
+++ 
incubator/roller/trunk/src/org/roller/presentation/website/actions/UploadFileFormAction.java
 Wed Apr 19 15:08:25 2006
@@ -159,6 +159,10 @@
                    String baseURL = rctx.getAbsoluteContextUrl(request);
             String resourcesBaseURL = baseURL + fmgr.getUploadUrl() + "/" + 
website.getHandle();
             Iterator uploads = lastUploads.iterator();
+            if (uploads.hasNext()) {
+ messages.add(ActionMessages.GLOBAL_MESSAGE, + new ActionMessage("uploadFiles.uploadedFiles"));
+            }
while (uploads.hasNext()) { messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("uploadFiles.uploadedFile",
Modified: 
incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- 
incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java
 (original)
+++ 
incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java
 Wed Apr 19 15:08:25 2006
@@ -12,6 +12,7 @@
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
@@ -149,7 +150,15 @@
                     form.setEnabled(wd.getEnabled());
                     form.copyTo(wd, request.getLocale());
- umgr.saveWebsite(wd);
+                    // ROL-485: comments not be allowed on inactive weblogs
+                    wd.setAllowComments(wd.getActive());
+ + // ROL-1050: apply comment defaults to existing entries
+                    boolean applyCommentDefaults = 
form.isApplyCommentDefaults();
+                        
//BooleanUtils.toBoolean(form.isApplyCommentDefaults());
+ + umgr.saveWebsite(wd, applyCommentDefaults); + RollerFactory.getRoller().getRefererManager().applyRefererFilters(wd); RollerFactory.getRoller().flush();
@@ -158,7 +167,7 @@
                         new ActionMessage("websiteSettings.savedChanges"));
request.getSession().setAttribute(
-                            RollerRequest.WEBSITEID_KEY, form.getId());
+                        RollerRequest.WEBSITEID_KEY, form.getId());
// Clear cache entries associated with website
                     CacheManager.invalidate(wd);

Modified: 
incubator/roller/trunk/src/org/roller/presentation/website/formbeans/WebsiteFormEx.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/formbeans/WebsiteFormEx.java?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- 
incubator/roller/trunk/src/org/roller/presentation/website/formbeans/WebsiteFormEx.java
 (original)
+++ 
incubator/roller/trunk/src/org/roller/presentation/website/formbeans/WebsiteFormEx.java
 Wed Apr 19 15:08:25 2006
@@ -16,183 +16,163 @@
/**
  * @struts.form name="websiteFormEx"
- */ -public class WebsiteFormEx extends WebsiteForm
-{
+ */
+public class WebsiteFormEx extends WebsiteForm {
     private String bloggerCategoryId;
     private String defaultCategoryId;
     private String[] defaultPluginsArray;
+    private boolean applyCommentDefaults = false;
/**
      * @return Returns the bloggerCategoryId.
      */
-    public String getBloggerCategoryId()
-    {
+    public String getBloggerCategoryId() {
         return bloggerCategoryId;
     }
-
+ /**
      * @param bloggerCategoryId The bloggerCategoryId to set.
      */
-    public void setBloggerCategoryId(String bloggerCategoryId)
-    {
+    public void setBloggerCategoryId(String bloggerCategoryId) {
         this.bloggerCategoryId = bloggerCategoryId;
     }
-
+ /**
      * @return Returns the defeaultCategoryId.
      */
-    public String getDefaultCategoryId()
-    {
+    public String getDefaultCategoryId() {
         return defaultCategoryId;
     }
-
+ /**
      * @param defeaultCategoryId The defeaultCategoryId to set.
      */
-    public void setDefaultCategoryId(String defeaultCategoryId)
-    {
+    public void setDefaultCategoryId(String defeaultCategoryId) {
         this.defaultCategoryId = defeaultCategoryId;
     }
-
+ /**
      * @return
      */
-    public String[] getDefaultPluginsArray()
-    {
+    public String[] getDefaultPluginsArray() {
         return defaultPluginsArray;
     }
-
+ /**
      * @param strings
      */
-    public void setDefaultPluginsArray(String[] strings)
-    {
+    public void setDefaultPluginsArray(String[] strings) {
         defaultPluginsArray = strings;
     }
-
-
- /** + + public boolean isApplyCommentDefaults() {
+        return applyCommentDefaults;
+    }
+ + public void setApplyCommentDefaults(boolean applyCommentDefaults) {
+        this.applyCommentDefaults = applyCommentDefaults;
+    }
+ + /**
      * @see 
org.roller.presentation.forms.WebsiteForm#copyFrom(org.roller.pojos.WebsiteData)
      */
-    public void copyFrom(WebsiteData dataHolder, java.util.Locale locale) 
throws RollerException
-    {
+    public void copyFrom(WebsiteData dataHolder, java.util.Locale locale) 
throws RollerException {
         super.copyFrom(dataHolder, locale);
-        if (dataHolder.getDefaultCategory() != null)
-        {
+        if (dataHolder.getDefaultCategory() != null) {
             defaultCategoryId = dataHolder.getDefaultCategory().getId();
         }
-        if (dataHolder.getBloggerCategory() != null)
-        {
+        if (dataHolder.getBloggerCategory() != null) {
             bloggerCategoryId = dataHolder.getBloggerCategory().getId();
         }
-        if (dataHolder.getDefaultPlugins() != null)
-        {
+        if (dataHolder.getDefaultPlugins() != null) {
             defaultPluginsArray = StringUtils.split(dataHolder.getDefaultPlugins(), 
",");
         }
     }
-
+ /**
      * Utility to convert from String to Date.
      */
-    public void setDateCreatedAsString(String value)
-    {
-        if ( value == null || value.trim().length() == 0 )
-        {
- this.setDateCreated(null); - }
-        else
-        {
-            try
-            {
+    public void setDateCreatedAsString(String value) {
+        if ( value == null || value.trim().length() == 0 ) {
+            this.setDateCreated(null);
+        } else {
+            try {
                 Date pubDate = DateUtil.parse(
                         value, DateUtil.friendlyTimestampFormat());
                 this.setDateCreated(new Timestamp(pubDate.getTime()));
-            }
-            catch (java.text.ParseException pe)
-            {
+            } catch (java.text.ParseException pe) {
                 // wasn't proper format, try others
                 Date pubDate = DateUtil.parseFromFormats(value);
                 this.setDateCreated( new Timestamp(pubDate.getTime()) );
             }
         }
     }
-
+ /**
      * Returns a formatted pubTime string.
      */
-    public String getDateCreatedAsString()
-    {
+    public String getDateCreatedAsString() {
         return DateUtil.friendlyTimestamp(this.getDateCreated());
     }
-
- /** + + /**
      * @see 
org.roller.presentation.forms.WebsiteForm#copyTo(org.roller.pojos.WebsiteData)
      */
-    public void copyTo(WebsiteData dataHolder, java.util.Locale locale) throws 
RollerException
-    {
+    public void copyTo(WebsiteData dataHolder, java.util.Locale locale) throws 
RollerException {
         Date dateCreated = dataHolder.getDateCreated();
super.copyTo(dataHolder, locale); - dataHolder.setDateCreated(dateCreated); + dataHolder.setDateCreated(dateCreated);
         dataHolder.setDefaultPlugins( 
StringUtils.join(this.defaultPluginsArray,",") );
- + // checkboxes return no value when not checked
-        if (getAllowComments() == null)
-        {
+        if (getAllowComments() == null) {
             dataHolder.setAllowComments(Boolean.FALSE);
         }
-        if (getEmailComments() == null)
-        {
+        if (getEmailComments() == null) {
             dataHolder.setEmailComments(Boolean.FALSE);
         }
-        if (getEnableBloggerApi() == null)
-        {
+        if (getEnableBloggerApi() == null) {
             dataHolder.setEnableBloggerApi(Boolean.FALSE);
         }
-        if (getDefaultAllowComments() == null)
-        {
+        if (getDefaultAllowComments() == null) {
             dataHolder.setDefaultAllowComments(Boolean.FALSE);
         }
-        if (getModerateComments() == null)
-        {
+        if (getModerateComments() == null) {
             dataHolder.setModerateComments(Boolean.FALSE);
         }
-        if (this.getActive() == null)
-        {
+        if (this.getActive() == null) {
             dataHolder.setActive(Boolean.FALSE);
         }
WeblogManager wmgr = RollerFactory.getRoller().getWeblogManager(); - if (getDefaultCategoryId() != null) - { - WeblogCategoryData defaultCat = + + if (getDefaultCategoryId() != null) {
+            WeblogCategoryData defaultCat =
                 wmgr.getWeblogCategory(getDefaultCategoryId());
             dataHolder.setDefaultCategory(defaultCat);
         }
-
- if (getBloggerCategoryId() != null) - { - WeblogCategoryData bloggerCat = + + if (getBloggerCategoryId() != null) {
+            WeblogCategoryData bloggerCat =
                 wmgr.getWeblogCategory(getBloggerCategoryId());
             dataHolder.setBloggerCategory(bloggerCat);
         }
     }
public void reset( - org.apache.struts.action.ActionMapping mapping, - javax.servlet.ServletRequest request)
-    {
+            org.apache.struts.action.ActionMapping mapping,
+            javax.servlet.ServletRequest request) {
         doReset(mapping, request);
         defaultPluginsArray = new String[0];
     }
public void reset( - org.apache.struts.action.ActionMapping mapping, - javax.servlet.http.HttpServletRequest request)
-    {
+            org.apache.struts.action.ActionMapping mapping,
+            javax.servlet.http.HttpServletRequest request) {
         doReset(mapping, request);
         defaultPluginsArray = new String[0];
     }
+ }

Modified: 
incubator/roller/trunk/web/WEB-INF/classes/ApplicationResources.properties
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/ApplicationResources.properties?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/ApplicationResources.properties 
(original)
+++ incubator/roller/trunk/web/WEB-INF/classes/ApplicationResources.properties 
Wed Apr 19 15:08:25 2006
@@ -1138,7 +1138,8 @@
 uploadFiles.noFiles=No files found.
uploadFiles.button.delete=Delete Selected
-uploadFiles.uploadedFile=Uploaded file: {0}
+uploadFiles.uploadedFile=Uploaded file(s):
+uploadFiles.uploadedFile={0}
 uploadFiles.deletedFiles=Deleted {0} file(s)
 uploadFiles.noFilesSpecified=You have chosen no files to upload
@@ -1418,6 +1419,7 @@ weblogEntryQuery.weblogEntries=Weblog Entries
 weblogEntryQuery.edit=Edit
+weblogEntryQuery.view=View
 weblogEntryQuery.link=Link
 weblogEntryQuery.posttitle=Title
 weblogEntryQuery.category=Category
@@ -1471,41 +1473,68 @@
 websiteSettings.subtitle=Manage settings for weblog <span>{0}</span>
 websiteSettings.tip=Change weblog title, description, comment and referrer \
 spam prevention settings.
+
+# --- General settings
+
 websiteSettings.websiteTitle=Title
 websiteSettings.websiteDescription=Description
+websiteSettings.emailAddress=Email address of weblog owner
+websiteSettings.editor=Weblog editor page to be used
+websiteSettings.entryDisplayCount=Number of entries to display on weblog
+websiteSettings.active=Weblog is active (and should be included in community 
listings)
+websiteSettings.editorSettings=Editor
+
+# These are hidden now
 websiteSettings.templateSettings=Template Settings
 websiteSettings.homePage=Page to be used as the homepage
-websiteSettings.editor=Weblog editor page to be used
 websiteSettings.categories=Categories
 websiteSettings.defaultCategory=Default root category of weblog
-websiteSettings.active=Weblog is active (and should be included in community 
listings)
-websiteSettings.formatting=Formatting
+# --- Comments
+
+websiteSettings.commentSettings=Comments
 websiteSettings.allowComments=Allow Comments for your weblog?
+websiteSettings.moderateComments=Moderate comments
 websiteSettings.emailComments=Email Comments?
-websiteSettings.emailAddress=Email address of weblog owner
 websiteSettings.emailFromAddress=Default <em>from</em> e-mail address for 
notifications
-websiteSettings.autoformat=Autoformat new entries?
+
+# --- Default comments settings
+
+websiteSettings.defaultCommentSettings=Default comment settings
+websiteSettings.defaultAllowComments=By default, allow comments for new entries
+websiteSettings.defaultCommentDays=Default time to allow comments for new 
entries
+websiteSettings.applyCommentDefaults=Apply comment defaults to existing 
entries?
+
+# --- Weblog API
+
 websiteSettings.bloggerApi=Weblog Client API
 websiteSettings.enableBloggerApi=Enable Blogger and MetaWeblog APIs for your 
weblog?
websiteSettings.bloggerApiCategory=Category for posts received via Blogger API +
+# --- Formatting
+
+websiteSettings.formatting=Formatting
+websiteSettings.autoformat=Autoformat new entries?
+
+# --- Spam prevention
+
 websiteSettings.spamPrevention=Spam Prevention
 websiteSettings.ignoreUrls=List of words and regex expressions listed one per \
 line to be added to the blacklist used to check comments, trackbacks and 
referrers.
-websiteSettings.editorSettings=Editor
-websiteSettings.commentSettings=Comments
-websiteSettings.entryDisplayCount=Number of entries to display on weblog
-
-websiteSettings.button.update=Update Weblog Settings
-websiteSettings.button.rebuildIndex=Rebuild Search Index
-websiteSettings.button.remove=Remove Weblog
-
-websiteSettings.savedChanges=Saved changes to weblog settings
 websiteSettings.acceptedBlacklist=Accepted {0} string and {1} regex blacklist 
rules
 websiteSettings.error.processingBlacklist=Error processing blacklist: {0}
 websiteSettings.error.sameTemplate=CHANGES REJECTED: cannot set default page \
 template and day template to same template
+# --- Buttons
+
+websiteSettings.savedChanges=Saved changes to weblog settings
+websiteSettings.button.update=Update Weblog Settings
+websiteSettings.button.rebuildIndex=Rebuild Search Index
+
+# --- Remove weblog
+
+websiteSettings.button.remove=Remove Weblog
 websiteSettings.removeWebsiteHeading=Remove Weblog?
 websiteSettings.removeWebsite=You are the last contributor to this weblog, \
 would you like to remove it?
@@ -1519,9 +1548,6 @@
 websiteRemove.websiteId=Weblog ID
 websiteRemove.websiteName=Weblog Name
-websiteSettings.moderateComments=Moderate comments
-websiteSettings.defaultAllowComments=By default, allow comments for new entries
-websiteSettings.defaultCommentDays=Default time to allow comments for new 
entries
# ------------------------------------------------------------- Welcome new user
Modified: incubator/roller/trunk/web/website/edit-website.jsp
URL: 
http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/edit-website.jsp?rev=395406&r1=395405&r2=395406&view=diff
==============================================================================
--- incubator/roller/trunk/web/website/edit-website.jsp (original)
+++ incubator/roller/trunk/web/website/edit-website.jsp Wed Apr 19 15:08:25 2006
@@ -101,27 +101,35 @@
         <td class="field"><html:checkbox property="moderateComments" 
/></input></td>
         <td class="description"><%-- <fmt:message key="websiteSettings.tip." /> 
--%></td>
     </tr>
-<%
-boolean emailComments = 
RollerRuntimeConfig.getBooleanProperty("users.comments.emailnotify");
-if (emailComments) { %>
-    <tr>
-        <td class="label"><fmt:message key="websiteSettings.emailComments" 
/></td>
-        <td class="field"><html:checkbox property="emailComments" 
onclick="toggleNextRow(this)" /></input></td>
-        <td class="description"><%-- <fmt:message key="websiteSettings.tip." /> 
--%></td>
-    </tr>
+ + <%
+    boolean emailComments = 
RollerRuntimeConfig.getBooleanProperty("users.comments.emailnotify");
+    if (emailComments) { %>
+        <tr>
+            <td class="label"><fmt:message key="websiteSettings.emailComments" 
/></td>
+            <td class="field"><html:checkbox property="emailComments" 
onclick="toggleNextRow(this)" /></input></td>
+            <td class="description"><%-- <fmt:message key="websiteSettings.tip." /> 
--%></td>
+        </tr>
- <tr <c:if test="${!websiteFormEx.emailComments}">style="display: none"</c:if>>
-        <td class="label"><fmt:message key="websiteSettings.emailFromAddress" 
/></td>
-        <td class="field"><html:text size="50" property="emailFromAddress" 
/></input></td>
-        <td class="description"><%-- <fmt:message key="websiteSettings.tip." /> 
--%></td>
-    </tr>
-<% } %>
+        <tr <c:if test="${!websiteFormEx.emailComments}">style="display: 
none"</c:if>>
+            <td class="label"><fmt:message key="websiteSettings.emailFromAddress" 
/></td>
+            <td class="field"><html:text size="50" property="emailFromAddress" 
/></input></td>
+            <td class="description"><%-- <fmt:message key="websiteSettings.tip." /> 
--%></td>
+        </tr>
+    <% } %>
+
+    <%-- ***** Default entry comment settings ***** --%>
<tr>
+        <td colspan="3"><h2><fmt:message key="websiteSettings.defaultCommentSettings" 
/></h2></td>
+    </tr>
+ + <tr>
         <td class="label"><fmt:message key="websiteSettings.defaultAllowComments" 
/></td>
         <td class="field"><html:checkbox property="defaultAllowComments" 
/></input></td>
         <td class="description"><%-- <fmt:message key="websiteSettings.tip." /> 
--%></td>
     </tr>
+ <tr>
         <td class="label"><fmt:message key="websiteSettings.defaultCommentDays" 
/></td>
         <td class="field">
@@ -140,6 +148,12 @@
              <html:option key="weblogEdit.days90" value="90"  />
          </html:select>
         </td>
+        <td class="description"><%-- <fmt:message key="websiteSettings.tip." /> 
--%></td>
+    </tr>
+ + <tr>
+        <td class="label"><fmt:message key="websiteSettings.applyCommentDefaults" 
/></td>
+        <td class="field"><html:checkbox property="applyCommentDefaults" 
/></input></td>
         <td class="description"><%-- <fmt:message key="websiteSettings.tip." /> 
--%></td>
     </tr>

Reply via email to