‪TYPO3CMS  ‪main
DestroySessionHook.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
18 namespace ‪TYPO3\CMS\Core\Hooks;
19 
23 
25 {
34  public function ‪processDatamap_postProcessFieldArray($status, $table, $id, $fieldArray, ‪DataHandler $dataHandler)
35  {
36  if ($table !== 'be_users' && $table !== 'fe_users') {
37  return;
38  }
39  if ($status !== 'update') {
40  return;
41  }
42  if (!isset($fieldArray['password']) || (string)$fieldArray['password'] === '') {
43  return;
44  }
45 
46  $sessionManager = GeneralUtility::makeInstance(SessionManager::class);
47  if ($table === 'be_users') {
48  // Destroy BE user sessions for backend user
49  $backend = $sessionManager->getSessionBackend('BE');
50  $sessionManager->invalidateAllSessionsByUserId($backend, (int)$id, ‪$GLOBALS['BE_USER']);
51  }
52  if ($table === 'fe_users') {
53  // Destroy any FE user sessions for the given user
54  $backend = $sessionManager->getSessionBackend('FE');
55  $sessionManager->invalidateAllSessionsByUserId($backend, (int)$id);
56  }
57  }
58 }
‪TYPO3\CMS\Core\DataHandling\DataHandler
Definition: DataHandler.php:104
‪TYPO3\CMS\Core\Session\SessionManager
Definition: SessionManager.php:39
‪TYPO3\CMS\Core\Hooks\DestroySessionHook\processDatamap_postProcessFieldArray
‪processDatamap_postProcessFieldArray($status, $table, $id, $fieldArray, DataHandler $dataHandler)
Definition: DestroySessionHook.php:34
‪TYPO3\CMS\Core\Hooks\DestroySessionHook
Definition: DestroySessionHook.php:25
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:52
‪TYPO3\CMS\Core\Hooks
Definition: BackendUserGroupIntegrityCheck.php:18