function barcode_ean_check_digit in Barcode 6.2
Same name and namespace in other branches
- 7.2 plugins/ean.inc \barcode_ean_check_digit()
1 call to barcode_ean_check_digit()
- barcode_ean_barcode in plugins/ean.inc
File
- plugins/ean.inc, line 20
- Barcode plugin
EAN-13: Used with consumer products internationally, 13 characters
UPC-A: Used with consumer products in U.S., 12 characters
ISBN: Used to mark books, 13 characters
Code
function barcode_ean_check_digit($barnumber) {
$csum_total = 0;
if (strlen($barnumber) <= 12) {
$barnumber = str_pad($barnumber, 12, "0", STR_PAD_LEFT);
}
for ($i = 0; $i < strlen($barnumber); $i++) {
if ($i % 2 == 0) {
$csum_total = $csum_total + intval($barnumber[$i]);
}
else {
$csum_total = $csum_total + 3 * intval($barnumber[$i]);
}
}
if ($csum_total % 10 == 0) {
$checksum_digit = '';
}
else {
$checksum_digit = 10 - $csum_total % 10;
}
return $barnumber . $checksum_digit;
}