Commit graph

101 commits

Author SHA1 Message Date
Sarjuuk
7616ec25fc DB/Search
* 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")
2026-01-16 16:56:24 +01:00
Sarjuuk
2ef3f575c3 PageTemplate/Misc
* fetch user vars on __wakeup / __construct so the queries get picked up by the DB profiler
 * unset temporary vars before serialization
 * reduce redundancy
2026-01-15 22:43:20 +01:00
Sarjuuk
b4f40b4264 Filter/Fixup
* only criteria should be affected by the match any/none selector
 * multi-selects are never null and shouldn't be tested as such.
2026-01-13 22:19:48 +01:00
Sarjuuk
face95c1dd PageTemplate/Consent
* fix showing consent overlay when cookie is already set
2026-01-09 17:25:20 +01:00
Sarjuuk
a6438454d6 Misc/Cleanup
* remove namespace includes sneakily auto placed by vscode
2026-01-07 19:42:17 +01:00
Sarjuuk
8417b6854b PageTemplate/Fixup
* fix broken external links from detail pages
 * amends 715c1534eb
 * closes #477
2026-01-02 17:05:58 +01:00
Sarjuuk
715c1534eb Core/Endpoints
* 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
2026-01-01 01:26:35 +01:00
Sarjuuk
c44bf4f575 Config/Misc
* 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
2025-12-30 03:20:09 +01:00
Sarjuuk
b9d888ab3a Compat/TDB
* update conditions with changes from TC
   > 4fd3669f1b
2025-12-29 20:04:19 +01:00
Sarjuuk
2b3b9de8bc Entity/AI
* 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
2025-12-29 20:04:19 +01:00
Sarjuuk
9db943e8f4 Compat/TDB
* drop references to script_waypoint and waypoints tables, removed in
   > 91dcae540e
   > f3b691dcb0
 * db requirement bump
2025-12-28 20:18:20 +01:00
Sarjuuk
69b8fdcc27 Misc/Cleanup
* could have sworn there were more blobs to be indexed..
2025-12-28 20:18:19 +01:00
Sarjuuk
9bbe95d5e8 Search/Fixup
* 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
2025-12-26 17:22:29 +01:00
Sarjuuk
e93774f854 SmartAI/Misc
* format times as float for more precision
 * display 0 values for numeric ranges
2025-12-21 20:42:45 +01:00
Sarjuuk
e60bed061d PageTemplate/Cache
* allow flagging scripts as non-caching and purge them before serialization
 * fixes consent scripts being passed on to other users
2025-12-18 21:45:28 +01:00
Sarjuuk
6f6adc127e SmartAI/Fixup
* fix AI for npc texts that use target placeholders
2025-12-14 18:12:52 +01:00
Sarjuuk
92f949b3c6 Analytics/Tracking
* drag the tracking object a decade into the future
2025-12-13 16:15:59 +01:00
Sarjuuk
eb70065e0f Search/Fixup
* 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
2025-12-12 16:05:19 +01:00
Sarjuuk
b85ee4ff23 Source/SpellLoot
* 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
2025-12-05 21:32:26 +01:00
Sarjuuk
957f3bcf20 Template/JSGlobals
* 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
2025-12-02 14:48:27 +01:00
Sarjuuk
ffffc16d63 Filter/Dropdowns
* 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
2025-11-30 18:05:38 +01:00
Sarjuuk
b764200c2a SmartAI/Conditions
* embed Conditions into SmartAI table so we can evaluate CONDITION_SOURCE_TYPE_SMART_EVENT (22)
 * make SmartAI table display flexible
2025-11-20 23:50:23 +01:00
Sarjuuk
a5051c9bf5 Loot/Modes
* 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
2025-11-19 20:22:33 +01:00
Sarjuuk
f5654ae21f DateTime
* 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
2025-11-14 19:16:12 +01:00
Sarjuuk
1fe3690244 Cache/Fixup
* 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
2025-11-13 21:29:35 +01:00
Sarjuuk
6eb5a67add Profiler/Optimization
* move searchable flags to their own db cols to speed up lookups
 * don't cast profile name to LOWER in SQL when displaying tooltips.
2025-11-09 16:20:52 +01:00
Sarjuuk
16c5b73cd3 User/Misc
* 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
2025-11-05 15:39:28 +01:00
Sarjuuk
9020e36db6 SmartAI/Misc
* make errors more verbose if SAI tries to set unexpected flags
 * do not escape strings. By now thats handled by Frontend/Markup
