protected function _retrieveDataFromDom($dom)
 {
     $arr = OP_API::convertXmlToPhpObj($dom->documentElement);
     list($dummy, $credentials) = each($arr);
     list($this->cmd, $this->args) = each($arr);
     $this->username = $credentials['username'];
     $this->password = $credentials['password'];
     if (isset($credentials['hash'])) {
         $this->hash = $credentials['hash'];
     }
     if (isset($credentials['misc'])) {
         $this->misc = $credentials['misc'];
     }
     $this->token = isset($credentials['token']) ? $credentials['token'] : null;
     $this->ip = isset($credentials['ip']) ? $credentials['ip'] : null;
     if (isset($credentials['language'])) {
         $this->language = $credentials['language'];
     }
 }
 protected function _parseReply($str = '')
 {
     $dom = new DOMDocument();
     $result = $dom->loadXML(trim($str));
     if (!$result) {
         error_log("Cannot parse xml: '{$str}'");
     }
     $arr = OP_API::convertXmlToPhpObj($dom->documentElement);
     if (!is_array($arr) && trim($arr) == '' || $arr['reply']['code'] == 4005) {
         throw new OP_API_Exception("API is temporarily unavailable due to maintenance", 4005);
     }
     $this->faultCode = (int) $arr['reply']['code'];
     $this->faultString = $arr['reply']['desc'];
     $this->value = $arr['reply']['data'];
     if (isset($arr['reply']['warnings'])) {
         $this->warnings = $arr['reply']['warnings'];
     }
     if (isset($arr['reply']['maintenance'])) {
         $this->maintenance = $arr['reply']['maintenance'];
     }
 }
Esempio n. 3
0
 protected function _parseReply($str = "")
 {
     $dom = new DOMDocument();
     $dom->loadXML($str);
     $arr = OP_API::convertXmlToPhpObj($dom->documentElement);
     $this->faultCode = (int) $arr['reply']['code'];
     $this->faultString = $arr['reply']['desc'];
     $this->value = $arr['reply']['data'];
 }