From d4597e8b61e2b35129a81dc9082bb6907e3706a7 Mon Sep 17 00:00:00 2001 From: Carsten Rose <carsten.rose@math.uzh.ch> Date: Sat, 29 Sep 2018 18:06:34 +0200 Subject: [PATCH] F6721: Log switching {{feUser:U}} to qfq.log. refs #6721, refs 6721 --- extension/qfq/qfq/store/Session.php | 2 +- extension/qfq/qfq/store/Store.php | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/extension/qfq/qfq/store/Session.php b/extension/qfq/qfq/store/Session.php index 594fcf069..3b99dac48 100644 --- a/extension/qfq/qfq/store/Session.php +++ b/extension/qfq/qfq/store/Session.php @@ -146,7 +146,7 @@ class Session { * Check if the recent logged in feUserUid is equal to the one stored in session: If different, invalidate (clear) * the session and save the new feUser, feUserUid in the session. If isset($GLOBALS["TSFE"]), than we're in a T3 * environment, else we are called as API classes and need to fake feUser / feUserUid from previous stored session. - * It's neccessary to have feUser / feUserUid available in API classes, due to dynamic update which might reload + * It's necessary to have feUser / feUserUid available in API classes, due to dynamic update which might reload * data based on feUser / feUserUid. */ private static function checkFeUserUid() { diff --git a/extension/qfq/qfq/store/Store.php b/extension/qfq/qfq/store/Store.php index b5f67ae6a..255c2e836 100644 --- a/extension/qfq/qfq/store/Store.php +++ b/extension/qfq/qfq/store/Store.php @@ -12,6 +12,7 @@ use qfq; require_once(__DIR__ . '/../../qfq/helper/KeyValueStringParser.php'); require_once(__DIR__ . '/../../qfq/helper/Sanitize.php'); +require_once(__DIR__ . '/../../qfq/helper/Logger.php'); require_once(__DIR__ . '/../../qfq/Constants.php'); require_once(__DIR__ . '/../../qfq/store/Sip.php'); require_once(__DIR__ . '/../../qfq/store/T3Info.php'); @@ -428,9 +429,9 @@ class Store { * @param $key * @param $store */ - public static function unsetVar($key, $store){ + public static function unsetVar($key, $store) { - if(isset(self::$raw[$store][$key])) { + if (isset(self::$raw[$store][$key])) { unset(self::$raw[$store][$key]); } } @@ -518,7 +519,7 @@ class Store { /** * Fills the STORE_EXTRA. * - * @param string $storeName STORE_EXTRA, STORE_USER + * @param string $storeName STORE_EXTRA, STORE_USER * @throws CodeException * @throws UserFormException */ @@ -652,6 +653,13 @@ class Store { $data = array(); } + // Switch FeUser: log this to qfq.log + if ($storeName === STORE_USER && $key == TYPO3_FE_USER) { + $qfqLog = self::getVar(SYSTEM_QFQ_LOG, STORE_SYSTEM); + $feUserOld = isset($data[$key]) ? $data[$key] : self::getVar($key, STORE_TYPO3 . STORE_EMPTY); + Logger::logMessage(date('Y.m.d H:i:s ') . ": Switch feUser '$feUserOld' to '$value'", $qfqLog); + } + $data[$key] = $value; Session::set($storeName, $data); } -- GitLab