JOOMLA中国
  • Joomla中国首页
  • 社区
  • 教程
  • 应用市场
  • B计划
Joomla! Framework TM
  • Namespace
  • Class
  • Tree
  • Deprecated

Namespaces

  • Composer
    • Autoload
  • Joomla
    • Application
      • Cli
        • Output
          • Processor
      • Web
    • Data
    • DI
      • Exception
    • Event
    • Filter
    • Input
    • Ldap
    • Registry
      • Format
    • Session
      • Storage
    • String
    • Uri
    • Utilities
  • None
  • PasswordCompat
    • binary
  • PHP
  • Psr
    • Log
  • Symfony
    • Component
      • Yaml
        • Exception
    • Polyfill
      • Util

Classes

  • CallbackFilterIterator
  • ComposerAutoloaderInit205c915b9c7d3e718e7c95793ee67ffe
  • easyparse
  • EasyPeasyICS
  • FOFAutoloaderComponent
  • FOFAutoloaderFof
  • FOFConfigDomainDispatcher
  • FOFConfigDomainTables
  • FOFConfigDomainViews
  • FOFConfigProvider
  • FOFController
  • FOFDatabase
  • FOFDatabaseDriver
  • FOFDatabaseDriverJoomla
  • FOFDatabaseDriverMysql
  • FOFDatabaseDriverMysqli
  • FOFDatabaseDriverOracle
  • FOFDatabaseDriverPdo
  • FOFDatabaseDriverPdomysql
  • FOFDatabaseDriverPostgresql
  • FOFDatabaseDriverSqlazure
  • FOFDatabaseDriverSqlite
  • FOFDatabaseDriverSqlsrv
  • FOFDatabaseFactory
  • FOFDatabaseInstaller
  • FOFDatabaseIterator
  • FOFDatabaseIteratorAzure
  • FOFDatabaseIteratorMysql
  • FOFDatabaseIteratorMysqli
  • FOFDatabaseIteratorOracle
  • FOFDatabaseIteratorPdo
  • FOFDatabaseIteratorPdomysql
  • FOFDatabaseIteratorPostgresql
  • FOFDatabaseIteratorSqlite
  • FOFDatabaseIteratorSqlsrv
  • FOFDatabaseQuery
  • FOFDatabaseQueryElement
  • FOFDatabaseQueryMysql
  • FOFDatabaseQueryMysqli
  • FOFDatabaseQueryOracle
  • FOFDatabaseQueryPdo
  • FOFDatabaseQueryPdomysql
  • FOFDatabaseQueryPostgresql
  • FOFDatabaseQuerySqlazure
  • FOFDatabaseQuerySqlite
  • FOFDatabaseQuerySqlsrv
  • FOFDispatcher
  • FOFDownload
  • FOFDownloadAdapterAbstract
  • FOFDownloadAdapterCurl
  • FOFDownloadAdapterFopen
  • FOFEncryptAes
  • FOFEncryptAesAbstract
  • FOFEncryptAesMcrypt
  • FOFEncryptAesOpenssl
  • FOFEncryptBase32
  • FOFEncryptRandval
  • FOFEncryptTotp
  • FOFForm
  • FOFFormFieldAccesslevel
  • FOFFormFieldActions
  • FOFFormFieldButton
  • FOFFormFieldCachehandler
  • FOFFormFieldCalendar
  • FOFFormFieldCaptcha
  • FOFFormFieldCheckbox
  • FOFFormFieldCheckboxes
  • FOFFormFieldComponents
  • FOFFormFieldEditor
  • FOFFormFieldEmail
  • FOFFormFieldGroupedbutton
  • FOFFormFieldGroupedlist
  • FOFFormFieldHidden
  • FOFFormFieldImage
  • FOFFormFieldImagelist
  • FOFFormFieldInteger
  • FOFFormFieldLanguage
  • FOFFormFieldList
  • FOFFormFieldMedia
  • FOFFormFieldModel
  • FOFFormFieldOrdering
  • FOFFormFieldPassword
  • FOFFormFieldPlugins
  • FOFFormFieldPublished
  • FOFFormFieldRadio
  • FOFFormFieldRelation
  • FOFFormFieldRules
  • FOFFormFieldSelectrow
  • FOFFormFieldSessionhandler
  • FOFFormFieldSpacer
  • FOFFormFieldSql
  • FOFFormFieldTag
  • FOFFormFieldTel
  • FOFFormFieldText
  • FOFFormFieldTextarea
  • FOFFormFieldTimezone
  • FOFFormFieldTitle
  • FOFFormFieldUrl
  • FOFFormFieldUser
  • FOFFormFieldUsergroup
  • FOFFormHeader
  • FOFFormHeaderAccesslevel
  • FOFFormHeaderField
  • FOFFormHeaderFielddate
  • FOFFormHeaderFieldfilterable
  • FOFFormHeaderFieldsearchable
  • FOFFormHeaderFieldselectable
  • FOFFormHeaderFieldsql
  • FOFFormHeaderFilterdate
  • FOFFormHeaderFilterfilterable
  • FOFFormHeaderFiltersearchable
  • FOFFormHeaderFilterselectable
  • FOFFormHeaderFiltersql
  • FOFFormHeaderLanguage
  • FOFFormHeaderModel
  • FOFFormHeaderOrdering
  • FOFFormHeaderPublished
  • FOFFormHeaderRowselect
  • FOFFormHelper
  • FOFHalDocument
  • FOFHalLink
  • FOFHalLinks
  • FOFHalRenderJson
  • FOFInflector
  • FOFInput
  • FOFIntegrationJoomlaFilesystem
  • FOFIntegrationJoomlaPlatform
  • FOFLayoutFile
  • FOFLayoutHelper
  • FOFLess
  • FOFLessFormatterClassic
  • FOFLessFormatterCompressed
  • FOFLessFormatterJoomla
  • FOFLessFormatterLessjs
  • FOFLessParser
  • FOFModel
  • FOFModelBehavior
  • FOFModelBehaviorAccess
  • FOFModelBehaviorEmptynonzero
  • FOFModelBehaviorEnabled
  • FOFModelBehaviorFilters
  • FOFModelBehaviorLanguage
  • FOFModelBehaviorPrivate
  • FOFModelDispatcherBehavior
  • FOFModelField
  • FOFModelFieldBoolean
  • FOFModelFieldDate
  • FOFModelFieldNumber
  • FOFModelFieldText
  • FOFPlatform
  • FOFPlatformFilesystem
  • FOFQueryAbstract
  • FOFRenderAbstract
  • FOFRenderJoomla
  • FOFRenderJoomla3
  • FOFRenderStrapper
  • FOFStringUtils
  • FOFTable
  • FOFTableBehavior
  • FOFTableBehaviorAssets
  • FOFTableBehaviorContenthistory
  • FOFTableBehaviorTags
  • FOFTableDispatcherBehavior
  • FOFTableNested
  • FOFTableRelations
  • FOFTemplateUtils
  • FOFToolbar
  • FOFUtilsArray
  • FOFUtilsCacheCleaner
  • FOFUtilsConfigHelper
  • FOFUtilsFilescheck
  • FOFUtilsIniParser
  • FOFUtilsInstallscript
  • FOFUtilsIp
  • FOFUtilsObject
  • FOFUtilsObservableDispatcher
  • FOFUtilsObservableEvent
  • FOFUtilsPhpfunc
  • FOFUtilsTimer
  • FOFUtilsUpdate
  • FOFUtilsUpdateCollection
  • FOFUtilsUpdateExtension
  • FOFUtilsUpdateJoomla
  • FOFView
  • FOFViewCsv
  • FOFViewForm
  • FOFViewHtml
  • FOFViewJson
  • FOFViewRaw
  • idna_convert
  • JAccess
  • JAccessRule
  • JAccessRules
  • JAccessWrapperAccess
  • JAdapter
  • JAdapterInstance
  • JApplication
  • JApplicationAdministrator
  • JApplicationBase
  • JApplicationCli
  • JApplicationCms
  • JApplicationDaemon
  • JApplicationHelper
  • JApplicationSite
  • JApplicationWeb
  • JApplicationWebRouter
  • JApplicationWebRouterBase
  • JApplicationWebRouterRest
  • JArchive
  • JArchiveBzip2
  • JArchiveGzip
  • JArchiveTar
  • JArchiveWrapperArchive
  • JArchiveZip
  • JArrayHelper
  • JAssociationExtensionHelper
  • JAuthentication
  • JAuthenticationHelper
  • JAuthenticationResponse
  • JBrowser
  • JBuffer
  • JButton
  • JCache
  • JCacheController
  • JCacheControllerCallback
  • JCacheControllerOutput
  • JCacheControllerPage
  • JCacheControllerView
  • JCacheStorage
  • JCacheStorageApc
  • JCacheStorageApcu
  • JCacheStorageCachelite
  • JCacheStorageFile
  • JCacheStorageHelper
  • JCacheStorageMemcache
  • JCacheStorageMemcached
  • JCacheStorageRedis
  • JCacheStorageWincache
  • JCacheStorageXcache
  • JCaptcha
  • JCategories
  • JCategoryNode
  • JClassLoader
  • JCli
  • JClientFtp
  • JClientHelper
  • JClientLdap
  • JClientWrapperHelper
  • JComponentHelper
  • JComponentRecord
  • JComponentRouterBase
  • JComponentRouterLegacy
  • JComponentRouterRulesMenu
  • JComponentRouterRulesNomenu
  • JComponentRouterRulesStandard
  • JComponentRouterView
  • JComponentRouterViewconfiguration
  • JControllerAdmin
  • JControllerBase
  • JControllerForm
  • JControllerLegacy
  • JCrypt
  • JCryptCipher3Des
  • JCryptCipherBlowfish
  • JCryptCipherCrypto
  • JCryptCipherMcrypt
  • JCryptCipherRijndael256
  • JCryptCipherSimple
  • JCryptKey
  • JCryptPasswordSimple
  • JDaemon
  • JDatabase
  • JDatabaseDriver
  • JDatabaseDriverMysql
  • JDatabaseDriverMysqli
  • JDatabaseDriverOracle
  • JDatabaseDriverPdo
  • JDatabaseDriverPdomysql
  • JDatabaseDriverPostgresql
  • JDatabaseDriverSqlazure
  • JDatabaseDriverSqlite
  • JDatabaseDriverSqlsrv
  • JDatabaseExporter
  • JDatabaseExporterMysql
  • JDatabaseExporterMysqli
  • JDatabaseExporterPdomysql
  • JDatabaseExporterPostgresql
  • JDatabaseFactory
  • JDatabaseImporter
  • JDatabaseImporterMysql
  • JDatabaseImporterMysqli
  • JDatabaseImporterPdomysql
  • JDatabaseImporterPostgresql
  • JDatabaseInterface
  • JDatabaseIterator
  • JDatabaseIteratorMysql
  • JDatabaseIteratorMysqli
  • JDatabaseIteratorOracle
  • JDatabaseIteratorPdo
  • JDatabaseIteratorPdomysql
  • JDatabaseIteratorPostgresql
  • JDatabaseIteratorSqlazure
  • JDatabaseIteratorSqlite
  • JDatabaseIteratorSqlsrv
  • JDatabaseMysql
  • JDatabaseMysqli
  • JDatabaseQuery
  • JDatabaseQueryElement
  • JDatabaseQueryLimitable
  • JDatabaseQueryMysql
  • JDatabaseQueryMysqli
  • JDatabaseQueryOracle
  • JDatabaseQueryPdo
  • JDatabaseQueryPdomysql
  • JDatabaseQueryPostgresql
  • JDatabaseQueryPreparable
  • JDatabaseQuerySqlazure
  • JDatabaseQuerySqlite
  • JDatabaseQuerySqlsrv
  • JDatabaseSqlazure
  • JDatabaseSqlsrv
  • JDate
  • JDispatcher
  • JDocument
  • JDocumentError
  • JDocumentFeed
  • JDocumentHtml
  • JDocumentImage
  • JDocumentJson
  • JDocumentOpensearch
  • JDocumentRaw
  • JDocumentRenderer
  • JDocumentRendererAtom
  • JDocumentRendererComponent
  • JDocumentRendererFeedAtom
  • JDocumentRendererFeedRss
  • JDocumentRendererHead
  • JDocumentRendererHtmlComponent
  • JDocumentRendererHtmlHead
  • JDocumentRendererHtmlMessage
  • JDocumentRendererHtmlModule
  • JDocumentRendererHtmlModules
  • JDocumentRendererMessage
  • JDocumentRendererModule
  • JDocumentRendererModules
  • JDocumentRendererRSS
  • JDocumentXml
  • JEditor
  • JError
  • JErrorPage
  • JEvent
  • JEventDispatcher
  • JExtension
  • JFacebook
  • JFacebookAlbum
  • JFacebookCheckin
  • JFacebookComment
  • JFacebookEvent
  • JFacebookGroup
  • JFacebookLink
  • JFacebookNote
  • JFacebookOAuth
  • JFacebookObject
  • JFacebookPhoto
  • JFacebookPost
  • JFacebookStatus
  • JFacebookUser
  • JFacebookVideo
  • JFactory
  • JFeed
  • JFeedEnclosure
  • JFeedEntry
  • JFeedFactory
  • JFeedImage
  • JFeedItem
  • JFeedLink
  • JFeedParser
  • JFeedParserAtom
  • JFeedParserRss
  • JFeedParserRssItunes
  • JFeedParserRssMedia
  • JFeedPerson
  • JFile
  • JFilesystemHelper
  • JFilesystemPatcher
  • JFilesystemWrapperFile
  • JFilesystemWrapperFolder
  • JFilesystemWrapperPath
  • JFilterInput
  • JFilterOutput
  • JFilterWrapperOutput
  • JFolder
  • JForm
  • JFormField
  • JFormFieldAccessLevel
  • JFormFieldAliastag
  • JFormFieldAuthor
  • JFormFieldCacheHandler
  • JFormFieldCalendar
  • JFormFieldCaptcha
  • JFormFieldCategory
  • JFormFieldCheckbox
  • JFormFieldCheckboxes
  • JFormFieldChromeStyle
  • JFormFieldColor
  • JFormFieldCombo
  • JFormFieldComponentlayout
  • JFormFieldComponents
  • JFormFieldContenthistory
  • JFormFieldContentlanguage
  • JFormFieldContenttype
  • JFormFieldDatabaseConnection
  • JFormFieldEditor
  • JFormFieldEMail
  • JFormFieldFile
  • JFormFieldFileList
  • JFormFieldFolderList
  • JFormFieldFrontend_Language
  • JFormFieldGroupedList
  • JFormFieldHeadertag
  • JFormFieldHelpsite
  • JFormFieldHidden
  • JFormFieldImageList
  • JFormFieldInteger
  • JFormFieldLanguage
  • JFormFieldLastvisitDateRange
  • JFormFieldLimitbox
  • JFormFieldList
  • JFormFieldMedia
  • JFormFieldMenu
  • JFormFieldMenuitem
  • JFormFieldMeter
  • JFormFieldModulelayout
  • JFormFieldModuleOrder
  • JFormFieldModulePosition
  • JFormFieldModuletag
  • JFormFieldNote
  • JFormFieldNumber
  • JFormFieldOrdering
  • JFormFieldPassword
  • JFormFieldPlugin_Status
  • JFormFieldPlugins
  • JFormFieldPredefinedList
  • JFormFieldRadio
  • JFormFieldRange
  • JFormFieldRegistrationDateRange
  • JFormFieldRepeatable
  • JFormFieldRules
  • JFormFieldSessionHandler
  • JFormFieldSpacer
  • JFormFieldSQL
  • JFormFieldStatus
  • JFormFieldSubform
  • JFormFieldTag
  • JFormFieldTel
  • JFormFieldTemplatestyle
  • JFormFieldText
  • JFormFieldTextarea
  • JFormFieldTimezone
  • JFormFieldUrl
  • JFormFieldUser
  • JFormFieldUserActive
  • JFormFieldUsergroup
  • JFormFieldUserGroupList
  • JFormFieldUserState
  • JFormHelper
  • JFormRule
  • JFormRuleBoolean
  • JFormRuleCalendar
  • JFormRuleCaptcha
  • JFormRuleColor
  • JFormRuleEmail
  • JFormRuleEquals
  • JFormRuleNotequals
  • JFormRuleNumber
  • JFormRuleOptions
  • JFormRulePassword
  • JFormRuleRules
  • JFormRuleTel
  • JFormRuleUrl
  • JFormRuleUsername
  • JFormWrapperHelper
  • JFTP
  • JGithub
  • JGithubAccount
  • JGithubCommits
  • JGithubForks
  • JGithubHooks
  • JGithubHttp
  • JGithubMeta
  • JGithubMilestones
  • JGithubObject
  • JGithubPackage
  • JGithubPackageActivity
  • JGithubPackageActivityEvents
  • JGithubPackageActivityNotifications
  • JGithubPackageActivityStarring
  • JGithubPackageActivityWatching
  • JGithubPackageAuthorization
  • JGithubPackageData
  • JGithubPackageDataBlobs
  • JGithubPackageDataCommits
  • JGithubPackageDataRefs
  • JGithubPackageDataTags
  • JGithubPackageDataTrees
  • JGithubPackageGists
  • JGithubPackageGistsComments
  • JGithubPackageGitignore
  • JGithubPackageIssues
  • JGithubPackageIssuesAssignees
  • JGithubPackageIssuesComments
  • JGithubPackageIssuesEvents
  • JGithubPackageIssuesLabels
  • JGithubPackageIssuesMilestones
  • JGithubPackageMarkdown
  • JGithubPackageOrgs
  • JGithubPackageOrgsMembers
  • JGithubPackageOrgsTeams
  • JGithubPackagePulls
  • JGithubPackagePullsComments
  • JGithubPackageRepositories
  • JGithubPackageRepositoriesCollaborators
  • JGithubPackageRepositoriesComments
  • JGithubPackageRepositoriesCommits
  • JGithubPackageRepositoriesContents
  • JGithubPackageRepositoriesDownloads
  • JGithubPackageRepositoriesForks
  • JGithubPackageRepositoriesHooks
  • JGithubPackageRepositoriesKeys
  • JGithubPackageRepositoriesMerging
  • JGithubPackageRepositoriesStatistics
  • JGithubPackageRepositoriesStatuses
  • JGithubPackageSearch
  • JGithubPackageUsers
  • JGithubPackageUsersEmails
  • JGithubPackageUsersFollowers
  • JGithubPackageUsersKeys
  • JGithubRefs
  • JGithubStatuses
  • JGoogle
  • JGoogleAuth
  • JGoogleAuthOauth2
  • JGoogleData
  • JGoogleDataAdsense
  • JGoogleDataCalendar
  • JGoogleDataPicasa
  • JGoogleDataPicasaAlbum
  • JGoogleDataPicasaPhoto
  • JGoogleDataPlus
  • JGoogleDataPlusActivities
  • JGoogleDataPlusComments
  • JGoogleDataPlusPeople
  • JGoogleEmbed
  • JGoogleEmbedAnalytics
  • JGoogleEmbedMaps
  • JGrid
  • JHelp
  • JHelper
  • JHelperContent
  • JHelperContenthistory
  • JHelperMedia
  • JHelperRoute
  • JHelperTags
  • JHelperUsergroups
  • JHtml
  • JHtmlAccess
  • JHtmlActionsDropdown
  • JHtmlBatch
  • JHtmlBehavior
  • JHtmlBootstrap
  • JHtmlCategory
  • JHtmlContent
  • JHtmlContentLanguage
  • JHtmlDate
  • JHtmlDebug
  • JHtmlDropdown
  • JHtmlEmail
  • JHtmlForm
  • JHtmlFormbehavior
  • JHtmlGrid
  • JHtmlIcons
  • JHtmlJGrid
  • JHtmlJquery
  • JHtmlLinks
  • JHtmlList
  • JHtmlMenu
  • JHtmlNumber
  • JHtmlRules
  • JHtmlSearchtools
  • JHtmlSelect
  • JHtmlSidebar
  • JHtmlSliders
  • JHtmlSortablelist
  • JHtmlString
  • JHtmlTabs
  • JHtmlTag
  • JHtmlTel
  • JHtmlUser
  • JHttp
  • JHttpFactory
  • JHttpResponse
  • JHttpTransportCurl
  • JHttpTransportSocket
  • JHttpTransportStream
  • JHttpWrapperFactory
  • JImage
  • JImageFilter
  • JImageFilterBackgroundfill
  • JImageFilterBrightness
  • JImageFilterContrast
  • JImageFilterEdgedetect
  • JImageFilterEmboss
  • JImageFilterGrayscale
  • JImageFilterNegate
  • JImageFilterSketchy
  • JImageFilterSmooth
  • JInput
  • JInputCli
  • JInputCookie
  • JInputFiles
  • JInputJSON
  • JInstaller
  • JInstallerAdapter
  • JInstallerAdapterComponent
  • JInstallerAdapterFile
  • JInstallerAdapterLanguage
  • JInstallerAdapterLibrary
  • JInstallerAdapterModule
  • JInstallerAdapterPackage
  • JInstallerAdapterPlugin
  • JInstallerAdapterTemplate
  • JInstallerComponent
  • JInstallerExtension
  • JInstallerFile
  • JInstallerHelper
  • JInstallerLanguage
  • JInstallerLibrary
  • JInstallerManifest
  • JInstallerManifestLibrary
  • JInstallerManifestPackage
  • JInstallerModule
  • JInstallerPackage
  • JInstallerPlugin
  • JInstallerScript
  • JInstallerTemplate
  • JKeychain
  • JLanguage
  • JLanguageAssociations
  • JLanguageHelper
  • JLanguageMultilang
  • JLanguageStemmer
  • JLanguageStemmerPorteren
  • JLanguageTransliterate
  • JLanguageWrapperHelper
  • JLanguageWrapperText
  • JLanguageWrapperTransliterate
  • JLayoutBase
  • JLayoutFile
  • JLayoutHelper
  • JLDAP
  • JLess
  • JLessFormatterJoomla
  • JLibraryHelper
  • JLinkedin
  • JLinkedinCommunications
  • JLinkedinCompanies
  • JLinkedinGroups
  • JLinkedinJobs
  • JLinkedinOauth
  • JLinkedinObject
  • JLinkedinPeople
  • JLinkedinStream
  • JLoader
  • JLog
  • JLogEntry
  • JLogger
  • JLogLogger
  • JLogLoggerCallback
  • JLogLoggerDatabase
  • JLogLoggerEcho
  • JLogLoggerFormattedtext
  • JLogLoggerMessagequeue
  • JLogLoggerSyslog
  • JLogLoggerW3c
  • JMail
  • JMailHelper
  • JMailWrapperHelper
  • JMediawiki
  • JMediawikiCategories
  • JMediawikiHttp
  • JMediawikiImages
  • JMediawikiLinks
  • JMediawikiObject
  • JMediawikiPages
  • JMediawikiSearch
  • JMediawikiSites
  • JMediawikiUsers
  • JMenu
  • JMenuAdministrator
  • JMenuItem
  • JMenuSite
  • JMicrodata
  • JModelAdmin
  • JModelBase
  • JModelDatabase
  • JModelForm
  • JModelItem
  • JModelLegacy
  • JModelList
  • JModuleHelper
  • JNode
  • JOAuth1Client
  • JOAuth2Client
  • JObject
  • JObservable
  • JObserver
  • JObserverMapper
  • JObserverUpdater
  • JObserverWrapperMapper
  • JOpenSearchImage
  • JOpenSearchUrl
  • JOpenstreetmap
  • JOpenstreetmapChangesets
  • JOpenstreetmapElements
  • JOpenstreetmapGps
  • JOpenstreetmapInfo
  • JOpenstreetmapOauth
  • JOpenstreetmapObject
  • JOpenstreetmapUser
  • JPagination
  • JPaginationObject
  • JPath
  • JPathway
  • JPathwaySite
  • JPlatform
  • JPlugin
  • JPluginHelper
  • JProfiler
  • JRequest
  • JResponse
  • JResponseJson
  • JRoute
  • JRouter
  • JRouterAdministrator
  • JRouterSite
  • JRouteWrapperRoute
  • JRule
  • JRules
  • JSchemaChangeitem
  • JSchemaChangeitemMysql
  • JSchemaChangeitemPostgresql
  • JSchemaChangeitemSqlsrv
  • JSchemaChangeset
  • JSearchHelper
  • JSession
  • JSessionHandlerJoomla
  • JSessionHandlerNative
  • JSessionStorage
  • JSessionStorageApc
  • JSessionStorageDatabase
  • JSessionStorageMemcache
  • JSessionStorageMemcached
  • JSessionStorageNone
  • JSessionStorageWincache
  • JSessionStorageXcache
  • JSimplecrypt
  • JSimplepieFactory
  • JStream
  • JStreamString
  • JString
  • JStringController
  • JStringPunycode
  • JStringWrapperNormalise
  • JStringWrapperPunycode
  • JTable
  • JTableAsset
  • JTableCategory
  • JTableContent
  • JTableContenthistory
  • JTableContenttype
  • JTableCorecontent
  • JTableExtension
  • JTableInterface
  • JTableLanguage
  • JTableMenu
  • JTableMenuType
  • JTableModule
  • JTableNested
  • JTableObserver
  • JTableObserverContenthistory
  • JTableObserverTags
  • JTableSession
  • JTableUcm
  • JTableUpdate
  • JTableUpdatesite
  • JTableUser
  • JTableUsergroup
  • JTableViewlevel
  • JText
  • JToolbar
  • JToolbarButton
  • JToolbarButtonConfirm
  • JToolbarButtonCustom
  • JToolbarButtonHelp
  • JToolbarButtonLink
  • JToolbarButtonPopup
  • JToolbarButtonSeparator
  • JToolbarButtonSlider
  • JToolbarButtonStandard
  • JTree
  • JTwitter
  • JTwitterBlock
  • JTwitterDirectmessages
  • JTwitterFavorites
  • JTwitterFriends
  • JTwitterHelp
  • JTwitterLists
  • JTwitterOAuth
  • JTwitterObject
  • JTwitterPlaces
  • JTwitterProfile
  • JTwittersearch
  • JTwitterStatuses
  • JTwitterTrends
  • JTwitterUsers
  • JUcmBase
  • JUcmContent
  • JUcmType
  • JUpdate
  • JUpdateAdapter
  • JUpdater
  • JUpdaterCollection
  • JUpdaterExtension
  • JUri
  • JUser
  • JUserHelper
  • JUserWrapperHelper
  • JUtility
  • JVersion
  • JViewBase
  • JViewCategories
  • JViewCategory
  • JViewCategoryfeed
  • JViewHtml
  • JViewLegacy
  • JWeb
  • JWebClient
  • JXMLElement
  • lessc
  • lessc_formatter_classic
  • lessc_formatter_compressed
  • lessc_formatter_lessjs
  • lessc_parser
  • lessify
  • Net_IDNA_php4
  • nodecounter
  • ntlm_sasl_client_class
  • PHPMailer
  • PHPMailerOAuth
  • PHPMailerOAuthGoogle
  • POP3
  • SimplePie
  • SimplePie_Author
  • SimplePie_Autoloader
  • SimplePie_Cache
  • SimplePie_Cache_DB
  • SimplePie_Cache_File
  • SimplePie_Cache_Memcache
  • SimplePie_Cache_MySQL
  • SimplePie_Caption
  • SimplePie_Category
  • SimplePie_Content_Type_Sniffer
  • SimplePie_Copyright
  • SimplePie_Core
  • SimplePie_Credit
  • SimplePie_Decode_HTML_Entities
  • SimplePie_Enclosure
  • SimplePie_File
  • SimplePie_gzdecode
  • SimplePie_HTTP_Parser
  • SimplePie_IRI
  • SimplePie_Item
  • SimplePie_Locator
  • SimplePie_Misc
  • SimplePie_Net_IPv6
  • SimplePie_Parse_Date
  • SimplePie_Parser
  • SimplePie_Rating
  • SimplePie_Registry
  • SimplePie_Restriction
  • SimplePie_Sanitize
  • SimplePie_Source
  • SimplePie_XML_Declaration_Parser
  • SMTP
  • tagparse
  • TypeError

