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;"> |