' . gmdate('c') . ' 51degrees - Foundation - PHP 3.1.2.1 ' . $ip . ' ' . $server_ip . ''; // Add the headers to the information being sent. $headers = fiftyone_degrees_GetHeaders(); foreach ($headers as $servervar => $val) { if (strtolower($servervar) == "referer" || strtolower($servervar) == "cookie") { $message .= '
'; } else { $message .= '
'; } } $message .= '
'; // Send a UDP packet with the xml content. @$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($socket) { @socket_sendto($socket, $message, strlen($message), 0, $server_ip, $server_port); } $_SESSION['fiftyone_degrees_details_sent'] = TRUE; } } /** * Provides a list of all the available HTTP headers. * * If the getallheaders function is available this will be used, * otherwise all the headers prefixed HTTP_ will be returned. * * return array * Array of header key value pairs. */ function fiftyone_degrees_GetHeaders() { if (function_exists('getallheaders')) { return getallheaders(); } else { foreach ($_SERVER as $name => $value) { if (substr($name, 0, 5) == 'HTTP_') { $headers[str_replace(' ', '-', fiftyone_degrees_UcwordsHyphen( strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; } } return $headers; } } /** * Makes first character of every word upper case. * * Uses hyphen seperators to determine first letter of word * and change to upper case. * * $str string * The source string to be manipulated. * return string * A modified string. */ function fiftyone_degrees_UcwordsHyphen($str) { return str_replace('- ', '-', ucwords(str_replace('-', '- ', $str))); }