/** * _setISBNBody() * * Setter for ISBNBody * * @param string $body ISBNBody * * @return void * * @throws ISBN_Exception in case it fails */ function _setISBNBody($body) { /* validate parameter */ if (is_string($body) == false) { return new ISBN_Exception('Not a Body: wrong variabletype'); } if (strlen($body) != 9) { return new ISBN_Exception('Not a Body: wrong body length'); } if (ctype_digit($body) !== true) { return new ISBN_Exception('Not a Body: syntactically not a body'); } /* validate body by extracting and validating parts */ $group = false; $subbody = false; $r = ISBN::_isbnBodyParts($body, $group, $subbody); if ($r == false) { return new ISBN_Exception('Invalid Body'); } $e = $this->_setGroup($group); if ("ISBN_Exception" == get_class($e)) { return new ISBN_Exception('Invalid Body: Group is invalid', $e); } $e = $this->_setISBNSubbody($subbody); if ("ISBN_Exception" == get_class($e)) { return new ISBN_Exception('Invalid Body: Subbody is invalid (' . $e->getMessage() . ')', $e); } }