• Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/barcode/barcodegenerator.php
  • Класс: BitrixUIBarcodeBarcodeGenerator
  • Вызов: BarcodeGenerator::qr_encode_binary
private function qr_encode_binary($data, $version_group) {
	$code = array(0, 1, 0, 0);
	$length = strlen($data);
	switch ($version_group) {
		case 2:  /* 27 - 40 */
		case 1:  /* 10 - 26 */
			$code[] = $length & 0x8000;
			$code[] = $length & 0x4000;
			$code[] = $length & 0x2000;
			$code[] = $length & 0x1000;
			$code[] = $length & 0x0800;
			$code[] = $length & 0x0400;
			$code[] = $length & 0x0200;
			$code[] = $length & 0x0100;
		case 0:  /* 1 - 9 */
			$code[] = $length & 0x0080;
			$code[] = $length & 0x0040;
			$code[] = $length & 0x0020;
			$code[] = $length & 0x0010;
			$code[] = $length & 0x0008;
			$code[] = $length & 0x0004;
			$code[] = $length & 0x0002;
			$code[] = $length & 0x0001;
	}
	for ($i = 0; $i < $length; $i++) {
		$ch = ord(substr($data, $i, 1));
		$code[] = $ch & 0x80;
		$code[] = $ch & 0x40;
		$code[] = $ch & 0x20;
		$code[] = $ch & 0x10;
		$code[] = $ch & 0x08;
		$code[] = $ch & 0x04;
		$code[] = $ch & 0x02;
		$code[] = $ch & 0x01;
	}
	return $code;
}