Commit graph

1470 commits

Author SHA1 Message Date
Sarjuuk
021cdf6228 Spells/Glyphs
* link back from applied spell to applying glyph spell via new tab: glyphs
 * closes #489
2026-01-29 22:11:19 +01:00
Sarjuuk
08318d286c Objects/SpellFocus
* link from spellfocus in objects and spell infobox to objects filter if able
 * closes #491
2026-01-29 22:11:19 +01:00
Sarjuuk
26292d17c5 Objects/Fixup
* don't show loot charges in infobox if restock cd is set but min/max charges are not
 * fixes #493
2026-01-29 22:11:19 +01:00
Sarjuuk
b25a70458b Help/Fixup
* manually set articleUrl so help pages have content again
2026-01-29 22:11:18 +01:00
Sarjuuk
c58b073a73 Quests/Fixup
* fix inconsistency in linking to categoy: uncategorized (-2)
 * fixes #485
2026-01-28 19:52:13 +01:00
Sarjuuk
cadb4aa0d3 Icons/Fixup
* reference original icon names/paths during setup
 * fixes #487
 * amends 1e1ce29438
2026-01-28 19:52:12 +01:00
Sarjuuk
08ae564a48 PageTemplate/Fixup
* escape input username on user page
2026-01-27 14:32:05 +01:00
Sarjuuk
0378a84373 Routing/Fixup
* always route requests where page equals page parameter
   (i.e. /?spell=spell; /?user=user) to BaseResponse
 * fixes #486
2026-01-27 14:32:05 +01:00
Sarjuuk
e675a8f953 PageTemplate/Fixup
* Don't try to be smart with the helper methods as they are used to escape user input.
2026-01-26 20:04:49 +01:00
Sarjuuk
c6d92031c5 Quests/Fixup
* 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
2026-01-25 19:26:47 +01:00
Sarjuuk
5f7247b292 Quest/Misc
* move honor/arena point reward to gains on detail page
   so it no longer looks like an item
2026-01-23 23:20:24 +01:00
Sarjuuk
98763c3060 Setup/Fixup
* fix calculation of honor reward
2026-01-23 18:43:29 +01:00
Sarjuuk
4c598972cc Search/Misc
* why loop when regex does trick
 * further unify variable naming and layout
2026-01-19 20:15:11 +01:00
Sarjuuk
09fe715bc1 Spells/Fixup
* add forgotten filter criterium 43 - usableinbgs
 * fixes #484
2026-01-19 19:47:07 +01:00
Sarjuuk
15338dc503 PageTemplate/Fixup
* only need to ask for consent if analytics is enabled
 * fixes #483
2026-01-19 19:47:07 +01:00
Sarjuuk
53374972ef Search/Fixup
* strip leading/trailing dashes from search tokens.
   Casues FT syntax errors when combined with our own modifiers
2026-01-19 19:31:35 +01:00
Sarjuuk
0ea5477d6e Items/Fixup
* fix spell struct to calculate stats from when viewing item XML
2026-01-19 19:31:35 +01:00
Sarjuuk
2e8abf6dff PageText/Misc
* $t is probably the players HK rank. Fill with name for lowest rank.
2026-01-18 14:56:26 +01:00
Sarjuuk
6df9145446 Search/Fixup
* 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.
2026-01-17 23:07:44 +01:00
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
a89eef5736 Setup/Fixup
* fix required class/race masks on items and quests
   during import instead of on demand
2026-01-16 08:27:27 +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
59506dda11 DB/Profiler
* add indizes to searchable cols to hopefully speed up page loads
2026-01-14 17:10:03 +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
a5129b46b2 Template/Fixup
* remove excess colons from profiler related filters
2026-01-13 21:00:55 +01:00
Sarjuuk
a465de1653 Spells/Effects
* link to map with start/end position for SPELL_EFFECT_SEND_TAXI
2026-01-13 20:33:28 +01:00
Sarjuuk
03fb4045dc JS/Date
* add localeaware Date.getLocaleDay method and reorder week days array
 * calendars should now have a region approriate first day of the week
2026-01-11 19:38:57 +01:00
Sarjuuk
ce020204cb Events/Fixup
* fix events occupying an additional day in calendar view
   if starting and ending at 0:00
2026-01-11 19:38:57 +01:00
Sarjuuk
40717a8057 Site/Layout
* increase site layout further to make the Icons grid fit entirely
 * amends b3e215cc40
2026-01-09 17:32:28 +01:00
Sarjuuk
face95c1dd PageTemplate/Consent
* fix showing consent overlay when cookie is already set
2026-01-09 17:25:20 +01:00
Sarjuuk
a17d4a5528 Quests/Cleanup
* render quest objectives on detail page by var type instead of magic number
2026-01-07 23:07:37 +01:00
Sarjuuk
793dc4dfdd Dependencies/Composer
* use composer to manage future dependencies
2026-01-07 20:53:02 +01:00
Sarjuuk
d686f87467 User/Fixup
* fix my-guides query on user page
2026-01-07 20:42:22 +01:00
Sarjuuk
a6438454d6 Misc/Cleanup
* remove namespace includes sneakily auto placed by vscode
2026-01-07 19:42:17 +01:00
Sarjuuk
e96fafaf8b Quests/Fixup
* show related quests on detail page for events without associated holiday
 * closes #480
2026-01-03 18:07:24 +01:00
Sarjuuk
6077c39055 Account/Avatar
* minor cleanup
 * make use of array_find_key polyfill
2026-01-02 17:28:02 +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
a4629a4f6f Events/Fixup
* fix related items tab showing all the items when none should be shown
 * amends c44bf4f575
 * closes #478
2026-01-02 16:35:46 +01:00
Sarjuuk
de911d0db6 Profiler/Tooltips
* add some spacing between spell school and value
2026-01-01 15:42:34 +01:00
Sarjuuk
e88bbb774f Misc/Fixup
* yearly year increment
2026-01-01 01:28:38 +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
23c5c71f4a Misc/Fixup
* fixed crash when bit blob contains trailing whitespace
2025-12-30 20:39:22 +01:00
Sarjuuk
6c1b4e4e1a SQL/Fixup
* update zoneOrSort > questSortId in custom data table
 * amends eec21c2763
2025-12-30 20:36:06 +01:00
Sarjuuk
eec21c2763 Quests/Fixup
* rename columns of quests table to avoid name collisions
   and to match the dbc they are referencing
 * fixes #463
2025-12-30 19:16:10 +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
289d5062bd NPC/Objective
* must test for KillCredit as there are cases where reqNpcOrGo is 0,
   but its required count is > 0
 * amends d34765eed5
 * fixes #475
2025-12-28 20:18:20 +01:00
Sarjuuk
4e848e29a7 Quests/Fixup
* fix missing objective quantity if required entity is unknwon
 * don't display go/npc objective if go/npc id is 0
2025-12-28 20:18:20 +01:00