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:  * Interface to NLS configuration.
  4:  *
  5:  * Copyright 2010-2012 Horde LLC (http://www.horde.org/)
  6:  *
  7:  * See the enclosed file COPYING for license information (LGPL). If you
  8:  * did not receive this file, see http://www.horde.org/licenses/lgpl21.
  9:  *
 10:  * @author   Michael Slusarz <slusarz@horde.org>
 11:  * @category Horde
 12:  * @license  http://www.horde.org/licenses/lgpl21 LGPL 2.1
 13:  * @package  Core
 14:  */
 15: class Horde_Registry_Nlsconfig
 16: {
 17:     /**
 18:      * The cached configuration data.
 19:      *
 20:      * @var array
 21:      */
 22:     protected $_config;
 23: 
 24:     /**
 25:      */
 26:     public function __get($name)
 27:     {
 28:         /* These entries can be cached in the session. */
 29:         $cached = array(
 30:             'curr_charset',
 31:             'curr_default',
 32:             'curr_emails',
 33:             'curr_multibyte',
 34:             'curr_rtl'
 35:         );
 36: 
 37:         if (in_array($name, $cached) &&
 38:             $GLOBALS['session']->exists('horde', 'nls/' . $name)) {
 39:             return $GLOBALS['session']->get('horde', 'nls/' . $name);
 40:         }
 41: 
 42:         if (!isset($this->_config)) {
 43:             $this->_config = Horde::loadConfiguration('nls.php', 'horde_nls_config', 'horde');
 44:         }
 45: 
 46:         switch ($name) {
 47:         case 'aliases':
 48:         case 'charsets':
 49:         case 'encodings':
 50:         case 'emails':
 51:         case 'languages':
 52:         case 'multibyte':
 53:         case 'rtl':
 54:         case 'spelling':
 55:             $ret = isset($this->_config[$name])
 56:                 ? $this->_config[$name]
 57:                 : array();
 58:             break;
 59: 
 60:         case 'charsets_sort':
 61:             $ret = $this->charsets;
 62:             natcasesort($ret);
 63:             break;
 64: 
 65:         case 'curr_charset':
 66:             /* Return charset for the current language. */
 67:             $ret = isset($this->_config['charsets'][$GLOBALS['language']])
 68:                 ? $this->_config['charsets'][$GLOBALS['language']]
 69:                 : null;
 70:             break;
 71: 
 72:         case 'curr_default':
 73:             /* The default langauge, as specified by the config file. */
 74:             $ret = isset($this->_config['defaults']['language'])
 75:                 ? $this->_config['defaults']['language']
 76:                 : null;
 77:             break;
 78: 
 79:         case 'curr_emails':
 80:             /* Return e-mail charset for the current language. */
 81:             $ret = isset($this->_config['emails'][$GLOBALS['language']])
 82:                 ? $this->_config['emails'][$GLOBALS['language']]
 83:                 : null;
 84:             break;
 85: 
 86:         case 'curr_multibyte':
 87:             /* Is the current language charset multibyte? */
 88:             $ret = isset($this->_config['multibyte'][$GLOBALS['registry']->getLanguageCharset()]);
 89:             break;
 90: 
 91:         case 'curr_rtl':
 92:             /* Is the current language RTL? */
 93:             $ret = isset($this->_config['rtl'][$GLOBALS['language']]);
 94:             break;
 95: 
 96:         case 'encodings_sort':
 97:             $ret = $this->encodings;
 98:             asort($ret);
 99:             break;
100: 
101:         default:
102:             $ret = null;
103:             break;
104:         }
105: 
106:         if (in_array($name, $cached)) {
107:             $GLOBALS['session']->set('horde', 'nls/' . $name, $ret);
108:         }
109: 
110:         return $ret;
111:     }
112: 
113:     /**
114:      * Check whether a language string is valid.
115:      *
116:      * @param string $lang  The language to check.
117:      *
118:      * @return boolean  Whether the language is valid.
119:      */
120:     public function validLang($lang)
121:     {
122:         if (!$GLOBALS['session']->exists('horde', 'nls/valid_' . $lang)) {
123:             $GLOBALS['session']->set('horde', 'nls/valid_' . $lang, isset($this->languages[$lang]));
124:         }
125: 
126:         return $GLOBALS['session']->get('horde', 'nls/valid_' . $lang);
127:     }
128: 
129: }
130: 
API documentation generated by ApiGen