Actually clear cache values for all base urls

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl 2018-03-07 14:13:36 +01:00
parent f652c28b21
commit 63e261b444
No known key found for this signature in database
GPG Key ID: 4C614C6ED2CDE6DF
3 changed files with 20 additions and 10 deletions

View File

@ -965,7 +965,7 @@ class Server extends ServerContainer implements IServerContainer {
$c->getConfig(),
$c->getThemingDefaults(),
\OC::$SERVERROOT,
$cacheFactory->createDistributed('SCSS-' . md5($this->getURLGenerator()->getBaseUrl()))
$this->getMemCacheFactory()
);
});
$this->registerService(JSCombiner::class, function (Server $c) {
@ -974,7 +974,7 @@ class Server extends ServerContainer implements IServerContainer {
return new JSCombiner(
$c->getAppDataDir('js'),
$c->getURLGenerator(),
$cacheFactory->createDistributed('JS-' . md5($this->getURLGenerator()->getBaseUrl())),
$this->getMemCacheFactory(),
$c->getSystemConfig(),
$c->getLogger()
);

View File

@ -30,6 +30,7 @@ use OCP\Files\IAppData;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
use OCP\Files\SimpleFS\ISimpleFolder;
use OCP\ICacheFactory;
use OCP\ILogger;
use OCP\IURLGenerator;
@ -50,21 +51,25 @@ class JSCombiner {
/** @var ILogger */
protected $logger;
/** @var ICacheFactory */
private $cacheFactory;
/**
* @param IAppData $appData
* @param IURLGenerator $urlGenerator
* @param ICache $depsCache
* @param ICacheFactory $cacheFactory
* @param SystemConfig $config
* @param ILogger $logger
*/
public function __construct(IAppData $appData,
IURLGenerator $urlGenerator,
ICache $depsCache,
ICacheFactory $cacheFactory,
SystemConfig $config,
ILogger $logger) {
$this->appData = $appData;
$this->urlGenerator = $urlGenerator;
$this->depsCache = $depsCache;
$this->cacheFactory = $cacheFactory;
$this->depsCache = $this->cacheFactory->createDistributed('JS-' . md5($this->urlGenerator->getBaseUrl()));
$this->config = $config;
$this->logger = $logger;
}
@ -243,7 +248,7 @@ class JSCombiner {
* @throws NotFoundException
*/
public function resetCache() {
$this->depsCache->clear();
$this->cacheFactory->createDistributed('JS-')->clear();
$appDirectory = $this->appData->getDirectoryListing();
foreach ($appDirectory as $folder) {
foreach ($folder->getDirectoryListing() as $file) {

View File

@ -39,6 +39,7 @@ use OCP\Files\NotPermittedException;
use OCP\Files\SimpleFS\ISimpleFile;
use OCP\Files\SimpleFS\ISimpleFolder;
use OCP\ICache;
use OCP\ICacheFactory;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IURLGenerator;
@ -69,6 +70,9 @@ class SCSSCacher {
/** @var null|string */
private $injectedVariables;
/** @var ICacheFactory */
private $cacheFactory;
/**
* @param ILogger $logger
* @param Factory $appDataFactory
@ -76,7 +80,7 @@ class SCSSCacher {
* @param IConfig $config
* @param \OC_Defaults $defaults
* @param string $serverRoot
* @param ICache $depsCache
* @param ICacheFactory $cacheFactory
*/
public function __construct(ILogger $logger,
Factory $appDataFactory,
@ -84,14 +88,15 @@ class SCSSCacher {
IConfig $config,
\OC_Defaults $defaults,
$serverRoot,
ICache $depsCache) {
ICacheFactory $cacheFactory) {
$this->logger = $logger;
$this->appData = $appDataFactory->get('css');
$this->urlGenerator = $urlGenerator;
$this->config = $config;
$this->defaults = $defaults;
$this->serverRoot = $serverRoot;
$this->depsCache = $depsCache;
$this->cacheFactory = $cacheFactory;
$this->depsCache = $cacheFactory->createDistributed('SCSS-' . md5($this->urlGenerator->getBaseUrl()));
}
/**
@ -263,7 +268,7 @@ class SCSSCacher {
*/
public function resetCache() {
$this->injectedVariables = null;
$this->depsCache->clear();
$this->cacheFactory->createDistributed('SCSS-')->clear();
$appDirectory = $this->appData->getDirectoryListing();
foreach ($appDirectory as $folder) {
foreach ($folder->getDirectoryListing() as $file) {