Commit Graph

96 Commits

Author SHA1 Message Date
Sarjuuk
226f521439 Template/Endpoints (Base)
* redo page render following the logic of:
      Response ─┬─> TextResponse ─> TextResponseImpl
                └─> TemplateResponse ─> TemplateResponseImpl
    * split up giant files, one per response path
    * caching becomes a trait, implemented where necessary
        * TextResponses (Ajax) can now be cached
    * make use of previously defined php classes for js objects
        * Tabs, Listview, Tooltip, Announcement, Markup, Book, ...
    * \Aowow\Template\PageTemplate is the new class to be cached
    * do not discard error messages generated after vars have been sent to template
      and store in session for display at a later time
    * implement tracking consent management
    * move logic out of template into their respective endpoints
2025-09-25 15:32:18 +02:00
Sarjuuk
aeb84327d6 Template/Endpoints (Prep)
* modernize DB-Types
   - long term: should be split in class that describes the DB-Type and container class that handles multiples
 * make unchanging filter props static, allow lookup of criteria indizes through filter
 * move username/mail/password checks to util and make them usable as input filter
2025-09-25 15:32:16 +02:00
Sarjuuk
6d3b3e1fcb Misc/Cleanup
* modernize extAuth template and add more help text
 * type declarations + cleanup in kernel
 * respect max col size when logging errors
2025-07-28 19:47:31 +02:00
Sarjuuk
bffdb9672e Future/Frontend
* create php classes, each mirroring a js object
 * each frontend class implements __toString and json_serialize and as such can be directly used by the template
 * also allows for sane object creation before js screams in agony

 * usage TBD
2025-07-27 16:42:12 +02:00
Sarjuuk
a8e1e3cf19 Misc/Fixup
* fixed typo when trying to include file for CharStats handling
2025-05-14 21:53:19 +02:00
Sarjuuk
db1d3ccace Core/Cleanup
* try to give included files a logical structure
 * move objects from Util and Game to their own files
 * make non-essential files auto-loaded
2025-04-01 22:33:36 +02:00
Sarjuuk
3a6c86092b Core/Compat
* create namespace Aowow to avoid naming conflicts
 * inclues/libs/ is outside of the Aowow namespace
2025-04-01 22:32:37 +02:00
Sarjuuk
31ad2e4944 Misc/Locale
* coerce malformed locale values from GET to int instead of failing outright
2025-03-04 23:49:27 +01:00
Sarjuuk
870cbea2ca SmartAI/Update
* update events and actions to match TrinityCore again
   * removed events and actions have been kept but marked as deprecated
 * general rewording and use of UIES for better readability
 * move constants to respective classes
 * reevaluate usage of UNIT_FIELD_BYTES1 content
2025-02-27 16:25:24 +01:00
Sarjuuk
398b93e9a7 Locale
* detatch from User and Util and move to its own enum class
 * added definitions for all locales the 12340 client could in theory have
 * this is incompatble with the Intl extension
 * version bump and php requirement bump
2025-02-27 16:25:23 +01:00
Sarjuuk
88c066a8f5 ErrorHandling/Fixup
* do not write to STDERR from web context
2025-01-27 10:31:23 +01:00
Sarjuuk
d2e109d818 SpellDetailPage
* attempted cleanup in effect generation and template
 * display summon properties
 * display unit of effect value
 * fix spell effect layout, typos, missing tools, ...
