* port extended client file handling from other branch
* class DBC -> DBCReader now initializes a DBCFile
which itself is a BinaryFile
* update DBCReader to use the new DB wrappers multi-insert feature
* fix melee attack power from spells counting towards generic attack power
* combine melee and ranged attack power from the same spell into
generic attack power, if amounts are equal
* filters should test string input during initialization, so errors
can be passed on to the PageTemplate.
* have strings be compared for identity by default and (NOT) LIKE as
optional operator
* note: if a string criterium gets processed via callback function
it will not get prechecked
* readd regular indizes for name cols. There are cases where entities
are named in a way that does not work with FT indizes.
ex. "XT:9" is two tokens "XT", "9" which are too short to be indexed.
* additionally to FT search also exact match col to search string.
* implement tooltip scaling calculation for spells with attribute
SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION
* I don't know why i loaded item scales as spell scales a decade ago.
Lets hope removing that didn't break stuff.
* rework map pos -> zone pos calculation. It was kinda stupid to run a
query for each individual spawn point. So cache all wma entries per
map and do the calculation in php.
* sqlgen 'spawns' is now about twice as fast
* fix converting min/max reputation requirements to TC condition
on detail page (it still lacks the exact amount)
* also Game::getReputationLevelForPoints was off by 1
* do not use stopwords in fulltext search
apparentyl there is a bug in innodb where including stopwords in a search causes the lookup to fail entirely.
e.g. innodb_ft_enable_stopword must be disabled when the index is edited (rows are added/removed)
* don't create a MATCH AGAINST search from empty search strings after sanitization
* drop fulltext indizes for locale zhCN
logographic languages need special treatment, which handling may differ by db provider
* use LIKE search by default for locale zhCN. Added config option to use fulltext if supported by db.
* add more indizes to large tables for cols used in lookups
* drop multi-column indizes on spell as they are not utilized by mysql
* add and use fulltext indizes for names of items, spells, quests, creatures & objects
could add more, but is it really necessary?
* limitations
- still need a solution for race/class/spellFamily masks cols that are used as such
- fulltext indizes in boolean mode cant partial match the end of a word.
reverse name cols and search and match back to front like that..? blows up db size even more though
(+trike* : "stormstrike" => +ekirt* : "ekirtsmrots")
* fetch user vars on __wakeup / __construct so the queries get picked up by the DB profiler
* unset temporary vars before serialization
* reduce redundancy
* don't use raw input to recreate subcategories for filter urls and
external links
* if a page does not expect categories it will now error out if it is
called with parameters
* fixed infite redirect loop that could occur if the pageName was an
invalid string
* added lost filter string for external page call to NPCs Page
* hardcode sql limits within their respective components instead of
having them configurable
* creating a new DBTypeList defaults it to being unlimited
* SQL_LIMIT_NONE (0) > removed as it only existed for consistency
* SQL_LIMIT_DEFAULT (300) > frontend / Listview::DEFAULT_SIZE
* SQL_LIMIT_SEARCH (500) > Search::DEFAULT_MAX_RESULTS
* SQL_LIMIT_QUICKSEARCH (10) > Search::SUGGESTIONS_MAX_RESULTS
* store and display StringIds
* unify storage of AI/Scripts for NPCs and Objects
* store and display StringIds and AI/Scripts from individual spawns in
mapper tooltip and infobox
* partially revert eb70065e0f as the
regex without the /u flag destroys valid umlauts like 'ß'
* convert strings from utf8 to utf8 instead to achieve the same effect
* fix crash when race mask was resolved to faction
* fix id buffer bleeding from resolving class mask into
resolving race mask and vice versa
* fixes#472