* 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
* 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
* the great unfuckening of user and displayName
* `login` is purely used as login with AUTH_MODE_SELF
* `email` may now also be used to log in (if the system knows it)
* `username` is purely used for display around the site, and lookups from web context
* both must exist because of external logins
a) that may be not unique
b) you may not want to share with the rest of the world
* todo: implement rename ( because of b) )
* provide empty values for non-default db fields when initializing external accounts
* removed browser check for username maxlength as it depends on auth method
* 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
* prevent direct access to some internal files where applicable and reword error for others
* if CFG_DEBUG is set also enable debug in client javascript
* non-breaking formatting changes
* define regions and missing locales for later use
* 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
* 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.
* display and link clientside mails to other types and events
* fixed favorites menu for new types
* fixed sorting column triggered spells in enchantment listview
* some misc cleanups
* added support for locale 4
* some strings are missing and will need to be translated at a later date
* thx @qyh214 for a lot of content
Co-authored-by: qyh214 <sandy0214qin@msn.com>
* moved wt_presets to DB
* scales are now saved sensibly instead of just being dumped as is (also, tables have now constrains)
* added admin=weight-presets to edit presets
* added an internal user on id:0 who 'owns' the wt-presets and the +1 rates on new comments
* consequently added constraints to comment-related tables
Misc:
* Util::toJSON() priorizes its flags over CFG_DEBUG, wich fixes the modelviewer-redButton
* moved terrible javascript-dump from admin-page to template
* fixed auth against TCs auth table
* check for real paths when creating emote aliasses
* races page no longer identifies as classes
* fixed item comparison tool
* fixed js error when trying to display spawn maps
* implemented pending-status for newly created accounts
* Markup should now properly recognize external links
* Markup will remove links by pending accounts
* replaced some more uses of string functions with multibyte equivalents where it might matter
note: i didn't touch the spell-tooltip parser as it seems to work as intended regardless
* added msg-level INFO
* changed some WARN-level messages to INFO
Util
* added function to handle directories aowow wants to write to / read from
SiteConfig
* group options to be less cluttered
* allow empty strings (numerical values must still at least be 0)
* renamed account related config values to be make more sense
* make cache path configurable
* make session save path configurable - use this to avoid the garbage collect cron job on Debian or Ubuntu, that cleans sessions and only depends on your php.ini (NOTE: putting this inside a web-enabled directory is a risk!)
- change engine of ?_account*-tables to InnoDB
- link userId of ?_account*, ?_screenshot & ?_videos -tables using foreign keys
- also display screenshots/videos, that do not have an owner
- extAuth should be expected in config/ and not /config/
- fixed copy/paste-error preventing purge of memcached pages
- fixed 'text-shadow' on red-buttons
- fixed some awkward names for skinning-tabs on npc.php
- only send calendar if we have events to display on event.php
- do not display conditions column if there are no conditions on item.php