‪TYPO3CMS  9.5
DestroySessionHook.php
Go to the documentation of this file.
1 <?php
2 declare(strict_types = 1);
3 
5 
6 /*
7  * This file is part of the TYPO3 CMS project.
8  *
9  * It is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License, either version 2
11  * of the License, or any later version.
12  *
13  * For the full copyright and license information, please read the
14  * LICENSE.txt file that was distributed with this source code.
15  *
16  * The TYPO3 project - inspiring people to share!
17  */
18 
22 
24 {
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:81
‪TYPO3\CMS\Core\Session\SessionManager
Definition: SessionManager.php:37
‪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:24
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:45
‪TYPO3\CMS\Core\Hooks
Definition: BackendUserGroupIntegrityCheck.php:2