diff options
Diffstat (limited to 'apps/accessibility/lib/Controller/AccessibilityController.php')
-rw-r--r-- | apps/accessibility/lib/Controller/AccessibilityController.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/apps/accessibility/lib/Controller/AccessibilityController.php b/apps/accessibility/lib/Controller/AccessibilityController.php index 8f1ffa452af..a8fba556acb 100644 --- a/apps/accessibility/lib/Controller/AccessibilityController.php +++ b/apps/accessibility/lib/Controller/AccessibilityController.php @@ -28,6 +28,7 @@ use Leafo\ScssPhp\Formatter\Crunched; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataDisplayResponse; +use OCP\AppFramework\Http\DataDownloadResponse; use OCP\AppFramework\Utility\ITimeFactory; use OCP\App\IAppManager; use OCP\IConfig; @@ -185,6 +186,32 @@ class AccessibilityController extends Controller { } /** + * @NoCSRFRequired + * @PublicPage + * + * @return DataDownloadResponse + */ + public function getJavascript(): DataDownloadResponse { + $user = $this->userSession->getUser(); + + if ($user === null) { + $theme = false; + } else { + $theme = $this->config->getUserValue($user->getUID(), $this->appName, 'theme', false); + } + + $responseJS = '(function() { + OCA.Accessibility = { + theme: ' . json_encode($theme) . ', + + }; +})();'; + $response = new DataDownloadResponse($responseJS, 'javascript', 'text/javascript'); + $response->cacheFor(3600); + return $response; + } + + /** * Return an array with the user theme & font settings * * @return array |