* recreate date functions from javascript in new class DateTime
* move date and time functions from Util to new class
* fixes various cooldown messages for account recovery
* fix exception when manually querying for unsynced guild/arena-team
that shares it's name with another guild/team (e.g. ìíîi is the same to SQL)
and the target guild/team not being the first result
* hopefully fix a lot of nonsensical spell scaling infos
* note: an aweful lot of physical spells are hardcoded or have spell scripts and won't display any info
* display extra loot from skill_extra_item_template like perfect gems
* for specializations, display affected spells in Bonus Loot tab
* cleanup subject->id to typeId
* closes#286
* TCs guild and arena_team tables as encoded as utf8mb4_general_ci,
which is not accent-aware. So we have to get all results and filter
for the correct one in php.
* fixes an issue where direcly accessing a guild/arena-team whith a name
simiar to an already known guild/team would lookup the wrong subject
on the server and then fail to create a local stub with already existing key.
(Shâdów vs Shadow)
* move checks to __construct so they can be run on $_POST data
and don't create malformed filter urls
* if we received malformed $_GET params, build new params and reload
* do not store error state in cache
* cleanup
* fix cache id collision when category == dbTypeId for a given dbType
* increment version number to invalidate existing caches
* maps endpoint doesn't need caching. It is entirely static content.
* so we can't directly use BackedEnum::tryFrom as validator, because if
the Enum is of <int> and the string is not what php considers numeric,
we get a straight TypeError Exception instead of null for failing the tryFrom.
* split global.js into its components, so it can be reasonably processed by setup
* make reputation requirements configurable
* move Markup and Locale back into global.js (removed associated build scripts)
* extend Icon to display iconId in lightbox popup
* account management rework: Personal Settings functionality
* email, password, username update
* email updates now also mails the old address for confirmation