Refer to relative path instead of absolute path
There is no need to refer to the absolute path here if we can use the relative one. Conflicts: lib/private/templatelayout.php
This commit is contained in:
parent
8da6e4b9f0
commit
7b94c7f9c1
|
@ -157,7 +157,7 @@ class OC_TemplateLayout extends OC_Template {
|
||||||
|
|
||||||
public function generateAssets() {
|
public function generateAssets() {
|
||||||
$jsFiles = self::findJavascriptFiles(OC_Util::$scripts);
|
$jsFiles = self::findJavascriptFiles(OC_Util::$scripts);
|
||||||
$jsHash = self::hashScriptNames($jsFiles);
|
$jsHash = self::hashFileNames($jsFiles);
|
||||||
|
|
||||||
if (!file_exists("assets/$jsHash.js")) {
|
if (!file_exists("assets/$jsHash.js")) {
|
||||||
$jsFiles = array_map(function ($item) {
|
$jsFiles = array_map(function ($item) {
|
||||||
|
@ -179,7 +179,7 @@ class OC_TemplateLayout extends OC_Template {
|
||||||
}
|
}
|
||||||
|
|
||||||
$cssFiles = self::findStylesheetFiles(OC_Util::$styles);
|
$cssFiles = self::findStylesheetFiles(OC_Util::$styles);
|
||||||
$cssHash = self::hashScriptNames($cssFiles);
|
$cssHash = self::hashFileNames($cssFiles);
|
||||||
|
|
||||||
if (!file_exists("assets/$cssHash.css")) {
|
if (!file_exists("assets/$cssHash.css")) {
|
||||||
$cssFiles = array_map(function ($item) {
|
$cssFiles = array_map(function ($item) {
|
||||||
|
@ -210,17 +210,30 @@ class OC_TemplateLayout extends OC_Template {
|
||||||
$this->append('cssfiles', OC_Helper::linkTo('assets', "$cssHash.css"));
|
$this->append('cssfiles', OC_Helper::linkTo('assets', "$cssHash.css"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts the absolute filepath to a relative path from \OC::$SERVERROOT
|
||||||
|
* @param string $filePath Absolute path
|
||||||
|
* @return string Relative path
|
||||||
|
* @throws Exception If $filePath is not under \OC::$SERVERROOT
|
||||||
|
*/
|
||||||
|
public static function convertToRelativePath($filePath) {
|
||||||
|
$relativePath = explode(\OC::$SERVERROOT, $filePath);
|
||||||
|
if(count($relativePath) !== 2) {
|
||||||
|
throw new \Exception('$filePath is not under the \OC::$SERVERROOT');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $relativePath[1];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $files
|
* @param array $files
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
private static function hashScriptNames($files) {
|
|
||||||
|
|
||||||
$files = array_map(function ($item) {
|
private static function hashFileNames($files) {
|
||||||
$root = $item[0];
|
foreach($files as $i => $file) {
|
||||||
$file = $item[2];
|
$files[$i] = self::convertToRelativePath($file[0]).'/'.$file[2];
|
||||||
return $root . '/' . $file;
|
}
|
||||||
}, $files);
|
|
||||||
|
|
||||||
sort($files);
|
sort($files);
|
||||||
// include the apps' versions hash to invalidate the cached assets
|
// include the apps' versions hash to invalidate the cached assets
|
||||||
|
|
Loading…
Reference in New Issue