‪TYPO3CMS  10.4
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 {
35  public function ‪processDatamap_postProcessFieldArray($status, $table, $id, $fieldArray, ‪DataHandler $dataHandler)
36  {
37  if ($table !== 'be_users' && $table !== 'fe_users') {
38  return;
39  }
40  if ($status !== 'update') {
41  return;
42  }
43  if (!isset($fieldArray['password']) || (string)$fieldArray['password'] === '') {
44  return;
45  }
46 
47  $sessionManager = GeneralUtility::makeInstance(SessionManager::class);
48  if ($table === 'be_users') {
49  // Destroy BE user sessions for backend user
50  $backend = $sessionManager->getSessionBackend('BE');
51  $sessionManager->invalidateAllSessionsByUserId($backend, (int)$id, ‪$GLOBALS['BE_USER']);
52  }
53  if ($table === 'fe_users') {
54  // Destroy any FE user sessions for the given user
55  $backend = $sessionManager->getSessionBackend('FE');
56  $sessionManager->invalidateAllSessionsByUserId($backend, (int)$id);
57  }
58  }
59 }
‪TYPO3\CMS\Core\DataHandling\DataHandler
Definition: DataHandler.php:84
‪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:35
‪TYPO3\CMS\Core\Hooks\DestroySessionHook
Definition: DestroySessionHook.php:25
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:46
‪TYPO3\CMS\Core\Hooks
Definition: BackendUserGroupIntegrityCheck.php:16