Quelltext der Datei: http://www.michaelster.ch/lernen/daf/func_joblinks.php

Dateigrösse: 8.53 kb

[Anzeige ohne Zeilennummern]


1 
<?php
// function returns browser number or gecko rv number
// this function is called by above function, no need to mess with it unless you want to add more features
function browser_version( $browser_user_agent, $search_string )
{
    $string_length = 8;// this is the maximum  length to search for a version number
    //initialize browser number, will return '' if not found
    $browser_number = '';

    // which parameter is calling it determines what is returned
    $start_pos = strpos( $browser_user_agent, $search_string );
    
    // start the substring slice 1 space after the search string
    $start_pos += strlen( $search_string ) + 1;
    
    // slice out the largest piece that is numeric, going down to zero, if zero, function returns ''.
    for ( $i = $string_length; $i > 0 ; $i-- )
    {
        // is numeric makes sure that the whole substring is a number
        if ( is_numeric( substr( $browser_user_agent, $start_pos, $i ) ) )
        {
            $browser_number = substr( $browser_user_agent, $start_pos, $i );
            break;
        }
    }
    return $browser_number;
}
//***************************************************************************
function browser_detection( $which_test ) 
{
    // initialize variables
    $browser_name = '';
    $browser_number = '';
    // get userAgent string
    $browser_user_agent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
    //pack browser array
    // values [0]= user agent identifier, lowercase, [1] = dom browser, [2] = shorthand for browser,
    $a_browser_types[] = array('opera', true, 'opera' );
    $a_browser_types[] = array('msie', true, 'msie' );
    $a_browser_types[] = array('konqueror', true, 'konqueror' );
    $a_browser_types[] = array('safari', true, 'safari' );
    $a_browser_types[] = array('gecko', true, 'mozilla' );
    $a_browser_types[] = array('mozilla/4', false, 'netscape 4' );

    for ($i = 0; $i < count($a_browser_types); $i++)
    {
        $s_browser = $a_browser_types[$i][0];
        $b_dom = $a_browser_types[$i][1];
        $browser_name = $a_browser_types[$i][2];
        // if the string identifier is found in the string
        if (stristr($browser_user_agent, $s_browser)) 
        {
            // we are in this case actually searching for the 'rv' string, not the gecko string
            // this test will fail on Galeon, since it has no rv number. You can change this to 
            // searching for 'gecko' if you want, that will return the release date of the browser
            if ( $browser_name == 'moz' )
            {
                $s_browser = 'rv';
            }
            $browser_number = browser_version( $browser_user_agent, $s_browser );
            break;
        }
    }
    // which variable to return
    if ( $which_test == 'browser' )
    {
        return $browser_name;
    }
    elseif ( $which_test == 'number' )
    {
        return $browser_number;
    }

    /* this returns both values, then you only have to call the function once, and get
     the information from the variable you have put it into when you called the function */
    elseif ( $which_test == 'full' )
    {
        $a_browser_info = array( $browser_name, $browser_number );
        return $a_browser_info;
    }
}
//******************************************************************************
if (getenv("HTTP_CLIENT_IP")) 
    { 
$ip = getenv("HTTP_CLIENT_IP"); 
    } 
elseif(getenv("HTTP_X_FORWARDED_FOR")) 
    { 
$ip = getenv("HTTP_X_FORWARDED_FOR"); 
    } 
else 
    { 
$ip = getenv("REMOTE_ADDR"); 
    }
$hoster = gethostbyaddr($ip);
                             
//******************************************************************************

$browser = array (
   "MSIE",            // parent
   "OPERA",
   "NETSCAPE",
   "FIREFOX",
   "KONQUEROR",
   "SAFARI"    );
   
$info['browser'] = "MOZILLA";
foreach ($browser as $parent) {
   $s = strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent);
   $f = $s + strlen($parent);
   $version = substr($_SERVER['HTTP_USER_AGENT'], $f, 6);
   $version = preg_replace('/[^0-9,.]/','',$version);
   
   if (strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent)) {
   $info['browser'] = $parent;
   $info['version'] = $version;
   }
}

