diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2018-03-07 12:55:05 +0100 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2018-03-07 12:55:05 +0100 |
commit | 34b86edc349540439277b3f9cd69fd271980c4de (patch) | |
tree | 6b3671f2f06e8f8ef6d535249d3d631159195951 | |
parent | 3867a74f0d8f17357043a72e38828eb3cbca59f8 (diff) | |
download | nextcloud-server-34b86edc349540439277b3f9cd69fd271980c4de.tar.gz nextcloud-server-34b86edc349540439277b3f9cd69fd271980c4de.zip |
Check if the cached js file exists
Fixes #8705
If the file does not exist (for whatever reason). It is never cached. No
matter what the depscache etc tell you.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
-rw-r--r-- | lib/private/Template/JSCombiner.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/private/Template/JSCombiner.php b/lib/private/Template/JSCombiner.php index c5adcee6854..bc548c22fd0 100644 --- a/lib/private/Template/JSCombiner.php +++ b/lib/private/Template/JSCombiner.php @@ -104,13 +104,20 @@ class JSCombiner { * @return bool */ protected function isCached($fileName, ISimpleFolder $folder) { - $fileName = str_replace('.json', '.js', $fileName) . '.deps'; + $fileName = str_replace('.json', '.js', $fileName); + + if (!$folder->fileExists($fileName)) { + return false; + } + + $fileName = $fileName . '.deps'; try { $deps = $this->depsCache->get($folder->getName() . '-' . $fileName); if ($deps === null || $deps === '') { $depFile = $folder->getFile($fileName); $deps = $depFile->getContent(); } + // check again if ($deps === null || $deps === '') { $this->logger->info('JSCombiner: deps file empty: ' . $fileName); |