Fix for PHP 7.0
-
If you’re running this legacy plugin somewhere, here’s a fix to make it compatible with PHP 7.0. Both
eregi()
andereg_replace()
were removed in PHP 7.0.0 (deprecated in PHP 5.3.0).diff --git a/includes/browser.php b/includes/browser.php index 89a3af6..b58203a 100644 --- a/includes/browser.php +++ b/includes/browser.php @@ -80,21 +80,21 @@ class browzer { $this->UserAgent = $agent; // find operating system - if (eregi("win", $agent)) + if (preg_match("/win/i", $agent)) $bd['platform'] = "Windows"; - elseif (eregi("mac", $agent)) + elseif (preg_match("/mac/i", $agent)) $bd['platform'] = "MacIntosh"; - elseif (eregi("linux", $agent)) + elseif (preg_match("/linux/i", $agent)) $bd['platform'] = "Linux"; - elseif (eregi("OS/2", $agent)) + elseif (preg_match("/OS\/2/i", $agent)) $bd['platform'] = "OS/2"; - elseif (eregi("BeOS", $agent)) + elseif (preg_match("/BeOS/i", $agent)) $bd['platform'] = "BeOS"; // test for Opera - if (eregi("opera",$agent)){ + if (preg_match("/opera/i",$agent)){ $val = stristr($agent, "opera"); - if (eregi("/", $val)){ + if (preg_match("/\//i", $val)){ $val = explode("/",$val); $bd['browser'] = $val[0]; $val = explode(" ",$val[1]); @@ -106,13 +106,13 @@ class browzer { } // test for WebTV - }elseif(eregi("webtv",$agent)){ + }elseif(preg_match("/webtv/i",$agent)){ $val = explode("/",stristr($agent,"webtv")); $bd['browser'] = $val[0]; $bd['version'] = $val[1]; // test for MS Internet Explorer version 1 - }elseif(eregi("microsoft internet explorer", $agent)){ + }elseif(preg_match("/microsoft internet explorer/i", $agent)){ $bd['browser'] = "MSIE"; $bd['version'] = "1.0"; $var = stristr($agent, "/"); @@ -121,24 +121,24 @@ class browzer { } // test for NetPositive - }elseif(eregi("NetPositive", $agent)){ + }elseif(preg_match("/NetPositive/i", $agent)){ $val = explode("/",stristr($agent,"NetPositive")); $bd['platform'] = "BeOS"; $bd['browser'] = $val[0]; $bd['version'] = $val[1]; // test for MS Internet Explorer - }elseif(eregi("msie",$agent) && !eregi("opera",$agent)){ + }elseif(preg_match("/msie/i",$agent) && !preg_match("/opera/i",$agent)){ $val = explode(" ",stristr($agent,"msie")); $bd['browser'] = $val[0]; $bd['version'] = $val[1]; // test for MS Pocket Internet Explorer - }elseif(eregi("mspie",$agent) || eregi('pocket', $agent)){ + }elseif(preg_match("/mspie/i",$agent) || preg_match('/pocket/i', $agent)){ $val = explode(" ",stristr($agent,"mspie")); $bd['browser'] = "MSPIE"; $bd['platform'] = "WindowsCE"; - if (eregi("mspie", $agent)) + if (preg_match("/mspie/i", $agent)) $bd['version'] = $val[1]; else { $val = explode("/",$agent); @@ -146,70 +146,70 @@ class browzer { } // test for Galeon - }elseif(eregi("galeon",$agent)){ + }elseif(preg_match("/galeon/i",$agent)){ $val = explode(" ",stristr($agent,"galeon")); $val = explode("/",$val[0]); $bd['browser'] = $val[0]; $bd['version'] = $val[1]; // test for Konqueror - }elseif(eregi("Konqueror",$agent)){ + }elseif(preg_match("/Konqueror/i",$agent)){ $val = explode(" ",stristr($agent,"Konqueror")); $val = explode("/",$val[0]); $bd['browser'] = $val[0]; $bd['version'] = $val[1]; // test for iCab - }elseif(eregi("icab",$agent)){ + }elseif(preg_match("/icab/i",$agent)){ $val = explode(" ",stristr($agent,"icab")); $bd['browser'] = $val[0]; $bd['version'] = $val[1]; // test for OmniWeb - }elseif(eregi("omniweb",$agent)){ + }elseif(preg_match("/omniweb/i",$agent)){ $val = explode("/",stristr($agent,"omniweb")); $bd['browser'] = $val[0]; $bd['version'] = $val[1]; // test for Phoenix - }elseif(eregi("Phoenix", $agent)){ + }elseif(preg_match("/Phoenix/i", $agent)){ $bd['browser'] = "Phoenix"; $val = explode("/", stristr($agent,"Phoenix/")); $bd['version'] = $val[1]; // test for Firebird - }elseif(eregi("firebird", $agent)){ + }elseif(preg_match("/firebird/i", $agent)){ $bd['browser']="Firebird"; $val = stristr($agent, "Firebird"); $val = explode("/",$val); $bd['version'] = $val[1]; // test for Firefox - }elseif(eregi("Firefox", $agent)){ + }elseif(preg_match("/Firefox/i", $agent)){ $bd['browser']="Firefox"; $val = stristr($agent, "Firefox"); $val = explode("/",$val); $bd['version'] = $val[1]; // test for Mozilla Alpha/Beta Versions - }elseif(eregi("mozilla",$agent) && - eregi("rv:[0-9].[0-9][a-b]",$agent) && !eregi("netscape",$agent)){ + }elseif(preg_match("/mozilla/i",$agent) && + preg_match("/rv:[0-9].[0-9][a-b]/i",$agent) && !preg_match("/netscape/i",$agent)){ $bd['browser'] = "Mozilla"; $val = explode(" ",stristr($agent,"rv:")); - eregi("rv:[0-9].[0-9][a-b]",$agent,$val); + preg_match("/rv:[0-9].[0-9][a-b]/i",$agent,$val); $bd['version'] = str_replace("rv:","",$val[0]); // test for Mozilla Stable Versions - }elseif(eregi("mozilla",$agent) && - eregi("rv:[0-9]\.[0-9]",$agent) && !eregi("netscape",$agent)){ + }elseif(preg_match("/mozilla/i",$agent) && + preg_match("/rv:[0-9]\.[0-9]/i",$agent) && !preg_match("/netscape/i",$agent)){ $bd['browser'] = "Mozilla"; $val = explode(" ",stristr($agent,"rv:")); - eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent,$val); + preg_match("/rv:[0-9]\.[0-9]\.[0-9]/i",$agent,$val); $bd['version'] = str_replace("rv:","",$val[0]); // test for Lynx & Amaya - }elseif(eregi("libwww", $agent)){ - if (eregi("amaya", $agent)){ + }elseif(preg_match("/libwww/i", $agent)){ + if (preg_match("/amaya/i", $agent)){ $val = explode("/",stristr($agent,"amaya")); $bd['browser'] = "Amaya"; $val = explode(" ", $val[1]); @@ -221,17 +221,17 @@ class browzer { } // test for Safari - }elseif(eregi("safari", $agent)){ + }elseif(preg_match("/safari/i", $agent)){ $bd['browser'] = "Safari"; $bd['version'] = ""; // remaining two tests are for Netscape - }elseif(eregi("netscape",$agent)){ + }elseif(preg_match("/netscape/i",$agent)){ $val = explode(" ",stristr($agent,"netscape")); $val = explode("/",$val[0]); $bd['browser'] = $val[0]; $bd['version'] = $val[1]; - }elseif(eregi("mozilla",$agent) && !eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent)){ + }elseif(preg_match("/mozilla/i",$agent) && !preg_match("/rv:[0-9]\.[0-9]\.[0-9]/i",$agent)){ $val = explode(" ",stristr($agent,"mozilla")); $val = explode("/",$val[0]); $bd['browser'] = "Netscape"; @@ -239,15 +239,15 @@ class browzer { } // clean up extraneous garbage that may be in the name - $bd['browser'] = ereg_replace("[^a-z,A-Z]", "", $bd['browser']); + $bd['browser'] = preg_replace("/[^a-z,A-Z]/", "", $bd['browser']); // clean up extraneous garbage that may be in the version - $bd['version'] = ereg_replace("[^0-9,.,a-z,A-Z]", "", $bd['version']); + $bd['version'] = preg_replace("/[^0-9,.,a-z,A-Z]/", "", $bd['version']); // check for AOL - if (eregi("AOL", $agent)){ + if (preg_match("/AOL/i", $agent)){ $var = stristr($agent, "AOL"); $var = explode(" ", $var); - $bd['aol'] = ereg_replace("[^0-9,.,a-z,A-Z]", "", $var[1]); + $bd['aol'] = preg_replace("/[^0-9,.,a-z,A-Z]/", "", $var[1]); } // finally assign our properties
- The topic ‘Fix for PHP 7.0’ is closed to new replies.