From 0c1f7359e97b66a36633d66b3a1fc0c97bc9dc66 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Fri, 8 Oct 2010 16:55:18 -0600 Subject: [PATCH] Remove horde/Core dependency in Horde_Browser --- framework/Browser/lib/Horde/Browser.php | 52 --------------- framework/Browser/package.xml | 2 +- framework/Core/lib/Horde/Core/Browser.php | 80 +++++++++++++++++++++++ framework/Core/lib/Horde/Core/Factory/Browser.php | 15 +++++ framework/Core/lib/Horde/Registry.php | 3 +- framework/Core/package.xml | 4 ++ 6 files changed, 102 insertions(+), 54 deletions(-) create mode 100644 framework/Core/lib/Horde/Core/Browser.php create mode 100644 framework/Core/lib/Horde/Core/Factory/Browser.php diff --git a/framework/Browser/lib/Horde/Browser.php b/framework/Browser/lib/Horde/Browser.php index aad478e23..d5f6520b8 100644 --- a/framework/Browser/lib/Horde/Browser.php +++ b/framework/Browser/lib/Horde/Browser.php @@ -383,34 +383,6 @@ class Horde_Browser $this->setQuirk('png_transparency'); } - /* IE 6 (pre-SP1) and 5.5 (pre-SP1) have buggy compression. - * The versions affected are as follows: - * 6.00.2462.0000 Internet Explorer 6 Public Preview (Beta) - * 6.00.2479.0006 Internet Explorer 6 Public Preview (Beta) Refresh - * 6.00.2600.0000 Internet Explorer 6 (Windows XP) - * 5.50.3825.1300 Internet Explorer 5.5 Developer Preview (Beta) - * 5.50.4030.2400 Internet Explorer 5.5 & Internet Tools Beta - * 5.50.4134.0100 Internet Explorer 5.5 for Windows Me (4.90.3000) - * 5.50.4134.0600 Internet Explorer 5.5 - * 5.50.4308.2900 Internet Explorer 5.5 Advanced Security Privacy Beta - * - * See: - * ==== - * http://support.microsoft.com/kb/164539; - * http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312496) - * http://support.microsoft.com/default.aspx?scid=kb;en-us;Q313712 - */ - $ie_vers = $this->getIEVersion(); - $buggy_list = array( - '6,00,2462,0000', '6,0,2462,0', '6,00,2479,0006', - '6,0,2479,0006', '6,00,2600,0000', '6,0,2600,0', - '5,50,3825,1300', '5,50,4030,2400', '5,50,4134,0100', - '5,50,4134,0600', '5,50,4308,2900' - ); - if (!is_null($ie_vers) && in_array($ie_vers, $buggy_list)) { - $this->setQuirk('buggy_compression'); - } - /* Some Handhelds have their screen resolution in the user * agent string, which we can use to look for mobile * agents. */ @@ -1193,28 +1165,4 @@ class Horde_Browser return in_array($subtype, $this->_images); } - /** - * Sets the IE version in the session. - * - * @param string $ver The IE Version string. - */ - public function setIEVersion($ver) - { - $_SESSION['horde_browser'] = array( - 'ie_version' => $ver - ); - } - - /** - * Returns the IE version stored in the session, if available. - * - * @return mixed The IE Version string or null if no string is stored. - */ - public function getIEVersion() - { - return isset($_SESSION['horde_browser']['ie_version']) - ? $_SESSION['horde_browser']['ie_version'] - : null; - } - } diff --git a/framework/Browser/package.xml b/framework/Browser/package.xml index 41378e12a..293364698 100644 --- a/framework/Browser/package.xml +++ b/framework/Browser/package.xml @@ -25,7 +25,7 @@ about the current user's browser and its capabilities. beta LGPL - * Remove PEAR dependency. + * Remove PEAR and horde/Core dependencies. * Remove Horde_Browser::escapeJSCode(). * Add Horde_Browser_Exception::. * Initial Horde 4 package. diff --git a/framework/Core/lib/Horde/Core/Browser.php b/framework/Core/lib/Horde/Core/Browser.php new file mode 100644 index 000000000..856b1e4e9 --- /dev/null +++ b/framework/Core/lib/Horde/Core/Browser.php @@ -0,0 +1,80 @@ + + * @category Horde + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @package Core + */ +class Horde_Core_Browser extends Horde_Browser +{ + /** + */ + public function match($userAgent = null, $accept = null) + { + parent::match($userAgent, $accept); + + if ($this->isBrowser('msie')) { + /* IE 6 (pre-SP1) and 5.5 (pre-SP1) have buggy compression. + * The versions affected are as follows: + * 6.00.2462.0000 Internet Explorer 6 Public Preview (Beta) + * 6.00.2479.0006 Internet Explorer 6 Public Preview (Beta) Refresh + * 6.00.2600.0000 Internet Explorer 6 (Windows XP) + * 5.50.3825.1300 Internet Explorer 5.5 Developer Preview (Beta) + * 5.50.4030.2400 Internet Explorer 5.5 & Internet Tools Beta + * 5.50.4134.0100 Internet Explorer 5.5 for Windows Me (4.90.3000) + * 5.50.4134.0600 Internet Explorer 5.5 + * 5.50.4308.2900 Internet Explorer 5.5 Advanced Security Privacy Beta + * + * See: + * ==== + * http://support.microsoft.com/kb/164539; + * http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312496) + * http://support.microsoft.com/default.aspx?scid=kb;en-us;Q313712 + */ + $ie_vers = $this->getIEVersion(); + $buggy_list = array( + '6,00,2462,0000', '6,0,2462,0', '6,00,2479,0006', + '6,0,2479,0006', '6,00,2600,0000', '6,0,2600,0', + '5,50,3825,1300', '5,50,4030,2400', '5,50,4134,0100', + '5,50,4134,0600', '5,50,4308,2900' + ); + if (!is_null($ie_vers) && in_array($ie_vers, $buggy_list)) { + $this->setQuirk('buggy_compression'); + } + } + } + + /** + * Sets the IE version in the session. + * + * @param string $ver The IE Version string. + */ + public function setIEVersion($ver) + { + $_SESSION['horde_browser'] = array( + 'ie_version' => $ver + ); + } + + /** + * Returns the IE version stored in the session, if available. + * + * @return mixed The IE Version string or null if no string is stored. + */ + public function getIEVersion() + { + return isset($_SESSION['horde_browser']['ie_version']) + ? $_SESSION['horde_browser']['ie_version'] + : null; + } + +} diff --git a/framework/Core/lib/Horde/Core/Factory/Browser.php b/framework/Core/lib/Horde/Core/Factory/Browser.php new file mode 100644 index 000000000..95eee56fe --- /dev/null +++ b/framework/Core/lib/Horde/Core/Factory/Browser.php @@ -0,0 +1,15 @@ +isBrowser('mozilla')) { session_cache_limiter('private, must-revalidate'); } @@ -253,6 +253,7 @@ class Horde_Registry * second element in an array. */ $factories = array( 'Horde_Alarm' => 'Horde_Core_Factory_Alarm', + 'Horde_Browser' => 'Horde_Core_Factory_Browser', 'Horde_Cache' => 'Horde_Core_Factory_Cache', 'Horde_Cache_Session' => array( 'Horde_Core_Factory_Cache', diff --git a/framework/Core/package.xml b/framework/Core/package.xml index 693a68ca5..b896d9515 100644 --- a/framework/Core/package.xml +++ b/framework/Core/package.xml @@ -118,6 +118,7 @@ Application Framework. + @@ -214,6 +215,7 @@ Application Framework. + @@ -400,6 +402,7 @@ Application Framework. + @@ -424,6 +427,7 @@ Application Framework. + -- 2.11.0