Skip to content

fix(manager): persist manager language across logout/login#16928

Open
Ibochkarev wants to merge 1 commit intomodxcms:3.xfrom
Ibochkarev:fix/16072-manager-language-persist
Open

fix(manager): persist manager language across logout/login#16928
Ibochkarev wants to merge 1 commit intomodxcms:3.xfrom
Ibochkarev:fix/16072-manager-language-persist

Conversation

@Ibochkarev
Copy link
Copy Markdown
Collaborator

What does it do?

Store manager language in cookie modx_manager_language so it survives session end. Read cookie on login, set on language change and login. Redirect to ?manager_language=XX after logout for immediate restore.

Changes:

  • login.class.php: read cookie, validate against lexicon, set session and cookie
  • language.class.php: set cookie when user switches language
  • logout.class.php: add manager_language to redirect URL
  • modx.js: on logout success, read cookie and redirect with manager_language
  • modX.php: new setManagerLanguageCookie() method

Why is it needed?

Manager language resets to default after logout because it was only stored in $_SESSION. Session is destroyed on logout, so the preference was lost.

How to test

  1. Log in to manager
  2. Switch language (e.g. to German)
  3. Log out
  4. Log in again — language should remain German

Related issue(s)/PR(s)

Resolves #16072

Store manager language in cookie (modx_manager_language) so it survives
session end. Read cookie on login, set on language change and login.
Redirect to ?manager_language=XX after logout for immediate restore.

Fixes modxcms#16072
@Ibochkarev Ibochkarev marked this pull request as ready for review March 16, 2026 04:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The selected language of the manager panel is reset after exiting the manager

1 participant