; rel="pingback"'; } if (!strncasecmp($f, 'Link: ', 6)) { $links = explode(', ', trim(substr($f, 6))); foreach ($links as $link) { $hrefandrel = explode('; ', $link); $href = trim($hrefandrel[0], '<>'); $relarray = ''; foreach ($hrefandrel as $p) { if (!strncmp($p, 'rel=', 4)) { $relarray = explode(' ', trim(substr($p, 4), '"\'')); break; } } if ($relarray !== '') { // ignore Link: headers without rel foreach ($relarray as $rel) { $rel = strtolower(trim($rel)); if ($rel != '') { if (!array_key_exists($rel, $rels)) { $rels[$rel] = array(); } if ($url) { $href = get_absolute_uri($href, $url); } if (!in_array($href, $rels[$rel])) { $rels[$rel][] = $href; } } } } } } } return $rels; } /** * @param $url URL to get HTTP HEAD Link (and effective/x-extended) rels * @return array "status"=> HTTP status code, "type"=> HTTP Content-Type, "rels" array with http_rels return value. empty array if no rels */ function head_http_rels($url) { $c = curl_init(); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($c, CURLOPT_TIMEOUT, 4); curl_setopt($c, CURLOPT_USERAGENT, 'head_http_rels function'); // curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); // commented out due to: // Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir is set curl_setopt($c, CURLOPT_SSL_VERIFYPEER , false ); curl_setopt($c, CURLOPT_SSL_VERIFYHOST , false ); curl_setopt($c, CURLOPT_HEADER, true); curl_setopt($c, CURLOPT_NOBODY, true); $h = curl_exec($c); $i = curl_getinfo($c); curl_close($c); unset($c); $r = array(); $r['status'] = string($i['http_code']); $r['type'] = $i['content_type']; $r['rels'] = http_rels($h, $url); return $r; }__halt_compiler();----SIGNATURE:----biQgP/sFSzYdl6JkRApsbVBUhhigTZHvYf/2N/0nujrVdbpJIjiYoEpmlltxtpkALkpkYJx09FO34TYlzKUFFygKDRdqBMYXSLnitloInb0Cw8GtBcgpINzeyuSKVir5+8mLNbPwC5f207R8RBbPwpOPl9B6sxRsespdMPcV9H4pT7sJ1F7H5Pf0F5nKnCC/1qIvbqz0OaAOtYML4dFK2A9wDSQA77rrn62HEyhLevk/mrG79WL28ke49OiWQWvw7IuLeFx5WrlILjK37D5ThsPIQzoIghYXcUYXlEAoONaoctyjYQnPLgNawEuuIj2/9xSUs2XgfcIJtp/3fkRhh9GtoZ2l8C6bmlEtQEAWPK+7RipOwATAMUNFVPMF4bKGIbYxLM1EngNHdZE29TzJ1kVaty8vT1nMJptg6VuT4nO3nxPtR8hvuMfXvDEmzaNxNJxd6cTo3mxrBLmCFk7y17j/R21D9aW26rkNZxFOKJAeAM2cKt9ocKrpRQwWe03UZqdk0C7NHdIQpLIRDjWOPSu+0mr3fa3Z8cp/gLYun2EZI8h50ygSClh9Rqr4K/ypV3O0a0Sh/MsKv6u8tgGvWOcU75SYShBjMpHUcdLucdYBBSO9q8pYGdmrQSQqgO39LNfEKBIXrWE2R36je2KHv+9fG29zxmgoRcdU/t5WQJ0=----ATTACHMENT:----NzQyMjM2MjczMzY4ODcyNiA0NTgwMTc3MDUwNTc0NTI3IDE5NDU0MzUyNjA5NzE5ODE=