private function readXml($curlH) { $bPassages = array(); $resp = null; $sCode = CurlHelper::checkHttpStatus($curlH->getHttpStatus()); switch ($sCode) { case constant("STATUS_SUCCESS"): $resp = simplexml_load_string($curlH->getResponse(), 'SimpleXMLElement', LIBXML_NOCDATA); break; case constant("STATUS_CLIENT_ERROR"): $this->_isError = true; $this->_errorMessage = "request was invalid"; break; case constant("STATUS_SERVER_ERROR"): $this->_isError = true; $this->_errorMessage = "server encountered an error"; break; case constant("STATUS_UNKNOWN_ERROR"): default: $this->_isError = true; $this->_errorMessage = "something awful happened"; } if (!empty($resp)) { $this->_rawResponse = $resp; $result = $resp->search->result; if (!empty($result)) { //was too early on the first try $passages = $result->passages->passage; if (!empty($passages)) { foreach ($passages as $passage) { if (!empty($passage)) { $bpObject = new BiblePassageObject(); $bpObject->set_display($passage->display); $bpObject->set_version($passage->version); $bpObject->set_textStr($passage->text); $bpObject->set_copyright($passage->copyright); $bpObject->set_fums($resp->meta->fums); $bPassages[] = $bpObject; } else { $this->_isError = true; $this->_errorMessage = "passage was empty"; } } } } else { $this->_isError = true; $this->_errorMessage = "result set was empty"; } } return $bPassages; }