From 95f06d071decae789d0ce1beccabf59ad03d3eb6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?=
 <skjnldsv@protonmail.com>
Date: Thu, 21 Jun 2018 17:53:44 +0200
Subject: [PATCH] Fix css url
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
---
 apps/accessibility/appinfo/app.php               |  6 ++++++
 apps/accessibility/lib/AppInfo/Application.php   | 16 ++++++++++++----
 .../lib/Controller/AccessibilityController.php   |  1 -
 3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/apps/accessibility/appinfo/app.php b/apps/accessibility/appinfo/app.php
index 39e7b71a089..7f8e3c3262b 100644
--- a/apps/accessibility/appinfo/app.php
+++ b/apps/accessibility/appinfo/app.php
@@ -1,4 +1,5 @@
 <?php
+declare (strict_types = 1);
 /**
  * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
  *
@@ -22,3 +23,8 @@
  */
 
 $app = new \OCA\Accessibility\AppInfo\Application();
+
+// Separate from the constructor since the route are not initialized before that
+// 1. create the app
+// 2. generate css route and inject
+$app->injectCss();
\ No newline at end of file
diff --git a/apps/accessibility/lib/AppInfo/Application.php b/apps/accessibility/lib/AppInfo/Application.php
index dda2fd60698..068fcc27b7a 100644
--- a/apps/accessibility/lib/AppInfo/Application.php
+++ b/apps/accessibility/lib/AppInfo/Application.php
@@ -26,6 +26,7 @@ namespace OCA\Accessibility\AppInfo;
 use OCP\AppFramework\App;
 use OCP\IConfig;
 use OCP\IUserSession;
+use OCP\IURLGenerator;
 
 class Application extends App {
 
@@ -38,17 +39,24 @@ class Application extends App {
 	/** @var IUserSession */
 	private $userSession;
 
+	/** @var IURLGenerator */
+	private $urlGenerator;
+
 	public function __construct() {
 		parent::__construct($this->appName);
-		$this->config      = \OC::$server->getConfig();
-		$this->userSession = \OC::$server->getUserSession();
+		$this->config       = \OC::$server->getConfig();
+		$this->userSession  = \OC::$server->getUserSession();
+		$this->urlGenerator = \OC::$server->getURLGenerator();
+	}
 
+	public function injectCss() {
 		// Inject the fake css on all pages if enabled and user is logged
 		$loggedUser = $this->userSession->getUser();
 		if (!is_null($loggedUser)) {
 			$userValues = $this->config->getUserKeys($loggedUser->getUID(), $this->appName);
-			if(count($userValues) > 0) {
-				\OCP\Util::addStyle($this->appName, 'user-' . md5(implode('-', $userValues)), true);
+			if (count($userValues) > 0) {
+				$linkToCSS = $this->urlGenerator->linkToRoute($this->appName . '.accessibility.getCss', ['md5' => md5(implode('-', $userValues))]);
+				\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'href' => $linkToCSS]);
 			}
 		}
 	}
diff --git a/apps/accessibility/lib/Controller/AccessibilityController.php b/apps/accessibility/lib/Controller/AccessibilityController.php
index ff5da9c0827..c6c6aa2468f 100644
--- a/apps/accessibility/lib/Controller/AccessibilityController.php
+++ b/apps/accessibility/lib/Controller/AccessibilityController.php
@@ -109,7 +109,6 @@ class AccessibilityController extends Controller {
 	 * @return DataDisplayResponse
 	 */
 	public function getCss(): DataDisplayResponse {
-
 		$css     = '';
 		$imports = '';
 
-- 
GitLab