Overview

Packages

  • Auth
  • Core
  • Horde
    • Imsp
  • None
  • Notification

Classes

  • Horde
  • Horde_Config
  • Horde_Config_Form
  • Horde_Core_ActiveSync_Connector
  • Horde_Core_ActiveSync_Driver
  • Horde_Core_Ajax_Application
  • Horde_Core_Ajax_Imple
  • Horde_Core_Ajax_Imple_AutoCompleter
  • Horde_Core_Ajax_Imple_Geocoder_Geonames
  • Horde_Core_Ajax_Imple_SpellChecker
  • Horde_Core_Alarm_Handler_Notify
  • Horde_Core_Auth_Application
  • Horde_Core_Auth_Composite
  • Horde_Core_Auth_Ldap
  • Horde_Core_Auth_Msad
  • Horde_Core_Auth_Shibboleth
  • Horde_Core_Auth_Signup_Base
  • Horde_Core_Auth_Signup_Form
  • Horde_Core_Auth_Signup_Null
  • Horde_Core_Auth_Signup_Sql
  • Horde_Core_Auth_Signup_SqlObject
  • Horde_Core_Autoloader_Callback_Mime
  • Horde_Core_Autoloader_Callback_Nls
  • Horde_Core_Block
  • Horde_Core_Block_Collection
  • Horde_Core_Block_Layout
  • Horde_Core_Block_Layout_Manager
  • Horde_Core_Block_Layout_View
  • Horde_Core_Block_Upgrade
  • Horde_Core_Browser
  • Horde_Core_Bundle
  • Horde_Core_Cli
  • Horde_Core_Controller_NotFound
  • Horde_Core_Controller_RequestConfiguration
  • Horde_Core_Controller_RequestMapper
  • Horde_Core_Controller_SettingsFinder
  • Horde_Core_Db_Migration
  • Horde_Core_Factory_ActiveSyncBackend
  • Horde_Core_Factory_ActiveSyncServer
  • Horde_Core_Factory_ActiveSyncState
  • Horde_Core_Factory_Ajax
  • Horde_Core_Factory_Alarm
  • Horde_Core_Factory_Auth
  • Horde_Core_Factory_AuthSignup
  • Horde_Core_Factory_Base
  • Horde_Core_Factory_BlockCollection
  • Horde_Core_Factory_Browser
  • Horde_Core_Factory_Cache
  • Horde_Core_Factory_Crypt
  • Horde_Core_Factory_Data
  • Horde_Core_Factory_Db
  • Horde_Core_Factory_DbBase
  • Horde_Core_Factory_DbPear
  • Horde_Core_Factory_Dns
  • Horde_Core_Factory_Editor
  • Horde_Core_Factory_Facebook
  • Horde_Core_Factory_Group
  • Horde_Core_Factory_History
  • Horde_Core_Factory_HttpClient
  • Horde_Core_Factory_Identity
  • Horde_Core_Factory_Image
  • Horde_Core_Factory_Imple
  • Horde_Core_Factory_Imsp
  • Horde_Core_Factory_ImspAuth
  • Horde_Core_Factory_Injector
  • Horde_Core_Factory_KolabServer
  • Horde_Core_Factory_KolabSession
  • Horde_Core_Factory_KolabStorage
  • Horde_Core_Factory_Ldap
  • Horde_Core_Factory_Lock
  • Horde_Core_Factory_Logger
  • Horde_Core_Factory_LoginTasks
  • Horde_Core_Factory_Mail
  • Horde_Core_Factory_Mapper
  • Horde_Core_Factory_Matcher
  • Horde_Core_Factory_Memcache
  • Horde_Core_Factory_MimeViewer
  • Horde_Core_Factory_Notification
  • Horde_Core_Factory_Perms
  • Horde_Core_Factory_PermsCore
  • Horde_Core_Factory_Prefs
  • Horde_Core_Factory_Request
  • Horde_Core_Factory_Secret
  • Horde_Core_Factory_SessionHandler
  • Horde_Core_Factory_Share
  • Horde_Core_Factory_ShareBase
  • Horde_Core_Factory_Template
  • Horde_Core_Factory_TextFilter
  • Horde_Core_Factory_ThemesCache
  • Horde_Core_Factory_Token
  • Horde_Core_Factory_Tree
  • Horde_Core_Factory_Twitter
  • Horde_Core_Factory_UrlShortener
  • Horde_Core_Factory_Vfs
  • Horde_Core_Factory_View
  • Horde_Core_Factory_Weather
  • Horde_Core_Group_Ldap
  • Horde_Core_Log_Logger
  • Horde_Core_LoginTasks
  • Horde_Core_LoginTasks_Backend_Horde
  • Horde_Core_LoginTasks_SystemTask_Upgrade
  • Horde_Core_Mime_Viewer_Syntaxhighlighter
  • Horde_Core_Mime_Viewer_Vcard
  • Horde_Core_Notification_Event_Status
  • Horde_Core_Notification_Handler_Decorator_Hordelog
  • Horde_Core_Notification_Storage_Session
  • Horde_Core_Perms
  • Horde_Core_Perms_Ui
  • Horde_Core_Prefs_Cache_Session
  • Horde_Core_Prefs_Identity
  • Horde_Core_Prefs_Storage_Configuration
  • Horde_Core_Prefs_Storage_Hooks
  • Horde_Core_Prefs_Storage_Upgrade
  • Horde_Core_Prefs_Ui
  • Horde_Core_Prefs_Ui_Widgets
  • Horde_Core_Share_Driver
  • Horde_Core_Share_FactoryCallback
  • Horde_Core_Sidebar
  • Horde_Core_Text_Filter_Bbcode
  • Horde_Core_Text_Filter_Emails
  • Horde_Core_Text_Filter_Emoticons
  • Horde_Core_Text_Filter_Highlightquotes
  • Horde_Core_Translation
  • Horde_Core_Tree_Html
  • Horde_Core_Tree_Javascript
  • Horde_Core_Tree_Simplehtml
  • Horde_Core_Ui_FlagImage
  • Horde_Core_Ui_JsCalendar
  • Horde_Core_Ui_Language
  • Horde_Core_Ui_Layout
  • Horde_Core_Ui_ModalFormRenderer
  • Horde_Core_Ui_Pager
  • Horde_Core_Ui_Tabs
  • Horde_Core_Ui_TagCloud
  • Horde_Core_Ui_VarRenderer
  • Horde_Core_Ui_VarRenderer_Html
  • Horde_Core_Ui_VarRenderer_TablesetHtml
  • Horde_Core_Ui_Widget
  • Horde_ErrorHandler
  • Horde_Help
  • Horde_Menu
  • Horde_Registry
  • Horde_Registry_Api
  • Horde_Registry_Application
  • Horde_Registry_Caller
  • Horde_Registry_Nlsconfig
  • Horde_Script_Files
  • Horde_Session
  • Horde_Session_Null
  • Horde_Themes
  • Horde_Themes_Cache
  • Horde_Themes_Css
  • Horde_Themes_Element
  • Horde_Themes_Image
  • Horde_Themes_Sound

