aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Template/CSSResourceLocator.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Template/CSSResourceLocator.php')
-rw-r--r--lib/private/Template/CSSResourceLocator.php44
1 files changed, 12 insertions, 32 deletions
diff --git a/lib/private/Template/CSSResourceLocator.php b/lib/private/Template/CSSResourceLocator.php
index 32dabb48c0d..1b4050e4ae0 100644
--- a/lib/private/Template/CSSResourceLocator.php
+++ b/lib/private/Template/CSSResourceLocator.php
@@ -117,38 +117,18 @@ class CSSResourceLocator extends ResourceLocator {
parent::append($root, $file, $webRoot, $throw);
} else {
if (!$webRoot) {
- $tmpRoot = realpath($root);
- /*
- * traverse the potential web roots upwards in the path
- *
- * example:
- * - root: /srv/www/apps/myapp
- * - available mappings: ['/srv/www']
- *
- * First we check if a mapping for /srv/www/apps/myapp is available,
- * then /srv/www/apps, /srv/www/apps, /srv/www, ... until we find a
- * valid web root
- */
- do {
- if (isset($this->mapping[$tmpRoot])) {
- $webRoot = $this->mapping[$tmpRoot];
- break;
- }
-
- if ($tmpRoot === '/') {
- $webRoot = '';
- $this->logger->error('ResourceLocator can not find a web root (root: {root}, file: {file}, webRoot: {webRoot}, throw: {throw})', [
- 'app' => 'lib',
- 'root' => $root,
- 'file' => $file,
- 'webRoot' => $webRoot,
- 'throw' => $throw ? 'true' : 'false'
- ]);
- break;
- }
- $tmpRoot = dirname($tmpRoot);
- } while(true);
-
+ $webRoot = $this->findWebRoot($root);
+
+ if (!$webRoot) {
+ $webRoot = '';
+ $this->logger->error('ResourceLocator can not find a web root (root: {root}, file: {file}, webRoot: {webRoot}, throw: {throw})', [
+ 'app' => 'lib',
+ 'root' => $root,
+ 'file' => $file,
+ 'webRoot' => $webRoot,
+ 'throw' => $throw ? 'true' : 'false'
+ ]);
+ }
}
if ($throw && $tmpRoot === '/') {