/** * Parse XML response * * @param Gpf_Net_Http_Response $response * @return array XML */ protected function parseResult(Gpf_Net_Http_Response $response) { try { $errorMessage = ''; $xml = @new SimpleXMLElement($response->getBody()); if ((string) $xml->status === '0' || (string) $xml->result->status === '0') { $errorMessage = strlen((string) $xml->statusmsg) ? (string) $xml->statusmsg : (string) $xml->result->statusmsg; } if ((string) $xml->data->result === '0' && strlen((string) $xml->data->reason)) { $errorMessage = (string) $xml->data->reason; } if (strlen($errorMessage)) { throw new Gpf_Exception($errorMessage); } } catch (Exception $e) { throw new Gpf_Exception("Failed to execute CPanel command with error: " . $e->getMessage()); } return $xml; }