PageRenderTime 45ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/livehelp/_lib/functions.global.browser.inc.php

https://bitbucket.org/spivovartsev/citrus.ua
PHP | 213 lines | 201 code | 5 blank | 7 comment | 17 complexity | a30a9503a3fec3bfdbbc8ac8fc5e14ff MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <?php
  2. /****************************************************************************************
  3. * LiveZilla functions.global.inc.php
  4. *
  5. * Improper changes in this file may cause critical errors. It is strongly
  6. * recommended to desist from editing this file directly.
  7. *
  8. ***************************************************************************************/
  9. if(!defined("IN_LIVEZILLA"))
  10. die();
  11. function getWebBrowser()
  12. {
  13. $currentBrowser = Array();
  14. $currentBrowser['platform'] = "Unknown";
  15. $currentBrowser['browser'] = "Unknown";
  16. $currentBrowser['version'] = "Unknown";
  17. $currentBrowser['allowed'] = true;
  18. $currentBrowser['agent'] = (isset($_SERVER['HTTP_USER_AGENT'])) ? $_SERVER['HTTP_USER_AGENT'] : "";
  19. if($currentBrowser['agent'] != "")
  20. {
  21. if(eregi("chrome", $currentBrowser['agent']))
  22. {
  23. $currentBrowser['browser']="Chrome";
  24. }
  25. elseif(eregi("safari", $currentBrowser['agent']))
  26. {
  27. $currentBrowser['browser']="Safari";
  28. }
  29. elseif(eregi("seamonkey", $currentBrowser['agent']))
  30. {
  31. $currentBrowser['browser']="SeaMonkey";
  32. }
  33. elseif(eregi("firefox", $currentBrowser['agent']))
  34. {
  35. $currentBrowser['allowed'] = true;
  36. $currentBrowser['browser']="Firefox";
  37. $contents = stristr($currentBrowser['agent'], "Firefox");
  38. $contents = explode("/",$contents);
  39. $currentBrowser['version'] = (isset($contents[1])) ? $contents[1] : "unknown";
  40. }
  41. elseif(eregi("opera",$currentBrowser['agent']))
  42. {
  43. $contents = stristr($currentBrowser['agent'], "opera");
  44. if (eregi("/", $contents))
  45. {
  46. $contents = explode("/",$contents);
  47. $currentBrowser['browser'] = $contents[0];
  48. $contents = explode(" ",$contents[1]);
  49. $currentBrowser['version'] = $contents[0];
  50. }
  51. else
  52. {
  53. $contents = explode(" ",stristr($contents,"opera"));
  54. $currentBrowser['browser'] = $contents[0];
  55. $currentBrowser['version'] = $contents[1];
  56. }
  57. $currentBrowser['allowed'] = ($currentBrowser['version'] >= 8);
  58. }
  59. elseif(eregi("msie",$currentBrowser['agent']) && !eregi("opera",$currentBrowser['agent']))
  60. {
  61. $contents = explode(" ",stristr($currentBrowser['agent'],"msie"));
  62. $currentBrowser['browser'] = "MSIE";
  63. $currentBrowser['browser'] = $contents[0];
  64. if(isset($contents[1]))
  65. $currentBrowser['version'] = $contents[1];
  66. $currentBrowser['allowed'] = ($currentBrowser['version'] >= 5.5);
  67. }
  68. elseif(eregi("webtv",$currentBrowser['agent']))
  69. {
  70. $currentBrowser['allowed'] = false;
  71. $contents = explode("/",stristr($currentBrowser['agent'],"webtv"));
  72. $currentBrowser['browser'] = $contents[0];
  73. $currentBrowser['version'] = $contents[1];
  74. }
  75. elseif(eregi("netpositive", $currentBrowser['agent']))
  76. {
  77. $currentBrowser['allowed'] = false;
  78. $contents = explode("/",stristr($currentBrowser['agent'],"NetPositive"));
  79. $currentBrowser['platform'] = "BeOS";
  80. $currentBrowser['browser'] = $contents[0];
  81. $currentBrowser['version'] = $contents[1];
  82. }
  83. elseif(eregi("omniweb",$currentBrowser['agent']))
  84. {
  85. $currentBrowser['allowed'] = false;
  86. $contents = explode("/",stristr($currentBrowser['agent'],"omniweb"));
  87. $currentBrowser['browser'] = $contents[0];
  88. $currentBrowser['version'] = $contents[1];
  89. }
  90. elseif(eregi("microsoft internet explorer", $currentBrowser['agent']))
  91. {
  92. $currentBrowser['allowed'] = false;
  93. $currentBrowser['browser'] = "MSIE";
  94. $currentBrowser['version'] = "1.0";
  95. $var = stristr($currentBrowser['agent'], "/");
  96. if (ereg("308|425|426|474|0b1", $var))
  97. $currentBrowser['version'] = "1.5";
  98. }
  99. elseif(eregi("galeon",$currentBrowser['agent']))
  100. {
  101. $currentBrowser['allowed'] = false;
  102. $contents = explode(" ",stristr($currentBrowser['agent'],"galeon"));
  103. $contents = explode("/",$contents[0]);
  104. $currentBrowser['browser'] = $contents[0];
  105. $currentBrowser['version'] = $contents[1];
  106. }
  107. elseif(eregi("mspie",$currentBrowser['agent']) || eregi('pocket', $currentBrowser['agent']))
  108. {
  109. $currentBrowser['allowed'] = false;
  110. $contents = explode(" ",stristr($currentBrowser['agent'],"mspie"));
  111. $currentBrowser['browser'] = "MSPIE";
  112. $currentBrowser['platform'] = "WindowsCE";
  113. if (eregi("mspie", $currentBrowser['agent']))
  114. $currentBrowser['version'] = $contents[1];
  115. else
  116. {
  117. $contents = explode("/",$currentBrowser['agent']);
  118. $currentBrowser['version'] = $contents[1];
  119. }
  120. }
  121. elseif(eregi("konqueror",$currentBrowser['agent']))
  122. {
  123. $contents = explode(" ",stristr($currentBrowser['agent'],"Konqueror"));
  124. $contents = explode("/",$contents[0]);
  125. $currentBrowser['browser'] = $contents[0];
  126. $currentBrowser['version'] = $contents[1];
  127. $currentBrowser['allowed'] = ($currentBrowser['version'] >= 3.5);
  128. }
  129. elseif(eregi("icab",$currentBrowser['agent']))
  130. {
  131. $currentBrowser['allowed'] = false;
  132. $contents = explode(" ",stristr($currentBrowser['agent'],"icab"));
  133. $currentBrowser['browser'] = $contents[0];
  134. $currentBrowser['version'] = $contents[1];
  135. }
  136. elseif(eregi("phoenix", $currentBrowser['agent']))
  137. {
  138. $currentBrowser['allowed'] = true;
  139. $currentBrowser['browser'] = "Phoenix";
  140. $contents = explode("/", stristr($currentBrowser['agent'],"Phoenix/"));
  141. $currentBrowser['version'] = $contents[1];
  142. }
  143. elseif(eregi("firebird", $currentBrowser['agent']))
  144. {
  145. $currentBrowser['allowed'] = true;
  146. $currentBrowser['browser']="Firebird";
  147. $contents = stristr($currentBrowser['agent'], "Firebird");
  148. $contents = explode("/",$contents);
  149. $currentBrowser['version'] = $contents[1];
  150. }
  151. elseif(eregi("mozilla",$currentBrowser['agent']) && eregi("rv:[0-9].[0-9][a-b]",$currentBrowser['agent']) && !eregi("netscape",$currentBrowser['agent']))
  152. {
  153. $currentBrowser['browser'] = "Mozilla";
  154. $contents = explode(" ",stristr($currentBrowser['agent'],"rv:"));
  155. eregi("rv:[0-9].[0-9][a-b]",$currentBrowser['agent'],$contents);
  156. $currentBrowser['version'] = str_replace("rv:","",$contents[0]);
  157. $currentBrowser['allowed'] = ($currentBrowser['version'] >= 1.7);
  158. }
  159. elseif(eregi("mozilla",$currentBrowser['agent']) && eregi("rv:[0-9]\.[0-9]",$currentBrowser['agent']) && !eregi("netscape",$currentBrowser['agent']))
  160. {
  161. $currentBrowser['browser'] = "Mozilla";
  162. $contents = explode(" ",stristr($currentBrowser['agent'],"rv:"));
  163. eregi("rv:[0-9]\.[0-9]\.[0-9]",$currentBrowser['agent'],$contents);
  164. $currentBrowser['version'] = str_replace("rv:","",$contents[0]);
  165. $currentBrowser['allowed'] = ($currentBrowser['version'] >= 1.7);
  166. }
  167. elseif(eregi("libwww", $currentBrowser['agent']))
  168. {
  169. $currentBrowser['allowed'] = false;
  170. if (eregi("amaya", $currentBrowser['agent']))
  171. {
  172. $contents = explode("/",stristr($currentBrowser['agent'],"amaya"));
  173. $currentBrowser['browser'] = "Amaya";
  174. $contents = explode(" ", $contents[1]);
  175. $currentBrowser['version'] = $contents[0];
  176. }
  177. else
  178. {
  179. $contents = explode("/",$currentBrowser['agent']);
  180. $currentBrowser['browser'] = "Lynx";
  181. $currentBrowser['version'] = $contents[1];
  182. }
  183. }
  184. elseif(eregi("netscape",$currentBrowser['agent']))
  185. {
  186. $contents = explode(" ",stristr($currentBrowser['agent'],"netscape"));
  187. $contents = explode("/",$contents[0]);
  188. $currentBrowser['browser'] = $contents[0];
  189. $currentBrowser['version'] = $contents[1];
  190. $currentBrowser['allowed'] = ($currentBrowser['version'] >= 7);
  191. }
  192. elseif(eregi("mozilla",$currentBrowser['agent']) && !eregi("rv:[0-9]\.[0-9]\.[0-9]",$currentBrowser['agent']))
  193. {
  194. $contents = explode(" ",stristr($currentBrowser['agent'],"mozilla"));
  195. $contents = explode("/",$contents[0]);
  196. if(count($contents) > 1)
  197. {
  198. $currentBrowser['browser'] = "Netscape";
  199. $currentBrowser['version'] = $contents[1];
  200. $currentBrowser['allowed'] = ($currentBrowser['version'] >= 7);
  201. }
  202. else
  203. $currentBrowser['allowed'] = false;
  204. }
  205. }
  206. return $currentBrowser;
  207. }
  208. ?>