Use OC_Util function for app web path

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This commit is contained in:
John Molakvoæ (skjnldsv) 2017-12-28 10:25:10 +01:00
parent 5008eb8f85
commit 89b6bc9424
No known key found for this signature in database
GPG Key ID: FB5ACEED51955BF8
1 changed files with 15 additions and 12 deletions

View File

@ -102,7 +102,7 @@ class SCSSCacher {
$fileNameCSS = $this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileNameSCSS)); $fileNameCSS = $this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileNameSCSS));
$path = implode('/', $path); $path = implode('/', $path);
$webDir = $this->getWebDir($path); $webDir = $this->getWebDir($path, $app);
try { try {
$folder = $this->appData->getFolder($app); $folder = $this->appData->getFolder($app);
@ -310,20 +310,23 @@ class SCSSCacher {
} }
/** /**
* Prepend hashed base url to the css file * Get WebDir root
* @param string $path the css file path * @param string $path the css file path
* @param string $app the app name
* @return string the webDir * @return string the webDir
*/ */
private function getWebDir($path) { private function getWebDir($path, $app) {
// Detect if path is within server root
if(strpos($path, $this->serverRoot) > -1) {
return \OC::$WEBROOT.substr($path, strlen($this->serverRoot));
}
// Detect if path is within an app path // Detect if path is within an app path
$app_paths = $this->config->getSystemValue('apps_paths'); if($appWebPath = \OC_App::getAppWebPath($app)) {
if (!empty($app_paths)) { // Get the file path within the app directory
foreach ($app_paths as $app_path) { $appDirectoryPath = explode($app, $path)[1];
if (strpos($path, $app_path["path"]) === 0) { // Remove the webroot
return $app_path["url"].str_replace($app_path["path"], '', $path); return str_replace(\OC::$WEBROOT, '', $appWebPath.$appDirectoryPath);
} }
} return \OC::$WEBROOT.substr($path, strlen($this->serverRoot));
}
return substr($path, strlen($this->serverRoot));
} }
} }