From 7618473a443aaa42d06391a134525d51a6912f39 Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Wed, 13 Dec 2017 12:36:48 +0100
Subject: [PATCH] Add warning regarding freetype support

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
---
 core/js/setupchecks.js                       | 9 +++++++++
 settings/Controller/CheckSetupController.php | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js
index 44bf33dd711..439826161d8 100644
--- a/core/js/setupchecks.js
+++ b/core/js/setupchecks.js
@@ -174,6 +174,15 @@
 							type: OC.SetupChecks.MESSAGE_TYPE_WARNING
 						});
 					}
+					if (!data.hasFreeTypeSupport) {
+						messages.push({
+							msg: t(
+								'core',
+								'Your PHP does not have freetype support. This will result in broken profile pictures and settings interface.'
+							),
+							type: OC.SetupChecks.MESSAGE_TYPE_INFO
+						})
+					}
 				} else {
 					messages.push({
 						msg: t('core', 'Error occurred while checking server setup'),
diff --git a/settings/Controller/CheckSetupController.php b/settings/Controller/CheckSetupController.php
index 5b7953bf392..06b9e80294b 100644
--- a/settings/Controller/CheckSetupController.php
+++ b/settings/Controller/CheckSetupController.php
@@ -409,6 +409,14 @@ Raw output
 		return $isOpcacheProperlySetUp;
 	}
 
+	/**
+	 * Check if the required FreeType functions are present
+	 * @return bool
+	 */
+	protected function hasFreeTypeSupport() {
+		return function_exists('imagettfbbox') && function_exists('imagettftext');
+	}
+
 	/**
 	 * @return DataResponse
 	 */
@@ -430,6 +438,7 @@ Raw output
 				'isOpcacheProperlySetup' => $this->isOpcacheProperlySetup(),
 				'phpOpcacheDocumentation' => $this->urlGenerator->linkToDocs('admin-php-opcache'),
 				'isSettimelimitAvailable' => $this->isSettimelimitAvailable(),
+				'hasFreeTypeSupport' => $this->hasFreeTypeSupport(),
 			]
 		);
 	}
-- 
GitLab