Commit graph

1497 commits

Author SHA1 Message Date
Sarjuuk
69df50619a DB/Dependency
* remove unmaintained DbSimple
 * add package db/dibi as substitute db abstraction
2026-02-26 16:26:02 +01:00
Sarjuuk
8a404b32aa ProfilerExclusions/Fixup
* fix including all exclude groups
2026-02-26 11:41:15 +01:00
Sarjuuk
1556a5e4c9 ItemFilter/Fixup
* fix including jewelcrafter only gems toggle in weights
2026-02-26 10:38:05 +01:00
Sarjuuk
15f20a63f7 Quests/Fixup
* fix 'Side' displayed in infobox on detail page
 * don't display 'Races' in infobox if they encompass an entire faction
2026-02-24 17:53:56 +01:00
Sarjuuk
750e176c33 Stats/Fixup
* 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
2026-02-24 14:14:09 +01:00
Sarjuuk
f7a1ae241f Quest/Fixup
* fix unused quests being shown in quest series on detail page
2026-02-14 22:49:01 +01:00
Sarjuuk
6051ef5a4a Misc/Cleanup
* update some unit flags / bytes
2026-02-14 22:36:23 +01:00
Sarjuuk
f6d7ccbb69 Quest/Filter
* update quest flags to current knowledge base
 * implemented filter criterium for pvp-enabling quests
2026-02-13 00:39:28 +01:00
Sarjuuk
68ca4973b1 Items/Filter
* implement 'effect text' filter
 * slight cleanup in itemset setup to match changes for effect text
2026-02-12 21:08:56 +01:00
Sarjuuk
84d2e30940 Filters/Fixup
* implement NPC 'has location' criterium
 * fix NPC 'uses model' criterium using string comparison on int values
2026-02-12 14:47:24 +01:00
Sarjuuk
2216b664fa DBTypes/Filters
* 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
2026-02-12 14:47:24 +01:00
Sarjuuk
9d187e8d4c StatWeights/Fixup
* move weightable stats from Util to Stat
 * align what stats can be saved in weightscales to match javascript
2026-02-12 00:28:27 +01:00
Sarjuuk
00f048d3ae Search/Fixup
* 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.
2026-02-12 00:27:49 +01:00
Sarjuuk
e421bdba79 PageTemplate/Cookies
* set path and domain on consent cookie
 * if page uses https, tag cookies as secure
 * use samesite=lax so cookies get sent if user visits via external link
2026-02-09 09:14:07 +01:00
Sarjuuk
511e1a78e6 PageTemplate/Styles
* set styles for audio controls so they visually fit on chrome
2026-02-05 21:08:16 +01:00
Sarjuuk
3510c8211c Spells/Scaling
* 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.
2026-02-05 21:08:16 +01:00
Sarjuuk
55f599bbb8 Game/WorldPosition
* 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
2026-02-05 08:19:35 +01:00
Sarjuuk
5258290332 Profiler/Cleanup
* cleanup in sync / queue
2026-02-02 19:21:21 +01:00
Sarjuuk
a29c88fe78 Profiler/Fixup
* fix Profile tooltips not loading if the triggering url wasn't entirely in lowercase
2026-02-02 19:21:08 +01:00
Sarjuuk
83ec057dea PageTemplate/Fixup
* fix not setting consentFooter for all cases and occasionally importing its value from cache
2026-02-01 17:30:10 +01:00
Sarjuuk
1292fa90bd Profiler/Fixup
* handle special sourcemore dungeondifficulty 99 in Profiler summaries
   (unclear if i'm doing it wrong or if sm.dd:99 is newer than the Profiler)
2026-02-01 17:30:10 +01:00
Sarjuuk
a21feab939 Profiler/Fixup
* catch failing queries for characters, arena teams and guilds on realm
2026-01-30 20:09:33 +01:00
Sarjuuk
dfabc9464d Profiler/Fixup
* fix tooltips for profiles pending rename
2026-01-30 17:33:01 +01:00
Sarjuuk
4f4f68bd66 Profiler/Fixup
* don't increment index for renamed chars again when a known to rename chars stub is synced
2026-01-30 17:33:01 +01:00
Sarjuuk
09f14ee4e1 Setup/Fixup
* column keys names like to be unquoted
 * amends cadb4aa0d3
2026-01-30 00:41:26 +01:00
Sarjuuk
7e4e52de7b Setup/Fixup
* remove extraneous , from query added in cadb4aa0d3
2026-01-29 23:43:59 +01:00
Sarjuuk
62d898173a Account/Fixup
* fix referencing nonexistent error message if password validation fails
 * fixes #488
2026-01-29 22:34:02 +01:00
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