2025-11-04 19:48:26 +01:00
Sarjuuk
6a94888686 Filter/Fixup
* try to prune deselected criteria/weight selectors from filter input
2025-11-04 00:04:24 +01:00
Sarjuuk
e3d6f7b3a7 Profiler/Completions
* show completion info for claimed characters in infobox on
      appropriate db pages
2025-11-03 20:50:54 +01:00
Sarjuuk
37380ff515 Frontend/InfoboxMarkup
* you can now pass attributes to the [li] element
2025-11-03 18:47:06 +01:00
Sarjuuk
8212811970 Misc/Cleanup
* create function for num range .. creation
2025-11-01 21:01:03 +01:00
Sarjuuk
1e9e406ff0 TextResponse/Fixup
* make class non-abstract so we can generate a 403/404 message on base
2025-10-31 16:44:37 +01:00
Sarjuuk
9741774683 Spells/Reagents
* fix reagents listing and spell tooltips for nonexistent reagents
2025-10-27 17:02:30 +01:00
Sarjuuk
7cbe1f6007 Reports/Fixup
* also include source url when checking target context
 * cleanup source url to be usable as key
2025-10-26 19:19:50 +01:00
Sarjuuk
3a25c2390f Listviews/AddIns
* AddIns must be output directly before the listview it is used by
2025-10-26 17:32:18 +01:00
Sarjuuk
862b3dff73 IconElement/Fixup
* do not change type of num / qty params ('+1' is not numeric)
2025-10-23 00:48:04 +02:00
Sarjuuk
9b591e7a3a Items/Tooltips
* fix itemId to scientific notation conversion, when itemId was joined
   by an enchantmentId (1234e56 => 1.234e53), breaking tooltip display.
2025-10-21 23:35:42 +02:00
Sarjuuk
6da71afc68 Filter/Fixup
* allow unicode chars when checking GET param
2025-10-21 20:53:27 +02:00
Sarjuuk
51b6e29316 Profiler/Queue
* send ready status for characters/guilds/arena-teams whose resync
   cooldown hasn't expired yet
2025-10-20 20:38:15 +02:00
Sarjuuk
14c159c164 Setup/Factions
* fix switched base rep field indizes, causing Profiler to miscalculate
   character standing
 * replace hardcoded sql table prefixes
2025-10-20 19:23:52 +02:00
Sarjuuk
2e029f3d96 Profiler/Talents
* fix building talent string for hunter pets.
   the alternate spells (e.g. Dash & Swoop) must both be included
 * align talent order in build scripts talenticons, talentcalc with
   Profiler talent string builder
 * fix Shamans gaining 5% Parry by talent Spirit Weapons
 * cleanup
2025-10-20 16:25:24 +02:00
Sarjuuk
6a32c770cd Profiler/Pets
* catch error case where a player owns a pet that is no longer tameable/has no pet family
2025-10-19 22:46:08 +02:00
Sarjuuk
4d421d2bbb Filter/Errors
* handle stat weights quirk, analogous to the criteria quirk
2025-10-18 16:46:25 +02:00
Sarjuuk
176cf137fb Filter/Fixup
* criteria parameters can be placeholder/null
2025-10-17 14:33:52 +02:00
Sarjuuk
830edb8265 PageTemplate/Fixup
* use get_object_vars() instead of property_exists() to test if we can
   load a variable from provided context. The former only returns
   accessible vars while the latter returns true for all properties.
2025-10-16 02:14:47 +02:00
Sarjuuk
37beaa2db5 Filter/Errors
* move checks to __construct so they can be run on $_POST data
   and don't create malformed filter urls
 * if we received malformed $_GET params, build new params and reload
 * do not store error state in cache
 * cleanup
2025-10-15 00:05:55 +02:00
Sarjuuk
c0097f3987 Mapper/Objectives
* fix display of item objectives by making LocString JsonSerializable
2025-10-14 16:17:59 +02:00
Sarjuuk
494061de82 Cache/Fixup
* correct miscData offset for tooltips introduced in 3edac3c77a
 * fix generating cache key for item upgrade searches
2025-10-12 00:15:52 +02:00
Sarjuuk
63053757c9 Guides/Fixup
* fix showing wrong guide version to staff
 * fix sticky icon offset
2025-10-10 20:53:56 +02:00