Server IP : 180.180.241.3 / Your IP : 216.73.216.252 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /AppServ/www/app/webroot/news/nhrc-bk1/libraries/openid/Auth/Yadis/ |
Upload File : |
<?php /** * Code for using a proxy XRI resolver. */ // Do not allow direct access defined( '_JEXEC' ) or die( 'Restricted access' ); require_once 'Auth/Yadis/XRDS.php'; require_once 'Auth/Yadis/XRI.php'; class Auth_Yadis_ProxyResolver { function Auth_Yadis_ProxyResolver(&$fetcher, $proxy_url = null) { $this->fetcher =& $fetcher; $this->proxy_url = $proxy_url; if (!$this->proxy_url) { $this->proxy_url = Auth_Yadis_getDefaultProxy(); } } function queryURL($xri, $service_type = null) { // trim off the xri:// prefix $qxri = substr(Auth_Yadis_toURINormal($xri), 6); $hxri = $this->proxy_url . $qxri; $args = array( '_xrd_r' => 'application/xrds+xml' ); if ($service_type) { $args['_xrd_t'] = $service_type; } else { // Don't perform service endpoint selection. $args['_xrd_r'] .= ';sep=false'; } $query = Auth_Yadis_XRIAppendArgs($hxri, $args); return $query; } function query($xri, $service_types, $filters = array()) { $services = array(); $canonicalID = null; foreach ($service_types as $service_type) { $url = $this->queryURL($xri, $service_type); $response = $this->fetcher->get($url); if ($response->status != 200 and $response->status != 206) { continue; } $xrds = Auth_Yadis_XRDS::parseXRDS($response->body); if (!$xrds) { continue; } $canonicalID = Auth_Yadis_getCanonicalID($xri, $xrds); if ($canonicalID === false) { return null; } $some_services = $xrds->services($filters); $services = array_merge($services, $some_services); // TODO: // * If we do get hits for multiple service_types, we're // almost certainly going to have duplicated service // entries and broken priority ordering. } return array($canonicalID, $services); } } ?>