* 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
- spell: added effect: killCredit2 to parsed list
- fixed some mixups, when eventId was used instead of holidayId and vice versa
- avoid zero values for page Types so there are no longer empty tooltips on the language-menu
- rewrote conditions system:
* table: conditions is now in use (needs some more cases to check for)
* adapted existing 'conditions', may need some wording fixes
* can now calso reate a single listview tab for more detailed information
* this is not localized for frFR, esES or ruRU
- enabled support for non-tamplate tabs (leave 'file' empty and 'data' is used as HTML)
- added config-option to restrict available locales
- fixed opensearch suggestions by generating strict json
- include TalentCalc.css as lowerCase (fixes display under *nix)
- some minor formating
- Setup:
* added some additional files to be generated (they required STATIC_URL or HOST_URL to be set)
* moved class Locale from global.js to own template and generate it with CFG_LOCALES
* changed urlParam (?build=script): may be empty (builds everything) or specific scriptNames chained together with ; (?build=script1;script2)
you are required to run the following command to regenerate files affected by these cahnges
?build=demo;power;realmMenu;searchboxBody;searchboxScript;searchplugin;locales
- implemented 'group by source' and most source-related filters in items.php
note: some fields are not yet set and searches against those will yield no usable result
- fixed js-error; always expecting array characters in g_user
- fixed rep gain on first login, when using external auth
- fixed wrong lootIds in ?_objects, where the field size was too small
* implemented enchantment conditions for meta gems
* removed hardcoded static-domain in transfer-string
Site:
* gain rep for ACTION_REGISTER when logging in for the first time, using external auth
* language-menu uses the same dropdown-icon as other menus
Spell:
* hide procChance of 100% or more
ItemComparison:
* fixed display of drag-icon
* fixed single gems being moved to first empty socket in tooltips
squelched some notices in quest.php and item.php
- partially implemented site reputation (required to grant privileges to comments)
- reworked 'home'-page (the news-box is now as configurable as you want)
- removed some ancient compatibility-code for IE67 (srsly, its 2014!)
- dropped associated stylesheets, reviewed the rest
- split some user-restrictions to trigger on insufficient siteRep
- added text-page: Markup-Guide
- implemented new class to handle Markup
- bugfixes [TM]
- also you will need to reapply the db-dumps (you may want do save account*, news,
reports, ..)
- added some forgotten account-srings
- fixed an error handling ItemFilter /w upgradeItems + markdown appearing in tooltips
- relaxed session-regeneration (only regenerates on status changes (signin/-out)), fixes losing the session, when opening multiple tabs at once
- striped smarty from profiler (only cleanups remaining)
- moved profiler-ajax to AjaxHandler
- created a (dummy, for now) ProfileClass to handle Chars and Profiles
- reimplemented Utilities-Page and Account-Page
- moved account-ajax to ajaxHandler
- AjaxHandler::handle() can no longer call itself, if the parameter is empty
- cache is now compressed (has a negligible delay)
- revisited User-Class / Accounts:
* implemented mail-confirmation (be sure to configure your server appropriately)
* implemented recovery of password or username
* there are now 3 options to auth against: 1) aowow-DB (default); 2)
wow-auth-DB; 3) user-defined script (SOAP or similar exotic methods)
* dropped the aowow-cookie, it relies on php-sessions now
* reworked how bans are handled (can now also ban from upload, rate, comment)
- fixed enhancements on itemTooltips
account related localization for FR, ES and RU is lacking (help is appreciated)
_account and _account_banned have changed and are incompatible with the prvious version