* add reversed words and update token processing to allow
fulltext search to match end of word (e.g. searching 'wind -storm'
will now find 'whisperwind' or 'windrunner' and ignore 'stormwind')
* fix search token duplication for spells
* move fulltext indizes for tables /w ~10k+ rows to separate tables
> sounds have ~12k but names are effectively incompatible with FTI
* normalize searchable strings to catch edgecases
> preparse spell descriptions + buffs
> move effect text cols of items to new table
* also fix extended search of creatures, spells & quests
* dashes also split words into multiple tokens, so they are now
stripped from search entirely (see: 'weather-beaten')
* only search for the full search input if the tokenizer didn't yield
any fulltext tokens. This should fix search performance after 00f048d3ae
* fixes#497
* 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.
* 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
* improve handling of invalid unicode sequences in urls (%xx).
Page no longer breaks entirely, just misses the search term as the faulty string gets silently dropped.
* don't perform searches if you don't have valid terms to search for
* get additional items from spell_loot_template to source: Crafted
* get loot from spells with effect 59 (Fast Loot) to source: Drop (obtained by item looting)
* display spell_loot on ItemDetailPage if item has onUse spell
* fixed merging js globals from dynamic content into cached js globals
* e.g. commenting with item markup on an item page will again create proper item links
* group options for: currency, factions, itemcurrency & zones
* update faction setup so faction "The Frostorn" are available and it does not rely on factiontemplate.dbc
* fix broken purchasablewith* localization in locale DE
* work against more correctly assigning instance mode to entities and loot
- added manually collected data for difficulty versions of gameobjects, just boss chests for now.
update setup/source to default object source to base difficulty version if able
- update spelldifficulty table to contain the (likely) mapmode it will be used in
* refactored class loot
- implement loot mode indicators on listview for creature and gameobject loot
- show 'drops' listview tab on instance zone page
- fixes against tribute chest systems (toc / ulduar)
- fix icc gunship battle chest ownership
* 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 cache collision on list pages caused by improper encoding of category
* fix cache key not encoding category values of int: 0
* version bump to flush caches
* don't run querys if not strictly required (e.g. query for chars from ajax context)
* prepare user globals and favorites so errors can be handled and don't destroy the template
this also allows for profiling of the affected queries
* add keys to items table to speed up querying for recipes in general and user completions in particular