Cache/Fixup

* fix cache collision on list pages caused by improper encoding of category
 * fix cache key not encoding category values of int: 0
 * version bump to flush caches
This commit is contained in:
Sarjuuk
2025-11-13 20:55:41 +01:00
parent 45417122c2
commit 1fe3690244
2 changed files with 10 additions and 4 deletions

View File

@@ -37,14 +37,20 @@ trait TrListPage
public function getCacheKeyComponents() : array
{
// max. 3 catgs
// catg max 65535
// catg max 32767 - largest in use should be 11.197.26801 (Spells: Professions > Tailoring > Spellfire Tailoring)
if ($this->category)
{
$catg = 0x0;
for ($i = 0; $i < 3; $i++)
{
$catg <<= 4;
$catg |= ($this->category[$i] ?? 0) & 0xFFFF;
$catg <<= 4 * 4;
if (!isset($this->category[$i]))
continue;
if ($this->category[$i])
$catg |= ($this->category[$i] << 1) & 0xFFFF;
else
$catg |= 1;
}
}