]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix user log.condition feature 38881/head
authorCôme Chilliet <come.chilliet@nextcloud.com>
Mon, 19 Jun 2023 07:35:46 +0000 (09:35 +0200)
committerCôme Chilliet <come.chilliet@nextcloud.com>
Mon, 26 Jun 2023 08:07:22 +0000 (10:07 +0200)
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
lib/private/Log.php

index 1f248be14107b2685deff4282f18525a7314f857..9aff774d0ecafc82bae8cd107a0cbc3ef3338a14 100644 (file)
@@ -38,17 +38,18 @@ namespace OC;
 
 use Exception;
 use Nextcloud\LogNormalizer\Normalizer;
-use OC\AppFramework\Bootstrap\Coordinator;
 use OCP\EventDispatcher\IEventDispatcher;
+use OCP\ILogger;
+use OCP\IUserSession;
 use OCP\Log\BeforeMessageLoggedEvent;
 use OCP\Log\IDataLogger;
-use Throwable;
-use function array_merge;
-use OC\Log\ExceptionSerializer;
-use OCP\ILogger;
 use OCP\Log\IFileBased;
 use OCP\Log\IWriter;
 use OCP\Support\CrashReport\IRegistry;
+use OC\AppFramework\Bootstrap\Coordinator;
+use OC\Log\ExceptionSerializer;
+use Throwable;
+use function array_merge;
 use function strtr;
 
 /**
@@ -274,10 +275,13 @@ class Log implements ILogger, IDataLogger {
 
                                // check for user
                                if (isset($logCondition['users'])) {
-                                       $user = \OC::$server->getUserSession()->getUser();
+                                       $user = \OCP\Server::get(IUserSession::class)->getUser();
 
-                                       // if the user matches set the log condition to satisfied
-                                       if ($user !== null && in_array($user->getUID(), $logCondition['users'], true)) {
+                                       if ($user === null) {
+                                               // User is not known for this request yet
+                                               $this->logConditionSatisfied = null;
+                                       } elseif (in_array($user->getUID(), $logCondition['users'], true)) {
+                                               // if the user matches set the log condition to satisfied
                                                $this->logConditionSatisfied = true;
                                        }
                                }