<?
/***
* HSDN Infobar Functions ver. 1.0.6
* (c) 2007 Information Networks Ltd.
*     All rights reserved.
* URL: http://www.hsdn.org
* E-mail: info@hsdn.org
*/

/* Getting ip address */
function get_ip_address()
{    
    
$ip $_SERVER["REMOTE_ADDR"];
    if(empty(
$ip)) $ip "";

    return 
$ip;
}

/* Getting host name */
function get_host_name()
{
    
$host $_SERVER["REMOTE_HOST"];
    
$host strtolower($host);
    if(!empty(
$host)) 
    {
        if(
strlen($host) > 25$host substr($host,0,25)."...";
    }
    else
    
$host "";

    return 
$host;
}

/* Getting user-agent */
function get_user_agent()
{
    
$browsers = array(
        
"#.*Mobile Safari.*#"=>"Mobile Safari",
        
"#.*Opera.*#"=>"Opera",
        
"#.*Opera Mini.*#"=>"Opera Mini",
        
"#.*OPR\/(\d+).*#"=>"Opera $1.x",
        
"#.*Minefield.*#"=>"Minefield",
        
"#.*K-Meleon.*#"=>"K-Meleon",
        
"#.*Iceweasel.*#"=>"Iceweasel Browser",
        
"#.*Gnuzilla.*#"=>"Gnuzilla",
        
"#.*lolifox.*#"=>"lolifox (Firefox)",
        
"#.*SeaMonkey.*#"=>"SeaMonkey",
        
"#.*NetFront.*#"=>"NetFront Browser",
        
"#.*Iceape.*#"=>"Iceape",
        
"#.*Flock.*#"=>"Flock",
        
"#.*Firefox.*#"=>"Firefox",
        
"#.*Firebird.*#"=>"Firebird",
        
"#.*Phoenix.*#"=>"Phoenix",
        
"#.*Mozilla.*?Chrome/(\d+).*#"=>"Chrome",
        
"#.*Safari.*#"=>"Safari",
        
"#.*Galeon.*#"=>"Galeon",
        
"#.*Konqueror.*#"=>"Konqueror",
        
"#.*WebTV.*#"=>"MSN TV (WebTV)",
        
"#.*OmniWeb.*#"=>"OmniWeb",
        
"#.*Avant Browser.*#"=>"Avant Browser",
        
"#.*Lynx.*#"=>"Lynx",
        
"#.*Go!Zilla.*#"=>"Go!Zilla",
        
"#.*Teleport.*#"=>"Teleport Pro",
        
"#.*^Wget.*#"=>"Wget",
        
"#.*^DA \d.*#"=>"Download Accelerator",
        
"#.*^GetRight.*#"=>"GetRight",
        
"#.*^NetAnts.*#"=>"NetAnts",
        
"#.*^FDM \d.x.*#"=>"Free Download Manager",
        
"#.*LeechGet.*#"=>"LeechGet",
        
"#.*FlashGet.*#"=>"FlashGet",
        
"#.*Microsoft Internet Explorer\/(\d+).*#"=>"Internet Explorer $1.x",
        
"#.*Mozilla.*?MSIE (\d+).*#"=>"Internet Explorer $1.x",
        
"#.*Mozilla.*?MSIE.*#"=>"Internet Explorer 3.x",
        
"#.*Mozilla.*?Netscape.?(\d+).*#"=>"Netscape $1.x",
        
"#.*Mozilla.*?Gecko.{9}$.*#"=>"Mozilla",
        
"#.*Mozilla.*?(Gecko).*#"=>"$1",
        
"#.*Mozilla\/(\d)[^(]*?\((?!compatible).*#"=>"Netscape $1.x",
        
"#.*Mozilla\/(\d).{0,10}$.*#"=>"Netscape $1.x"
        
);

    
$user_agent $_SERVER["HTTP_USER_AGENT"];

    foreach (
$browsers as $pattern => $replacement
    {
        
$browser preg_replace($pattern,$replacement,$user_agent);
        if(
$browser != $user_agent
        break;
        else
        
$browser "";
    }

    return 
$browser;
}

/* Getting os type */
function get_os_type()
{
    
$oss = array(
        
"Windows NT 6.1"=>"Windows 7",
        
"Windows NT 6.0"=>"Windows Vista",
        
"Windows NT 5.2"=>"Windows Server 2003",
        
"Windows NT 5.1"=>"Windows XP",
        
"Windows XP"=>"Windows XP",
        
"WinXP"=>"Windows XP",
        
"Windows NT 5.0"=>"Windows 2000",
        
"Windows ME"=>"Windows ME",
        
"WinME"=>"Windows ME",
        
"Windows 98; Win 9x 4.90"=>"Windows ME",
        
"Windows 98"=>"Windows 98",
        
"Win98"=>"Windows 98",
        
"Windows 95"=>"Windows 95",
        
"Win95"=>"Windows 95",
        
"Windows NT"=>"Windows NT",
        
"WinNT"=>"Windows NT",
        
"Windows 3.1"=>"Windows 3.x",
        
"Win16"=>"Windows 3.x",
        
"Win32"=>"Windows Win32s",
        
"Windows CE"=>"Windows CE",
        
"Macintosh"=>"OS X",
        
"Mac_PowerPC"=>"Mac OS",
        
"Mac_PPC"=>"Mac OS",
        
"Mac_68000"=>"Mac OS",
        
"Android"=>"Android",
        
"Linux"=>"Linux",
        
"SUN"=>"Sun OS",
        
"FreeBSD"=>"FreeBSD",
        
"OpenBSD"=>"OpenBSD",
        
"HP-UX"=>"HP Unix",
        
"X Window"=>"X Windows",
        
"AIX"=>"AIX",
        
"IRIX"=>"IRIX",
        
"OSF1"=>"OSF1",
        
"OS/2"=>"OS/2",
        
"WebTV"=>"MSN TV (WebTV)",
        
"BEOS"=>"BeOS",
        
"CrOS"=>"Chrome OS",
        
"Android"=>"Android",
        );

    
$user_agent $_SERVER["HTTP_USER_AGENT"];

    foreach (
$oss as $pattern => $replacement
    {
        if(
ereg($pattern,$user_agent)) 
        {
            
$os $replacement;
            break;
        } 
        else
        
$os "";
    }

    return 
$os;
}

?>