MCPcopy Create free account
hub / github.com/codemistic/Web-Development / lengthOfCode

Method lengthOfCode

text-to-qr/lib/phpqrcode/qrinput.php:547–587  ·  view source on GitHub ↗

----------------------------------------------------------------------

($mode, $version, $bits)

Source from the content-addressed store, hash-verified

545
546 //----------------------------------------------------------------------
547 public static function lengthOfCode($mode, $version, $bits)
548 {
549 $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version);
550 switch($mode) {
551 case QR_MODE_NUM:
552 $chunks = (int)($payload / 10);
553 $remain = $payload - $chunks * 10;
554 $size = $chunks * 3;
555 if($remain >= 7) {
556 $size += 2;
557 } else if($remain >= 4) {
558 $size += 1;
559 }
560 break;
561 case QR_MODE_AN:
562 $chunks = (int)($payload / 11);
563 $remain = $payload - $chunks * 11;
564 $size = $chunks * 2;
565 if($remain >= 6)
566 $size++;
567 break;
568 case QR_MODE_8:
569 $size = (int)($payload / 8);
570 break;
571 case QR_MODE_KANJI:
572 $size = (int)(($payload / 13) * 2);
573 break;
574 case QR_MODE_STRUCTURE:
575 $size = (int)($payload / 8);
576 break;
577 default:
578 $size = 0;
579 break;
580 }
581
582 $maxsize = QRspec::maximumWords($mode, $version);
583 if($size < 0) $size = 0;
584 if($size > $maxsize) $size = $maxsize;
585
586 return $size;
587 }
588
589 //----------------------------------------------------------------------
590 public function createBitStream()

Callers

nothing calls this directly

Calls 2

lengthIndicatorMethod · 0.45
maximumWordsMethod · 0.45

Tested by

no test coverage detected