From 63f2bfd337beafb29669adade65181cff19da416 Mon Sep 17 00:00:00 2001 From: codemasher Date: Sun, 22 Nov 2020 11:25:44 +0100 Subject: [PATCH] :shower: --- src/Common/Mode.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Common/Mode.php b/src/Common/Mode.php index 67921a6dd..5afd0dc3c 100644 --- a/src/Common/Mode.php +++ b/src/Common/Mode.php @@ -48,9 +48,9 @@ class Mode{ */ public const LENGTH_BITS = [ self::DATA_NUMBER => [10, 12, 14], - self::DATA_ALPHANUM => [9, 11, 13], - self::DATA_BYTE => [8, 16, 16], - self::DATA_KANJI => [8, 10, 12], + self::DATA_ALPHANUM => [ 9, 11, 13], + self::DATA_BYTE => [ 8, 16, 16], + self::DATA_KANJI => [ 8, 10, 12], ]; /** @@ -76,10 +76,15 @@ class Mode{ throw new QRCodeException('invalid mode given'); } + $minVersion = 0; + foreach([9, 26, 40] as $key => $breakpoint){ - if($version <= $breakpoint){ + + if($version > $minVersion && $version <= $breakpoint){ return self::LENGTH_BITS[$mode][$key]; } + + $minVersion = $breakpoint; } throw new QRCodeException(sprintf('invalid version number: %d', $version));