* convert search into separate endpoints
* move shared functionalty to components
* NOTE: acceptance of opensearch has waned over the last decade and
the script should be updated
* update TrinityCore components to return new Frontend objects
- SmartAI => Markup
- Conditions => Data Listview
* update template files to accept the new Frontend objects
* redo page render following the logic of:
Response ─┬─> TextResponse ─> TextResponseImpl
└─> TemplateResponse ─> TemplateResponseImpl
* split up giant files, one per response path
* caching becomes a trait, implemented where necessary
* TextResponses (Ajax) can now be cached
* make use of previously defined php classes for js objects
* Tabs, Listview, Tooltip, Announcement, Markup, Book, ...
* \Aowow\Template\PageTemplate is the new class to be cached
* do not discard error messages generated after vars have been sent to template
and store in session for display at a later time
* implement tracking consent management
* move logic out of template into their respective endpoints
* the great unfuckening of user and displayName
* `login` is purely used as login with AUTH_MODE_SELF
* `email` may now also be used to log in (if the system knows it)
* `username` is purely used for display around the site, and lookups from web context
* both must exist because of external logins
a) that may be not unique
b) you may not want to share with the rest of the world
* todo: implement rename ( because of b) )
* update spell attribute descriptions primary from TC, secondary from Wowdev Wiki (not guaranteed to be correct for 335)
* show all attributes on SpellDetailPage
* update links from attributes to SpellFilter
* unsure: should the attribute filters work purely on attributes or also consider other factors?
* implement some of the client side modifiers on the spell tooltips and buffs
* provide empty values for non-default db fields when initializing external accounts
* removed browser check for username maxlength as it depends on auth method
* detatch from User and Util and move to its own enum class
* added definitions for all locales the 12340 client could in theory have
* this is incompatble with the Intl extension
* version bump and php requirement bump
* fix empty scaling bar
* fix setting max level for scaling tooltips
* fix displayed periodic power gain value for runic power and rage
* attempt to fix spell coefficient calculation (dear god...)
* append % sign to value for two more auras
* display value per combo point
* convert configuration from list of constants to object
* fixes config changes not applying on cli whithout closing and reopening again
* config variables are no longer embedded in localization text
* whelp, didn't see the onKeydown handler for the input field
* fix the fix in bf06c418d4
* allow "ArrowUp", "ArrowDown" and "-" as inputs
* also fix search by pressing <Return>
* do not urlencode mysqli uris .. can't wait for this to cause issues again.
* input[type=number] does not allow inputing dashes to signify negative numbers. Use input[type=text] instead and cast to int afterwards.
* improve db error handling
* web view should always result in an user friendly error if the db connection is missing or erronous
* cli use should never fatal if the db connection is erronous. How are you going to fix it, d'uh.
* if some CLISetup script requires a db connection check it individually