TYPO3 CMS  TYPO3_8-7
DestroySessionHook.php
Go to the documentation of this file.
1 <?php
2 declare(strict_types = 1);
3 
4 namespace TYPO3\CMS\Core\Hooks;
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 }
processDatamap_postProcessFieldArray($status, $table, $id, $fieldArray, DataHandler $dataHandler)
static makeInstance($className,... $constructorArguments)
if(TYPO3_MODE==='BE') $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsfebeuserauth.php']['frontendEditingController']['default']