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     FrameworkOnFramework
  4  * @subpackage  template
  5  * @copyright   Copyright (C) 2010-2016 Nicholas K. Dionysopoulos / Akeeba Ltd. All rights reserved.
  6  * @license     GNU General Public License version 2 or later; see LICENSE.txt
  7  */
  8 // Protect from unauthorized access
  9 defined('FOF_INCLUDED') or die;
 10 
 11 /**
 12  * A utility class to load view templates, media files and modules.
 13  *
 14  * @package  FrameworkOnFramework
 15  * @since    1.0
 16  */
 17 class FOFTemplateUtils
 18 {
 19     /**
 20      * Add a CSS file to the page generated by the CMS
 21      *
 22      * @param   string  $path  A fancy path definition understood by parsePath
 23      *
 24      * @see FOFTemplateUtils::parsePath
 25      *
 26      * @return  void
 27      */
 28     public static function addCSS($path)
 29     {
 30         $document = FOFPlatform::getInstance()->getDocument();
 31 
 32         if ($document instanceof JDocument)
 33         {
 34             if (method_exists($document, 'addStyleSheet'))
 35             {
 36                 $url = self::parsePath($path);
 37                 $document->addStyleSheet($url);
 38             }
 39         }
 40     }
 41 
 42     /**
 43      * Add a JS script file to the page generated by the CMS.
 44      *
 45      * There are three combinations of defer and async (see http://www.w3schools.com/tags/att_script_defer.asp):
 46      * * $defer false, $async true: The script is executed asynchronously with the rest of the page
 47      *   (the script will be executed while the page continues the parsing)
 48      * * $defer true, $async false: The script is executed when the page has finished parsing.
 49      * * $defer false, $async false. (default) The script is loaded and executed immediately. When it finishes
 50      *   loading the browser continues parsing the rest of the page.
 51      *
 52      * When you are using $defer = true there is no guarantee about the load order of the scripts. Whichever
 53      * script loads first will be executed first. The order they appear on the page is completely irrelevant.
 54      *
 55      * @param   string   $path   A fancy path definition understood by parsePath
 56      * @param   boolean  $defer  Adds the defer attribute, meaning that your script
 57      *                           will only load after the page has finished parsing.
 58      * @param   boolean  $async  Adds the async attribute, meaning that your script
 59      *                           will be executed while the resto of the page
 60      *                           continues parsing.
 61      *
 62      * @see FOFTemplateUtils::parsePath
 63      *
 64      * @return  void
 65      */
 66     public static function addJS($path, $defer = false, $async = false)
 67     {
 68         $document = FOFPlatform::getInstance()->getDocument();
 69 
 70         if ($document instanceof JDocument)
 71         {
 72             if (method_exists($document, 'addScript'))
 73             {
 74                 $url = self::parsePath($path);
 75                 $document->addScript($url, "text/javascript", $defer, $async);
 76             }
 77         }
 78     }
 79 
 80     /**
 81      * Compile a LESS file into CSS and add it to the page generated by the CMS.
 82      * This method has integrated cache support. The compiled LESS files will be
 83      * written to the media/lib_fof/compiled directory of your site. If the file
 84      * cannot be written we will use the $altPath, if specified
 85      *
 86      * @param   string   $path        A fancy path definition understood by parsePath pointing to the source LESS file
 87      * @param   string   $altPath     A fancy path definition understood by parsePath pointing to a precompiled CSS file,
 88      *                                used when we can't write the generated file to the output directory
 89      * @param   boolean  $returnPath  Return the URL of the generated CSS file but do not include it. If it can't be
 90      *                                generated, false is returned and the alt files are not included
 91      *
 92      * @see FOFTemplateUtils::parsePath
 93      *
 94      * @since 2.0
 95      *
 96      * @return  mixed  True = successfully included generated CSS, False = the alternate CSS file was used, null = the source file does not exist
 97      */
 98     public static function addLESS($path, $altPath = null, $returnPath = false)
 99     {
100         // Does the cache directory exists and is writeable
101         static $sanityCheck = null;
102 
103         // Get the local LESS file
104         $localFile = self::parsePath($path, true);
105 
106         $filesystem   = FOFPlatform::getInstance()->getIntegrationObject('filesystem');
107         $platformDirs = FOFPlatform::getInstance()->getPlatformBaseDirs();
108 
109         if (is_null($sanityCheck))
110         {
111             // Make sure the cache directory exists
112             if (!is_dir($platformDirs['public'] . '/media/lib_fof/compiled/'))
113             {
114                 $sanityCheck = $filesystem->folderCreate($platformDirs['public'] . '/media/lib_fof/compiled/');
115             }
116             else
117             {
118                 $sanityCheck = true;
119             }
120         }
121 
122         // No point continuing if the source file is not there or we can't write to the cache
123 
124         if (!$sanityCheck || !is_file($localFile))
125         {
126             if (!$returnPath)
127             {
128                 if (is_string($altPath))
129                 {
130                     self::addCSS($altPath);
131                 }
132                 elseif (is_array($altPath))
133                 {
134                     foreach ($altPath as $anAltPath)
135                     {
136                         self::addCSS($anAltPath);
137                     }
138                 }
139             }
140 
141             return false;
142         }
143 
144         // Get the source file's unique ID
145         $id = md5(filemtime($localFile) . filectime($localFile) . $localFile);
146 
147         // Get the cached file path
148         $cachedPath = $platformDirs['public'] . '/media/lib_fof/compiled/' . $id . '.css';
149 
150         // Get the LESS compiler
151         $lessCompiler = new FOFLess;
152         $lessCompiler->formatterName = 'compressed';
153 
154         // Should I add an alternative import path?
155         $altFiles = self::getAltPaths($path);
156 
157         if (isset($altFiles['alternate']))
158         {
159             $currentLocation = realpath(dirname($localFile));
160             $normalLocation = realpath(dirname($altFiles['normal']));
161             $alternateLocation = realpath(dirname($altFiles['alternate']));
162 
163             if ($currentLocation == $normalLocation)
164             {
165                 $lessCompiler->importDir = array($alternateLocation, $currentLocation);
166             }
167             else
168             {
169                 $lessCompiler->importDir = array($currentLocation, $normalLocation);
170             }
171         }
172 
173         // Compile the LESS file
174         $lessCompiler->checkedCompile($localFile, $cachedPath);
175 
176         // Add the compiled CSS to the page
177         $base_url = rtrim(FOFPlatform::getInstance()->URIbase(), '/');
178 
179         if (substr($base_url, -14) == '/administrator')
180         {
181             $base_url = substr($base_url, 0, -14);
182         }
183 
184         $url = $base_url . '/media/lib_fof/compiled/' . $id . '.css';
185 
186         if ($returnPath)
187         {
188             return $url;
189         }
190         else
191         {
192             $document = FOFPlatform::getInstance()->getDocument();
193 
194             if ($document instanceof JDocument)
195             {
196                 if (method_exists($document, 'addStyleSheet'))
197                 {
198                     $document->addStyleSheet($url);
199                 }
200             }
201             return true;
202         }
203     }
204 
205     /**
206      * Creates a SEF compatible sort header. Standard Joomla function will add a href="#" tag, so with SEF
207      * enabled, the browser will follow the fake link instead of processing the onSubmit event; so we
208      * need a fix.
209      *
210      * @param   string          $text   Header text
211      * @param   string          $field  Field used for sorting
212      * @param   FOFUtilsObject  $list   Object holding the direction and the ordering field
213      *
214      * @return  string  HTML code for sorting
215      */
216     public static function sefSort($text, $field, $list)
217     {
218         $sort = JHTML::_('grid.sort', JText::_(strtoupper($text)) . '&nbsp;', $field, $list->order_Dir, $list->order);
219 
220         return str_replace('href="#"', 'href="javascript:void(0);"', $sort);
221     }
222 
223     /**
224      * Parse a fancy path definition into a path relative to the site's root,
225      * respecting template overrides, suitable for inclusion of media files.
226      * For example, media://com_foobar/css/test.css is parsed into
227      * media/com_foobar/css/test.css if no override is found, or
228      * templates/mytemplate/media/com_foobar/css/test.css if the current
229      * template is called mytemplate and there's a media override for it.
230      *
231      * The valid protocols are:
232      * media://     The media directory or a media override
233      * admin://     Path relative to administrator directory (no overrides)
234      * site://      Path relative to site's root (no overrides)
235      *
236      * @param   string   $path       Fancy path
237      * @param   boolean  $localFile  When true, it returns the local path, not the URL
238      *
239      * @return  string  Parsed path
240      */
241     public static function parsePath($path, $localFile = false)
242     {
243         $platformDirs = FOFPlatform::getInstance()->getPlatformBaseDirs();
244 
245         if ($localFile)
246         {
247             $url = rtrim($platformDirs['root'], DIRECTORY_SEPARATOR) . '/';
248         }
249         else
250         {
251             $url = FOFPlatform::getInstance()->URIroot();
252         }
253 
254         $altPaths = self::getAltPaths($path);
255         $filePath = $altPaths['normal'];
256 
257         // If JDEBUG is enabled, prefer that path, else prefer an alternate path if present
258         if (defined('JDEBUG') && JDEBUG && isset($altPaths['debug']))
259         {
260             if (file_exists($platformDirs['public'] . '/' . $altPaths['debug']))
261             {
262                 $filePath = $altPaths['debug'];
263             }
264         }
265         elseif (isset($altPaths['alternate']))
266         {
267             if (file_exists($platformDirs['public'] . '/' . $altPaths['alternate']))
268             {
269                 $filePath = $altPaths['alternate'];
270             }
271         }
272 
273         $url .= $filePath;
274 
275         return $url;
276     }
277 
278     /**
279      * Parse a fancy path definition into a path relative to the site's root.
280      * It returns both the normal and alternative (template media override) path.
281      * For example, media://com_foobar/css/test.css is parsed into
282      * array(
283      *   'normal' => 'media/com_foobar/css/test.css',
284      *   'alternate' => 'templates/mytemplate/media/com_foobar/css//test.css'
285      * );
286      *
287      * The valid protocols are:
288      * media://     The media directory or a media override
289      * admin://     Path relative to administrator directory (no alternate)
290      * site://      Path relative to site's root (no alternate)
291      *
292      * @param   string  $path  Fancy path
293      *
294      * @return  array  Array of normal and alternate parsed path
295      */
296     public static function getAltPaths($path)
297     {
298         $protoAndPath = explode('://', $path, 2);
299 
300         if (count($protoAndPath) < 2)
301         {
302             $protocol = 'media';
303         }
304         else
305         {
306             $protocol = $protoAndPath[0];
307             $path = $protoAndPath[1];
308         }
309 
310         $path = ltrim($path, '/' . DIRECTORY_SEPARATOR);
311 
312         switch ($protocol)
313         {
314             case 'media':
315                 // Do we have a media override in the template?
316                 $pathAndParams = explode('?', $path, 2);
317 
318                 $ret = array(
319                     'normal'     => 'media/' . $pathAndParams[0],
320                     'alternate'  => FOFPlatform::getInstance()->getTemplateOverridePath('media:/' . $pathAndParams[0], false),
321                 );
322                 break;
323 
324             case 'admin':
325                 $ret = array(
326                     'normal' => 'administrator/' . $path
327                 );
328                 break;
329 
330             default:
331             case 'site':
332                 $ret = array(
333                     'normal' => $path
334                 );
335                 break;
336         }
337 
338         // For CSS and JS files, add a debug path if the supplied file is compressed
339         $filesystem = FOFPlatform::getInstance()->getIntegrationObject('filesystem');
340         $ext        = $filesystem->getExt($ret['normal']);
341 
342         if (in_array($ext, array('css', 'js')))
343         {
344             $file = basename($filesystem->stripExt($ret['normal']));
345 
346             /*
347              * Detect if we received a file in the format name.min.ext
348              * If so, strip the .min part out, otherwise append -uncompressed
349              */
350 
351             if (strlen($file) > 4 && strrpos($file, '.min', '-4'))
352             {
353                 $position = strrpos($file, '.min', '-4');
354                 $filename = str_replace('.min', '.', $file, $position) . $ext;
355             }
356             else
357             {
358                 $filename = $file . '-uncompressed.' . $ext;
359             }
360 
361             // Clone the $ret array so we can manipulate the 'normal' path a bit
362             $t1 = (object) $ret;
363             $temp = clone $t1;
364             unset($t1);
365             $temp = (array)$temp;
366             $normalPath = explode('/', $temp['normal']);
367             array_pop($normalPath);
368             $normalPath[] = $filename;
369             $ret['debug'] = implode('/', $normalPath);
370         }
371 
372         return $ret;
373     }
374 
375     /**
376      * Returns the contents of a module position
377      *
378      * @param   string  $position  The position name, e.g. "position-1"
379      * @param   int     $style     Rendering style; please refer to Joomla!'s code for more information
380      *
381      * @return  string  The contents of the module position
382      */
383     public static function loadPosition($position, $style = -2)
384     {
385         $document = FOFPlatform::getInstance()->getDocument();
386 
387         if (!($document instanceof JDocument))
388         {
389             return '';
390         }
391 
392         if (!method_exists($document, 'loadRenderer'))
393         {
394             return '';
395         }
396 
397         try
398         {
399             $renderer = $document->loadRenderer('module');
400         }
401         catch (Exception $exc)
402         {
403             return '';
404         }
405 
406         $params = array('style' => $style);
407 
408         $contents = '';
409 
410         foreach (JModuleHelper::getModules($position) as $mod)
411         {
412             $contents .= $renderer->render($mod, $params);
413         }
414 
415         return $contents;
416     }
417 
418     /**
419      * Merges the current url with new or changed parameters.
420      *
421      * This method merges the route string with the url parameters defined
422      * in current url. The parameters defined in current url, but not given
423      * in route string, will automatically reused in the resulting url.
424      * But only these following parameters will be reused:
425      *
426      * option, view, layout, format
427      *
428      * Example:
429      *
430      * Assuming that current url is:
431      * http://fobar.com/index.php?option=com_foo&view=cpanel
432      *
433      * <code>
434      * <?php echo FOFTemplateutils::route('view=categories&layout=tree'); ?>
435      * </code>
436      *
437      * Result:
438      * http://fobar.com/index.php?option=com_foo&view=categories&layout=tree
439      *
440      * @param   string  $route  The parameters string
441      *
442      * @return  string  The human readable, complete url
443      */
444     public static function route($route = '')
445     {
446         $route = trim($route);
447 
448         // Special cases
449 
450         if ($route == 'index.php' || $route == 'index.php?')
451         {
452             $result = $route;
453         }
454         elseif (substr($route, 0, 1) == '&')
455         {
456             $url = JURI::getInstance();
457             $vars = array();
458             parse_str($route, $vars);
459 
460             $url->setQuery(array_merge($url->getQuery(true), $vars));
461 
462             $result = 'index.php?' . $url->getQuery();
463         }
464         else
465         {
466             $url = JURI::getInstance();
467             $props = $url->getQuery(true);
468 
469             // Strip 'index.php?'
470             if (substr($route, 0, 10) == 'index.php?')
471             {
472                 $route = substr($route, 10);
473             }
474 
475             // Parse route
476             $parts = array();
477             parse_str($route, $parts);
478             $result = array();
479 
480             // Check to see if there is component information in the route if not add it
481 
482             if (!isset($parts['option']) && isset($props['option']))
483             {
484                 $result[] = 'option=' . $props['option'];
485             }
486 
487             // Add the layout information to the route only if it's not 'default'
488 
489             if (!isset($parts['view']) && isset($props['view']))
490             {
491                 $result[] = 'view=' . $props['view'];
492 
493                 if (!isset($parts['layout']) && isset($props['layout']))
494                 {
495                     $result[] = 'layout=' . $props['layout'];
496                 }
497             }
498 
499             // Add the format information to the URL only if it's not 'html'
500 
501             if (!isset($parts['format']) && isset($props['format']) && $props['format'] != 'html')
502             {
503                 $result[] = 'format=' . $props['format'];
504             }
505 
506             // Reconstruct the route
507 
508             if (!empty($route))
509             {
510                 $result[] = $route;
511             }
512 
513             $result = 'index.php?' . implode('&', $result);
514         }
515 
516         return JRoute::_($result);
517     }
518 }
519 
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.