Interfaces

  • FOFConfigDomainInterface
  • FOFDatabaseInterface
  • FOFDatabaseQueryLimitable
  • FOFDatabaseQueryPreparable
  • FOFDownloadInterface
  • FOFEncryptAesInterface
  • FOFEncryptRandvalinterface
  • FOFFormField
  • FOFHalRenderInterface
  • FOFPlatformFilesystemInterface
  • FOFPlatformInterface
  • JArchiveExtractable
  • JAssociationExtensionInterface
  • JCacheException
  • JComponentRouterInterface
  • JComponentRouterRulesInterface
  • JController
  • JCryptCipher
  • JCryptPassword
  • JFeedParserNamespace
  • JHttpTransport
  • JLayout
  • JModel
  • JObservableInterface
  • JObserverInterface
  • JObserverUpdaterInterface
  • JSessionHandlerInterface
  • JsonSerializable
  • JUcm
  • JView
  • SimplePie_Cache_Base

Exceptions

  • Error
  • JAccessExceptionNotallowed
  • JCacheExceptionConnecting
  • JCacheExceptionUnsupported
  • JComponentExceptionMissing
  • JDatabaseException
  • JDatabaseExceptionConnecting
  • JDatabaseExceptionExecuting
  • JDatabaseExceptionUnsupported
  • JException
  • JSessionExceptionUnsupported
  • LogException
  • phpmailerException
  • SimplePie_Exception

