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

Dateigrösse: 8.53 kb

[Anzeige ohne Zeilennummern]


  1 <?php
  2 // function returns browser number or gecko rv number
  3 // this function is called by above function, no need to mess with it unless you want to add more features
  4 function browser_version( $browser_user_agent, $search_string )
  5 {
  6     $string_length = 8;// this is the maximum  length to search for a version number
  7     //initialize browser number, will return '' if not found
  8     $browser_number = '';
  9 
 10     // which parameter is calling it determines what is returned
 11     $start_pos = strpos( $browser_user_agent, $search_string );
 12     
 13     // start the substring slice 1 space after the search string
 14     $start_pos += strlen( $search_string ) + 1;
 15     
 16     // slice out the largest piece that is numeric, going down to zero, if zero, function returns ''.
 17     for ( $i = $string_length; $i > 0 ; $i-- )
 18     {
 19         // is numeric makes sure that the whole substring is a number
 20         if ( is_numeric( substr( $browser_user_agent, $start_pos, $i ) ) )
 21         {
 22             $browser_number = substr( $browser_user_agent, $start_pos, $i );
 23             break;
 24         }
 25     }
 26     return $browser_number;
 27 }
 28 //***************************************************************************
 29 function browser_detection( $which_test ) 
 30 {
 31     // initialize variables
 32     $browser_name = '';
 33     $browser_number = '';
 34     // get userAgent string
 35     $browser_user_agent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
 36     //pack browser array
 37     // values [0]= user agent identifier, lowercase, [1] = dom browser, [2] = shorthand for browser,
 38     $a_browser_types[] = array('opera', true, 'opera' );
 39     $a_browser_types[] = array('msie', true, 'msie' );
 40     $a_browser_types[] = array('konqueror', true, 'konqueror' );
 41     $a_browser_types[] = array('safari', true, 'safari' );
 42     $a_browser_types[] = array('gecko', true, 'mozilla' );
 43     $a_browser_types[] = array('mozilla/4', false, 'netscape 4' );
 44 
 45     for ($i = 0; $i < count($a_browser_types); $i++)
 46     {
 47         $s_browser = $a_browser_types[$i][0];
 48         $b_dom = $a_browser_types[$i][1];
 49         $browser_name = $a_browser_types[$i][2];
 50         // if the string identifier is found in the string
 51         if (stristr($browser_user_agent, $s_browser)) 
 52         {
 53             // we are in this case actually searching for the 'rv' string, not the gecko string
 54             // this test will fail on Galeon, since it has no rv number. You can change this to 
 55             // searching for 'gecko' if you want, that will return the release date of the browser
 56             if ( $browser_name == 'moz' )
 57             {
 58                 $s_browser = 'rv';
 59             }
 60             $browser_number = browser_version( $browser_user_agent, $s_browser );
 61             break;
 62         }
 63     }
 64     // which variable to return
 65     if ( $which_test == 'browser' )
 66     {
 67         return $browser_name;
 68     }
 69     elseif ( $which_test == 'number' )
 70     {
 71         return $browser_number;
 72     }
 73 
 74     /* this returns both values, then you only have to call the function once, and get
 75      the information from the variable you have put it into when you called the function */
 76     elseif ( $which_test == 'full' )
 77     {
 78         $a_browser_info = array( $browser_name, $browser_number );
 79         return $a_browser_info;
 80     }
 81 }
 82 //******************************************************************************
 83 if (getenv("HTTP_CLIENT_IP")) 
 84     { 
 85 $ip = getenv("HTTP_CLIENT_IP"); 
 86     } 
 87 elseif(getenv("HTTP_X_FORWARDED_FOR")) 
 88     { 
 89 $ip = getenv("HTTP_X_FORWARDED_FOR"); 
 90     } 
 91 else 
 92     { 
 93 $ip = getenv("REMOTE_ADDR"); 
 94     }
 95 $hoster = gethostbyaddr($ip);
 96                              
 97 //******************************************************************************
 98 
 99 $browser = array (
100    "MSIE",            // parent
101    "OPERA",
102    "NETSCAPE",
103    "FIREFOX",
104    "KONQUEROR",
105    "SAFARI"    );
106    
107 $info['browser'] = "MOZILLA";
108 foreach ($browser as $parent) {
109    $s = strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent);
110    $f = $s + strlen($parent);
111    $version = substr($_SERVER['HTTP_USER_AGENT'], $f, 6);
112    $version = preg_replace('/[^0-9,.]/','',$version);
113    
114    if (strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent)) {
115    $info['browser'] = $parent;
116    $info['version'] = $version;
117    }
118 }
119 
120 //******************************************************************************
121 if(strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
122 $user_browser = explode(";", $_SERVER['HTTP_USER_AGENT']);
123 $u_browser = substr($user_browser[1], 6);
124 $browser1 = "MS Internet Explorer&nbsp;".$u_browser;
125 }
126 else if(strstr($_SERVER['HTTP_USER_AGENT'], "U") and strstr($_SERVER['HTTP_USER_AGENT'], "Safari")) {
127 $browser1 = "Safari";
128 }
129 else if(strstr($_SERVER['HTTP_USER_AGENT'], "U") and strstr($_SERVER['HTTP_USER_AGENT'], "Opera")) {
130 $user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
131 $u_browser = substr($user_browser[1], 0, 3);
132 $browser1 = "Opera&nbsp;".$u_browser;
133 }
134 else if(strstr($_SERVER['HTTP_USER_AGENT'], "Netscape") and strstr($_SERVER['HTTP_USER_AGENT'], "rv:")) {
135 $user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
136 $u_browser = substr($user_browser[3], 0, 3);
137 $browser1 = "Netscape&nbsp;".$u_browser;
138 }
139 else if(strstr($_SERVER['HTTP_USER_AGENT'], "Konqueror")) {
140 $user_browser = explode(";", $_SERVER['HTTP_USER_AGENT']);
141 $u_browser = substr($user_browser[1], 11);
142 $browser1 = "Konqueror&nbsp;".$u_browser;
143 }
144 else if(strstr($_SERVER['HTTP_USER_AGENT'], "Firefox")) {
145 $user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
146 $u_browser = substr($user_browser[3], 0, 5);
147 $browser1 = "Mozilla Firefox&nbsp;".$u_browser;
148 }
149 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:")) {
150 $user_browser = explode(";", $_SERVER['HTTP_USER_AGENT']);
151 $u_browser = substr($user_browser[4], 4, 3);
152 $browser1 = "Mozilla&nbsp;".$u_browser;
153 }
154 else if(strstr($_SERVER['HTTP_USER_AGENT'], "Lynx")) {
155 $user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
156 $u_browser = substr($user_browser[1], 0, 3);
157 $browser1 = "Lynx&nbsp;".$u_browser;
158 }
159 else if(strstr($_SERVER['HTTP_USER_AGENT'], "Links")) {
160 $user_browser = explode(";", $_SERVER['HTTP_USER_AGENT']);
161 $u_browser = substr($user_browser[0], 7);
162 $browser1 = "Links&nbsp;".$u_browser;
163 }
164 else if(strstr($_SERVER['HTTP_USER_AGENT'], "Wget")) {
165 $user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
166 $browser1 = "Wget&nbsp;".$user_browser[1];
167 }
168 else if(strstr($_SERVER['HTTP_USER_AGENT'], "w3m")) {
169 $user_browser = explode("/", $_SERVER['HTTP_USER_AGENT']);
170 $browser1 = "w3m&nbsp;".$user_browser[1];
171 }
172 else{
173 $browser1 = "Unbekannt";
174 }
175 
176 //******************************************************************************
177 if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') )
178 {
179    if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Netscape') )
180    {
181      $browser = 'Netscape (Gecko/Netscape)';
182    }
183    else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') )
184    {
185      $browser = 'Mozilla Firefox';
186    }
187    else
188    {
189      $browser = 'Mozilla';
190    }
191 }
192 else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') )
193 {
194    if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') )
195    {
196      $browser = 'Opera';
197    }
198    else
199    {
200      $browser = 'Internet Explorer';
201    }
202 }
203 else
204 {
205    $browser = 'Others browsers';
206 }
207 //************************************************************************************
208 
209 include "/home/ip6241/includes/mike/db_login.php";
210     
211     $zeit_aktuell = time();
212     $ergebnis = mysql_query("SELECT * FROM statistics WHERE ip='$ip' AND doc='$doc'");
213     while ($data = @mysql_fetch_array($ergebnis, MYSQL_ASSOC)) 
214         {
215         $zeit_2 = $data['mktime'];
216         $sid = $data['sid'];
217         }
218     $anzahl = @mysql_num_rows($ergebnis);
219     
220     $zeit_diff = $zeit_aktuell - $zeit_2;
221     
222     if ($anzahl == 0)
223         {
224         $abfrage = "INSERT INTO statistics (hoster,ip,mktime,browser,version,doc) VALUES ('".$hoster."','".$ip."','".time()."','".$info['browser']."','".$info['version']."','".$doc."')";
225         $resultat = mysql_query($abfrage);
226         $sid = mysql_insert_id();
227         }
228     elseif ($zeit_diff > 900)
229         {   //900 sec. = 15 min.
230         $abfrage = "INSERT INTO statistics (hoster,ip,mktime,browser,version,doc) VALUES ('".$hoster."','".$ip."','".time()."','".$info['browser']."','".$info['version']."','".$doc."')";
231         $resultat = mysql_query($abfrage);
232         $sid = mysql_insert_id();
233         }
234         else    {
235         $resultat = mysql_query("UPDATE statistics SET mktime='".time()."' WHERE sid=".$sid);
236         }
237          
238     $ergebnis_total = mysql_query("SELECT * FROM statistics WHERE doc='$doc'");
239     $anzahl_total = @mysql_num_rows($ergebnis_total);
240     mysql_free_result($ergebnis_total);
241     mysql_close($verbindung);