codemasher 5 سال پیش
والد
کامیت
63f2bfd337
1فایلهای تغییر یافته به همراه9 افزوده شده و 4 حذف شده
  1. 9 4
      src/Common/Mode.php

+ 9 - 4
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));