Exemplo n.º 1
0
 /**
  * _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);
     }
 }