Constants

  • JERROR_CALLBACK_NOT_CALLABLE
  • JERROR_ILLEGAL_MODE
  • JERROR_ILLEGAL_OPTIONS
  • JREQUEST_ALLOWHTML
  • JREQUEST_ALLOWRAW
  • JREQUEST_NOTRIM
  • JROUTER_MODE_RAW
  • JROUTER_MODE_SEF

Functions

  • __autoload
  • array_column
  • boolval
  • composerRequire205c915b9c7d3e718e7c95793ee67ffe
  • gzopen
  • gzseek
  • gztell
  • hash_equals
  • hash_pbkdf2
  • HTMLFilter
  • jexit
  • jimport
  • json_last_error_msg
  • ldap_escape
  • password_get_info
  • password_hash
  • password_needs_rehash
  • password_verify
  • PHPMailerAutoload
  • random_bytes
  • random_int
  • RandomCompat_intval
  • RandomCompat_strlen
  • RandomCompat_substr
  • tln_body2div
  • tln_casenormalize
  • tln_deent
  • tln_defang
  • tln_findnxreg
  • tln_findnxstr
  • tln_fixatts
  • tln_fixstyle
  • tln_fixurl
  • tln_getnxtag
  • tln_sanitize
  • tln_skipspace
  • tln_tagprint
  • tln_unspace
  • utf8_accents_to_ascii
  • utf8_bad_explain
  • utf8_bad_find
  • utf8_bad_findall
  • utf8_bad_identify
  • utf8_bad_replace
  • utf8_bad_strip
  • utf8_byte_position
  • utf8_compliant
  • utf8_from_unicode
  • utf8_ireplace
  • utf8_is_ascii
  • utf8_is_ascii_ctrl
  • utf8_is_valid
  • utf8_is_word_chars
  • utf8_locate_current_chr
  • utf8_locate_next_chr
  • utf8_ltrim
  • utf8_ord
  • utf8_rtrim
  • utf8_specials_pattern
  • utf8_str_pad
  • utf8_str_split
  • utf8_strcasecmp
  • utf8_strcspn
  • utf8_strip_ascii_ctrl
  • utf8_strip_non_ascii
  • utf8_strip_non_ascii_ctrl
  • utf8_strip_specials
  • utf8_stristr
  • utf8_strlen
  • utf8_strpos
  • utf8_strrev
  • utf8_strrpos
  • utf8_strspn
  • utf8_strtolower
  • utf8_strtoupper
  • utf8_substr
  • utf8_substr_replace
  • utf8_to_unicode
  • utf8_trim
  • utf8_ucfirst
  • utf8_ucwords
  • utf8_ucwords_callback
  1 <?php
  2 /**
  3  * @package     Joomla.Platform
  4  * @subpackage  Google
  5  *
  6  * @copyright   Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved
  7  * @license     GNU General Public License version 2 or later; see LICENSE
  8  */
  9 
 10 defined('JPATH_PLATFORM') or die;
 11 
 12 use Joomla\Registry\Registry;
 13 
 14 /**
 15  * Google Calendar data class for the Joomla Platform.
 16  *
 17  * @since       12.3
 18  * @deprecated  4.0  Use the `joomla/google` package via Composer instead
 19  */
 20 class JGoogleDataCalendar extends JGoogleData
 21 {
 22     /**
 23      * Constructor.
 24      *
 25      * @param   Registry     $options  Google options object
 26      * @param   JGoogleAuth  $auth     Google data http client object
 27      *
 28      * @since   12.3
 29      */
 30     public function __construct(Registry $options = null, JGoogleAuth $auth = null)
 31     {
 32         parent::__construct($options, $auth);
 33 
 34         if (isset($this->auth) && !$this->auth->getOption('scope'))
 35         {
 36             $this->auth->setOption('scope', 'https://www.googleapis.com/auth/calendar');
 37         }
 38     }
 39 
 40     /**
 41      * Method to remove a calendar from a user's calendar list
 42      *
 43      * @param   string  $calendarID  ID of calendar to delete
 44      *
 45      * @return  boolean  Success or failure
 46      *
 47      * @since   12.3
 48      * @throws UnexpectedValueException
 49      */
 50     public function removeCalendar($calendarID)
 51     {
 52         if ($this->isAuthenticated())
 53         {
 54             $jdata = $this->query('https://www.googleapis.com/calendar/v3/users/me/calendarList/' . urlencode($calendarID), null, null, 'delete');
 55 
 56             if ($jdata->body != '')
 57             {
 58                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
 59             }
 60 
 61             return true;
 62         }
 63         else
 64         {
 65             return false;
 66         }
 67     }
 68 
 69     /**
 70      * Method to get a calendar's settings from Google
 71      *
 72      * @param   string  $calendarID  ID of calendar to get.
 73      *
 74      * @return  mixed  Data from Google
 75      *
 76      * @since   12.3
 77      * @throws UnexpectedValueException
 78      */
 79     public function getCalendar($calendarID)
 80     {
 81         if ($this->isAuthenticated())
 82         {
 83             $jdata = $this->query('https://www.googleapis.com/calendar/v3/users/me/calendarList/' . urlencode($calendarID));
 84 
 85             if ($data = json_decode($jdata->body, true))
 86             {
 87                 return $data;
 88             }
 89             else
 90             {
 91                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
 92             }
 93         }
 94         else
 95         {
 96             return false;
 97         }
 98     }
 99 
100     /**
101      * Method to add a calendar to a user's Google Calendar list
102      *
103      * @param   string  $calendarID  New calendar ID
104      * @param   array   $options     New calendar settings
105      *
106      * @return  mixed  Data from Google
107      *
108      * @since   12.3
109      * @throws UnexpectedValueException
110      */
111     public function addCalendar($calendarID, $options = array())
112     {
113         if ($this->isAuthenticated())
114         {
115             $options['id'] = $calendarID;
116             $url = 'https://www.googleapis.com/calendar/v3/users/me/calendarList';
117             $jdata = $this->query($url, json_encode($options), array('Content-type' => 'application/json'), 'post');
118 
119             if ($data = json_decode($jdata->body, true))
120             {
121                 return $data;
122             }
123             else
124             {
125                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
126             }
127         }
128         else
129         {
130             return false;
131         }
132     }
133 
134     /**
135      * Method to retrieve calendar list from Google
136      *
137      * @param   array  $options   Search settings
138      * @param   int    $maxpages  Maximum number of pages of calendars to return
139      *
140      * @return  mixed  Data from Google
141      *
142      * @since   12.3
143      * @throws UnexpectedValueException
144      */
145     public function listCalendars($options = array(), $maxpages = 1)
146     {
147         if ($this->isAuthenticated())
148         {
149             $next = array_key_exists('nextPageToken', $options) ? $options['nextPage'] : null;
150             unset($options['nextPageToken']);
151             $url = 'https://www.googleapis.com/calendar/v3/users/me/calendarList?' . http_build_query($options);
152 
153             return $this->listGetData($url, $maxpages, $next);
154         }
155         else
156         {
157             return false;
158         }
159     }
160 
161     /**
162      * Method to edit a Google Calendar's settings
163      *
164      * @param   string  $calendarID  Calendar ID
165      * @param   array   $options     Calendar settings
166      *
167      * @return  mixed  Data from Google
168      *
169      * @since   12.3
170      * @throws UnexpectedValueException
171      */
172     public function editCalendarSettings($calendarID, $options)
173     {
174         if ($this->isAuthenticated())
175         {
176             $url = 'https://www.googleapis.com/calendar/v3/users/me/calendarList/' . urlencode($calendarID);
177             $jdata = $this->query($url, json_encode($options), array('Content-type' => 'application/json'), 'put');
178 
179             if ($data = json_decode($jdata->body, true))
180             {
181                 return $data;
182             }
183             else
184             {
185                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
186             }
187         }
188         else
189         {
190             return false;
191         }
192     }
193 
194     /**
195      * Method to clear a Google Calendar
196      *
197      * @param   string  $calendarID  ID of calendar to clear
198      *
199      * @return  boolean  Success or failure
200      *
201      * @since   12.3
202      * @throws UnexpectedValueException
203      */
204     public function clearCalendar($calendarID)
205     {
206         if ($this->isAuthenticated())
207         {
208             $data = $this->query('https://www.googleapis.com/calendar/v3/users/me/calendars/' . urlencode($calendarID) . '/clear', null, null, 'post');
209 
210             if ($data->body != '')
211             {
212                 throw new UnexpectedValueException("Unexpected data received from Google: `{$data->body}`.");
213             }
214 
215             return true;
216         }
217         else
218         {
219             return false;
220         }
221     }
222 
223     /**
224      * Method to delete a calendar from Google
225      *
226      * @param   string  $calendarID  ID of calendar to delete.
227      *
228      * @return  boolean  Success or failure
229      *
230      * @since   12.3
231      * @throws UnexpectedValueException
232      */
233     public function deleteCalendar($calendarID)
234     {
235         if ($this->isAuthenticated())
236         {
237             $data = $this->query('https://www.googleapis.com/calendar/v3/users/me/calendars/' . urlencode($calendarID), null, null, 'delete');
238 
239             if ($data->body != '')
240             {
241                 throw new UnexpectedValueException("Unexpected data received from Google: `{$data->body}`.");
242             }
243 
244             return true;
245         }
246         else
247         {
248             return false;
249         }
250     }
251 
252     /**
253      * Method to create a Google Calendar
254      *
255      * @param   string  $title    New calendar title
256      * @param   array   $options  New calendar settings
257      *
258      * @return  mixed  Data from Google.
259      *
260      * @since   12.3
261      * @throws UnexpectedValueException
262      */
263     public function createCalendar($title, $options = array())
264     {
265         if ($this->isAuthenticated())
266         {
267             $options['summary'] = $title;
268             $url = 'https://www.googleapis.com/calendar/v3/calendars';
269             $jdata = $this->query($url, json_encode($options), array('Content-type' => 'application/json'), 'post');
270 
271             if ($data = json_decode($jdata->body, true))
272             {
273                 return $data;
274             }
275             else
276             {
277                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
278             }
279         }
280         else
281         {
282             return false;
283         }
284     }
285 
286     /**
287      * Method to edit a Google Calendar
288      *
289      * @param   string  $calendarID  Calendar ID.
290      * @param   array   $options     Calendar settings.
291      *
292      * @return  mixed  Data from Google.
293      *
294      * @since   12.3
295      * @throws UnexpectedValueException
296      */
297     public function editCalendar($calendarID, $options)
298     {
299         if ($this->isAuthenticated())
300         {
301             $url = 'https://www.googleapis.com/calendar/v3/users/me/calendars/' . urlencode($calendarID);
302             $jdata = $this->query($url, json_encode($options), array('Content-type' => 'application/json'), 'put');
303             $data = json_decode($jdata->body, true);
304 
305             if ($data && array_key_exists('items', $data))
306             {
307                 return $data;
308             }
309             else
310             {
311                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
312             }
313         }
314         else
315         {
316             return false;
317         }
318     }
319 
320     /**
321      * Method to delete an event from a Google Calendar
322      *
323      * @param   string  $calendarID  ID of calendar to delete from
324      * @param   string  $eventID     ID of event to delete.
325      *
326      * @return  boolean  Success or failure.
327      *
328      * @since   12.3
329      * @throws UnexpectedValueException
330      */
331     public function deleteEvent($calendarID, $eventID)
332     {
333         if ($this->isAuthenticated())
334         {
335             $url = 'https://www.googleapis.com/calendar/v3/users/me/calendars/' . urlencode($calendarID) . '/events/' . urlencode($eventID);
336             $data = $this->query($url, null, null, 'delete');
337 
338             if ($data->body != '')
339             {
340                 throw new UnexpectedValueException("Unexpected data received from Google: `{$data->body}`.");
341             }
342 
343             return true;
344         }
345         else
346         {
347             return false;
348         }
349     }
350 
351     /**
352      * Method to get an event from a Google Calendar
353      *
354      * @param   string  $calendarID  ID of calendar
355      * @param   string  $eventID     ID of event to get
356      * @param   array   $options     Options to send to Google
357      *
358      * @return  mixed  Data from Google.
359      *
360      * @since   12.3
361      * @throws UnexpectedValueException
362      */
363     public function getEvent($calendarID, $eventID, $options = array())
364     {
365         if ($this->isAuthenticated())
366         {
367             $url = 'https://www.googleapis.com/calendar/v3/users/me/calendarList/';
368             $url .= urlencode($calendarID) . '/events/' . urlencode($eventID) . '?' . http_build_query($options);
369             $jdata = $this->query($url);
370 
371             if ($data = json_decode($jdata->body, true))
372             {
373                 return $data;
374             }
375             else
376             {
377                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
378             }
379         }
380         else
381         {
382             return false;
383         }
384     }
385 
386     /**
387      * Method to create a Google Calendar event
388      *
389      * @param   string   $calendarID  ID of calendar
390      * @param   mixed    $start       Event start time
391      * @param   mixed    $end         Event end time
392      * @param   array    $options     New event settings
393      * @param   mixed    $timezone    Timezone for event
394      * @param   boolean  $allday      Treat event as an all-day event
395      * @param   boolean  $notify      Notify participants
396      *
397      * @return  mixed  Data from Google.
398      *
399      * @since   12.3
400      * @throws InvalidArgumentException
401      * @throws UnexpectedValueException
402      */
403     public function createEvent($calendarID, $start, $end = false, $options = array(), $timezone = false, $allday = false, $notify = false)
404     {
405         if ($this->isAuthenticated())
406         {
407             if (!$start)
408             {
409                 $startobj = new DateTime;
410             }
411             elseif (is_int($start))
412             {
413                 $startobj = new DateTime;
414                 $startobj->setTimestamp($start);
415             }
416             elseif (is_string($start))
417             {
418                 $startobj = new DateTime($start);
419             }
420             elseif (is_a($start, 'DateTime'))
421             {
422                 $startobj = $start;
423             }
424             else
425             {
426                 throw new InvalidArgumentException('Invalid event start time.');
427             }
428 
429             if (!$end)
430             {
431                 $endobj = $startobj;
432             }
433             elseif (is_int($end))
434             {
435                 $endobj = new DateTime;
436                 $endobj->setTimestamp($end);
437             }
438             elseif (is_string($end))
439             {
440                 $endobj = new DateTime($end);
441             }
442             elseif (is_a($end, 'DateTime'))
443             {
444                 $endobj = $end;
445             }
446             else
447             {
448                 throw new InvalidArgumentException('Invalid event end time.');
449             }
450 
451             if ($allday)
452             {
453                 $options['start'] = array('date' => $startobj->format('Y-m-d'));
454                 $options['end'] = array('date' => $endobj->format('Y-m-d'));
455             }
456             else
457             {
458                 $options['start'] = array('dateTime' => $startobj->format(DateTime::RFC3339));
459                 $options['end'] = array('dateTime' => $endobj->format(DateTime::RFC3339));
460             }
461 
462             if ($timezone === true)
463             {
464                 $options['start']['timeZone'] = $startobj->getTimezone()->getName();
465                 $options['end']['timeZone'] = $endobj->getTimezone()->getName();
466             }
467             elseif (is_a($timezone, 'DateTimeZone'))
468             {
469                 $options['start']['timeZone'] = $timezone->getName();
470                 $options['end']['timeZone'] = $timezone->getName();
471             }
472             elseif (is_string($timezone))
473             {
474                 $options['start']['timeZone'] = $timezone;
475                 $options['end']['timeZone'] = $timezone;
476             }
477 
478             $url = 'https://www.googleapis.com/calendar/v3/calendars/' . urlencode($calendarID) . '/events' . ($notify ? '?sendNotifications=true' : '');
479             $jdata = $this->query($url, json_encode($options), array('Content-type' => 'application/json'), 'post');
480 
481             if ($data = json_decode($jdata->body, true))
482             {
483                 return $data;
484             }
485             else
486             {
487                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
488             }
489         }
490         else
491         {
492             return false;
493         }
494     }
495 
496     /**
497      * Method to retrieve a list of events on a Google calendar
498      *
499      * @param   string  $calendarID  Calendar ID
500      * @param   string  $eventID     ID of the event to change
501      * @param   array   $options     Search settings
502      * @param   int     $maxpages    Minimum number of events to retrieve (more may be retrieved depending on page size)
503      *
504      * @return  mixed  Data from Google.
505      *
506      * @since   12.3
507      * @throws UnexpectedValueException
508      */
509     public function listRecurrences($calendarID, $eventID, $options = array(), $maxpages = 1)
510     {
511         if ($this->isAuthenticated())
512         {
513             $next = array_key_exists('nextPageToken', $options) ? $options['nextPage'] : null;
514             unset($options['nextPageToken']);
515             $url = 'https://www.googleapis.com/calendar/v3/users/me/calendars/' . urlencode($calendarID) . '/events/' . urlencode($eventID) . '/instances';
516             $url .= '?' . http_build_query($options);
517 
518             return $this->listGetData($url, $maxpages, $next);
519         }
520         else
521         {
522             return false;
523         }
524     }
525 
526     /**
527      * Method to retrieve a list of events on a Google calendar
528      *
529      * @param   string  $calendarID  Calendar ID
530      * @param   array   $options     Calendar settings
531      * @param   int     $maxpages    Cycle through pages of data to generate a complete list
532      *
533      * @return  mixed  Data from Google.
534      *
535      * @since   12.3
536      * @throws UnexpectedValueException
537      */
538     public function listEvents($calendarID, $options = array(), $maxpages = 1)
539     {
540         if ($this->isAuthenticated())
541         {
542             $next = array_key_exists('nextPageToken', $options) ? $options['nextPage'] : null;
543             unset($options['nextPageToken']);
544             $url = 'https://www.googleapis.com/calendar/v3/calendars/' . urlencode($calendarID) . '/events?' . http_build_query($options);
545 
546             return $this->listGetData($url, $maxpages, $next);
547         }
548         else
549         {
550             return false;
551         }
552     }
553 
554     /**
555      * Method to move an event from one calendar to another
556      *
557      * @param   string   $calendarID  Calendar ID
558      * @param   string   $eventID     ID of the event to change
559      * @param   string   $destID      Calendar ID
560      * @param   boolean  $notify      Notify participants of changes
561      *
562      * @return  mixed  Data from Google.
563      *
564      * @since   12.3
565      * @throws UnexpectedValueException
566      */
567     public function moveEvent($calendarID, $eventID, $destID, $notify = false)
568     {
569         if ($this->isAuthenticated())
570         {
571             $url = 'https://www.googleapis.com/calendar/v3/calendars/' . urlencode($calendarID) . '/events/' . urlencode($eventID) . '/move';
572             $url .= '?destination=' . $destID . ($notify ? '&sendNotifications=true' : '');
573             $jdata = $this->query($url, null, null, 'post');
574 
575             if ($data = json_decode($jdata->body, true))
576             {
577                 return $data;
578             }
579             else
580             {
581                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
582             }
583         }
584         else
585         {
586             return false;
587         }
588     }
589 
590     /**
591      * Method to edit a Google Calendar event
592      *
593      * @param   string   $calendarID  Calendar ID
594      * @param   string   $eventID     ID of the event to change
595      * @param   array    $options     Event settings
596      * @param   boolean  $notify      Notify participants of changes
597      *
598      * @return  mixed  Data from Google.
599      *
600      * @since   12.3
601      * @throws UnexpectedValueException
602      */
603     public function editEvent($calendarID, $eventID, $options, $notify = false)
604     {
605         if ($this->isAuthenticated())
606         {
607             $url = 'https://www.googleapis.com/calendar/v3/calendars/';
608             $url .= urlencode($calendarID) . '/events/' . urlencode($eventID) . ($notify ? '?sendNotifications=true' : '');
609             $jdata = $this->query($url, json_encode($options), array('Content-type' => 'application/json'), 'put');
610 
611             if ($data = json_decode($jdata->body, true))
612             {
613                 return $data;
614             }
615             else
616             {
617                 throw new UnexpectedValueException("Unexpected data received from Google: `{$jdata->body}`.");
618             }
619         }
620         else
621         {
622             return false;
623         }
624     }
625 }
626 
Joomla! Framework TM API documentation generated by ApiGen 2.8.0
Joomla!® and Joomla! Framework™ are trademarks of Open Source Matters, Inc. in the United States and other countries.