diff options
author | Simon Rettberg | 2023-01-05 15:06:48 +0100 |
---|---|---|
committer | Simon Rettberg | 2023-01-05 15:06:48 +0100 |
commit | 2b40b23f14f2e23b8bb1a2b09f188d9eceea2d27 (patch) | |
tree | db7d6748a70ea559da9a6d6f44df781ecb971f69 /modules-available/session | |
parent | [main] Remove "Change Password" in menu; make username a link instead (diff) | |
download | slx-admin-2b40b23f14f2e23b8bb1a2b09f188d9eceea2d27.tar.gz slx-admin-2b40b23f14f2e23b8bb1a2b09f188d9eceea2d27.tar.xz slx-admin-2b40b23f14f2e23b8bb1a2b09f188d9eceea2d27.zip |
[session] Add checkbox to log out all other sessions on pw change
Diffstat (limited to 'modules-available/session')
4 files changed, 9 insertions, 0 deletions
diff --git a/modules-available/session/lang/de/template-tags.json b/modules-available/session/lang/de/template-tags.json index 491c7cc3..d518e1cb 100644 --- a/modules-available/session/lang/de/template-tags.json +++ b/modules-available/session/lang/de/template-tags.json @@ -5,6 +5,7 @@ "lang_enter": "Anmeldung", "lang_expires": "L\u00e4uft bei Inaktivit\u00e4t ab", "lang_fixedIpSession": "Sitzung an IP-Adresse binden", + "lang_killOtherSessions": "Alle meine anderen Sitzungen ausloggen", "lang_lastAddress": "Letzter Zugriff von", "lang_login": "Anmelden", "lang_newPassword": "Neues Passwort", diff --git a/modules-available/session/lang/en/template-tags.json b/modules-available/session/lang/en/template-tags.json index 0bd192f3..e21a1bf9 100644 --- a/modules-available/session/lang/en/template-tags.json +++ b/modules-available/session/lang/en/template-tags.json @@ -5,6 +5,7 @@ "lang_enter": "Enter", "lang_expires": "Expires on no activity", "lang_fixedIpSession": "Bind session to IP address", + "lang_killOtherSessions": "Log out all my other sessions", "lang_lastAddress": "Last access from", "lang_login": "Login", "lang_newPassword": "New password", diff --git a/modules-available/session/page.inc.php b/modules-available/session/page.inc.php index 66f672f0..71f24886 100644 --- a/modules-available/session/page.inc.php +++ b/modules-available/session/page.inc.php @@ -48,6 +48,9 @@ class Page_Session extends Page Message::addError('adduser.password-mismatch'); Util::redirect('?do=session'); } + if (Request::post('kill-other-sessions', false, 'bool')) { + Session::deleteAllButCurrent(); + } if (User::updatePassword($new)) { Message::addSuccess('password-changed'); } else { diff --git a/modules-available/session/templates/change-password.html b/modules-available/session/templates/change-password.html index fa8e573f..fa61fd77 100644 --- a/modules-available/session/templates/change-password.html +++ b/modules-available/session/templates/change-password.html @@ -5,6 +5,10 @@ <input type="password" name="newpass1" class="form-control" placeholder="{{lang_newPassword}}"> <input type="password" name="newpass2" class="form-control" placeholder="{{lang_repeatPassword}}"> </div> + <div class="checkbox"> + <input type="checkbox" id="kill-other-sessions" name="kill-other-sessions" value="1"> + <label for="kill-other-sessions">{{lang_killOtherSessions}}</label> + </div> <button class="btn btn-lg btn-primary btn-block" type="submit">{{lang_changePassword}}</button> <input type="hidden" name="action" value="changepw"> <input type="hidden" name="token" value="{{token}}"> |