|
From: <jbo...@li...> - 2005-08-25 16:17:00
|
Author: szimano
Date: 2005-08-25 12:16:49 -0400 (Thu, 25 Aug 2005)
New Revision: 959
Added:
trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java
Modified:
trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml
trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java
trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp
Log:
secure connection support
Modified: trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml 2005-08-25 14:13:46 UTC (rev 958)
+++ trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml 2005-08-25 16:16:49 UTC (rev 959)
@@ -24,6 +24,10 @@
<name>friendlyLinks</name>
<class>org.jboss.wiki.plugins.FriendlyLinkPlugin</class>
</plugin>
+ <plugin>
+ <name>secureLinks</name>
+ <class>org.jboss.wiki.plugins.SecureLinksPlugin</class>
+ </plugin>
</wikiType>
<wikiType>
<name>DIFF</name>
Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-08-25 14:13:46 UTC (rev 958)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-08-25 16:16:49 UTC (rev 959)
@@ -196,6 +196,7 @@
public void doView(JBossRenderRequest rReq, JBossRenderResponse rRes)
throws PortletException, java.io.IOException {
+ rReq.getPortletSession().setAttribute("isSecure", new Boolean(rReq.isSecure()));
WikiPage noSuchPage = new WikiPage("", new Credentials(""),
"There is no such page. Click on EDIT to start it.", 0, 0,
@@ -329,7 +330,7 @@
PortletURL wikiURL = rRes.createActionURL();
rReq.setAttribute("actionURL", wikiURL.toString());
-
+
rReq
.setAttribute(
"wikiName",
@@ -352,8 +353,14 @@
// pass friendly link
Properties props = new Properties();
props.load(WikiPlugin.class.getResourceAsStream("wikiPlugins.properties"));
- rReq.setAttribute("firendlyLink", props.getProperty("htmlTranslatorURL")+"wiki/"+pageToShow.getName());
+ String href = props.getProperty("htmlTranslatorURL")+"wiki/"+pageToShow.getName();
+ if (rReq.isSecure()) {
+ //change http to https
+ href = href.replaceFirst("http", "https");
+ }
+
+ rReq.setAttribute("friendlyLink", href);
rRes.setTitle("Wiki");
if (javax.portlet.WindowState.NORMAL.equals(rReq.getWindowState())
Added: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java 2005-08-25 14:13:46 UTC (rev 958)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java 2005-08-25 16:16:49 UTC (rev 959)
@@ -0,0 +1,32 @@
+package org.jboss.wiki.plugins;
+
+import org.jboss.wiki.WikiPage;
+import org.jboss.wiki.WikiPlugin;
+import org.jboss.wiki.WikiSession;
+
+public class SecureLinksPlugin extends WikiPlugin {
+
+ @Override
+ public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) {
+ WikiPage newPage = null;
+
+ try {
+ newPage = (WikiPage) wikiPage.clone();
+ } catch (CloneNotSupportedException cl) {
+ System.err.println(cl);
+ }
+
+ if (((Boolean)wikiSession.getAttribute("isSecure")) == true) {
+ newPage.setPageContent(newPage.getPageContent().replaceAll(
+ "<a href=\"http", "<a href=\"https"));
+ }
+ return newPage;
+ }
+
+ @Override
+ public void init() {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Modified: trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp 2005-08-25 14:13:46 UTC (rev 958)
+++ trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp 2005-08-25 16:16:49 UTC (rev 959)
@@ -12,7 +12,7 @@
String wikiContent = (String)request.getAttribute("wikiContent");
String wikiPage = (String)request.getAttribute("wikiPage");
String defaultPage = (String)request.getAttribute("defaultPage");
- String firendlyLink = (String)request.getAttribute("firendlyLink");
+ String friendlyLink = (String)request.getAttribute("friendlyLink");
String type = (String)request.getParameter("type");
java.util.Date editDate = (java.util.Date)request.getAttribute("editDate");
org.jboss.wiki.Credentials author = (org.jboss.wiki.Credentials)request.getAttribute("author");
@@ -26,7 +26,7 @@
<table style="width: 100%" border="0">
<tr style="vertical-align: bottom;">
<td style="vertical-align: bottom; align-bottom: 0px;">
-<div><a href="<%=firendlyLink%>"><img style="vertical-align: middle" alt="PERM LINK" src="/file-access/default/members/jbosswiki/images/permaLinkButton.png" /></a> <a href="<%=firendlyLink%>"><%=firendlyLink%></a></div>
+<div><a href="<%=friendlyLink%>"><img style="vertical-align: middle" alt="PERM LINK" src="/file-access/default/members/jbosswiki/images/permaLinkButton.png" /></a> <a href="<%=friendlyLink%>"><%=friendlyLink%></a></div>
</td>
<td style="text-align: right;vertical-align: bottom; align-bottom: 0px;">
|