* fix fetching areatriggers from DB and calculating found matches
* fix Lang concatenating an array of strings with len < 2
* don't show debug-id col in picker windows (Summary/Profiler) and sort them by score if able
* 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) )
* 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
* skip out of List construction if realms are empty or do not match preselection
* also prefilter Guilds and Prolfiles Lists for server or region (unless custom profiles)
* discard ProfileList entries for inaccessible realms
* test arrays first before use, not the other way round
* do not try to init local arena team entries if there are no entries in list.
* fix equally distributing chars/guilds/arenateams across realms for unlimited (0) lists
* fix double declaration of realms in ArenateamList
* 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
* followup on 748a78c3c7
* fix return type of criteria filter callbacks (mostly in case of faulty input)
* spread the criteria var into criteria filter callbacks
* some magic numbers to constants and type declarations for params/return types
* add 'fished' as valid item source
* item source 'none' now properly selects items without source, not items without source from this list
* fixed edgecases where filter callback might have no return value
* 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
* do not use NULL on item stats as it prevents searching for an amount of 0 (except for stats that certain items just cant have)
* fix stats from spells granting spell power and spell healing separately
* define and use some item subclasses
* 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
* fix usage of generic search wildcards: ? *
* only transform search form fields expected to be text
* some cleanup (magic numbers to define, fn return types, nullsafe assignemnts)
* changed logic to not display required arena rating in tooltip or infobox if there are sources that don't require it.
* also, should there be a difference in sources, display lowest required rating, not not highest.
* do not display crafted item tooltip inside recipe tooltip if the craft spell doesn't create an item.
(notably: enchantments were displaying enchantment scrolls)
* always display reagent cost if set
* fixed several deprecation notices and warnings from MySQL8, most notably:
- SQL_CALC_FOUND_ROWS: stopped using DBSimple::selectPage and query 'SELECT COUNT(*) ...' separately where needed
- ON DUPLICATE KEY UPDATE ... VALUES(): use row alias for new values instead of VALUES function
- boolean shorthands to long form (&& -> AND, etc)
* split completion table into it's subcomponents
* this should save some disk space as some keys and null fields have been optimized out and col sizes have been reduced
* sort ICC raid bosses first to last
* spell: resolve MiscValue for SPELL_AURA_MOD_INVISIBILITY
* search: do not double escape page title
* profiler: fixed typo, causing shaman spirit weapons to be applied _everywhere_
* define magic numbers from combat ratings
* move forgotten rating base values from Util to Stats
* fix localized rating strings for item and spell tooltips (expected float, got string)
* some cleanup in item/spell types to make it more clear when an internal stat is being handled, not an itemMod or combatRating
* prevent direct access to some internal files where applicable and reword error for others
* if CFG_DEBUG is set also enable debug in client javascript
* non-breaking formatting changes
* define regions and missing locales for later use
* 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
* relax numeric type requirements when working with filters
* restore smart type casting functionality of Util::checkNumeric when used with NUM_ANY
* enable Util::arraySumByKey to work recursively
* fix source display in listview