Merge pull request #24449 from nextcloud/bugfix/noid/theming-scss-apcu
Store scss variables under a different prefix for each theming config version
This commit is contained in:
commit
deb7073724
|
@ -290,13 +290,14 @@ class ThemingDefaults extends \OC_Defaults {
|
|||
* @return array scss variables to overwrite
|
||||
*/
|
||||
public function getScssVariables() {
|
||||
$cache = $this->cacheFactory->createDistributed('theming-' . $this->urlGenerator->getBaseUrl());
|
||||
$cacheBuster = $this->config->getAppValue('theming', 'cachebuster', '0');
|
||||
$cache = $this->cacheFactory->createDistributed('theming-' . $cacheBuster . '-' . $this->urlGenerator->getBaseUrl());
|
||||
if ($value = $cache->get('getScssVariables')) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
$variables = [
|
||||
'theming-cachebuster' => "'" . $this->config->getAppValue('theming', 'cachebuster', '0') . "'",
|
||||
'theming-cachebuster' => "'" . $cacheBuster . "'",
|
||||
'theming-logo-mime' => "'" . $this->config->getAppValue('theming', 'logoMime') . "'",
|
||||
'theming-background-mime' => "'" . $this->config->getAppValue('theming', 'backgroundMime') . "'",
|
||||
'theming-logoheader-mime' => "'" . $this->config->getAppValue('theming', 'logoheaderMime') . "'",
|
||||
|
|
|
@ -634,9 +634,10 @@ class ThemingDefaultsTest extends TestCase {
|
|||
}
|
||||
|
||||
public function testGetScssVariablesCached() {
|
||||
$this->config->expects($this->any())->method('getAppValue')->with('theming', 'cachebuster', '0')->willReturn('1');
|
||||
$this->cacheFactory->expects($this->once())
|
||||
->method('createDistributed')
|
||||
->with('theming-')
|
||||
->with('theming-1-')
|
||||
->willReturn($this->cache);
|
||||
$this->cache->expects($this->once())->method('get')->with('getScssVariables')->willReturn(['foo' => 'bar']);
|
||||
$this->assertEquals(['foo' => 'bar'], $this->template->getScssVariables());
|
||||
|
@ -658,7 +659,7 @@ class ThemingDefaultsTest extends TestCase {
|
|||
$this->util->expects($this->any())->method('elementColor')->with($this->defaults->getColorPrimary())->willReturn('#aaaaaa');
|
||||
$this->cacheFactory->expects($this->once())
|
||||
->method('createDistributed')
|
||||
->with('theming-')
|
||||
->with('theming-0-')
|
||||
->willReturn($this->cache);
|
||||
$this->cache->expects($this->once())->method('get')->with('getScssVariables')->willReturn(null);
|
||||
$this->imageManager->expects($this->at(0))->method('getImageUrl')->with('logo')->willReturn('custom-logo?v=0');
|
||||
|
|
Loading…
Reference in New Issue