mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-11-05 15:32:21 +00:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eca25addff | ||
|
|
0ea417ed37 | ||
|
|
fb811cdb2d | ||
|
|
9c0ac89015 | ||
|
|
1028b5c44b | ||
|
|
39d209a6a1 | ||
|
|
d9adbd60e1 | ||
|
|
cb07b26653 | ||
|
|
327129f021 | ||
|
|
afbaf11ff9 | ||
|
|
e779057f23 | ||
|
|
49ee9f8f29 | ||
|
|
213886cedd | ||
|
|
1be9a43bcd | ||
|
|
eceb7c0eb3 |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -107,7 +107,7 @@ jobs:
|
|||||||
bash ./scripts/ci/init.sh
|
bash ./scripts/ci/init.sh
|
||||||
bash ./scripts/ci/build.sh
|
bash ./scripts/ci/build.sh
|
||||||
- name: "Run SAST Scan"
|
- name: "Run SAST Scan"
|
||||||
uses: veracode/Veracode-pipeline-scan-action@v1.0.16
|
uses: veracode/Veracode-pipeline-scan-action@v1.0.20
|
||||||
with:
|
with:
|
||||||
vid: ${{ secrets.VERACODE_API_ID }}
|
vid: ${{ secrets.VERACODE_API_ID }}
|
||||||
vkey: ${{ secrets.VERACODE_API_KEY }}
|
vkey: ${{ secrets.VERACODE_API_KEY }}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-amps</artifactId>
|
<artifactId>alfresco-community-repo-amps</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-automation-community-repo</artifactId>
|
<artifactId>alfresco-governance-services-automation-community-repo</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-amps</artifactId>
|
<artifactId>alfresco-community-repo-amps</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@@ -134,6 +134,25 @@ function doclist_main()
|
|||||||
logger.log("doclist.lib.js - NodeRef: " + parsedArgs.nodeRef + " Query: " + query);
|
logger.log("doclist.lib.js - NodeRef: " + parsedArgs.nodeRef + " Query: " + query);
|
||||||
|
|
||||||
favourites = sanitizeJunkFavouriteKeys(favourites);
|
favourites = sanitizeJunkFavouriteKeys(favourites);
|
||||||
|
if(query === null)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
luceneQuery: "",
|
||||||
|
paging: {
|
||||||
|
totalRecords: 0,
|
||||||
|
startIndex: 0
|
||||||
|
},
|
||||||
|
container: parsedArgs.rootNode,
|
||||||
|
parent: null,
|
||||||
|
onlineEditing: utils.moduleInstalled("org.alfresco.module.vti"),
|
||||||
|
itemCount: {
|
||||||
|
folders: 0,
|
||||||
|
documents: 0
|
||||||
|
},
|
||||||
|
items: [],
|
||||||
|
customJSON: slingshotDocLib.getJSON()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if(Object.keys(favourites).length === 0 && query === null)
|
if(Object.keys(favourites).length === 0 && query === null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -233,15 +233,15 @@ var Filters =
|
|||||||
filterParams.query = "+ID:\"" + parsedArgs.nodeRef + "\"";
|
filterParams.query = "+ID:\"" + parsedArgs.nodeRef + "\"";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "tag":
|
case "tag":
|
||||||
// Remove any trailing "/" character
|
// Remove any trailing "/" character
|
||||||
if (filterData.charAt(filterData.length - 1) == "/")
|
if (filterData.charAt(filterData.length - 1) == "/")
|
||||||
{
|
{
|
||||||
filterData = filterData.slice(0, -1);
|
filterData = filterData.slice(0, -1);
|
||||||
}
|
}
|
||||||
filterQuery = this.constructPathQuery(parsedArgs);
|
filterQuery = this.constructPathQuery(parsedArgs);
|
||||||
filterParams.query = filterQuery + " +PATH:\"/cm:taggable/cm:" + search.ISO9075Encode(filterData) + "/member\"";
|
filterParams.query = filterQuery + " +TAG:\"" + search.ISO9075Encode(filterData) + "\"";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "category":
|
case "category":
|
||||||
// Remove any trailing "/" character
|
// Remove any trailing "/" character
|
||||||
@@ -249,8 +249,15 @@ var Filters =
|
|||||||
{
|
{
|
||||||
filterData = filterData.slice(0, -1);
|
filterData = filterData.slice(0, -1);
|
||||||
}
|
}
|
||||||
filterQuery = this.constructPathQuery(parsedArgs);
|
|
||||||
filterParams.query = filterQuery + " +PATH:\"/cm:categoryRoot/cm:generalclassifiable" + Filters.iso9075EncodePath(filterData) + "/member\"";
|
var categoryNodeRef = this.getCategoryNodeRef(filterData);
|
||||||
|
|
||||||
|
if (categoryNodeRef && search.findNode(categoryNodeRef) != null) {
|
||||||
|
filterParams.query = filterQuery + ' +@cm\\:categories:"' + categoryNodeRef + '"';
|
||||||
|
} else {
|
||||||
|
logger.warn("category filter: skipping invalid category node : " + categoryNodeRef);
|
||||||
|
}
|
||||||
|
filterParams.language = "fts-alfresco";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "aspect":
|
case "aspect":
|
||||||
@@ -271,11 +278,24 @@ var Filters =
|
|||||||
{
|
{
|
||||||
filterParams.query += " " + (Filters.TYPE_MAP[parsedArgs.type] || "");
|
filterParams.query += " " + (Filters.TYPE_MAP[parsedArgs.type] || "");
|
||||||
}
|
}
|
||||||
|
logger.warn("Final Query : " + filterParams.query);
|
||||||
return filterParams;
|
return filterParams;
|
||||||
},
|
},
|
||||||
|
|
||||||
constructPathQuery: function constructPathQuery(parsedArgs)
|
getCategoryNodeRef: function(categoryName) {
|
||||||
|
var results = search.luceneSearch(
|
||||||
|
'PATH:"/cm:categoryRoot/cm:generalclassifiable//*" AND @cm\\:name:"' + categoryName + '"'
|
||||||
|
);
|
||||||
|
|
||||||
|
if (results && results.length > 0) {
|
||||||
|
return results[0].nodeRef.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.warn("Category not found: " + categoryName);
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
|
||||||
|
constructPathQuery: function(parsedArgs)
|
||||||
{
|
{
|
||||||
var pathQuery = "";
|
var pathQuery = "";
|
||||||
if (parsedArgs.libraryRoot != companyhome || parsedArgs.nodeRef != "alfresco://company/home")
|
if (parsedArgs.libraryRoot != companyhome || parsedArgs.nodeRef != "alfresco://company/home")
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|||||||
@@ -9,6 +9,6 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<organization>
|
<organization>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<developers>
|
<developers>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<developers>
|
<developers>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<developers>
|
<developers>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
10
pom.xml
10
pom.xml
@@ -2,7 +2,7 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>Alfresco Community Repo Parent</name>
|
<name>Alfresco Community Repo Parent</name>
|
||||||
|
|
||||||
@@ -85,8 +85,8 @@
|
|||||||
<dependency.truezip.version>7.7.10</dependency.truezip.version>
|
<dependency.truezip.version>7.7.10</dependency.truezip.version>
|
||||||
<dependency.poi.version>5.4.1</dependency.poi.version>
|
<dependency.poi.version>5.4.1</dependency.poi.version>
|
||||||
<dependency.jboss.logging.version>3.5.0.Final</dependency.jboss.logging.version>
|
<dependency.jboss.logging.version>3.5.0.Final</dependency.jboss.logging.version>
|
||||||
<dependency.camel.version>4.10.2</dependency.camel.version> <!-- when bumping this version, please keep track/sync with included netty.io dependencies -->
|
<dependency.camel.version>4.15.0</dependency.camel.version> <!-- when bumping this version, please keep track/sync with included netty.io dependencies -->
|
||||||
<dependency.netty.version>4.1.118.Final</dependency.netty.version> <!-- must be in sync with camels transitive dependencies, e.g.: netty-common -->
|
<dependency.netty.version>4.1.127.Final</dependency.netty.version> <!-- must be in sync with camels transitive dependencies, e.g.: netty-common -->
|
||||||
<dependency.activemq.version>5.18.3</dependency.activemq.version>
|
<dependency.activemq.version>5.18.3</dependency.activemq.version>
|
||||||
<dependency.apache-compress.version>1.27.1</dependency.apache-compress.version>
|
<dependency.apache-compress.version>1.27.1</dependency.apache-compress.version>
|
||||||
<dependency.awaitility.version>4.2.2</dependency.awaitility.version>
|
<dependency.awaitility.version>4.2.2</dependency.awaitility.version>
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
<dependency.jakarta-annotation-api.version>3.0.0</dependency.jakarta-annotation-api.version>
|
<dependency.jakarta-annotation-api.version>3.0.0</dependency.jakarta-annotation-api.version>
|
||||||
<dependency.jakarta-transaction-api.version>2.0.1</dependency.jakarta-transaction-api.version>
|
<dependency.jakarta-transaction-api.version>2.0.1</dependency.jakarta-transaction-api.version>
|
||||||
<dependency.jakarta-jws-api.version>3.0.0</dependency.jakarta-jws-api.version>
|
<dependency.jakarta-jws-api.version>3.0.0</dependency.jakarta-jws-api.version>
|
||||||
<dependency.jakarta-ee-mail.version>2.0.1</dependency.jakarta-ee-mail.version>
|
<dependency.jakarta-ee-mail.version>2.0.2</dependency.jakarta-ee-mail.version>
|
||||||
<dependency.jakarta-ee-activation.version>2.0.1</dependency.jakarta-ee-activation.version>
|
<dependency.jakarta-ee-activation.version>2.0.1</dependency.jakarta-ee-activation.version>
|
||||||
<dependency.jakarta-ee-jms.version>3.1.0</dependency.jakarta-ee-jms.version>
|
<dependency.jakarta-ee-jms.version>3.1.0</dependency.jakarta-ee-jms.version>
|
||||||
<dependency.java-ee-activation.version>1.2.0</dependency.java-ee-activation.version>
|
<dependency.java-ee-activation.version>1.2.0</dependency.java-ee-activation.version>
|
||||||
@@ -154,7 +154,7 @@
|
|||||||
<connection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</connection>
|
<connection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</connection>
|
||||||
<developerConnection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</developerConnection>
|
<developerConnection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</developerConnection>
|
||||||
<url>https://github.com/Alfresco/alfresco-community-repo</url>
|
<url>https://github.com/Alfresco/alfresco-community-repo</url>
|
||||||
<tag>23.7.0.2</tag>
|
<tag>23.7.0.6</tag>
|
||||||
</scm>
|
</scm>
|
||||||
|
|
||||||
<distributionManagement>
|
<distributionManagement>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ import java.util.Map;
|
|||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
|
import org.owasp.html.HtmlPolicyBuilder;
|
||||||
import org.owasp.html.PolicyFactory;
|
import org.owasp.html.PolicyFactory;
|
||||||
import org.owasp.html.Sanitizers;
|
|
||||||
import org.springframework.extensions.webscripts.Cache;
|
import org.springframework.extensions.webscripts.Cache;
|
||||||
import org.springframework.extensions.webscripts.Status;
|
import org.springframework.extensions.webscripts.Status;
|
||||||
import org.springframework.extensions.webscripts.WebScriptRequest;
|
import org.springframework.extensions.webscripts.WebScriptRequest;
|
||||||
@@ -78,7 +78,17 @@ public class CommentsPost extends AbstractCommentsWebScript
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
|
// Allowed HTML elements and attributes in comment content e.g. Text formatting ,Lists and Structure & Styling
|
||||||
|
String[] allowedElements = {"b", "i", "u", "strong", "em", "ul", "ol", "li", "p", "br", "span", "div"};
|
||||||
|
|
||||||
|
PolicyFactory policy = new HtmlPolicyBuilder()
|
||||||
|
.allowElements(allowedElements)
|
||||||
|
.allowAttributes("style")
|
||||||
|
.onElements("span", "div", "p", "ul")
|
||||||
|
.allowStyling()
|
||||||
|
.allowStandardUrlProtocols()
|
||||||
|
.toFactory();
|
||||||
|
|
||||||
String safeContent = policy.sanitize(commentContent);
|
String safeContent = policy.sanitize(commentContent);
|
||||||
json.replace("content", safeContent);
|
json.replace("content", safeContent);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,92 +1,83 @@
|
|||||||
<#macro renderParent node indent=" ">
|
<#macro renderParent node indent=" ">
|
||||||
<#escape x as jsonUtils.encodeJSONString(x)>
|
<#escape x as jsonUtils.encodeJSONString(x)>
|
||||||
${indent}"parent":
|
${indent}"parent":
|
||||||
${indent}{
|
${indent}{
|
||||||
<#if (node != rootNode) && node.parent??>
|
<#if (node != rootNode) && node.parent??>
|
||||||
<@renderParent node.parent indent+" " />
|
<@renderParent node.parent indent+" " />
|
||||||
</#if>
|
</#if>
|
||||||
${indent}"type": "${node.typeShort}",
|
${indent}"type": "${node.typeShort}",
|
||||||
${indent}"isContainer": ${node.isContainer?string},
|
${indent}"isContainer": ${node.isContainer?string},
|
||||||
${indent}"name": "${node.properties.name!""}",
|
${indent}"name": "${node.properties.name!""}",
|
||||||
${indent}"title": "${node.properties.title!""}",
|
${indent}"title": "${node.properties.title!""}",
|
||||||
${indent}"description": "${node.properties.description!""}",
|
${indent}"description": "${node.properties.description!""}",
|
||||||
<#if node.properties.modified??>${indent}"modified": "${xmldate(node.properties.modified)}",</#if>
|
<#if node.properties.modified??>${indent}"modified": "${xmldate(node.properties.modified)}",</#if>
|
||||||
<#if node.properties.modifier??>${indent}"modifier": "${node.properties.modifier}",</#if>
|
<#if node.properties.modifier??>${indent}"modifier": "${node.properties.modifier}",</#if>
|
||||||
${indent}"displayPath": "${node.displayPath!""}",
|
${indent}"displayPath": "${node.displayPath!""}",
|
||||||
${indent}"qnamePath": "${node.qnamePath!""}",
|
${indent}"qnamePath": "${node.qnamePath!""}",
|
||||||
<#if node.aspects??>
|
<#if node.aspects??>
|
||||||
${indent}"aspects":
|
${indent}"aspects":
|
||||||
${indent}[
|
${indent}[
|
||||||
<#list node.aspects as aspect>
|
<#list node.aspects as aspect>
|
||||||
"${shortQName(aspect)}"
|
"${shortQName(aspect)}"
|
||||||
<#if aspect_has_next>,</#if>
|
<#if aspect_has_next>,</#if>
|
||||||
</#list>
|
</#list>
|
||||||
|
|
||||||
${indent}],
|
${indent}],
|
||||||
</#if>
|
</#if>
|
||||||
${indent}"nodeRef": "${node.nodeRef}"
|
${indent}"nodeRef": "${node.nodeRef}"
|
||||||
${indent}},
|
${indent}},
|
||||||
</#escape>
|
</#escape>
|
||||||
</#macro>
|
</#macro>
|
||||||
|
|
||||||
<#macro pickerResultsJSON results>
|
<#macro pickerResultsJSON results>
|
||||||
<#escape x as jsonUtils.encodeJSONString(x)>
|
<#escape x as jsonUtils.encodeJSONString(x)>
|
||||||
{
|
{
|
||||||
"data":
|
"data":
|
||||||
{
|
{
|
||||||
<#if parent??>
|
<#if parent??>
|
||||||
<@renderParent parent />
|
<@renderParent parent />
|
||||||
</#if>
|
</#if>
|
||||||
"items":
|
"items":
|
||||||
[
|
[
|
||||||
<#list results as row>
|
<#list results as row>
|
||||||
{
|
{
|
||||||
"type": "${row.item.typeShort}",
|
"type": "${row.item.typeShort}",
|
||||||
"parentType": "${row.item.parentTypeShort!""}",
|
"parentType": "${row.item.parentTypeShort!""}",
|
||||||
"isContainer": ${row.item.isContainer?string},
|
"isContainer": ${row.item.isContainer?string},
|
||||||
<#if row.container??>"container": "${row.container!""}",</#if>
|
<#if row.container??>"container": "${row.container!""}",</#if>
|
||||||
<#if row.item.properties?? && row.item.properties.name??>
|
"name": "${row.item.properties.name!""}",
|
||||||
"name": "${row.item.properties.name!""}",
|
<#if row.item.aspects??>
|
||||||
<#else>
|
"aspects": [
|
||||||
"name": "${(row.item.name)!row.item?string!""}",
|
<#list row.item.aspects as aspect>
|
||||||
</#if>
|
"${shortQName(aspect)}"
|
||||||
<#if row.item.aspects??>
|
<#if aspect_has_next>,</#if>
|
||||||
"aspects": [
|
</#list>
|
||||||
<#list row.item.aspects as aspect>
|
],
|
||||||
"${shortQName(aspect)}"
|
</#if>
|
||||||
<#if aspect_has_next>,</#if>
|
"title":<#if row.item.properties["lnk:title"]??>"${row.item.properties["lnk:title"]}",
|
||||||
</#list>
|
<#elseif row.item.properties["ia:whatEvent"]??>"${row.item.properties["ia:whatEvent"]}",
|
||||||
],
|
<#else>"${row.item.properties.title!""}",</#if>
|
||||||
</#if>
|
"description": "${row.item.properties.description!""}",
|
||||||
<#if row.item.properties??>
|
<#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
|
||||||
"title":<#if row.item.properties["lnk:title"]??>"${row.item.properties["lnk:title"]}",
|
<#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
|
||||||
<#elseif row.item.properties["ia:whatEvent"]??>"${row.item.properties["ia:whatEvent"]}",
|
<#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
|
||||||
<#else>"${row.item.properties.title!""}",</#if>
|
<#if row.item.properties["ia:fromDate"]??>"fromDate": "${xmldate(row.item.properties["ia:fromDate"])}",</#if>
|
||||||
"description": "${row.item.properties.description!""}",
|
"displayPath": "${row.item.displayPath!""}",
|
||||||
<#else>
|
"qnamePath": "${row.item.qnamePath!""}",
|
||||||
"title": "${(row.item.name)!row.item?string!""}",
|
<#if row.item.typeShort != "cm:person" && row.item.typeShort != "cm:authorityContainer">
|
||||||
"description": "",
|
"userAccess":
|
||||||
</#if>
|
{
|
||||||
<#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
|
"create": ${row.item.hasPermission("CreateChildren")?string},
|
||||||
<#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
|
"edit": ${row.item.hasPermission("Write")?string},
|
||||||
<#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
|
"delete": ${row.item.hasPermission("Delete")?string}
|
||||||
<#if row.item.properties["ia:fromDate"]??>"fromDate": "${xmldate(row.item.properties["ia:fromDate"])}",</#if>
|
},
|
||||||
"displayPath": "${row.item.displayPath!""}",
|
</#if>
|
||||||
"qnamePath": "${row.item.qnamePath!""}",
|
"nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
|
||||||
<#if row.item.typeShort != "cm:person" && row.item.typeShort != "cm:authorityContainer">
|
"selectable" : ${row.selectable?string}</#if>
|
||||||
"userAccess":
|
}<#if row_has_next>,</#if>
|
||||||
{
|
</#list>
|
||||||
"create": ${row.item.hasPermission("CreateChildren")?string},
|
]
|
||||||
"edit": ${row.item.hasPermission("Write")?string},
|
}
|
||||||
"delete": ${row.item.hasPermission("Delete")?string}
|
}
|
||||||
},
|
</#escape>
|
||||||
</#if>
|
|
||||||
"nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
|
|
||||||
"selectable" : ${row.selectable?string}</#if>
|
|
||||||
}<#if row_has_next>,</#if>
|
|
||||||
</#list>
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</#escape>
|
|
||||||
</#macro>
|
</#macro>
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>23.7.0.2</version>
|
<version>23.7.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|||||||
Reference in New Issue
Block a user