From: <jbo...@li...> - 2005-08-26 15:46:22
|
Author: dam...@jb... Date: 2005-08-26 11:46:09 -0400 (Fri, 26 Aug 2005) New Revision: 973 Added: qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiSearch.java qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/FindResultPlugin.java qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java Removed: qa/forge/portal-extensions/jboss-as-binaries/to-copy/ Modified: qa/forge/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java qa/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiType.java qa/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp Log: MERGED: -r 952:961 https://svn.labs.jboss.com/trunk/forge/portal-extensions into qa portal-extensions. This removes the old AS in preparation for the addition of a new version. Modified: qa/forge/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java =================================================================== --- qa/forge/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java 2005-08-26 14:20:57 UTC (rev 972) +++ qa/forge/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java 2005-08-26 15:46:09 UTC (rev 973) @@ -44,17 +44,19 @@ static String getBaseServerAddress() { int port; String server; + String scheme; Object request = getExternalContext().getRequest(); if (request instanceof JBossActionRequest) { + scheme = ((JBossActionRequest) request).getScheme(); port = ((JBossActionRequest) request).getServerPort(); server = ((JBossActionRequest) request).getServerName(); } else if (request instanceof JBossRenderRequest) { + scheme = ((JBossRenderRequest) request).getScheme(); port = ((JBossRenderRequest) request).getServerPort(); server = ((JBossRenderRequest) request).getServerName(); } else return ""; - return (((port == 80) || (port == 8080)) ? "http" : "https") + - "://" + server + ":" + port; + return scheme + "://" + server + ":" + port; } static String getPortalName() { Modified: qa/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml =================================================================== --- qa/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml 2005-08-26 14:20:57 UTC (rev 972) +++ qa/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml 2005-08-26 15:46:09 UTC (rev 973) @@ -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> @@ -33,4 +37,16 @@ <class>org.jboss.wiki.plugins.DiffPlugin</class> </plugin> </wikiType> + <wikiType> + <name>FIND</name> + <class>org.jboss.wiki.plugins.DefaultWikiType</class> + <plugin> + <name>findResult</name> + <class>org.jboss.wiki.plugins.FindResultPlugin</class> + </plugin> + <plugin> + <name>wikiToHtmlTranslator</name> + <class>org.jboss.wiki.plugins.HTMLTranslator</class> + </plugin> + </wikiType> </wikiTypes> \ No newline at end of file Modified: qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java =================================================================== --- qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java 2005-08-26 14:20:57 UTC (rev 972) +++ qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java 2005-08-26 15:46:09 UTC (rev 973) @@ -31,6 +31,8 @@ * </p> * */ + private final String SAVE_COMMENT = "Saved by FileDataSource of JBoss Wiki"; + private final String propFileName = "filedatasource.properties";// "/home/tomek/java/sandbox/new_svn/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/filedatasource.properties"; private String pathToMedia; @@ -63,8 +65,7 @@ pathToMedia = fileDSProps.getProperty("pathToMedia"); System.out.println("Path to media is: " + pathToMedia); pathToAttachments = fileDSProps.getProperty("pathToAttachements"); - System.out - .println("Path to attachements is: " + pathToAttachments); + System.out.println("Path to attachements is: " + pathToAttachments); } else { System.err .println("Your properties file lacks of pathToMedia property. It will not run properly ! Please update " @@ -161,8 +162,7 @@ properties.setProperty(page.getLastVersion() + ".author", page .getLastAuthor().getName()); - properties.store(pageWriter, - "Saved by FileDataSource of JBoss Wiki"); + properties.store(pageWriter, SAVE_COMMENT); pageWriter.close(); @@ -200,13 +200,39 @@ Properties pageProps = new Properties(); try { - pageProps.load(new FileInputStream(new File(pathToMedia + "/OLD/" - + pageName + "/page.properties"))); + FileInputStream fpi = new FileInputStream(new File(pathToMedia + + "/OLD/" + pageName + "/page.properties")); + pageProps.load(fpi); + fpi.close(); } catch (IOException ioe) { - System.err.println("Cannot read page.properties for page: " - + pageName + " file: " + pathToMedia + "/OLD/" + pageName - + "/page.properties\n" + ioe); - return null; + // There is no prop file for some reson - create one. + + File pagePropsFile = new File(pathToMedia + "/OLD/" + pageName); + + // create dirs + pagePropsFile.mkdirs(); + + // create file + pagePropsFile = new File(pathToMedia + "/OLD/" + pageName + + "/page.properties"); + + try { + pagePropsFile.createNewFile(); + + if (pageExists(pageName)) { + // if page exists it looks like there is lack of the props structure + FileOutputStream fpo = new FileOutputStream(pagePropsFile); + + pageProps.setProperty("1.author", "unknown"); + pageProps.store(fpo, SAVE_COMMENT); + fpo.close(); + } + + } catch (IOException e) { + System.err.println("Cannot create page props file for page: " + + pageName); + } + return pageProps; } return pageProps; @@ -222,7 +248,7 @@ // create dirs for this property file propFile.mkdirs(); } - + propFile = new File(pathToAttachments + "/" + pageName + "-att/" + attName + "-dir/attachment.properties"); @@ -245,8 +271,7 @@ try { props.store(new FileOutputStream(new File(pathToAttachments + "/" + pageName + "-att/" + attName - + "-dir/attachment.properties")), - "Saved by FileDataSource of JBoss Wiki"); + + "-dir/attachment.properties")), SAVE_COMMENT); } catch (Exception ioe) { System.err .println("Cannot store attchement.properties for attachement: " @@ -260,8 +285,8 @@ } public WikiPage getPage(String pageName) { - System.out.println("[WIKI:FileDataSource]: Getting new page: " - + pageName); + // System.out.println("[WIKI:FileDataSource]: Getting new page: " + + // pageName); WikiPage page = null; @@ -283,7 +308,7 @@ Credentials author = new Credentials(pageProps .getProperty(String.valueOf(i) + ".author")); - String pageContent = ""; + StringBuilder pageContent = new StringBuilder(); try { FileInputStream input = new FileInputStream(pageFile); @@ -291,15 +316,15 @@ int nextChr = input.read(); while (nextChr != -1) { - pageContent += (char) nextChr; + pageContent.append((char) nextChr); nextChr = input.read(); } } catch (IOException ioe) { System.err.println(ioe); } - page = new WikiPage(pageName, author, pageContent, i, i, - new Date(pageFile.lastModified()), this); + page = new WikiPage(pageName, author, pageContent.toString(), + i, i, new Date(pageFile.lastModified()), this); page.setLength(pageFile.length()); } @@ -319,15 +344,9 @@ System.out .println("As for now, languages aren't supported in the wiki. Please do not use language codes"); } - // TODO Auto-generated method stub return getPage(pageName); } - public boolean save(Media media) { - // TODO Auto-generated method stub - return false; - } - public WikiPage getPageAtVersion(WikiPage originPage, boolean loadContent, String languageCode, int version) { if (languageCode != null) { @@ -382,7 +401,7 @@ public void getContentAtVersion(WikiPage page, boolean loadContent, int version) { - String ret = null; + StringBuilder ret = null; File pageFile = new File(pathToMedia + "/OLD/" + page.getName() + "/" + version + ".txt"); @@ -393,14 +412,14 @@ int nextChr = input.read(); - ret = ""; + ret = new StringBuilder(); while (nextChr != -1) { - ret += (char) nextChr; + ret.append((char) nextChr); nextChr = input.read(); } - page.setPageContent(ret); + page.setPageContent(ret.toString()); page.setLength(ret.length()); } catch (IOException ioe) { @@ -439,7 +458,8 @@ } } - public void addAtachement(File attFile, String attName, WikiPage page, String user) { + public void addAtachement(File attFile, String attName, WikiPage page, + String user) { String pageName = page.getName(); Properties attProps = getAttProps(pageName, attName); @@ -491,36 +511,57 @@ System.err.println(e); } } - + // at the end delete the temp file attFile.delete(); - + attProps.setProperty(lastVersion + ".author", user); - + saveAttProps(attProps, pageName, attName); } public Set<String> getAttachementsSet(WikiPage page) { Set<String> attSet = new HashSet<String>(); - - File attDir = new File(pathToAttachments+"/"+page.getName()+"-att"); - + + File attDir = new File(pathToAttachments + "/" + page.getName() + + "-att"); + if (attDir.exists()) { File[] attachements = attDir.listFiles(); - + for (int i = 0; i < attachements.length; i++) { - if ((attachements[i].isDirectory())&&(attachements[i].getName().endsWith("-dir"))) { + if ((attachements[i].isDirectory()) + && (attachements[i].getName().endsWith("-dir"))) { String[] tokens = attachements[i].getName().split("/"); - attSet.add(tokens[tokens.length - 1].substring(0, tokens[tokens.length - 1].length()-4)); + attSet.add(tokens[tokens.length - 1].substring(0, + tokens[tokens.length - 1].length() - 4)); } } - } - else { + } else { // page has no attachements return null; } - + return attSet; } + public Set<String> getAllPageNames() { + Set<String> attSet = new HashSet<String>(); + + File attDir = new File(pathToMedia + "/"); + + File[] pageFiles = attDir.listFiles(); + + for (int i = 0; i < pageFiles.length; i++) { + if ((pageFiles[i].isFile()) + && (pageFiles[i].getName().endsWith(".txt"))) { + String[] tokens = pageFiles[i].getName().split("/"); + attSet.add(tokens[tokens.length - 1].substring(0, + tokens[tokens.length - 1].length() - 4)); + } + } + + return attSet; + } + } Modified: qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java =================================================================== --- qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java 2005-08-26 14:20:57 UTC (rev 972) +++ qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java 2005-08-26 15:46:09 UTC (rev 973) @@ -23,18 +23,11 @@ * @return */ public boolean preSave(); + /** * <p>Does ...</p> * * - * @return - * @param media - */ - public boolean save(Media media); -/** - * <p>Does ...</p> - * - * * @param page * @return * @param languageCode @@ -92,6 +85,8 @@ public void addAtachement(File attFile, String attName, WikiPage page, String user); public Set<String> getAttachementsSet(WikiPage page); + + public Set<String> getAllPageNames(); } Modified: qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java =================================================================== --- qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java 2005-08-26 14:20:57 UTC (rev 972) +++ qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java 2005-08-26 15:46:09 UTC (rev 973) @@ -10,10 +10,12 @@ import java.util.Date; import java.util.HashMap; +import java.util.Set; +import java.util.TreeSet; + import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; - /** * * @author <a href="mailto:ds...@jb...">Damon Sicore</a> @@ -39,6 +41,8 @@ private MediaDataSource mediaDataSource; + WikiPage noSuchPage; + /** * <p> * Does ... @@ -69,9 +73,9 @@ // your code here return false; } - + public boolean pageExists(String pageName) { - + return mediaDataSource.pageExists(pageName); } @@ -101,7 +105,7 @@ * @param wikiContext */ public WikiPage getByName(String pageName, WikiContext wikiContext) { - + WikiPage ret = null; if (pages.containsKey(pageName)) { @@ -119,14 +123,26 @@ return ret; } } else { - return null; + try { + ret = (WikiPage) noSuchPage.clone(); + ret.setName(pageName); + } catch (CloneNotSupportedException cne) { + System.err.println(cne); + + } + if (wikiContext != null) { + return wikiContext.process(ret); + } else { + return ret; + } } } - - public WikiPage getByName(String pageName, WikiContext wikiContext, int version) { - + + public WikiPage getByName(String pageName, WikiContext wikiContext, + int version) { + WikiPage ret = null; - + if (pages.containsKey(pageName)) { ret = pages.get(pageName); } else { @@ -134,9 +150,9 @@ pages.put(pageName, ret); } - + ret = ret.getPageAtVersion(true, version); - + if (ret != null) { if (wikiContext != null) { return wikiContext.process(ret); @@ -144,6 +160,18 @@ return ret; } } else { + // return noSuchPage if there isn't any + /*try { + ret = (WikiPage) noSuchPage.clone(); + } catch (CloneNotSupportedException cne) { + System.err.println(cne); + + } + if (wikiContext != null) { + return wikiContext.process(ret); + } else { + return ret; + }*/ return null; } } @@ -161,6 +189,10 @@ pages = new HashMap<String, WikiPage>(); wikiTypes = new HashMap<String, WikiType>(); + noSuchPage = new WikiPage("", new Credentials(""), + "There is no such page. Click on EDIT to start it.", 0, 0, + null, mediaDataSource); + loadWikiTypes(); } @@ -175,7 +207,7 @@ protected void loadWikiTypes() { try { wikiTypes.clear(); - + SAXParser sp = (SAXParserFactory.newInstance()).newSAXParser(); sp.parse( WikiTypeHandler.class.getResourceAsStream("WikiTypes.xml"), @@ -300,11 +332,32 @@ System.out.println(wp.getContent()); } - + public void refreshPage(String pageName) { if (pages.containsKey(pageName)) { pages.remove(pageName); } } + public Set<String> findPages(String searchQuery) { + System.out.println("Starting search: " + searchQuery); + WikiSearch wikiSearch = new WikiSearch(searchQuery); + + Set<String> resPages = new TreeSet<String>(); + + Set<String> pages = getMediaDataSource().getAllPageNames(); + + for (String name : pages) { + WikiPage temp = getByName(name, null); + if (temp != null) { + if (wikiSearch.matches(temp.getPageContent().toLowerCase())) { + resPages.add(name); + } + } + } + + System.out.println("Search completed"); + return resPages; + } + } Modified: qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java =================================================================== --- qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-08-26 14:20:57 UTC (rev 972) +++ qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-08-26 15:46:09 UTC (rev 973) @@ -14,6 +14,7 @@ import java.util.Iterator; import java.util.List; import java.util.Properties; +import java.util.Set; import javax.portlet.*; import org.jboss.portlet.*; @@ -111,6 +112,21 @@ } } + if (rReq.getParameter("page") != null) { + rResp.setRenderParameter("page", rReq.getParameter("page")); + + } + + if (rReq.getParameter("searchQuery") != null) { + //TODO do it man ! + Set<String> pages = wikiEngine.findPages(rReq.getParameter("searchQuery")); + + rReq.getPortletSession().setAttribute("findResult", pages); + + // show the results + rResp.setRenderParameter("page", "FindResult"); + } + if (rReq.getParameter("action") != null) { rResp.setRenderParameter("action", rReq.getParameter("action")); } @@ -126,11 +142,6 @@ rResp.setRenderParameter("version", rReq.getParameter("version")); } - if (rReq.getParameter("page") != null) { - rResp.setRenderParameter("page", rReq.getParameter("page")); - - } - if (rReq.getParameter("editAction") != null) { System.out.println("EDITING PAGE"); @@ -185,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, @@ -318,7 +330,7 @@ PortletURL wikiURL = rRes.createActionURL(); rReq.setAttribute("actionURL", wikiURL.toString()); - + rReq .setAttribute( "wikiName", @@ -341,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()) Copied: qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiSearch.java (from rev 961, trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiSearch.java) Modified: qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiType.java =================================================================== --- qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiType.java 2005-08-26 14:20:57 UTC (rev 972) +++ qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiType.java 2005-08-26 15:46:09 UTC (rev 973) @@ -86,6 +86,7 @@ System.out.println("cannot clone the page: " + cnse); } + // execute the plugins for (int i = 0; i < plugins.size(); i++) { System.out.println("Executing plugin: "+plugins.get(i).getName()); newPage = (plugins.get(i)).process(newPage, wikiSession); Copied: qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/FindResultPlugin.java (from rev 961, trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/FindResultPlugin.java) Copied: qa/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java (from rev 961, trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java) Modified: qa/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp =================================================================== --- qa/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp 2005-08-26 14:20:57 UTC (rev 972) +++ qa/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp 2005-08-26 15:46:09 UTC (rev 973) @@ -12,7 +12,8 @@ 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"); %> @@ -21,11 +22,11 @@ <!--<a href="<%=actionURL%>&page=<%=defaultPage%>"><%=defaultPage%></a><br />--> -<form method="post" action="<%=actionURL%>"> +<form method="post" action="<%=actionURL%>&type=FIND"> <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;"> @@ -34,20 +35,26 @@ String logedIn = (String)request.getAttribute("logedIn"); - if (logedIn.equals("true")) { - out.print("<a href='"+actionURL+"&action=Edit&page="+wikiPage+"'><img alt=\"EDIT\" src=\"/file-access/default/members/jbosswiki/images/editButton.png\"</img></a>\n"+ - "<a href=\""+actionURL+"&action=Attach\"><img alt=\"ATTACH\" src=\"/file-access/default/members/jbosswiki/images/attachButton.png\"</img></a>"); - + if ((type == null)||(type.equals("HTML"))) { + if (logedIn.equals("true")) { + out.print("<a href='"+actionURL+"&action=Edit&page="+wikiPage+"'><img alt=\"EDIT\" src=\"/file-access/default/members/jbosswiki/images/editButton.png\"</img></a>\n"+ + "<a href=\""+actionURL+"&action=Attach\"><img alt=\"ATTACH\" src=\"/file-access/default/members/jbosswiki/images/attachButton.png\"</img></a>"); + + } + else { + out.print("<div style='font-size: xx-small'><i>Login to edit pages and attach files</i></div>"); + } } - else { - out.print("<div style='font-size: xx-small'><i>Login to edit pages and attach files</i></div>"); - } %> - <a href="<%=actionURL%>&action=Info&page=<%=wikiPage%>"><img alt="HISTORY" src="/file-access/default/members/jbosswiki/images/historyButton.png"</img></a><br /> -<input type="text" name="page" /> -<input type="submit" value="GO" /> +<% +if ((type == null)||(type.equals("HTML"))) { + out.println("<a href=\""+actionURL+"&action=Info&page="+wikiPage+"\"><img alt=\"HISTORY\" src=\"/file-access/default/members/jbosswiki/images/historyButton.png\"</img></a><br />"); + } + %> +<input type="text" name="searchQuery" /> +<input type="submit" value="SEARCH" /> </td> </tr> </table> @@ -86,9 +93,9 @@ } %> -<table style="width: 100%"> -<tr> -<td class="wikiContent"><%=wikiContent%><td> +<table style="width: 100%; margin: 0px; padding: 0px;"> +<tr style="width: 100%; margin: 0px; padding: 0px;"> +<td style="width: 100%; margin: 0px; padding: 0px;"><%=wikiContent%><td> </tr> <tr> <td class="wikiFooter"> @@ -101,5 +108,10 @@ </tr> </table> <br /> -<div class="author">The page last changed on <%=editDate%> by <%=author%>. </div> +<% +if ((type == null)||(type.equals("HTML"))) { + out.println("<div>The page last changed on "+editDate+" by "+author+". </div>"); +} +%> + |