* account management rework: Personal Settings functionality
* email, password, username update
* email updates now also mails the old address for confirmation
* 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
* modernize DB-Types
- long term: should be split in class that describes the DB-Type and container class that handles multiples
* make unchanging filter props static, allow lookup of criteria indizes through filter
* move username/mail/password checks to util and make them usable as input filter
* create php classes, each mirroring a js object
* each frontend class implements __toString and json_serialize and as such can be directly used by the template
* also allows for sane object creation before js screams in agony
* usage TBD
* update events and actions to match TrinityCore again
* removed events and actions have been kept but marked as deprecated
* general rewording and use of UIES for better readability
* move constants to respective classes
* reevaluate usage of UNIT_FIELD_BYTES1 content
* 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
* avoid using "echo" to write to CLI as php mistakes it for sent headers (see php-src #12303)
* as we are using fwrite now, errors are written to STDERR instead of STDOUT
* fixes an issue where reloading the config would cause "ini_set(): Session ini settings cannot be changed after headers have already been sent" to be spammed
* do not transform page parameters to lowercase. The tooltip Javascript expects the server response in the same case it got sent.
* transform to lowercase just for lookups
* fixes#394
* do not handle errors outside of the registered handlers
* always handle all errors otherwise they get stored for error_get_last
* always print errors to CLI
* shutdown function handler should not be picky about what errors it gets to report
* removed some mostly unused error strings
* unify stat handling. If there are discrepancies left at least they are now centralized.
- health should no longer pretend to be mana
- stats are no longer capped to 32.7k points as items can have multiple of the same stat and handily exceed smallints
* weight scale fixes:
- "repair cost" is no longer a weight scale option. Why was it one in the first place? Also it wasn't even accessible before. (that was a bug)
- "bonus armor" is now searchable and only applied to armor pieces
* removed unused parsed stats from itemsets
* rewritten and moved to its own class, should be easier to expand in the future
* add missing sources and types from TrinityCore
* implement conditions on Areatrigger and Loot containers
* implement reverse lookups (e.g. a spell is a conditional for something else)
* general beautification pass .. should be more legible in general
NOTE:
* texts have been changed, so the existing translation for esES ist gone
* selecting and describing condition targets is still wonky
* 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
* don't need to handle sql warnings in batch when the error handler doesn't use exit() any longer
* display warnings as [WARN] and use consts instead of magic numbers
* 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
* use built in function to determine if CLI can use escape codes
* define _post, _get and _cookie in all cases
* do not apply 8 regexes to a string that doesn't even contain a UI Sequence
* colAddins should be null if not in use
* fix index warnings in search + profiler
* cast url param 'locale' to int for all uses
* fix breadcrumbs for sounds page
* fix determining actionOwner for SmartAI
* a guide is a wrapper around an article providing management tools.
* administration is limited to the review process. Needs to be expanded.
* articles on DB pages are seperate. Editor will be added in the future.
* move custom data from setup scripts to DB
* move strings from DB to locale files
* use common function to calculate coordinates of dungeon entrances instead of inline sql
* fixed manual data zones and itemset
* fixed typos across the board
* defined upper limit for localeIds and also discard negative localeIds
* fixed eval error when parsing spell descriptions. Calculated numbers sadly can't be localized.
* fix some outdated array indizes during setup
* fix indexing when connecting to DB for first time
* add initial loading of config strings during setup
* moving commonly used strings to defines
* moving commonly reused/similar page generation functions to the parent
* generally using consistent return types, more type hints and less strings
* prevent browser context menu when right clicking on UI elements with their own context menus
* fixed menu path for icons
* vastly improved input validation
* content and type validation occurs when filter is created
* contextual filters like itemTypes are now only applied in context
* undefined variables in Markup.js
* logic error preventing screenshot uploads
* bitshift by negative value in spell
* and i'm pretty sure i already added an exception handler at one point