From ee66c2217ec24fd583f5ae827451f27dd457100e Mon Sep 17 00:00:00 2001 From: Simon Buckle Date: Wed, 23 Jul 2008 14:27:05 +0000 Subject: [PATCH] Escaped title URL parameter. First cut of allowing users to see the content of the various versions of a wiki page. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9993 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/slingshot/wiki/page.get.json.ftl | 1 + .../slingshot/wiki/version.get.desc.xml | 8 ++++ .../slingshot/wiki/version.get.html.ftl | 1 + .../alfresco/slingshot/wiki/version.get.js | 45 +++++++++++++++++++ .../slingshot/wiki/version.get.mediawiki.ftl | 1 + 5 files changed, 56 insertions(+) create mode 100644 config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.desc.xml create mode 100644 config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.html.ftl create mode 100644 config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.js create mode 100644 config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.mediawiki.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/page.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/page.get.json.ftl index d3e6073a98..6ca43d828d 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/page.get.json.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/page.get.json.ftl @@ -8,6 +8,7 @@ <#list page.versionHistory?sort_by("versionLabel")?reverse as record> { "version": "${record.versionLabel}", + "versionId": "${record.id}", "date": "${record.createdDate?datetime}", "author": "${record.creator}" }<#if record_has_next>, diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.desc.xml new file mode 100644 index 0000000000..6422fdda09 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.desc.xml @@ -0,0 +1,8 @@ + + wikipage + Wiki - Page details + /slingshot/wiki/version/{siteId}/{pageTitle}/{versionId} + argument + user + required + \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.html.ftl new file mode 100644 index 0000000000..51a16e9af1 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.html.ftl @@ -0,0 +1 @@ +${content} \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.js b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.js new file mode 100644 index 0000000000..0e591edf48 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.js @@ -0,0 +1,45 @@ + + +function main() +{ + var params = getTemplateArgs(["siteId", "pageTitle", "versionId"]); + var content = ""; + // Get the site + var site = siteService.getSite(params.siteId); + if (site === null) + { + return ""; + } + + var wiki = getWikiContainer(site); + if (wiki === null) + { + return ""; + } + + var page = wiki.childByNamePath(params.pageTitle); + if (page === null) + { + return ""; + } + + var version; + var versions = page.versionHistory; + // NOTE: would it be possible to pass in the noderef and do a search for the specific + // version (directly) against the "lightWeightVersionStore"? This would depend on what + // indexing (if any) there is on the version store. + for (var i=0; i < versions.length; i++) + { + version = versions[i].node; + // If we don't create a string explicitly the comparison fails + if (String(version.id) === params.versionId) + { + content = version.content; + break; + } + } + + return content; +} + +model.content = main(); \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.mediawiki.ftl b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.mediawiki.ftl new file mode 100644 index 0000000000..51a16e9af1 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.mediawiki.ftl @@ -0,0 +1 @@ +${content} \ No newline at end of file