//******************************************************************************
if(strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
$user_browser = explode(";", $_SERVER['HTTP_USER_AGENT']);
$u_browser = substr($user_browser[1], 6);
$browser1 = "MS Internet Explorer&nbsp;".$u_browser;
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "U") and strstr($_SERVER['HTTP_USER_AGENT'], "Safari")) {
$browser1 = "Safari";
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "U") and strstr($_SERVER['HTTP_USER_AGENT'], "Opera")) {
$user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
$u_browser = substr($user_browser[1], 0, 3);
$browser1 = "Opera&nbsp;".$u_browser;
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "Netscape") and strstr($_SERVER['HTTP_USER_AGENT'], "rv:")) {
$user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
$u_browser = substr($user_browser[3], 0, 3);
$browser1 = "Netscape&nbsp;".$u_browser;
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "Konqueror")) {
$user_browser = explode(";", $_SERVER['HTTP_USER_AGENT']);
$u_browser = substr($user_browser[1], 11);
$browser1 = "Konqueror&nbsp;".$u_browser;
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "Firefox")) {
$user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
$u_browser = substr($user_browser[3], 0, 5);
$browser1 = "Mozilla Firefox&nbsp;".$u_browser;
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "Mozilla") and !strstr($_SERVER['HTTP_USER_AGENT'], "Netscape") and !strstr($_SERVER['HTTP_USER_AGENT'], "Firefox") and strstr($_SERVER['HTTP_USER_AGENT'], "rv:")) {
$user_browser = explode(";", $_SERVER['HTTP_USER_AGENT']);
$u_browser = substr($user_browser[4], 4, 3);
$browser1 = "Mozilla&nbsp;".$u_browser;
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "Lynx")) {
$user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
$u_browser = substr($user_browser[1], 0, 3);
$browser1 = "Lynx&nbsp;".$u_browser;
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "Links")) {
$user_browser = explode(";", $_SERVER['HTTP_USER_AGENT']);
$u_browser = substr($user_browser[0], 7);
$browser1 = "Links&nbsp;".$u_browser;
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "Wget")) {
$user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
$browser1 = "Wget&nbsp;".$user_browser[1];
}
else if(strstr($_SERVER['HTTP_USER_AGENT'], "w3m")) {
$user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
$browser1 = "w3m&nbsp;".$user_browser[1];
}
else{
$browser1 = "Unbekannt";
}

//******************************************************************************
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') )
{
   if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Netscape') )
   {
     $browser = 'Netscape (Gecko/Netscape)';
   }
   else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') )
   {
     $browser = 'Mozilla Firefox';
   }
   else
   {
     $browser = 'Mozilla';
   }
}
else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') )
{
   if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') )
   {
     $browser = 'Opera';
   }
   else
   {
     $browser = 'Internet Explorer';
   }
}
else
{
   $browser = 'Others browsers';
}
//************************************************************************************

include "/home/ip6241/includes/mike/db_login.php";
    
    $zeit_aktuell = time();
    $ergebnis = mysql_query("SELECT * FROM statistics WHERE ip='$ip' AND doc='$doc'");
    while ($data = @mysql_fetch_array($ergebnis, MYSQL_ASSOC)) 
        {
        $zeit_2 = $data['mktime'];
        $sid = $data['sid'];
        }
    $anzahl = @mysql_num_rows($ergebnis);
    
    $zeit_diff = $zeit_aktuell - $zeit_2;
    
    if ($anzahl == 0)
        {
        $abfrage = "INSERT INTO statistics (hoster,ip,mktime,browser,version,doc) VALUES ('".$hoster."','".$ip."','".time()."','".$info['browser']."','".$info['version']."','".$doc."')";
        $resultat = mysql_query($abfrage);
        $sid = mysql_insert_id();
        }
    elseif ($zeit_diff > 900)
        {   //900 sec. = 15 min.
        $abfrage = "INSERT INTO statistics (hoster,ip,mktime,browser,version,doc) VALUES ('".$hoster."','".$ip."','".time()."','".$info['browser']."','".$info['version']."','".$doc."')";
        $resultat = mysql_query($abfrage);
        $sid = mysql_insert_id();
        }
        else    {
        $resultat = mysql_query("UPDATE statistics SET mktime='".time()."' WHERE sid=".$sid);
        }
         
    $ergebnis_total = mysql_query("SELECT * FROM statistics WHERE doc='$doc'");
    $anzahl_total = @mysql_num_rows($ergebnis_total);
    mysql_free_result($ergebnis_total);
    mysql_close($verbindung);