private function ISBNtest::get_isbn10_checkdigit in Biblio Advanced Import 7
Same name and namespace in other branches
- 6 lib/isbntest.class.php \ISBNtest::get_isbn10_checkdigit()
2 calls to ISBNtest::get_isbn10_checkdigit()
- ISBNtest::get_isbn10 in lib/isbntest.class.php
- ISBNtest::valid_isbn10 in lib/isbntest.class.php
File
- lib/isbntest.class.php, line 21
Class
- ISBNtest
Code
private function get_isbn10_checkdigit() {
if (strlen($this->isbn10) != 10) {
return FALSE;
$this->error = "Given ISBN-10 is not 10 digits (" . $this->isbn10 . ")";
}
$checkdigit = 11 - (10 * substr($this->isbn10, 0, 1) + 9 * substr($this->isbn10, 1, 1) + 8 * substr($this->isbn10, 2, 1) + 7 * substr($this->isbn10, 3, 1) + 6 * substr($this->isbn10, 4, 1) + 5 * substr($this->isbn10, 5, 1) + 4 * substr($this->isbn10, 6, 1) + 3 * substr($this->isbn10, 7, 1) + 2 * substr($this->isbn10, 8, 1)) % 11;
switch ($checkdigit) {
case 10:
$checkdigit = "X";
break;
case 11:
$checkdigit = 0;
break;
default:
}
return $checkdigit;
}