[seam-commits] Seam SVN: r13549 - in branches/community/Seam_2_2/examples/wiki: src/etc/i18n and 11 other directories.
seam-commits at lists.jboss.org
seam-commits at lists.jboss.org
Tue Aug 3 05:26:29 EDT 2010
Author: shane.bryzak at jboss.com
Date: 2010-08-03 05:26:27 -0400 (Tue, 03 Aug 2010)
New Revision: 13549
Added:
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/BlacklistDAO.java
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/ClientAddressFactory.java
branches/community/Seam_2_2/examples/wiki/view/blacklisted.xhtml
Modified:
branches/community/Seam_2_2/examples/wiki/src/etc/WEB-INF/pages.xml
branches/community/Seam_2_2/examples/wiki/src/etc/i18n/messages_en.properties
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentNodeRemover.java
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeRemover.java
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiIdentity.java
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/SpamReportDAO.java
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/model/User.java
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiUrlRewriteFilter.java
branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/templates/blogDirectory.xhtml
branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/themes/inrelationto/css/blogDirectory.css
branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/feed/templates/feedAggregator.xhtml
branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ReplyHome.java
branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/TopicHome.java
branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml
branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml
branches/community/Seam_2_2/examples/wiki/view/adminHome_d.xhtml
Log:
wiki enhancements
Modified: branches/community/Seam_2_2/examples/wiki/src/etc/WEB-INF/pages.xml
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/etc/WEB-INF/pages.xml 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/etc/WEB-INF/pages.xml 2010-08-03 09:26:27 UTC (rev 13549)
@@ -181,6 +181,11 @@
<action execute="#{userHome.init}"/>
<begin-conversation flush-mode="MANUAL" join="true"/>
<navigation>
+ <rule if-outcome="blacklisted">
+ <end-conversation before-redirect="true"/>
+ <redirect view-id="/blacklisted.xhtml"/>
+ </rule>
+
<rule if-outcome="persisted" if="#{s:hasPermission('User', 'isAdmin', currentUser)}">
<end-conversation before-redirect="true"/>
<redirect view-id="/userHome_#{skin}.xhtml">
Modified: branches/community/Seam_2_2/examples/wiki/src/etc/i18n/messages_en.properties
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/etc/i18n/messages_en.properties 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/etc/i18n/messages_en.properties 2010-08-03 09:26:27 UTC (rev 13549)
@@ -376,6 +376,7 @@
lacewiki.button.adminHome.Preferences=P<u>r</u>eferences
lacewiki.button.adminHome.Preferences.accesskey=R
lacewiki.button.adminHome.SpamReport=Spam Reports
+lacewiki.button.adminHome.Blacklist=Blacklist
lacewiki.button.adminHome.SaveSettings=<u>S</u>ave Settings
lacewiki.button.adminHome.SaveSettings.accesskey=S
@@ -390,7 +391,16 @@
lacewiki.label.adminHome.spamReport.Reporter=Reporter
lacewiki.label.adminHome.spamReport.Comment=Comment
lacewiki.label.adminHome.spamReport.Poster=Comment Poster
+lacewiki.label.adminHome.spamReport.AreYouSureYouWantToDelete=Are you sure you want to delete this spam report
+lacewiki.label.adminHome.spamReport.RemoveComment=Remove Comment
+lacewiki.label.adminHome.spamReport.NotSpam=Not Spam
+lacewiki.label.adminHome.blacklist.IPAddress=IP Address
+lacewiki.label.adminHome.blacklist.Email=E-mail
+lacewiki.label.adminHome.blacklist.Action=Action
+lacewiki.label.adminHome.blacklist.Remove=Remove
+lacewiki.label.adminHome.blacklist.AreYouSureYouWantToDelete=Remove this blacklist entry
+
lacewiki.label.adminHome.TargetWithPlaceHolder=Target with [[link]] placeholder
lacewiki.label.adminHome.NotAvailableForSkin=Administration is not available with this skin.
lacewiki.label.adminHome.plugins.InstalledPlugins=Installed Plugins
Modified: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -1,5 +1,13 @@
package org.jboss.seam.wiki.core.action;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.TermEnum;
import org.hibernate.search.FullTextSession;
@@ -8,37 +16,39 @@
import org.hibernate.validator.InvalidValue;
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.international.StatusMessages;
-import org.jboss.seam.international.StatusMessage;
-import org.jboss.seam.annotations.*;
+import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.Factory;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
import org.jboss.seam.annotations.remoting.WebRemote;
import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.core.Validators;
+import org.jboss.seam.international.StatusMessage;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.log.Log;
import org.jboss.seam.security.AuthorizationException;
import org.jboss.seam.security.Identity;
+import org.jboss.seam.wiki.core.dao.SpamReportDAO;
+import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
+import org.jboss.seam.wiki.core.model.Blacklist;
import org.jboss.seam.wiki.core.model.LinkProtocol;
import org.jboss.seam.wiki.core.model.User;
import org.jboss.seam.wiki.core.model.WikiSpamReport;
+import org.jboss.seam.wiki.core.plugin.PluginRegistry;
+import org.jboss.seam.wiki.core.plugin.metamodel.Plugin;
import org.jboss.seam.wiki.core.search.IndexManager;
import org.jboss.seam.wiki.core.search.metamodel.SearchRegistry;
import org.jboss.seam.wiki.core.search.metamodel.SearchableEntity;
-import org.jboss.seam.wiki.core.plugin.PluginRegistry;
-import org.jboss.seam.wiki.core.plugin.metamodel.Plugin;
+import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity;
-import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import org.jboss.seam.wiki.util.Progress;
-import javax.persistence.EntityManager;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
@Name("adminHome")
@Scope(ScopeType.CONVERSATION)
public class AdminHome implements Serializable {
@@ -51,6 +61,12 @@
@In
EntityManager entityManager;
+
+ @In
+ SpamReportDAO spamReportDAO;
+
+ @In
+ WikiNodeDAO wikiNodeDAO;
@Create
public void create() {
@@ -116,16 +132,6 @@
public LinkProtocol getLinkProtocol() {
return linkProtocol;
}
-
- @DataModel(value = "spamReports")
- private List<WikiSpamReport> spamReports;
-
- @Factory("spamReports")
- public void loadSpamReports()
- {
- spamReports = entityManager.createQuery("select r from WikiSpamReport r")
- .getResultList();
- }
public void addLinkProtocol() {
@@ -149,6 +155,49 @@
entityManager.remove(selectedLinkProtocol);
linkProtocols.remove(selectedLinkProtocol);
}
+
+ // ####################### SPAM REPORTS ##################################
+
+ @DataModel(value = "spamReports")
+ private List<WikiSpamReport> spamReports;
+
+ @Factory(value = "spamReports")
+ public void refreshSpamReports()
+ {
+ spamReports = entityManager.createQuery("select r from WikiSpamReport r")
+ .getResultList();
+ }
+
+ public String removeSpamReport(Long commentId)
+ {
+ spamReportDAO.removeReports(spamReportDAO.findReports(wikiNodeDAO.findWikiComment(commentId)));
+ refreshSpamReports();
+ return null;
+ }
+
+ // ####################### BLACKLIST ##################################
+
+ @DataModel(value = "blacklist")
+ private List<Blacklist> blacklist;
+
+ @Factory(value = "blacklist")
+ public void refreshBlacklist()
+ {
+ blacklist = entityManager.createQuery("select b from Blacklist b").getResultList();
+ }
+
+ public String removeBlacklist(Long id)
+ {
+ Blacklist bl = entityManager.find(Blacklist.class, id);
+ if (bl != null)
+ {
+ entityManager.remove(bl);
+ entityManager.flush();
+ }
+
+ refreshBlacklist();
+ return null;
+ }
// ####################### INDEXING ##################################
Modified: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentNodeRemover.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentNodeRemover.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentNodeRemover.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -6,8 +6,10 @@
*/
package org.jboss.seam.wiki.core.action;
+import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.wiki.core.dao.SpamReportDAO;
import org.jboss.seam.wiki.core.model.WikiComment;
import java.io.Serializable;
@@ -19,6 +21,8 @@
@AutoCreate
public class CommentNodeRemover extends NodeRemover<WikiComment> implements Serializable {
+ @In SpamReportDAO spamReportDAO;
+
public boolean isRemovable(WikiComment comment) {
return true;
}
Modified: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeRemover.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeRemover.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeRemover.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -6,12 +6,15 @@
*/
package org.jboss.seam.wiki.core.action;
+import java.util.Date;
+
+import javax.persistence.EntityManager;
+
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.log.Log;
-import org.jboss.seam.wiki.core.dao.SpamReportDAO;
import org.jboss.seam.wiki.core.dao.UserDAO;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
import org.jboss.seam.wiki.core.feeds.FeedDAO;
@@ -19,9 +22,6 @@
import org.jboss.seam.wiki.core.model.WikiNode;
import org.jboss.seam.wiki.util.WikiUtil;
-import javax.persistence.EntityManager;
-import java.util.Date;
-
/**
* @author Christian Bauer
*/
@@ -33,9 +33,6 @@
@In
protected FeedDAO feedDAO;
-
- @In
- protected SpamReportDAO spamReportDAO;
@In
protected WikiNodeDAO wikiNodeDAO;
Modified: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -24,8 +24,10 @@
import org.jboss.seam.security.Identity;
import org.jboss.seam.wiki.core.action.prefs.UserManagementPreferences;
import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
+import org.jboss.seam.wiki.core.dao.BlacklistDAO;
import org.jboss.seam.wiki.core.dao.UserDAO;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
+import org.jboss.seam.wiki.core.model.Blacklist;
import org.jboss.seam.wiki.core.model.Role;
import org.jboss.seam.wiki.core.model.User;
import org.jboss.seam.wiki.core.model.WikiComment;
@@ -52,6 +54,8 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import javax.faces.context.FacesContext;
+
@Name("userHome")
@Scope(ScopeType.CONVERSATION)
public class UserHome extends EntityHome<User> {
@@ -64,11 +68,17 @@
@In
private StatusMessages statusMessages;
+
+ @In(required = false)
+ private String clientAddress;
@In
private UserDAO userDAO;
@In
+ private BlacklistDAO blacklistDAO;
+
+ @In
private Hash hashUtil;
@In(create = true)
@@ -179,6 +189,16 @@
@Override
public String persist() {
+ if (clientAddress != null)
+ {
+ getInstance().setRegisteredAddress(clientAddress);
+ }
+
+ if (isBlacklisted())
+ {
+ return "blacklisted";
+ }
+
// Validate
if (!isUniqueUsername() ||
!passwordAndControlNotNull() ||
@@ -431,9 +451,11 @@
nodesToDelete.remove(nodeToDelete);
}
- // TODO blacklist the user
+ Blacklist blacklist = new Blacklist();
+ blacklist.setEmail(getInstance().getEmail());
+ blacklist.setIpAddress(getInstance().getRegisteredAddress());
+ getEntityManager().persist(blacklist);
-
// Remove preferences for this user
PreferenceProvider prefProvider = (PreferenceProvider)Component.getInstance("preferenceProvider");
prefProvider.deleteUserPreferenceValues(getInstance());
@@ -610,6 +632,12 @@
}
return true;
}
+
+ public boolean isBlacklisted()
+ {
+ return blacklistDAO.isEmailBlacklisted(getInstance().getEmail()) ||
+ blacklistDAO.isIpAddressBlacklisted(getInstance().getRegisteredAddress());
+ }
public void validateUsername() {
isUniqueUsername();
Modified: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiIdentity.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiIdentity.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiIdentity.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -230,6 +230,7 @@
private boolean checkCommentCreate(WikiDocument doc) {
if (currentAccessLevel == Role.ADMINROLE_ACCESSLEVEL) return true;
if (doc.getReadAccessLevel() <= currentAccessLevel &&
+ currentAccessLevel > Role.GUESTROLE_ACCESSLEVEL &&
doc.isEnableComments() && doc.isEnableCommentForm()) return true;
return false;
}
Added: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/BlacklistDAO.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/BlacklistDAO.java (rev 0)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/BlacklistDAO.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -0,0 +1,38 @@
+package org.jboss.seam.wiki.core.dao;
+
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+
+/**
+ * DAO for blacklist-related operations
+ *
+ * @author Shane Bryzak
+ */
+ at Name("blacklistDAO")
+ at AutoCreate
+public class BlacklistDAO
+{
+ @In
+ protected EntityManager entityManager;
+
+ public boolean isEmailBlacklisted(String email)
+ {
+ if (email == null) return false;
+
+ return entityManager.createQuery("select bl from Blacklist bl where bl.email = :email")
+ .setParameter("email", email)
+ .getResultList().size() > 0;
+ }
+
+ public boolean isIpAddressBlacklisted(String ipAddress)
+ {
+ if (ipAddress == null) return false;
+
+ return entityManager.createQuery("select bl from Blacklist bl where bl.ipAddress = :ipAddress")
+ .setParameter("ipAddress", ipAddress)
+ .getResultList().size() > 0;
+ }
+}
Added: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/ClientAddressFactory.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/ClientAddressFactory.java (rev 0)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/ClientAddressFactory.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -0,0 +1,24 @@
+package org.jboss.seam.wiki.core.dao;
+
+import javax.faces.context.FacesContext;
+import javax.servlet.http.HttpServletRequest;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Factory;
+import org.jboss.seam.annotations.Name;
+
+ at Name("clientAddressFactory")
+public class ClientAddressFactory
+{
+ @Factory(value = "clientAddress", scope = ScopeType.EVENT, autoCreate = true)
+ public String getClientAddress()
+ {
+ Object request = FacesContext.getCurrentInstance().getExternalContext().getRequest();
+ if (request instanceof HttpServletRequest)
+ {
+ return ((HttpServletRequest) request).getRemoteAddr();
+ }
+
+ return null;
+ }
+}
Modified: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/SpamReportDAO.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/SpamReportDAO.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/SpamReportDAO.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -18,13 +18,14 @@
{
@Logger static Log log;
- @In protected EntityManager restrictedEntityManager;
+ @In
+ protected EntityManager entityManager;
public List<WikiSpamReport> findReports(WikiComment comment) {
if (comment == null || comment.getId() == null) throw new IllegalArgumentException("comment is null or unsaved");
- return restrictedEntityManager
+ return entityManager
.createQuery(
"select distinct r from WikiSpamReport r " +
" where r.comment = :comment"
@@ -37,7 +38,8 @@
{
for (WikiSpamReport report : reports)
{
- restrictedEntityManager.remove(report);
+ entityManager.remove(report);
}
+ entityManager.flush();
}
}
Modified: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/model/User.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/model/User.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/model/User.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -6,15 +6,31 @@
*/
package org.jboss.seam.wiki.core.model;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToMany;
+import javax.persistence.ManyToOne;
+import javax.persistence.OrderBy;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import javax.persistence.Version;
+
+import org.hibernate.validator.Email;
+import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;
import org.hibernate.validator.Pattern;
-import org.hibernate.validator.Length;
-import org.hibernate.validator.Email;
-import javax.persistence.*;
-import java.io.Serializable;
-import java.util.*;
-
@Entity
@Table(name = "USERS")
@org.hibernate.annotations.BatchSize(size = 20)
@@ -78,6 +94,9 @@
@Column(name = "LAST_LOGIN_ON", nullable = true)
private Date lastLoginOn = new Date();
+
+ @Column(name = "REGISTERED_ADDRESS", length = 255, nullable = true)
+ private String registeredAddress;
@Transient
private Date previousLastLoginOn = new Date();
@@ -156,6 +175,9 @@
public String getActivationCode() { return activationCode; }
public void setActivationCode(String activationCode) { this.activationCode = activationCode; }
+
+ public String getRegisteredAddress() { return registeredAddress; }
+ public void setRegisteredAddress(String registeredAddress) { this.registeredAddress = registeredAddress; }
public WikiDirectory getMemberHome() { return memberHome; }
public void setMemberHome(WikiDirectory memberHome) { this.memberHome = memberHome; }
Modified: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiUrlRewriteFilter.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiUrlRewriteFilter.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiUrlRewriteFilter.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -29,7 +29,7 @@
@Scope(ScopeType.APPLICATION)
@Name("wikiUrlRewriteFilter")
@BypassInterceptors
- at Filter(within = "org.jboss.seam.web.ajax4jsfFilter")
+ at Filter(within = "org.jboss.seam.web.exceptionFilter")
@Install(classDependencies = "org.tuckey.web.filters.urlrewrite.UrlRewriteFilter", precedence = Install.APPLICATION)
public class WikiUrlRewriteFilter extends AbstractFilter {
Modified: branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -219,7 +219,8 @@
public static String removeHtml(String original) {
if (original == null) return null;
- return original.replaceAll("\\<([a-zA-Z]|/){1}?.*?\\>","");
+ //return original.replaceAll("\\<([a-zA-Z]|/){1}?.*?\\>","");
+ return original.replaceAll("<!--.*?-->", "").replaceAll("\\<([a-zA-Z]|/){1}?.*?\\>","");
}
// TODO: Ouch...
Modified: branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/templates/blogDirectory.xhtml
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/templates/blogDirectory.xhtml 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/templates/blogDirectory.xhtml 2010-08-03 09:26:27 UTC (rev 13549)
@@ -19,9 +19,14 @@
<div class="boxHeader blogEntryHeader">
<div class="title">
- <h:outputText value="#{blogEntry.entryDocument.name}"/>
+ <h:outputLink value="#{wikiURLRenderer.renderURL(blogEntry.entryDocument)}">
+ <h:outputText value="#{blogEntry.entryDocument.name}"/>
+ </h:outputLink>
</div>
+
+
+
<div class="dateAuthor smallFont">
<h:outputText value="#{blogEntry.entryDocument.createdOn}">
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
@@ -187,4 +192,4 @@
</s:div>
-</wiki:plugin>
\ No newline at end of file
+</wiki:plugin>
Modified: branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/themes/inrelationto/css/blogDirectory.css
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/themes/inrelationto/css/blogDirectory.css 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/themes/inrelationto/css/blogDirectory.css 2010-08-03 09:26:27 UTC (rev 13549)
@@ -18,6 +18,10 @@
font-size: 120%;
}
+.blogEntryHeader .title a {
+ color: #000000;
+}
+
.blogEntryHeader .dateAuthor {
text-align: right;
white-space: nowrap;
@@ -99,4 +103,4 @@
}
.blogPagerTextColumn {
width: 60%;
-}
\ No newline at end of file
+}
Modified: branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/feed/templates/feedAggregator.xhtml
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/feed/templates/feedAggregator.xhtml 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/feed/templates/feedAggregator.xhtml 2010-08-03 09:26:27 UTC (rev 13549)
@@ -69,18 +69,14 @@
<s:div styleClass="feedEntryTitle undecoratedLink"
rendered="#{not preferences.get('FeedAggregator', currentMacro).hideTitle}">
<h:outputLink target="_top" value="#{feDTO.feedEntry.link}">
- <h:outputText value="#{wiki:escapeAtSymbol(wiki:removeHtml(stringutils:unescapeHtml(feDTO.feedEntry.title)))}"/>
+ <h:outputText value="#{wiki:removeHtml(stringutils:unescapeHtml(feDTO.feedEntry.title))}"/>
</h:outputLink>
</s:div>
<s:div styleClass="feedEntryBody" rendered="#{not preferences.get('FeedAggregator', currentMacro).hideDescription}">
<h:outputText value="#{wiki:truncateStringOnWordBoundary(
- wiki:escapeAtSymbol(
- wiki:removeHtml(
- stringutils:unescapeHtml(feDTO.feedEntry.descriptionValue)
- )
- ),
- preferences.get('FeedAggregator', currentMacro).truncateDescription)}"/>
+ wiki:removeHtml(stringutils:unescapeHtml(feDTO.feedEntry.descriptionValue)),
+ preferences.get('FeedAggregator', currentMacro).truncateDescription)}"/>
<h:outputLink target="_top" styleClass="feedEntryBodyMoreLink"
value="#{feDTO.feedEntry.link}"
@@ -106,4 +102,4 @@
</s:div>
-</wiki:plugin>
\ No newline at end of file
+</wiki:plugin>
Modified: branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2010-08-03 09:26:27 UTC (rev 13549)
@@ -308,7 +308,8 @@
d2.FOOTER_MACROS as FOOTER_MACROS,
u.USER_ID, u.ACTIVATED, u.ACTIVATION_CODE, u.CREATED_ON, u.EMAIL, u.FIRSTNAME, u.LAST_LOGIN_ON,
- u.LASTNAME, u.MEMBER_HOME_WIKI_DIRECTORY_ID, u.PASSWORDHASH, u.USER_PROFILE_ID, u.USERNAME, u.OBJ_VERSION
+ u.LASTNAME, u.MEMBER_HOME_WIKI_DIRECTORY_ID, u.PASSWORDHASH, u.USER_PROFILE_ID, u.USERNAME, u.OBJ_VERSION,
+ u.REGISTERED_ADDRESS
from
WIKI_NODE d0
@@ -348,6 +349,7 @@
cl0.USE_WIKI_TEXT as USE_WIKI_TEXT,
u.USER_ID, u.ACTIVATED, u.ACTIVATION_CODE, u.CREATED_ON, u.EMAIL, u.FIRSTNAME, u.LAST_LOGIN_ON,
u.LASTNAME, u.MEMBER_HOME_WIKI_DIRECTORY_ID, u.PASSWORDHASH, u.USER_PROFILE_ID, u.USERNAME, u.OBJ_VERSION,
+ u.REGISTERED_ADDRESS,
doc0.NODE_ID as TOPIC_ID,
count(distinct c0.NODE_ID) as NUM_OF_REPLIES
from
@@ -366,7 +368,7 @@
cl1.LAST_MODIFIED_BY_USER_ID, cl1.WRITE_ACCESS_LEVEL, cl1.READ_ACCESS_LEVEL, cl1.WRITE_PROTECTED, cl1.PARENT_NODE_ID,
cl0.SUBJECT, cl0.FROM_USER_NAME, cl0.FROM_USER_EMAIL, cl0.FROM_USER_HOMEPAGE, cl0.USE_WIKI_TEXT,
u.USER_ID, u.ACTIVATED, u.ACTIVATION_CODE, u.CREATED_ON, u.EMAIL, u.FIRSTNAME, u.LAST_LOGIN_ON,
- u.LASTNAME, u.MEMBER_HOME_WIKI_DIRECTORY_ID, u.PASSWORDHASH, u.USER_PROFILE_ID, u.USERNAME, u.OBJ_VERSION,
+ u.LASTNAME, u.MEMBER_HOME_WIKI_DIRECTORY_ID, u.PASSWORDHASH, u.USER_PROFILE_ID, u.USERNAME, u.OBJ_VERSION, u.REGISTERED_ADDRESS,
doc0.NODE_ID
]]>
</sql-query>
@@ -377,7 +379,7 @@
<![CDATA[
select
ur.USER_ID, ur.ACTIVATED, ur.ACTIVATION_CODE, ur.CREATED_ON, ur.EMAIL, ur.FIRSTNAME, ur.LAST_LOGIN_ON,
- ur.LASTNAME, ur.MEMBER_HOME_WIKI_DIRECTORY_ID, ur.PASSWORDHASH, ur.USER_PROFILE_ID, ur.USERNAME, ur.OBJ_VERSION,
+ ur.LASTNAME, ur.MEMBER_HOME_WIKI_DIRECTORY_ID, ur.PASSWORDHASH, ur.USER_PROFILE_ID, ur.USERNAME, ur.OBJ_VERSION, ur.REGISTERED_ADDRESS
sum(ur.RATING) as RATING_POINTS
from
(select distinct
@@ -398,9 +400,9 @@
group by
ur.USER_ID, ur.ACTIVATED, ur.ACTIVATION_CODE, ur.CREATED_ON, ur.EMAIL, ur.FIRSTNAME, ur.LAST_LOGIN_ON,
ur.LASTNAME, ur.MEMBER_HOME_WIKI_DIRECTORY_ID, ur.PASSWORDHASH, ur.USER_PROFILE_ID, ur.USERNAME,
- ur.OBJ_VERSION
+ ur.OBJ_VERSION, ur.REGISTERED_ADDRESS
order by sum(ur.RATING) desc
]]>
</sql-query>
-</hibernate-mapping>
\ No newline at end of file
+</hibernate-mapping>
Modified: branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ReplyHome.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ReplyHome.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ReplyHome.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -9,6 +9,7 @@
import org.jboss.seam.security.Identity;
import org.jboss.seam.wiki.core.action.CommentHome;
import org.jboss.seam.wiki.core.model.WikiComment;
+import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiNode;
import org.jboss.seam.wiki.core.model.User;
import org.jboss.seam.wiki.core.ui.WikiRedirect;
@@ -95,7 +96,48 @@
}
}
+
+ public String getMailSubject()
+ {
+ StringBuilder sb = new StringBuilder();
+
+ String forumName = getForumName();
+
+ if (getInstance().getSubject().toLowerCase().startsWith("re:"))
+ {
+ sb.append("Re: ");
+ if (forumName != null)
+ {
+ sb.append("[");
+ sb.append(forumName);
+ sb.append("] ");
+ }
+ sb.append(getInstance().getSubject().replaceFirst("[Rr]e:", "").trim());
+ }
+ else
+ {
+ if (forumName != null)
+ {
+ sb.append("[");
+ sb.append(forumName);
+ sb.append("] ");
+ }
+ sb.append(getInstance().getSubject());
+ }
+
+ return sb.toString();
+ }
+ public String getForumName()
+ {
+ WikiNode parent = getInstance().getParent();
+ while (parent != null && !(parent instanceof WikiDirectory))
+ {
+ parent = parent.getParent();
+ }
+ return (parent != null && parent instanceof WikiDirectory) ? parent.getName() : null;
+ }
+
@Begin(flushMode = FlushModeType.MANUAL, join = true)
public void replyToDocument() {
Modified: branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/TopicHome.java
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/TopicHome.java 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/TopicHome.java 2010-08-03 09:26:27 UTC (rev 13549)
@@ -10,6 +10,7 @@
import org.jboss.seam.wiki.core.action.DocumentHome;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
+import org.jboss.seam.wiki.core.model.WikiNode;
import org.jboss.seam.wiki.core.model.WikiTextMacro;
import org.jboss.seam.wiki.core.ui.WikiRedirect;
import org.jboss.seam.wiki.core.plugin.PluginRegistry;
@@ -117,6 +118,56 @@
}
return null; // Prevent navigation
}
+
+ /**
+ * Have to jiggle with the subject line a bit to get it right
+ * @return
+ */
+ public String getMailSubject()
+ {
+ StringBuilder sb = new StringBuilder();
+
+ String forumName = getForumName();
+
+ if (getInstance().getName().toLowerCase().startsWith("re:"))
+ {
+ sb.append("Re: ");
+ if (forumName != null)
+ {
+ sb.append("[");
+ sb.append(forumName);
+ sb.append("] ");
+ }
+ sb.append(getInstance().getName().replaceFirst("[Rr]e:", "").trim());
+ }
+ else
+ {
+ if (forumName != null)
+ {
+ sb.append("[");
+ sb.append(forumName);
+ sb.append("] ");
+ }
+ sb.append(getInstance().getName());
+ }
+
+ return sb.toString();
+ }
+
+ /**
+ * This *should* return the name of the forum the topic belongs to
+ *
+ * @return
+ */
+ public String getForumName()
+ {
+ WikiNode parent = getInstance().getParent();
+ while (parent != null && !(parent instanceof WikiDirectory))
+ {
+ parent = parent.getParent();
+ }
+ return (parent != null && parent instanceof WikiDirectory) ? parent.getName() : "";
+ }
@Override
public String update() {
Modified: branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml 2010-08-03 09:26:27 UTC (rev 13549)
@@ -15,7 +15,7 @@
<m:header name="From" value="#{replyHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
<m:to name="SeamFramework.org Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
- <m:subject>#{replyHome.instance.subject}</m:subject>
+ <m:subject>#{replyHome.mailSubject}</m:subject>
<m:body>
<html>
Modified: branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml
===================================================================
--- branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml 2010-08-03 09:26:27 UTC (rev 13549)
@@ -12,7 +12,7 @@
<m:header name="From" value="#{topicHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
<m:to name="SeamFramework.org Forums List">#{topicHome.mailingList}</m:to>
- <m:subject>#{topicHome.instance.name}</m:subject>
+ <m:subject>#{topicHome.mailSubject}</m:subject>
<m:body>
<html>
Modified: branches/community/Seam_2_2/examples/wiki/view/adminHome_d.xhtml
===================================================================
--- branches/community/Seam_2_2/examples/wiki/view/adminHome_d.xhtml 2010-08-03 07:58:35 UTC (rev 13548)
+++ branches/community/Seam_2_2/examples/wiki/view/adminHome_d.xhtml 2010-08-03 09:26:27 UTC (rev 13549)
@@ -71,10 +71,10 @@
accesskey="#{messages['lacewiki.button.adminHome.SystemStatistics.accesskey']}">
<h:outputText escape="false" value="#{messages['lacewiki.button.adminHome.SystemStatistics']}"/>
</a></li>
- <li id="rolesPermissionsTab"><a href="#rolesPermissions"
+ <!--li id="rolesPermissionsTab"><a href="#rolesPermissions"
accesskey="#{messages['lacewiki.button.adminHome.RolesPermissions.accesskey']}">
<h:outputText escape="false" value="#{messages['lacewiki.button.adminHome.RolesPermissions']}"/>
- </a></li>
+ </a></li-->
<li id="pluginsTab"><a href="#plugins"
accesskey="#{messages['lacewiki.button.adminHome.Plugins.accesskey']}">
<h:outputText escape="false" value="#{messages['lacewiki.button.adminHome.Plugins']}"/>
@@ -87,9 +87,14 @@
accesskey="#{messages['lacewiki.button.adminHome.Preferences.accesskey']}">
<h:outputText escape="false" value="#{messages['lacewiki.button.adminHome.Preferences']}"/>
</a></li>
+
<li id="spamReportTab"><a href="#spamReport">
<h:outputText escape="false" value="#{messages['lacewiki.button.adminHome.SpamReport']}"/>
- </a></li>
+ </a></li>
+
+ <li id="blacklistTab"><a href="#blacklist">
+ <h:outputText escape="false" value="#{messages['lacewiki.button.adminHome.Blacklist']}"/>
+ </a></li>
</ul>
@@ -252,6 +257,7 @@
</div>
<div id="spamReport" style="padding: 20px">
+ <s:div id="spamReportContent">
<h:dataTable id="spamReportTable" var="report"
value="#{spamReports}"
rendered="#{spamReports.rowCount >0}"
@@ -299,9 +305,9 @@
<div>
- <s:fragment rendered="#{s:hasPermission('Comment', 'delete', report.comment)}">
+ <s:fragment rendered="#{s:hasPermission('Comment', 'delete', report.comment)}">
<ui:decorate template="includes/confirmationAction.xhtml">
- <ui:param name="label" value="#{messages['lacewiki.button.commentsDisplay.RemoveComment']}"/>
+ <ui:param name="label" value="#{messages['lacewiki.label.adminHome.spamReport.RemoveComment']}"/>
<ui:param name="jsFunctionName" value="deleteCommentId#{report.comment.id}"/>
<ui:param name="message" value="#{messages['lacewiki.label.AreYouSureYouWantToDelete']
.concat(' ')
@@ -311,7 +317,7 @@
.concat('\'?')}"/>
<ui:define name="jsFunction">
<a:jsFunction name="#{jsFunctionName}"
- reRender="commentDisplayForm, messageBoxContainer"
+ reRender="spamReportContent"
action="#{commentHome.remove(report.comment.id)}"
oncomplete="onAjaxRequestComplete()"
status="globalStatus"/>
@@ -319,6 +325,24 @@
</ui:decorate>
</s:fragment>
+
+ <s:fragment rendered="#{s:hasPermission('Comment', 'delete', report.comment)}">
+ <ui:decorate template="includes/confirmationAction.xhtml">
+ <ui:param name="label" value="#{messages['lacewiki.label.adminHome.spamReport.NotSpam']}"/>
+ <ui:param name="jsFunctionName" value="deleteReportId#{report.reportId}"/>
+ <ui:param name="linkClass" value="buttonReport"/>
+ <ui:param name="message" value="#{messages['lacewiki.label.adminHome.spamReport.AreYouSureYouWantToDelete']
+ .concat('?')}"/>
+ <ui:define name="jsFunction">
+ <a:jsFunction name="#{jsFunctionName}"
+ reRender="spamReportContent"
+ action="#{adminHome.removeSpamReport(report.comment.id)}"
+ oncomplete="onAjaxRequestComplete()"
+ status="globalStatus"/>
+ </ui:define>
+ </ui:decorate>
+ </s:fragment>
+
</div>
</div>
@@ -352,8 +376,65 @@
</h:column>
</h:dataTable>
+ </s:div>
</div>
+
+ <div id="blacklist" style="padding: 20px">
+ <s:div id="blacklistContent">
+ <h:dataTable id="blacklistTable" var="bl"
+ value="#{blacklist}"
+ rendered="#{blacklist.rowCount >0}"
+ styleClass="datatable topLeftBottomBorder"
+ headerClass="regularHeader rightBorder smallFont"
+ columnClasses="tenPercentColumn rightBorder alignLeft,
+ defaultColumn rightBorder alignLeft wrapWhitespace,
+ tenPercentColumn rightBorder alignCenter"
+ rowClasses="rowOdd,rowEven"
+ cellpadding="0" cellspacing="0" border="0">
+ <h:column>
+ <f:facet name="header">
+ #{messages['lacewiki.label.adminHome.blacklist.IPAddress']}
+ </f:facet>
+
+ #{bl.ipAddress}
+ </h:column>
+ <h:column>
+ <f:facet name="header">
+ #{messages['lacewiki.label.adminHome.blacklist.Email']}
+ </f:facet>
+
+ #{bl.email}
+ </h:column>
+
+ <h:column>
+ <f:facet name="header">
+ #{messages['lacewiki.label.adminHome.blacklist.Action']}
+ </f:facet>
+
+ <div style="padding:4px">
+ <ui:decorate template="includes/confirmationAction.xhtml">
+ <ui:param name="label" value="#{messages['lacewiki.label.adminHome.blacklist.Remove']}"/>
+ <ui:param name="jsFunctionName" value="deleteBlacklistId#{bl.id}"/>
+ <ui:param name="message" value="#{messages['lacewiki.label.adminHome.blacklist.AreYouSureYouWantToDelete']
+ .concat('?')}"/>
+ <ui:define name="jsFunction">
+ <a:jsFunction name="#{jsFunctionName}"
+ reRender="blacklistContent"
+ action="#{adminHome.removeBlacklist(bl.id)}"
+ oncomplete="onAjaxRequestComplete()"
+ status="globalStatus"/>
+ </ui:define>
+ </ui:decorate>
+ </div>
+
+ </h:column>
+
+ </h:dataTable>
+ </s:div>
+ </div>
+
+
</div>
<div class="formControls wideLabels">
Added: branches/community/Seam_2_2/examples/wiki/view/blacklisted.xhtml
===================================================================
--- branches/community/Seam_2_2/examples/wiki/view/blacklisted.xhtml (rev 0)
+++ branches/community/Seam_2_2/examples/wiki/view/blacklisted.xhtml 2010-08-03 09:26:27 UTC (rev 13549)
@@ -0,0 +1,25 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a="https://ajax4jsf.dev.java.net/ajax"
+ xmlns:wiki="http://jboss.com/products/seam/wiki"
+ template="themes/#{preferences.get('Wiki').themeName}/template.xhtml">
+
+<ui:define name="content">
+
+<h3>Blacklisted</h3>
+
+<span>
+I'm sorry, but you have been blacklisted from this site.
+If you think this is an error, please contact the site administrator.
+</span>
+
+</ui:define>
+
+<ui:define name="footer"> </ui:define>
+
+</ui:composition>
More information about the seam-commits
mailing list