* Add Smarty and Twig template engines
* Update composer.json
* Convert Widgets class to template engine and PHPStan fixes
* Fix widget initialisation
* Fix panel widget initialisation
* chore: remove debug return
* feat: convert 403/404 pages to new template system and general tidy
* chore: style fixes
* feat: update latest pages to new template engine
* feat: template base should not be nullable in onPageLoad
* feat: set template base directory upon initialisation and allow custom smarty security directories
* chore: fix style
* Initial work on reactions revamp and profile widgets
* Remove unneeded changes
* Remove unneeded change
* fix style
* Render emojis in reaction list StaffCP
* wip minecraft account profile widget, sticky widgets on profile page
* Add server name and IP to last seen
* remove
* rename to reaction score to match member list
* align reactions table contents center
* fix
* wip - nicer abstraction, widgets never query db, skin 3d viewer (undecided)
* wip - make reaction modals ajax, copy new reaction bar to profile posts
* wip reaction modals
* wip proper sorting
* wip modals
* wip get reaction submission working on profile wall posts
* add back helpful and creative default reactions
* reduce query amount on view topic
* remove debug statement
* wip
* wip
* simplify ProfileWidget pages
* Revert forum dropdown
* fix css syntax
* fix emoji title and alt being strange
* add back order input
* sort widgets by order in list
* fix settings link always showing
* phpdoc
* add widget name to exception
* insert default widget data if not found
* missing end if
* properly cache forum news per-group
* fix
* fix cache key, news permission check
* fix styling
* wip
* respect reaction ordering
* wip
* wip
* support custom reaction scores, update member list to properly calculate
* don't hardcode words
* wip
* allow multiple reactions
* redirect to post
* code style
* phpstan
* wip
* remove hardcoded terms + fix copy
* use npm for skinview3d
* create ReactionContext and refactor
* fix cache
* docblocks
* fix spelling
* pr amendments
* Dependency updates
* Start i18n conversion
* Switch to ellipsis character
* Add Dutch language json
* Remove Dutch PHP language files + fix variables
* Further variable fixes
* WIP i18n Language class conversion
* Convert Cookie Consent module to new language format
* Further progress including timeago translations
* Misc
* Replace {x}
* Replace more {x} usage
* {{time}}
this took way too long
* replace last {x}
* Remove comments
So searching for {x} produces relevant results
* forgot to save
* move to onPageLoad
* Accept both string and int
* types in doc
* Remove unused (broken?) function
* Don't convert to string first
* Last arg doesn't seem to be used anywhere
* Time `{x}` replacements
* Email `{x}` replacements
* misc `{x}` replacements
* misc `{x}` replacements
* misc `{x}` replacements
* misc `{x}` replacements
* misc `{x}` replacements
* misc `{x}` replacements
* misc `{x}` replacements
* misc `{x}` replacements
* misc `{x}` replacements
* remove comments (makes searching for "{x}" nicer)
* misc `{x}` replacements
* JS `{x}` replacements
* Cleanup language initialization
* Change language constant + add pluralForm support
* Misc language update things
* Add script to find unused terms
* Check all quote types
* Remove most english translations from non-english languages
* Also match with more args
* Missed some apparently
* Missed some (more) apparently
* Misc work
* Add script to convert *all* language files to json
* Fix language codes
* Remove a lot of unused terms
* Remove a lot more unused terms
* Convert everything to JSON, delete old files, get installer working with new system
* Fix general configuration language dropdown + email messages
* Fix page load time, fix language term `set` method
* Fix discord integration command
* Misc
* Misc
* Uncomment RTL definition
* Misc
* Convert links
* Convert links
* Convert links
* Convert links
* Misc work (bolding, fixes, etc)
* Style fix
* Fix variable
* Fix#2668
* Fix old page load timers
* Fix installer group sync injector error
* Convert integration language terms
* Fix more integration language things
* Re-add upgrade script language things
* Resolve PR comments
* Remove unnecessary date()
* Resolve some PR issues
* Fix endpoint
* Style
* Fix Semantic -> Fomantic
* Fix Semantic -> Fomantic
* Return locale short code, not language id/name
Only the short code is interesting to the API, return short code in user info endpoint just like in the website info endpoint.
Also renamed to locale because it's language + region
* Revert "warn people to not translate old language files"
This reverts commit 690b77afff.
* Fix query when there are no filters
* Update 200-pr12.php
* Update footer.php
* insert time into string using placeholder
* Fix getDisplayname case
* Clean username
* PR suggestions
* Include newly created language in converted languages (migration)
* PR suggestions
* PR suggestions
* Update init.php
* Fix default language
Co-authored-by: samerton <samerton@users.noreply.github.com>
Co-authored-by: Robin <robinslot@hotmail.nl>
Co-authored-by: Robin <robin+git@rkslot.nl>
Co-authored-by: Partydragen <adrian_kili@outlook.com>
* Initial commit, big additions. Linking/verifying discord id is complete
* Update admin.php
* Better validation errors + language updating
* Apply role change on user edit page - still some things to flush out though
* flush out some edge cases
* Add role in discord upon account validation & more
* Add api endpoint (need to test) & a lot of TODOs
* fix announcements a bit on Default template
* define bot url for easier move to self-hosting
* Add discord->website (adding) sync & lots of the TODOs
* Add discord role removal api endpoint
* Add logging od discord role add/remove & fix log table
* Add api_url to discord request for extra security & add todo's for error handling
* More API error handling for discord bot
* Add boilerplate error handling if bot throws error
* Add error messages for all discord linking
* If they have a role on the site, give it to them when they verify their id
* Resolve Sam's review
* Add info msgs so people know where to get discord IDs
* Add all language translations and update NMC version strings