mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
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:
@@ -37,14 +37,20 @@ trait TrListPage
|
|||||||
public function getCacheKeyComponents() : array
|
public function getCacheKeyComponents() : array
|
||||||
{
|
{
|
||||||
// max. 3 catgs
|
// 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)
|
if ($this->category)
|
||||||
{
|
{
|
||||||
$catg = 0x0;
|
$catg = 0x0;
|
||||||
for ($i = 0; $i < 3; $i++)
|
for ($i = 0; $i < 3; $i++)
|
||||||
{
|
{
|
||||||
$catg <<= 4;
|
$catg <<= 4 * 4;
|
||||||
$catg |= ($this->category[$i] ?? 0) & 0xFFFF;
|
if (!isset($this->category[$i]))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if ($this->category[$i])
|
||||||
|
$catg |= ($this->category[$i] << 1) & 0xFFFF;
|
||||||
|
else
|
||||||
|
$catg |= 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ mb_internal_encoding('UTF-8');
|
|||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
mysqli_report(MYSQLI_REPORT_ERROR);
|
mysqli_report(MYSQLI_REPORT_ERROR);
|
||||||
|
|
||||||
define('AOWOW_REVISION', 42);
|
define('AOWOW_REVISION', 43);
|
||||||
define('OS_WIN', substr(PHP_OS, 0, 3) == 'WIN'); // OS_WIN as per compile info of php
|
define('OS_WIN', substr(PHP_OS, 0, 3) == 'WIN'); // OS_WIN as per compile info of php
|
||||||
define('CLI', PHP_SAPI === 'cli');
|
define('CLI', PHP_SAPI === 'cli');
|
||||||
define('CLI_HAS_E', CLI && // WIN10 and later usually support ANSI escape sequences
|
define('CLI_HAS_E', CLI && // WIN10 and later usually support ANSI escape sequences
|
||||||
|
|||||||
Reference in New Issue
Block a user