Fix css url

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This commit is contained in:
John Molakvoæ (skjnldsv) 2018-06-21 17:53:44 +02:00
parent 627df8f247
commit 95f06d071d
No known key found for this signature in database
GPG key ID: 60C25B8C072916CF
3 changed files with 18 additions and 5 deletions

View file

@ -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();

View file

@ -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]);
}
}
}

View file

@ -109,7 +109,6 @@ class AccessibilityController extends Controller {
* @return DataDisplayResponse
*/
public function getCss(): DataDisplayResponse {
$css = '';
$imports = '';