diff --git a/lib/private/Share/Helper.php b/lib/private/Share/Helper.php index 0a7480befa0f5..d53f9d6ed9403 100644 --- a/lib/private/Share/Helper.php +++ b/lib/private/Share/Helper.php @@ -128,27 +128,11 @@ public static function isSameUserOnSameServer($user1, $server1, $user2, $server2 } public static function getTokenLength(): int { - $config = \OC::$server->getConfig(); - $tokenLengthValue = $config->getAppValue('core', 'shareapi_token_length', (string)self::DEFAULT_TOKEN_LENGTH); - - // Check for 'min', 'max', or non-numeric input - if (strtolower($tokenLengthValue) === 'min') { - $tokenLength = self::MIN_TOKEN_LENGTH; - } elseif (strtolower($tokenLengthValue) === 'max') { - $tokenLength = self::MAX_TOKEN_LENGTH; - } elseif (!is_numeric($tokenLengthValue) || (int)$tokenLengthValue === 0) { - $tokenLength = self::DEFAULT_TOKEN_LENGTH; - } else { - $tokenLength = (int)$tokenLengthValue; - } + $config = \OCP\Server::get(\OCP\IAppConfig::class); + $tokenLength = $config->getValueInt('core', 'shareapi_token_length', self::DEFAULT_TOKEN_LENGTH); + $tokenLength = $tokenLength ?: self::DEFAULT_TOKEN_LENGTH; // Token length should be within the defined min and max limits - if ($tokenLength < self::MIN_TOKEN_LENGTH) { - $tokenLength = self::MIN_TOKEN_LENGTH; - } elseif ($tokenLength > self::MAX_TOKEN_LENGTH) { - $tokenLength = self::MAX_TOKEN_LENGTH; - } - - return $tokenLength; + return max(self::MIN_TOKEN_LENGTH, min($tokenLength, self::MAX_TOKEN_LENGTH)); } }