Exceptions

  • Horde_Exception_HookNotSet
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * The Horde_Core_Browser class extends the base Horde_Browser class by
 4:  * allowing storage of IE version information in order to identify additional
 5:  * browser quirks.
 6:  *
 7:  * Copyright 2010-2012 Horde LLC (http://www.horde.org/)
 8:  *
 9:  * See the enclosed file COPYING for license information (LGPL). If you
10:  * did not receive this file, see http://www.horde.org/licenses/lgpl21.
11:  *
12:  * @author   Michael Slusarz <slusarz@horde.org>
13:  * @category Horde
14:  * @license  http://www.horde.org/licenses/lgpl21 LGPL 2.1
15:  * @package  Core
16:  */
17: class Horde_Core_Browser extends Horde_Browser
18: {
19:     /**
20:      */
21:     public function match($userAgent = null, $accept = null)
22:     {
23:         parent::match($userAgent, $accept);
24: 
25:         if ($this->isBrowser('msie')) {
26:             /* IE 6 (pre-SP1) and 5.5 (pre-SP1) have buggy compression.
27:              * The versions affected are as follows:
28:              * 6.00.2462.0000  Internet Explorer 6 Public Preview (Beta)
29:              * 6.00.2479.0006  Internet Explorer 6 Public Preview (Beta) Refresh
30:              * 6.00.2600.0000  Internet Explorer 6 (Windows XP)
31:              * 5.50.3825.1300  Internet Explorer 5.5 Developer Preview (Beta)
32:              * 5.50.4030.2400  Internet Explorer 5.5 & Internet Tools Beta
33:              * 5.50.4134.0100  Internet Explorer 5.5 for Windows Me (4.90.3000)
34:              * 5.50.4134.0600  Internet Explorer 5.5
35:              * 5.50.4308.2900  Internet Explorer 5.5 Advanced Security Privacy Beta
36:              *
37:              * See:
38:              * ====
39:              * http://support.microsoft.com/kb/164539;
40:              * http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312496)
41:              * http://support.microsoft.com/default.aspx?scid=kb;en-us;Q313712
42:              */
43:             $ie_vers = $this->getIEVersion();
44:             $buggy_list = array(
45:                 '6,00,2462,0000', '6,0,2462,0', '6,00,2479,0006',
46:                 '6,0,2479,0006', '6,00,2600,0000', '6,0,2600,0',
47:                 '5,50,3825,1300', '5,50,4030,2400', '5,50,4134,0100',
48:                 '5,50,4134,0600', '5,50,4308,2900'
49:             );
50:             if (!is_null($ie_vers) && in_array($ie_vers, $buggy_list)) {
51:                 $this->setQuirk('buggy_compression');
52:             }
53:         }
54: 
55:         try {
56:             Horde::callHook('browser_modify', array($this), 'horde');
57:         } catch (Horde_Exception_HookNotSet $e) {
58:         }
59:     }
60: 
61:     /**
62:      * Sets the IE version in the session.
63:      *
64:      * @param string $ver  The IE Version string.
65:      */
66:     public function setIEVersion($ver)
67:     {
68:         $GLOBALS['session']->set('horde', 'ie_version', $ver);
69:     }
70: 
71:     /**
72:      * Returns the IE version stored in the session, if available.
73:      *
74:      * @return mixed  The IE Version string or null if no string is stored.
75:      */
76:     public function getIEVersion()
77:     {
78:         return isset($GLOBALS['session'])
79:             ? $GLOBALS['session']->get('horde', 'ie_version')
80:             : null;
81:     }
82: 
83: }
84: 
API documentation generated by ApiGen