...Человеческий поиск в разработке...
- Модуль: ui
- Путь к файлу: ~/bitrix/modules/ui/lib/barcode/barcodegenerator.php
- Класс: BitrixUIBarcodeBarcodeGenerator
- Вызов: BarcodeGenerator::itf_encode
private function itf_encode($data) { $data = preg_replace('/[^0-9]/', '', $data); if (strlen($data) % 2) $data = '0' . $data; $blocks = array(); /* Quiet zone, start. */ $blocks[] = array( 'm' => array(array(0, 10, 0)) ); $blocks[] = array( 'm' => array( array(1, 1, 1), array(0, 1, 1), array(1, 1, 1), array(0, 1, 1), ) ); /* Data. */ for ($i = 0, $n = strlen($data); $i < $n; $i += 2) { $c1 = substr($data, $i, 1); $c2 = substr($data, $i+1, 1); $b1 = $this->itf_alphabet[$c1]; $b2 = $this->itf_alphabet[$c2]; $blocks[] = array( 'm' => array( array(1, 1, $b1[0]), array(0, 1, $b2[0]), array(1, 1, $b1[1]), array(0, 1, $b2[1]), array(1, 1, $b1[2]), array(0, 1, $b2[2]), array(1, 1, $b1[3]), array(0, 1, $b2[3]), array(1, 1, $b1[4]), array(0, 1, $b2[4]), ), 'l' => array($c1 . $c2) ); } /* End, quiet zone. */ $blocks[] = array( 'm' => array( array(1, 1, 2), array(0, 1, 1), array(1, 1, 1), ) ); $blocks[] = array( 'm' => array(array(0, 10, 0)) ); /* Return code. */ return array('g' => 'l', 'b' => $blocks); }