/** * @param string $key * @param string $value * * @return object|false */ protected function get_user_attributes($key, $value) { $url = $this->api_url(sprintf(self::ENDPOINT_ATTRIBUTES, \Ekko\THEYKEY_API_KEY)); $response = wp_remote_get(add_query_arg($key, urlencode($value), $url), array('redirection' => 0, 'headers' => array('Accept' => 'application/xml'))); $dom = \GTO\Framework\Util\XML::parse_xml_to_domdoc($response['body']); if ($dom) { $attributes = array(); $xpath = new \DOMXPath($dom); foreach ($xpath->query('/attributes/attribute') as $attr) { $attributes[$attr->getAttribute('name')] = $attr->getAttribute('value'); } if (count($attributes) > 0) { return (object) $attributes; } } return false; }
/** * Returns an xpath parser for the given dom with all Ekko XML namespaces registered * * @param \DOMDocument $dom * * @return \DOMXPath */ private function ekko_xpath_parser($dom) { return \GTO\Framework\Util\XML::xpath_parser($dom, array('hub' => \Ekko\XMLNS_HUB, 'ekko' => \Ekko\XMLNS_MANIFEST)); }