Skip to content
Snippets Groups Projects
Commit 6ccda2ae authored by Lukas Reschke's avatar Lukas Reschke
Browse files

Add app version to JS and CSS

This leads to the regeneration of the hash in case a single application is updated.

Fixes https://github.com/owncloud/core/issues/11374
parent dd0b1e83
No related branches found
No related tags found
No related merge requests found
...@@ -14,6 +14,8 @@ use Assetic\Filter\CssImportFilter; ...@@ -14,6 +14,8 @@ use Assetic\Filter\CssImportFilter;
class OC_TemplateLayout extends OC_Template { class OC_TemplateLayout extends OC_Template {
private static $versionHash = '';
/** /**
* @param string $renderas * @param string $renderas
* @param string $appid application id * @param string $appid application id
...@@ -70,26 +72,25 @@ class OC_TemplateLayout extends OC_Template { ...@@ -70,26 +72,25 @@ class OC_TemplateLayout extends OC_Template {
parent::__construct('core', 'layout.base'); parent::__construct('core', 'layout.base');
} }
$versionParameter = '?v=' . md5(implode(OC_Util::getVersion())); if(empty(self::$versionHash)) {
self::$versionHash = md5(implode(',', OC_App::getAppVersions()));
}
$useAssetPipeline = $this->isAssetPipelineEnabled(); $useAssetPipeline = $this->isAssetPipelineEnabled();
if ($useAssetPipeline) { if ($useAssetPipeline) {
$this->append( 'jsfiles', OC_Helper::linkToRoute('js_config', array('v' => self::$versionHash)));
$this->append( 'jsfiles', OC_Helper::linkToRoute('js_config') . $versionParameter);
$this->generateAssets(); $this->generateAssets();
} else { } else {
// Add the js files // Add the js files
$jsfiles = self::findJavascriptFiles(OC_Util::$scripts); $jsfiles = self::findJavascriptFiles(OC_Util::$scripts);
$this->assign('jsfiles', array(), false); $this->assign('jsfiles', array(), false);
if (OC_Config::getValue('installed', false) && $renderas!='error') { if (OC_Config::getValue('installed', false) && $renderas!='error') {
$this->append( 'jsfiles', OC_Helper::linkToRoute('js_config') . $versionParameter); $this->append( 'jsfiles', OC_Helper::linkToRoute('js_config', array('v' => self::$versionHash)));
} }
foreach($jsfiles as $info) { foreach($jsfiles as $info) {
$web = $info[1]; $web = $info[1];
$file = $info[2]; $file = $info[2];
$this->append( 'jsfiles', $web.'/'.$file . $versionParameter); $this->append( 'jsfiles', $web.'/'.$file . '?v=' . self::$versionHash);
} }
// Add the css files // Add the css files
...@@ -99,7 +100,7 @@ class OC_TemplateLayout extends OC_Template { ...@@ -99,7 +100,7 @@ class OC_TemplateLayout extends OC_Template {
$web = $info[1]; $web = $info[1];
$file = $info[2]; $file = $info[2];
$this->append( 'cssfiles', $web.'/'.$file . $versionParameter); $this->append( 'cssfiles', $web.'/'.$file . '?v=' . self::$versionHash);
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment