AdministratorApplication

Extends CMSApplication

Joomla! Administrator Application class

since

3.2

package

Joomla CMS

Methods

__construct

Class constructor.

__construct(\Joomla\CMS\Input\Input input = null, \Joomla\Registry\Registry config = null, \Joomla\Application\Web\WebClient client = null, \Joomla\DI\Container container = null) : 
since

3.2

Arguments

input

InputAn optional argument to provide dependency injection for the application's input object. If the argument is a JInput object that object will become the application's input object, otherwise a default input object is created.

config

RegistryAn optional argument to provide dependency injection for the application's config object. If the argument is a Registry object that object will become the application's config object, otherwise a default config object is created.

client

WebClientAn optional argument to provide dependency injection for the application's client object. If the argument is a WebClient object that object will become the application's client object, otherwise a default client object is created.

container

ContainerDependency injection container.

Response

mixed

afterSessionStart

After the session has been started we need to populate it with some default values.

afterSessionStart(\Joomla\Session\SessionEvent event) : 
inherited
since

3.0.1

Arguments

event

SessionEventSession event being triggered

Response

void

bootComponent

Boots the component with the given name.

bootComponent( component) : \Joomla\CMS\Extension\ComponentInterface
inherited
since

4.0.0

Arguments

component

stringThe component to boot.

Response

ComponentInterface

bootModule

Boots the module with the given name.

bootModule( module,  applicationName) : \Joomla\CMS\Extension\ModuleInterface
inherited
since

4.0.0

Arguments

module

stringThe module to boot

applicationName

stringThe application name

Response

ModuleInterface

bootPlugin

Boots the plugin with the given name and type.

bootPlugin( plugin,  type) : \Joomla\CMS\Extension\PluginInterface
inherited
since

4.0.0

Arguments

plugin

stringThe plugin name

type

stringThe type of the plugin

Response

PluginInterface

checkSession

Checks the user session.

checkSession() : 
inherited

If the session record doesn't exist, initialise it. If session is new, create session variables

since

3.2

throws

RuntimeException

Response

void

checkToken

Checks for a form token in the request.

checkToken( method = 'post') : 
inherited

Use in conjunction with getFormToken.

since

4.0.0

Arguments

method

stringThe request method in which to look for the token key.

Response

boolTrue if found and valid, false otherwise.

checkUserRequireReset

Check if the user is required to reset their password.

checkUserRequireReset( option,  view,  layout,  tasks) : 
inherited

If the user is required to reset their password will be redirected to the page that manage the password reset.

throws

Exception

Arguments

option

stringThe option that manage the password reset

view

stringThe view that manage the password reset

layout

stringThe layout of the view that manage the password reset

tasks

stringPermitted tasks

Response

void

createExtensionNamespaceMap

Allows the application to load a custom or default identity.

createExtensionNamespaceMap() : 
inherited
since

4.0.0

Response

void

decryptLegacyTFAString

Tries to decrypt the legacy MFA configuration.

decryptLegacyTFAString( secret,  stringToDecrypt) : 
inherited
see

https://github.com/joomla/joomla-cms/pull/12497

since

4.2.0

Arguments

secret

stringSite's secret key

stringToDecrypt

stringBase64-encoded and encrypted, JSON-encoded information

Response

stringDecrypted, but JSON-encoded, information

dispatch

Dispatch the application

dispatch( component = null) : 
since

3.2

Arguments

component

stringThe component which is being rendered.

Response

void

doExecute

Method to run the Web application routines.

doExecute() : 
since

3.2

Response

void

enqueueMessage

Enqueue a system message.

enqueueMessage( msg,  type = self::MSG_INFO) : 
inherited
since

3.2

Arguments

msg

stringThe message to enqueue.

type

stringThe message type. Default is message.

Response

void

execute

Execute the application.

execute() : 
inherited
since

3.2

Response

void

findOption

Return the application option string [main component].

findOption() : 
since

4.0.0

Response

stringThe component to access.

flushAssets

Flush the media version to refresh versionable assets

flushAssets() : 
inherited
since

3.2

Response

void

getCfg

Gets a configuration value.

getCfg( varname,  default = null) : 
inherited deprecated
since

3.2

deprecated

3.2 will be removed in 6.0 Use get() instead Example: Factory::getApplication()->get($varname, $default);

Arguments

varname

stringThe name of the value to get.

default

stringDefault value to return

Response

mixedThe user state.

getClientId

Gets the client id of the current running application.

getClientId() : 
inherited
since

3.2

Response

intA client identifier.

getConfig

Retrieve the application configuration object.

getConfig() : \Joomla\Registry\Registry
inherited
since

4.0.0

Response

Registry

getContainer

Get the DI container.

getContainer() : \Joomla\DI\Container
inherited abstract
since

4.0.0

throws

ContainerNotFoundExceptionMay be thrown if the container has not been set.

Response

Container

getDispatcher

Get the event dispatcher.

getDispatcher() : \Joomla\Event\DispatcherInterface
inherited abstract
since

4.0.0

throws

UnexpectedValueExceptionMay be thrown if the dispatcher has not been set.

Response

DispatcherInterface

getDocument

Method to get the application document object.

getDocument() : \Joomla\CMS\Document\Document
inherited
since

1.7.3

Response

DocumentThe document object

getFormToken

Method to determine a hash for anti-spoofing variable names

getFormToken( forceNew = false) : 
inherited
since

4.0.0

Arguments

forceNew

boolIf true, force a new token to be created

Response

stringHashed var name

getIdentity

Get the application identity.

getIdentity() : \Joomla\CMS\User\User
inherited
since

4.0.0

Response

User

getInstance

Returns a reference to the global CmsApplication object, only creating it if it doesn't already exist.

getInstance( name = null,  prefix = '\JApplication', \Joomla\DI\Container container = null) : \Joomla\CMS\Application\CmsApplication
inherited static deprecated

This method must be invoked as: $web = CmsApplication::getInstance();

since

3.2

throws

RuntimeException

deprecated

4.0 will be removed in 6.0 Use the application service from the DI container instead Example: Factory::getContainer()->get($name);

Arguments

name

stringThe name (optional) of the CmsApplication class to instantiate.

prefix

stringThe class name prefix of the object.

container

ContainerAn optional dependency injection container to inject into the application.

Response

CmsApplication

getLanguage

Method to get the application language object.

getLanguage() : \Joomla\CMS\Language\Language
inherited
since

1.7.3

Response

LanguageThe language object

getLogger

Get the logger.

getLogger() : \Psr\Log\LoggerInterface
inherited abstract
since

4.0.0

Response

LoggerInterface

getMenu

Returns the application \JMenu object.

getMenu( name = null, mixed||string|int options = []) : \Joomla\CMS\Menu\AbstractMenu
inherited
since

3.2

Arguments

name

stringThe name of the application/client.

options

array<string|int, mixed>An optional associative array of configuration settings.

Response

AbstractMenu

getMessageQueue

Get the system message queue.

getMessageQueue( clear = false) : mixed||string|int
inherited
since

3.2

Arguments

clear

boolClear the messages currently attached to the application object

Response

array<string|int, mixed>The system message queue.

getName

Gets the name of the current running application.

getName() : 
inherited
since

3.2

Response

stringThe name of the application.

getPathway

Returns the application Pathway object.

getPathway() : \Joomla\CMS\Pathway\Pathway
inherited
since

3.2

Response

Pathway

getRouter

Return a reference to the Router object.

getRouter( name = 'administrator', mixed||string|int options = []) : \Joomla\CMS\Router\Router
static deprecated
since

3.2

deprecated

4.3 will be removed in 6.0 Inject the router or load it from the dependency injection container Example: Factory::getContainer()->get(AdministratorRouter::class);

Arguments

name

stringThe name of the application.

options

array<string|int, mixed>An optional associative array of configuration settings.

Response

Router

getTemplate

Gets the name of the current template.

getTemplate( params = false) : string|\stdClass
since

3.2

throws

InvalidArgumentException

Arguments

params

boolTrue to return the template parameters

Response

string|stdClassThe name of the template if the params argument is false. The template object if the params argument is true.

getUserState

Gets a user state.

getUserState( key,  default = null) : 
inherited
since

3.2

Arguments

key

stringThe path of the state.

default

mixedOptional default value, returned if the internal value is null.

Response

mixedThe user state or null.

getUserStateFromRequest

Gets the value of a user state variable.

getUserStateFromRequest( key,  request,  default = null,  type = 'none') : 
inherited
since

3.2

Arguments

key

stringThe key of the user state variable.

request

stringThe name of the variable passed in a request.

default

stringThe default value for the variable if not found. Optional.

type

stringFilter for the variable, for valid values see {@link InputFilter::clean()}. Optional.

Response

mixedThe request user state.

hasRejectedMultiFactorAuthenticationSetup

Does the user have a "don't show this again" flag?

hasRejectedMultiFactorAuthenticationSetup() : 
inherited
since

4.2.0

Response

bool

hasUserConfiguredTwoFactorAuthentication

No longer used

hasUserConfiguredTwoFactorAuthentication() : 
inherited deprecated
since

4.0.0

throws

Exception

deprecated

4.2 will be removed in 6.0 Will be removed without replacements

Response

bool

initialiseApp

Initialise the application.

initialiseApp(mixed||string|int options = []) : 
since

3.2

Arguments

options

array<string|int, mixed>An optional associative array of configuration settings.

Response

void

isCli

Flag if the application instance is a CLI or web based application.

isCli() : 
inherited deprecated

Helper function, you should use the native PHP functions to detect if it is a CLI application.

since

4.0.0

deprecated

4.0 will be removed in 6.0 Will be removed without replacements

Response

bool

isClient

Check the client interface by name.

isClient( identifier) : 
inherited
since

3.7.0

Arguments

identifier

stringString identifier for the application interface

Response

boolTrue if this application is of the given type client interface.

isHandlingMultiFactorAuthentication

Handle the redirection to the Multi-factor Authentication captive login or setup page.

isHandlingMultiFactorAuthentication() : 
inherited
throws

Exception

since

4.2.0

Response

boolTrue if we are currently handling a Multi-factor Authentication captive page.

isHttpsForced

Checks if HTTPS is forced in the client configuration.

isHttpsForced( clientId = null) : 
inherited
since

3.7.3

Arguments

clientId

intAn optional client id (defaults to current application client).

Response

boolTrue if is forced for the client, false otherwise.

isMultiFactorAuthenticationPage

Is this a page concerning the Multi-factor Authentication feature?

isMultiFactorAuthenticationPage( onlyCaptive = false) : 
inherited
since

4.2.0

Arguments

onlyCaptive

boolShould I only check for the MFA captive page?

Response

bool

isMultiFactorAuthenticationPending

Does the current user need to complete MFA authentication before being allowed to access the site?

isMultiFactorAuthenticationPending() : 
inherited
throws

Exception

since

4.2.0

Response

bool

isTwoFactorAuthenticationRequired

No longer used

isTwoFactorAuthenticationRequired() : 
inherited deprecated
since

4.0.0

throws

Exception

deprecated

4.2 will be removed in 6.0 Will be removed without replacements

Response

bool

loadDocument

Allows the application to load a custom or default document.

loadDocument(\Joomla\CMS\Document\Document document = null) : \Joomla\CMS\Application\WebApplication
inherited

The logic and options for creating this object are adequately generic for default cases but for many applications it will make sense to override this method and create a document, if required, based on more specific needs.

since

1.7.3

Arguments

document

DocumentAn optional document object. If omitted, the factory document is created.

Response

WebApplicationThis method is chainable.

loadExtension

Loads the extension.

loadExtension( type,  extensionName,  extensionPath) : \Joomla\CMS\Extension\ComponentInterface|\Joomla\CMS\Extension\ModuleInterface|\Joomla\CMS\Extension\PluginInterface
inherited
since

4.0.0

Arguments

type

stringThe extension type

extensionName

stringThe extension name

extensionPath

stringThe path of the extension

Response

ComponentInterface|ModuleInterface|PluginInterface

loadIdentity

Allows the application to load a custom or default identity.

loadIdentity(\Joomla\CMS\User\User identity = null) : 
inherited
since

4.0.0

Arguments

identity

UserAn optional identity object. If omitted, a null user object is created.

Response

$this

loadLanguage

Allows the application to load a custom or default language.

loadLanguage(\Joomla\CMS\Language\Language language = null) : \Joomla\CMS\Application\WebApplication
inherited

The logic and options for creating this object are adequately generic for default cases but for many applications it will make sense to override this method and create a language, if required, based on more specific needs.

since

1.7.3

Arguments

language

LanguageAn optional language object. If omitted, the factory language is created.

Response

WebApplicationThis method is chainable.

loadLibraryLanguage

Load the library language files for the application

loadLibraryLanguage() : 
inherited
since

3.6.3

Response

void

loadPluginFromFilesystem

Creates a CMS plugin from the filesystem.

loadPluginFromFilesystem( plugin,  type) : \Joomla\CMS\Plugin\CMSPlugin
inherited
since

4.0.0

Arguments

plugin

stringThe plugin

type

stringThe type

Response

CMSPlugin

loadSession

Allows the application to load a custom or default session.

loadSession(\Joomla\CMS\Session\Session session = null) : \Joomla\CMS\Application\WebApplication
inherited deprecated

The logic and options for creating this object are adequately generic for default cases but for many applications it will make sense to override this method and create a session, if required, based on more specific needs.

since

1.7.3

deprecated

4.3 will be removed in 6.0 The session should be injected as a service.

Arguments

session

SessionAn optional session object. If omitted, the session is created.

Response

WebApplicationThis method is chainable.

loadSystemUris

Method to load the system URI strings for the application.

loadSystemUris( requestUri = null) : 
inherited
since

1.7.3

Arguments

requestUri

stringAn optional request URI to use instead of detecting one from the server environment variables.

Response

void

login

Login authentication function

login(mixed||string|int credentials, mixed||string|int options = []) : 
since

3.2

Arguments

credentials

array<string|int, mixed>Array('username' => string, 'password' => string)

options

array<string|int, mixed>Array('remember' => boolean)

Response

boolTrue on success.

logout

Logout authentication function.

logout( userid = null, mixed||string|int options = []) : 
inherited

Passed the current user information to the onUserLogout event and reverts the current session record back to 'anonymous' parameters. If any of the authentication plugins did not successfully complete the logout routine then the whole method fails. Any errors raised should be done in the plugin as this provides the ability to give much more information about why the routine may have failed.

since

3.2

Arguments

userid

intThe user to load - Can be an integer or string - If string, it is converted to ID automatically

options

