8 OR strlen($kod)<1) { error::add('Błędny KOD - dozwolone tylko cyfry'); } $kod = str_pad($kod, 8, '0', STR_PAD_LEFT); if(!is_null($exists)) { if($exists!==ksiazki::exists($kod)) { error::add('Wybrana książka '.($exists ? 'nie' : 'już').' istnieje!'); } } } static function EAN($kod) { if( ltrim($kod, '0123456789') != '' OR strlen($kod) != 13 ) { error::add('Błędny ISN - dozwolone tylko cyfry'); } if( substr($kod, -1) != checksum::EAN(substr($kod, 0, -1)) ) { error::add('Podany kod ISN jest błędny'); } } static function ISBN(&$kod) { $kod = str_replace('-', '', strtoupper($kod)); if( ltrim($kod, '0123456789X') != '' OR strlen($kod) != 10 ) { error::add('Błędny ISBN - dozwolone tylko cyfry i znak X'); } if( substr($kod, -1) != checksum::ISBN(substr($kod, 0, -1)) ) { error::add('Podany ISBN jest błędny'); } } static function ISSN(&$kod) { $kod = str_replace('-', '', strtoupper($kod)); if( ltrim($kod, '0123456789X') != '' OR strlen($kod) != 8 ) { error::add('Błędny ISSN - dozwolone tylko cyfry'); } if( substr($kod, -1) != checksum::ISSN(substr($kod, 0, -1)) ) { error::add('Podany ISSN jest błędny'); } } static function MSC(&$kod, $polka=NULL, $rzad=NULL) { $kod = strtoupper($kod); if($polka===NULL) { $polka = $_GET['polka']; } if($rzad===NULL) { $rzad = $_GET['rzad']; } if(!ctype_alnum($kod) OR ctype_digit($kod) OR $kod=='' OR strlen($kod)>5) { error::add('Podany kod miejsca (regał) jest błędny'); } if($polka!='' AND (!ctype_digit($polka) OR $polka>255)) { error::add('Podany kod miejsca (półka) jest błędny'); } if($rzad!='' AND (!ctype_digit($rzad) OR $rzad>255)) { error::add('Podany kod miejsca (rząd) jest błędny'); } } static function type(&$kod) { $kod = str_replace('-', '', $kod); switch(strlen($kod)) { case 13: self::EAN($kod); if(substr($kod, 0, 3)=='978' OR substr($kod, 0, 3)=='979') { return 'ISBN'; } elseif(substr($kod, 0, 3)=='977') { return 'ISSN'; } break; case 9: if(self::$kod) { $kod = substr($kod, 1); self::ISSN($kod); $kod = convert::ISSN8_to_ISSN13($kod); return 'ISSN'; } break; case 8: if(self::$kod) { self::KOD($kod); return 'KOD'; } else { self::ISSN($kod); $kod = convert::ISSN8_to_ISSN13($kod); return 'ISSN'; } break; case 10: self::ISBN($kod); $kod = convert::ISBN10_to_ISBN13($kod); return 'ISBN'; break; default: if(self::$kod AND ctype_digit($kod)) { self::KOD($kod); return 'KOD'; } break; } if(self::$kod) { self::MSC($kod); return 'MSC'; } error::add('Nieznany typ kodu'); } } ?>