public static function raw($type, $datas) { $digit = ''; $hri = ''; $code = ''; $crc = true; $rect = false; if (is_array($datas)) { foreach (array('code' => '', 'crc' => true, 'rect' => false) as $v => $def) { ${$v} = isset($datas[$v]) ? $datas[$v] : $def; } $code = $code; } else { $code = $datas; } if ($code == '') { return false; } $code = (string) $code; $type = strtolower($type); switch ($type) { case 'std25': case 'int25': $digit = BarcodeI25::getDigit($code, $crc, $type); $hri = BarcodeI25::compute($code, $crc, $type); break; case 'ean8': case 'ean13': $digit = BarcodeEAN::getDigit($code, $type); $hri = BarcodeEAN::compute($code, $type); break; case 'upc': $digit = BarcodeUPC::getDigit($code); $hri = BarcodeUPC::compute($code); break; case 'code11': $digit = Barcode11::getDigit($code); $hri = $code; break; case 'code39': $digit = Barcode39::getDigit($code); $hri = $code; break; case 'code93': $digit = Barcode93::getDigit($code, $crc); $hri = $code; break; case 'code128': $digit = Barcode128::getDigit($code); $hri = $code; break; case 'codabar': $digit = BarcodeCodabar::getDigit($code); $hri = $code; break; case 'msi': $digit = BarcodeMSI::getDigit($code, $crc); $hri = BarcodeMSI::compute($code, $crc); break; case 'datamatrix': $digit = BarcodeDatamatrix::getDigit($code, $rect); $hri = $code; break; } return array($digit, $hri); }
private static function _draw($call, $res, $color, $x, $y, $angle, $type, $datas, $width, $height) { $digit = ''; $hri = ''; $code = ''; $crc = true; $rect = false; $b2d = false; if (is_array($datas)) { foreach (array('code' => '', 'crc' => true, 'rect' => false) as $v => $def) { ${$v} = isset($datas[$v]) ? $datas[$v] : $def; } $code = $code; } else { $code = $datas; } if ($code == '') { return false; } $code = (string) $code; $type = strtolower($type); switch ($type) { case 'std25': case 'int25': $digit = BarcodeI25::getDigit($code, $crc, $type); $hri = BarcodeI25::compute($code, $crc, $type); break; case 'ean8': case 'ean13': $digit = BarcodeEAN::getDigit($code, $type); $hri = BarcodeEAN::compute($code, $type); break; case 'upc': $digit = BarcodeUPC::getDigit($code); $hri = BarcodeUPC::compute($code); break; case 'code11': $digit = Barcode11::getDigit($code); $hri = $code; break; case 'code39': $digit = Barcode39::getDigit($code); $hri = $code; break; case 'code93': $digit = Barcode93::getDigit($code, $crc); $hri = $code; break; case 'code128': $digit = Barcode128::getDigit($code); $hri = $code; break; case 'codabar': $digit = BarcodeCodabar::getDigit($code); $hri = $code; break; case 'msi': $digit = BarcodeMSI::getDigit($code, $crc); $hri = BarcodeMSI::compute($code, $crc); break; case 'datamatrix': $digit = BarcodeDatamatrix::getDigit($code, $rect); $hri = $code; $b2d = true; break; } if ($digit == '') { return false; } if ($b2d) { $width = is_null($width) ? 5 : $width; $height = $width; } else { $width = is_null($width) ? 1 : $width; $height = is_null($height) ? 50 : $height; $digit = self::bitStringTo2DArray($digit); } if ($call == 'gd') { $result = self::digitToGDRenderer($res, $color, $x, $y, $angle, $width, $height, $digit); } else { if ($call == 'fpdf') { $result = self::digitToFPDFRenderer($res, $color, $x, $y, $angle, $width, $height, $digit); } } $result['hri'] = $hri; return $result; }