array<string|int, mixed>Array('clientid' => array of client id's)

Response

boolTrue on success

migrateFromLegacyMFA

Automatically migrates a user's legacy MFA records into the new Captive MFA format.

migrateFromLegacyMFA() : 
inherited
since

4.2.0

Response

void

needsMultiFactorAuthenticationRedirection

Check whether we'll need to do a redirection to the Multi-factor Authentication captive page.

needsMultiFactorAuthenticationRedirection() : 
inherited
since

4.2.0

Response

bool

purgeMessages

Purge the jos_messages table of old messages

purgeMessages() : 
static deprecated
since

3.2

deprecated

4.3 will be removed in 6.0 Purge the messages through the messages model Example: Factory::getApplication()->bootComponent('messages')->getMVCFactory() ->createModel('Messages', 'Administrator')->purge(Factory::getApplication()->getIdentity()->id);

Response

void

redirect

Redirect to another URL.

redirect( url,  status = 303) : 
inherited

If the headers have not been sent the redirect will be accomplished using a "301 Moved Permanently" or "303 See Other" code in the header pointing to the new location. If the headers have already been sent this will be accomplished using a JavaScript statement.

since

3.2

Arguments

url

stringThe URL to redirect to. Can only be http/https URL

status

intThe HTTP 1.1 status code to be provided. 303 is assumed by default.

Response

void

registerEvent

Registers a handler to a particular event group.

registerEvent( event, 
Warning: Array to string conversion in /opt/phpdoc/vendor/twig/twig/src/Extension/CoreExtension.php on line 768
|Array handler) : 
inherited
since

4.0.0

Arguments

event

stringThe event name.

handler

callableThe handler, a function or an instance of an event object.

Response

$this

render

Rendering is the process of pushing the document buffers into the template placeholders, retrieving data from the document and pushing it into the application response buffer.

render() : 
since

3.2

Response

void

route

Route the application.

route() : 

Routing is the process of examining the request environment to determine which component should receive the request. The component optional parameters are then set in the request object to be processed when the application is being dispatched.

since

3.2

Response

void

sanityCheckSystemVariables

Ensure several core system input variables are not arrays.

sanityCheckSystemVariables() : 
inherited
since

3.9

Response

void

setMenuFactory

Sets the internal menu factory.

setMenuFactory(\Joomla\CMS\Menu\MenuFactoryInterface menuFactory) : 
inherited
since

4.2.0

Arguments

menuFactory

MenuFactoryInterfaceThe menu factory

Response

void

setupLogging

Setup logging functionality.

setupLogging() : 
inherited
since

4.0.0

Response

void

setUserState

Sets the value of a user state variable.

setUserState( key,  value) : 
inherited
since

3.2

Arguments

key

stringThe path of the state.

value

mixedThe value of the variable.

Response

mixedThe previous state, if one existed. Null otherwise.

toString

Sends all headers prior to returning the string

toString( compress = false) : 
inherited
since

3.2

Arguments

compress

boolIf true, compress the data

Response

string

triggerEvent

Calls all handlers associated with an event group.

triggerEvent( eventName, array|\Joomla\Event\Event args = []) : mixed||string|int
inherited deprecated

This is a legacy method, implementing old-style (Joomla! 3.x) plugin calls. It's best to go directly through the Dispatcher and handle the returned EventInterface object instead of going through this method. This method is deprecated and will be removed in Joomla! 5.x.

This method will only return the 'result' argument of the event

since

4.0.0

throws

InvalidArgumentException

deprecated

4.0 will be removed in 6.0 Use the Dispatcher method instead Example: Factory::getApplication()->getDispatcher()->dispatch($eventName, $event);

Arguments

eventName

stringThe event name.

args

array<string|int, mixed>|EventAn array of arguments or an Event object (optional).

Response

array<string|int, mixed>An array of results from each function call. Note this will be an empty array if no dispatcher is set.

Properties

identity

The application identity object.

inherited
since

4.0.0

Type(s)

User

JComponentTitle

The application component title.

inherited
since

4.3.0

Type(s)

string

item_associations

The item associations

inherited deprecated
since

4.3.0

deprecated

4.4.0 will be removed in 6.0 as this property is not used anymore

Type(s)

int

document

The application document object.

inherited
since

1.7.3

Type(s)

Document

language

The application language object.

inherited
since

1.7.3

Type(s)

Language

instance

The application instance.

inherited static
since

1.7.3

Type(s)

static

docOptions

Array of options for the \JDocument object

inherited
since

3.2

Type(s)

array<string|int, mixed>

instances

Application instances container.

inherited static
since

3.2

Type(s)

array<string|int, CmsApplication>

scope

The scope of the application.

inherited
since

3.2

Type(s)

string

clientId

The client identifier.

inherited
since

4.0.0

Type(s)

int

messageQueue

The application message queue.

inherited
since

4.0.0

Type(s)

array<string|int, mixed>

name

The name of the application.

inherited
since

4.0.0

Type(s)

string

profiler

The profiler instance

inherited
since

3.2

Type(s)

Profiler

template

Currently active template

inherited
since

3.2

Type(s)

object

pathway

The pathway object

inherited
since

4.0.0

Type(s)

Pathway

authenticationPluginType

The authentication plugin type

inherited
since

4.0.0

Type(s)

string

menus

Menu instances container.

inherited
since

4.2.0

Type(s)

array<string|int, AbstractMenu>

menuFactory

The menu factory

inherited
since

4.2.0

Type(s)

MenuFactoryInterface

allowedUnprivilegedOptions

List of allowed components for guests and users which do not have the core.login.admin privilege.

By default we allow two core components:

  • com_login Absolutely necessary to let users log into the backend of the site. Do NOT remove!
  • com_ajax Handle AJAX requests or other administrative callbacks without logging in. Required for passwordless authentication using WebAuthn.

Type(s)

array<string|int, mixed>