2024-08-19 21:35:36 +02:00
Sarjuuk
1b2b773663 PHP/Compat
* avoid using "echo" to write to CLI as php mistakes it for sent headers (see php-src #12303)
 * as we are using fwrite now, errors are written to STDERR instead of STDOUT
 * fixes an issue where reloading the config would cause "ini_set(): Session ini settings cannot be changed after headers have already been sent" to be spammed
2024-07-31 00:51:10 +02:00
Sarjuuk
7d545167df Errors/Log
* also log POST data
2024-07-14 17:18:22 +02:00
Sarjuuk
02e33b4038 Profiler/Tooltips
* do not transform page parameters to lowercase. The tooltip Javascript expects the server response in the same case it got sent.
 * transform to lowercase just for lookups
 * fixes #394
2024-07-04 16:27:00 +02:00
Sarjuuk
cd4e049680 DB/Engine
* drop usage of MyISAM and switch to InnoDB.
2024-07-03 18:45:52 +02:00
Sarjuuk
79764ced60 Core/ErrorHandler
* do not handle errors outside of the registered handlers
 * always handle all errors otherwise they get stored for error_get_last
 * always print errors to CLI
 * shutdown function handler should not be picky about what errors it gets to report
 * removed some mostly unused error strings
2024-06-24 18:10:44 +02:00
Sarjuuk
931a90f5c8 Misc/Fixup
* revision bump
 * minor log format fix
2024-06-20 20:49:11 +02:00
Sarjuuk
d16b08bb29 Core/CharStats
* unify stat handling. If there are discrepancies left at least they are now centralized.
   - health should no longer pretend to be mana
   - stats are no longer capped to 32.7k points as items can have multiple of the same stat and handily exceed smallints
 * weight scale fixes:
   - "repair cost" is no longer a weight scale option. Why was it one in the first place? Also it wasn't even accessible before. (that was a bug)
   - "bonus armor" is now searchable and only applied to armor pieces
 * removed unused parsed stats from itemsets
2024-06-16 19:28:26 +02:00
Sarjuuk
bc7d561da2 Core/Conditions
* rewritten and moved to its own class, should be easier to expand in the future
 * add missing sources and types from TrinityCore
 * implement conditions on Areatrigger and Loot containers
 * implement reverse lookups (e.g. a spell is a conditional for something else)
 * general beautification pass .. should be more legible in general

NOTE:
 * texts have been changed, so the existing translation for esES ist gone
 * selecting and describing condition targets is still wonky
2024-06-01 02:47:58 +02:00
Sarjuuk
84555afae3 Page/Notes
* also color code notes according to message severity
2024-06-01 02:47:58 +02:00
Sarjuuk
f77d676a19 Core/Config
* convert configuration from list of constants to object
 * fixes config changes not applying on cli whithout closing and reopening again
 * config variables are no longer embedded in localization text
2024-05-30 20:50:44 +02:00
Sarjuuk
454e09cc78 DB/Errors
* don't need to handle sql warnings in batch when the error handler doesn't use exit() any longer
 * display warnings as [WARN] and use consts instead of magic numbers
2024-05-28 22:40:46 +02:00
Sarjuuk
f6565ea924 DB/Structure
* fix data types and data length and add default values where necessary
 * data should no longer get truncated
 * misc fixes
2024-05-22 20:35:02 +02:00
Sarjuuk
5f4c62644d DB/Errors
* improve db error handling
 * web view should always result in an user friendly error if the db connection is missing or erronous
 * cli use should never fatal if the db connection is erronous. How are you going to fix it, d'uh.
 * if some CLISetup script requires a db connection check it individually
2024-05-03 20:58:30 +02:00
Sarjuuk
6249ac6b2a Misc/Fixup
* STDOUT is only defined if php is in run in cli mode
2024-03-26 12:07:45 +01:00
Sarjuuk
c01c9ce901 Misc/Fixups
* use built in function to determine if CLI can use escape codes
 * define _post, _get and _cookie in all cases
 * do not apply 8 regexes to a string that doesn't even contain a UI Sequence
2024-03-16 00:17:19 +01:00
Sarjuuk
c37d2fd594 CLI/WIN
* support ansi escape codes for win 10 and up
 * also kill a warning
2024-03-11 23:16:32 +01:00
Sarjuuk
ba53a5c760 Page/WH
* handle backlink in Page instead of Util
 * update event/holiday link
2024-02-25 21:26:30 +01:00
Sarjuuk
9b16f2d84a Localization/WoW strings
* generalize WoW UI escape sequence handling
 * implement use of declinated words from dbc for locale 8 (ruRU)
2024-01-08 00:05:24 +01:00
Sarjuuk
6ee0d63766 Update external links to point to wotlk speciffic database 2023-04-13 17:12:02 +02:00
Sarjuuk
c0e9159c1e Misc/Fixups
* colAddins should be null if not in use
 * fix index warnings in search + profiler
 * cast url param 'locale' to int for all uses
 * fix breadcrumbs for sounds page
 * fix determining actionOwner for SmartAI
2022-06-10 13:58:13 +02:00
Sarjuuk
b890d6504e Guides: initial implementation
* a guide is a wrapper around an article providing management tools.
 * administration is limited to the review process. Needs to be expanded.
 * articles on DB pages are seperate. Editor will be added in the future.
2022-03-22 15:43:39 +01:00
Sarjuuk
bc71ae762c Setup/Data
* move custom data from setup scripts to DB
 * move strings from DB to locale files
 * use common function to calculate coordinates of dungeon entrances instead of inline sql
 * fixed manual data zones and itemset
 * fixed typos across the board
2022-02-21 23:31:14 +01:00
Sarjuuk
fca627c408 * fixed bitshift by negative number issue when evaluating spell MiscValues
* defined upper limit for localeIds and also discard negative localeIds
* fixed eval error when parsing spell descriptions. Calculated numbers sadly can't be localized.
2021-11-04 22:37:15 +01:00
jackpoz
453690c575 Fix error on windows when no parameters are passed in query string 2021-10-24 17:35:24 +02:00
Sarjuuk
6b49aa6069 Setup/Misc
* fix some outdated array indizes during setup
 * fix indexing when connecting to DB for first time
 * add initial loading of config strings during setup
2021-10-24 17:12:05 +02:00
Sarjuuk
d22e90ca85 DB/Logs
* set up some query profiling
2020-05-28 18:43:24 +02:00
Sarjuuk
6cabfd3864 Misc/Cleanup
* moving commonly used strings to defines
 * moving commonly reused/similar page generation functions to the parent
 * generally using consistent return types, more type hints and less strings
 * prevent browser context menu when right clicking on UI elements with their own context menus
 * fixed menu path for icons
2020-05-24 15:04:42 +02:00
Sarjuuk
972a7f241e Misc/Fixes
* cast GET-params to lower case
 * fixed typo in constant name
 * fixed scope issue when aggregating sql stats
2018-12-02 19:22:21 +01:00
Sarjuuk
d9cd24026c PHP/Core
* enforced v7.1 compliance, preparations for v7.2
 * removed deprecated usage of each()
 * prefer array deconstruction via [] instead of calling list()
 * try to catch failed session_start()
 * prefer ... - Token instead of calling func_get_args() func_num_args()
 * enforce return types in AjaxHandler
 * revision push
2018-11-29 00:45:19 +01:00
Sarjuuk
484944bfc0 SmartAI
* parse and verbosely display smartAI for creatures, gameobjects and areatrigger
2018-11-18 15:31:22 +01:00
Sarjuuk
3fd25ca889 Profiler/Backend
* added core functions nessecary for profiler
2018-03-22 17:36:28 +01:00
Sarjuuk
b0a5f477c1 Profiler/CLI
* move command line related functions to its own class
2018-03-22 16:32:29 +01:00
Sarjuuk
959d0ace0b ListPages/Filter
* vastly improved input validation
 * content and type validation occurs when filter is created
 * contextual filters like itemTypes are now only applied in context
2017-04-23 20:20:34 +02:00
Sarjuuk
a695a4188c Util/Game
* cleanup Util 2/2
 * move game related functions and variables to new class: Game
2017-04-19 01:47:03 +02:00
Sarjuuk
fd96f8f758 Errors / Logging
* try to log fatal errors if able
2017-03-28 18:00:08 +02:00
Sarjuuk
b6b734ff36 Fixups
* undefined variables in Markup.js
 * logic error preventing screenshot uploads
 * bitshift by negative value in spell
 * and i'm pretty sure i already added an exception handler at one point
2017-03-25 01:26:22 +01:00
Sarjuuk
90a31ac99f Config/Sanity
* Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
2017-03-20 23:38:00 +01:00
Sarjuuk
99fdad29dd AjaxHandler
* separated into appropriate subclasses
* unified sanitizing of $_GET and $_POST data using build in filter_input()
* index now always tries to resolve page calls with ajaxHandler first and as a page last

minor bug-fixes to bugs that wre not reported yet, because they didn't occur yet
(e.g.: nobody tried to compose a comment with >7500 characters yet)
2015-11-08 23:14:17 +01:00