Move localecache to array
It seems the DS Set in the polyfill implementation is a lot less efficient than normal arrays. (A LOT!). So for now use a stupid normal array. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
parent
ff08b10a89
commit
441a3434f3
|
@ -37,7 +37,6 @@
|
||||||
|
|
||||||
namespace OC\L10N;
|
namespace OC\L10N;
|
||||||
|
|
||||||
use Ds\Set;
|
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
|
@ -65,9 +64,9 @@ class Factory implements IFactory {
|
||||||
protected $availableLanguages = [];
|
protected $availableLanguages = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Set
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $localeCache;
|
protected $localeCache = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array
|
* @var array
|
||||||
|
@ -110,7 +109,6 @@ class Factory implements IFactory {
|
||||||
$this->request = $request;
|
$this->request = $request;
|
||||||
$this->userSession = $userSession;
|
$this->userSession = $userSession;
|
||||||
$this->serverRoot = $serverRoot;
|
$this->serverRoot = $serverRoot;
|
||||||
$this->localeCache = new Set();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -398,14 +396,14 @@ class Factory implements IFactory {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->localeCache->isEmpty()) {
|
if ($this->localeCache === []) {
|
||||||
$locales = $this->findAvailableLocales();
|
$locales = $this->findAvailableLocales();
|
||||||
foreach ($locales as $l) {
|
foreach ($locales as $l) {
|
||||||
$this->localeCache->add($l['code']);
|
$this->localeCache[$l['code']] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->localeCache->contains($locale);
|
return isset($this->localeCache[$locale]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue