From b1851df3f67f3a07a094c239d6ef24a6a376607c Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 1 Dec 2017 10:01:23 +0100
Subject: [PATCH] OO-3177: better validation of HTML certificates templates

---
 .../certificate/ui/UploadCertificateController.java   | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/olat/course/certificate/ui/UploadCertificateController.java b/src/main/java/org/olat/course/certificate/ui/UploadCertificateController.java
index 337649b9984..490f75ec597 100644
--- a/src/main/java/org/olat/course/certificate/ui/UploadCertificateController.java
+++ b/src/main/java/org/olat/course/certificate/ui/UploadCertificateController.java
@@ -154,9 +154,9 @@ public class UploadCertificateController extends FormBasicController {
 
 	@Override
 	protected boolean validateFormLogic(UserRequest ureq) {
-		boolean allOk = true;
+		boolean allOk = super.validateFormLogic(ureq);
 		allOk &= validateTemplate();
-		return allOk & super.validateFormLogic(ureq);
+		return allOk;
 	}
 
 	protected boolean validateTemplate() {
@@ -188,17 +188,16 @@ public class UploadCertificateController extends FormBasicController {
 				Path path = FileResource.getResource(template, filename);
 				IndexVisitor visitor = new IndexVisitor(path);
 				Files.walkFileTree(path, visitor);
-				if(!visitor.hasFound()) {
+				if(!visitor.hasFound() || path.getNameCount() > 0) {
 					fileEl.setErrorKey("upload.error.noindex", null);
+					allOk &= false;
 				}
-				allOk = visitor.hasFound();
 				PathUtils.closeSubsequentFS(path);
-
 				formatEl.setVisible(allOk);
 				orientationEl.setVisible(allOk);
 			} else {
 				fileEl.setErrorKey("upload.error.no.phantomjs", null);
-				allOk = false;
+				allOk &= false;
 			}
 		} catch (IOException e) {
 			logError("", e);
-- 
GitLab