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_Ui_JsCalendar:: class generates the necessary javascript
  4:  * code to allow the javascript calendar widget to be displayed on the page.
  5:  *
  6:  * Copyright 2009-2012 Horde LLC (http://www.horde.org/)
  7:  *
  8:  * See the enclosed file COPYING for license information (LGPL). If you
  9:  * did not receive this file, see http://www.horde.org/licenses/lgpl21.
 10:  *
 11:  * @author   Michael Slusarz <slusarz@horde.org>
 12:  * @category Horde
 13:  * @license  http://www.horde.org/licenses/lgpl21 LGPL 2.1
 14:  * @package  Core
 15:  */
 16: class Horde_Core_Ui_JsCalendar
 17: {
 18:     /**
 19:      * Make sure init() is only run once.
 20:      *
 21:      * @var boolean
 22:      */
 23:     static protected $_initRun = false;
 24: 
 25:     /**
 26:      * Output the necessary javascript code to allow display of the calendar
 27:      * widget.
 28:      *
 29:      * @param array $params  Configuration parameters for the widget:
 30:      * <pre>
 31:      * 'click_month' - (boolean) If true, the month is clickable.
 32:      *                 DEFAULT: false
 33:      * 'click_week' - (boolean) If true, will display a clickable week.
 34:      *                DEFAULT: false
 35:      * 'click_year' - (boolean) If true, the year is clickable.
 36:      *                DEFAULT: false
 37:      * 'full_weekdays' - (boolean) Add full weekday localized list to
 38:      *                   javascript object.
 39:      *                   DEFAULT: false
 40:      * 'short_weekdays' - (boolean) Display only the first letter of
 41:      *                    weekdays?
 42:      *                    DEFAULT: false
 43:      * </pre>
 44:      */
 45:     static public function init(array $params = array())
 46:     {
 47:         if (self::$_initRun) {
 48:             return;
 49:         }
 50:         self::$_initRun = true;
 51: 
 52:         $params = array_merge(array(
 53:             'click_month' => false,
 54:             'click_week' => false,
 55:             'click_year' => false,
 56:             'full_weekdays' => false,
 57:             'short_weekdays' => false
 58:         ), $params);
 59: 
 60:         $weekdays = self::weekdays();
 61:         if ($params['short_weekdays']) {
 62:             foreach ($weekdays as &$day) {
 63:                 $day = Horde_String::substr($day, 0, 1);
 64:             }
 65:         }
 66: 
 67:         $js = array(
 68:             '-Horde_Calendar.click_month' => intval($params['click_month']),
 69:             '-Horde_Calendar.click_week' => intval($params['click_week']),
 70:             '-Horde_Calendar.click_year' => intval($params['click_year']),
 71:             '-Horde_Calendar.firstDayOfWeek' => intval($GLOBALS['prefs']->getValue('first_week_day')),
 72:             'Horde_Calendar.months' => self::months(),
 73:             'Horde_Calendar.weekdays' => $weekdays
 74:         );
 75:         if ($params['full_weekdays']) {
 76:             $js['Horde_Calendar.fullweekdays'] = self::fullWeekdays();
 77:         }
 78: 
 79:         Horde::addScriptFile('calendar.js', 'horde');
 80:         Horde::addInlineJsVars($js);
 81:     }
 82: 
 83:     /**
 84:      * Return the list of localized abbreviated weekdays.
 85:      *
 86:      * @return array  Abbreviated weekdays.
 87:      */
 88:     static public function weekdays()
 89:     {
 90:         return array(
 91:             Horde_Core_Translation::t("Su"),
 92:             Horde_Core_Translation::t("Mo"),
 93:             Horde_Core_Translation::t("Tu"),
 94:             Horde_Core_Translation::t("We"),
 95:             Horde_Core_Translation::t("Th"),
 96:             Horde_Core_Translation::t("Fr"),
 97:             Horde_Core_Translation::t("Sa")
 98:         );
 99:     }
100: 
101:     /**
102:      * Return the list of localized full weekday names.
103:      *
104:      * @return array  Full weekday names.
105:      */
106:     static public function fullWeekdays()
107:     {
108:         return array(
109:             Horde_Core_Translation::t("Sunday"),
110:             Horde_Core_Translation::t("Monday"),
111:             Horde_Core_Translation::t("Tuesday"),
112:             Horde_Core_Translation::t("Wednesday"),
113:             Horde_Core_Translation::t("Thursday"),
114:             Horde_Core_Translation::t("Friday"),
115:             Horde_Core_Translation::t("Saturday"),
116:         );
117:     }
118: 
119:     /**
120:      * Return the localized list of months.
121:      *
122:      * @return array  Month list.
123:      */
124:     static public function months()
125:     {
126:         return array(
127:             Horde_Core_Translation::t("January"),
128:             Horde_Core_Translation::t("February"),
129:             Horde_Core_Translation::t("March"),
130:             Horde_Core_Translation::t("April"),
131:             Horde_Core_Translation::t("May"),
132:             Horde_Core_Translation::t("June"),
133:             Horde_Core_Translation::t("July"),
134:             Horde_Core_Translation::t("August"),
135:             Horde_Core_Translation::t("September"),
136:             Horde_Core_Translation::t("October"),
137:             Horde_Core_Translation::t("November"),
138:             Horde_Core_Translation::t("December")
139:         );
140:     }
141: 
142: }
143: 
API documentation generated by ApiGen