Commit Graph

56 Commits

Author SHA1 Message Date
Sarjuuk
a99fff46aa User/Sessions
* implement tracking
    * FUTURE: log out all devices for user
    * generally store less info in _SESSION
2025-07-27 16:42:13 +02:00
Sarjuuk
086760b9b1 User/Cleanup
* 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) )
2025-07-27 16:42:13 +02:00
Sarjuuk
0928b1b430 User
* slightly modernize static class
2025-07-26 23:18:59 +02:00
Sarjuuk
682b315e17 User/Misc
* floating changes
 * codify user checks into functions
2025-04-02 23:26:01 +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
6249f2957e User/Fixup
* user linked characters where also uninitialized
2025-03-04 23:49:15 +01:00
Sarjuuk
83b99c47d2 Auth/Fixup
* provide empty values for non-default db fields when initializing external accounts
 * removed browser check for username maxlength as it depends on auth method
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
12ddc6fe82 Misc/Fixup
* 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
2024-06-17 19:59:51 +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
a97cede1e0 Profiler/Realms
* generally allow all realm types
 * filter visibility/access by userGroup
2024-05-16 22:33:01 +02:00
Sarjuuk
bc3ba23162 Guides/Fixups
* fix urls in user menu
 * strip anchors from tooltip title
 * prevent line breaks in description
 * make only in english info popup modular
2023-06-08 13:53:48 +02:00
Sarjuuk
24d683332d Profiler/Completion
* fix partial loading of quests in profiler
 * provide inital category totals on a per class & race basis
2023-06-08 13:45:55 +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
33a870ef78 Structure/Types
* move distributed constant values to object
 * move reused iterators and checks to object
2022-03-22 15:05:50 +01:00
Treeston
fb2ab8f613 SRP6 for user auth (#38)
* SRP6 for user auth, implementation of 3164b58c7d
2020-08-03 15:20:34 +02:00
Sarjuuk
fd04e9f977 Implemented new type: mail
* 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
2020-02-14 00:36:41 +01:00
Sarjuuk
761da59ee9 Localization/Chinese
* 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>
2018-05-08 20:36:52 +02:00
Sarjuuk
e50333a518 DB/Favorites
* implement favorites for DB entries
 * click on the star besides the name of the entry to add it to a new quick menu
2018-03-30 19:22:45 +02:00
Sarjuuk
3fd25ca889 Profiler/Backend
* added core functions nessecary for profiler
2018-03-22 17:36:28 +01:00
Sarjuuk
5abb3f78cf Auth/Fixup
* fix external login after 49a10e22
2018-02-02 21:15:25 +01:00
Sarjuuk
889f14a64f User/Auth
* import user access from external auth source if available
2017-08-30 17:25:40 +02:00
Sarjuuk
33554e8942 User/Contribs
* added reputation threshold for replys to config
 * check canComment and canReply separately
 * disable contrib-tabs if the user is banned
2017-03-20 01:12:36 +01:00
Sarjuuk
ab8d7caced Config/Locales
* if your current language becomes invalid select the first viable one instead of defaulting to LOCALE_EN
2017-02-23 00:47:25 +01:00
Sarjuuk
a521935934 User/Auth
* use char limit appropriate to current auth method, when checking usernames
2016-03-29 21:16:16 +02:00
Sarjuuk
e80015a7cd Weight Scales/Presets:
* 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
2016-03-12 14:05:39 +01:00
Sarjuuk
71e44e572a Misc/Misc
* 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
2016-02-27 23:23:37 +01:00
Sarjuuk
741ebf38f9 Users/Markup
* implemented pending-status for newly created accounts
 * Markup should now properly recognize external links
 * Markup will remove links by pending accounts
2016-02-17 00:23:00 +01:00
Sarjuuk
2bc85dd109 Acc/Passwords
* do not enforce minimum password length for imported accounts
2016-01-26 23:12:41 +01:00
Sarjuuk
eddb034a5c User/Passwords
* allow for passwords longer than 15 characters
2016-01-23 11:29:18 +01:00
Sarjuuk
d7c6092d5f Strings/Encoding
* 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
2015-09-19 16:11:10 +02:00
Sarjuuk
0cb5d6b896 CLISetup
* 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!)
2015-07-09 21:04:00 +02:00
Sarjuuk
53fee61b76 also set time, when createing users from external auth sources 2015-06-09 00:29:29 +02:00
Sarjuuk
a4c76de124 DB:
- 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
2015-06-09 00:22:12 +02:00
Sarjuuk
7a0c6f22dc misc fixes:
- extAuth should be expected in config/ and not /config/
 - fixed copy/paste-error preventing purge of memcached pages
 - fixed 'text-shadow' on red-buttons
2015-06-08 21:02:05 +02:00
Sarjuuk
c814ec7ef9 Loot:
* fixed indizes after revamp of loot-tables some time ago
User:
 * fixed IP-detection
 * moved name/pass checks to uniform function
2015-01-18 18:46:48 +01:00
Sarjuuk
0806e616ae - updated Loot-class to work with TrinityCore:master/55b43c67519359f0e5a96004c393898b3c62add3
- 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
2014-09-28 13:38:03 +02:00
Sarjuuk
75093f6d8f - check different request-header to determine the users IP
- block access if it cant be reliably deetermined
- increase field size in db to accomodate IPv6
2014-09-23 22:32:40 +02:00
Sarjuuk
ad3f826906 - check for url-param 'locale' and handle as temporary choice
- 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)
2014-09-23 19:32:57 +02:00
Sarjuuk
e62fc0f959 Auth: fixed auth against auth.account 2014-09-14 00:38:45 +02:00
Sarjuuk
feaee59cd0 - converted articles for MorePages to use STATIC_URL (also neutralized some self-references)
- 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
2014-09-13 23:26:01 +02:00
Sarjuuk
13e45827e4 - move sources from individual tables to a single table with searchable format
- 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
2014-09-05 22:18:32 +02:00
Sarjuuk
96056161bd - removed tooltip buffer from TypeClasses (only used by setup and caused bugs with the localization to boot)
- fixed broken dataset-scripts
- removed base-info.php wich wasn't really a dataset-script
2014-09-02 23:17:36 +02:00
Sarjuuk
cdfde74eb9 Items:
* 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
2014-08-17 21:27:12 +02:00
Sarjuuk
78422b9130 fixed problems with case-sensitivety on different systems
- table-names are now lowercase
- includes from spl_autolaod_regsiter() are now lowercase
2014-08-01 22:43:56 +02:00
Sarjuuk
1dfc469d43 - implemented comments (in general and as preview on account page & latest comments)
- 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, ..)
2014-07-30 22:10:34 +02:00
Sarjuuk
48527b0b68 Localization: remove search-group and move strings to main
Profiler: implemented frontpage (?profiler)
Announcements: parse for STATIC_URL and HOST_URL
2014-07-24 20:41:02 +02:00
Sarjuuk
0af712a8ff removing smarty - part XIV (only one more..)
- 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
2014-07-17 16:48:05 +02:00
Sarjuuk
a82aa2b6ae removing smarty - part XIII (almost there)
- 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
2014-07-13 12:10:20 +02:00
Sarjuuk
9c7c2e29b5 removing smarty - part V
- added ObjectPage and ObjectsPage
- moved loot-related functions from Util to own class
- moved template-related functions from Util to GenericPage
- removed redundancies from user class
- enabled cache (may need some tweaking but it finally works as it should)
- some bugfixes
2014-06-21 16:46:01 +02:00