PHP Class FOF30\Platform\Base\Platform

Inheritance: implements FOF30\Platform\PlatformInterface
Datei anzeigen Open project: akeeba/fof

Protected Properties

Property Type Description
$container The component container

Public Methods

Method Description
__construct ( Container $c ) Public constructor.
authorise ( string $action, string $assetname ) : boolean Perform an ACL check.
authorizeAdmin ( string $component ) : boolean Authorise access to the component in the back-end.
clearCache ( ) : boolean Clears the cache of system-wide F0F data. You are supposed to call this in your components' installation script post-installation and post-upgrade methods or whenever you are modifying the structure of database tables accessed by F0F. Please note that F0F's cache never expires and is not purged by Joomla!. You MUST use this method to manually purge the cache.
getCache ( string $key, string $default = null ) : string Retrieves data from the cache. This is supposed to be used for system-side F0F data, not application data.
getComponentBaseDirs ( string $component ) : array Returns the base (root) directories for a given component.
getDocument ( ) : JDocument Returns the JDocument object which handles this component's response.
getPlatformVersion ( ) : string Returns the version number string of the platform, e.g. "4.5.6". If implementation integrates with a CMS or a versioned foundation (e.g.
getTemplate ( boolean | array $params = false ) : string Returns the application's template name
getTemplateOverridePath ( string $component, boolean $absolute = true ) : string Return the absolute path to the application's template overrides directory for a specific component. We will use it to look for template files instead of the regular component directories. If the application does not have such a thing as template overrides return an empty string.
getTemplateSuffixes ( ) : array Get application-specific suffixes to use with template paths. This allows you to look for view template overrides based on the application version.
getUser ( integer $id = null ) : JDocument Returns the JUser object for the current user
getUserStateFromRequest ( string $key, string $request, Input $input, mixed $default = null, string $type = 'none', boolean $setUserState = true ) : mixed This method will try retrieving a variable from the request (input) data.
importPlugin ( string $type ) : void Load plugins of a specific type. Obviously this seems to only be required in the Joomla! CMS.
isBackend ( ) : boolean Is this the administrative section of the component?
isCli ( ) : boolean Is this a component running in a CLI application?
isFrontend ( ) : boolean Is this the public section of the component?
isGlobalFOFCacheEnabled ( ) : boolean Is the global F0F cache enabled?
loadTranslations ( string $component ) : void Load the translation files for a given component.
logDeprecated ( string $message ) : void Logs a deprecated practice. In Joomla! this results in the $message being output in the deprecated log file, found in your site's log directory.
loginUser ( array $authInfo ) : boolean logs in a user
logoutUser ( ) : boolean logs out a user
runPlugins ( string $event, array $data ) : array Execute plugins (system-level triggers) and fetch back an array with their return values.
setCache ( string $key, string $content ) : boolean Saves something to the cache. This is supposed to be used for system-wide F0F data, not application data.
supportsAjaxOrdering ( ) : boolean Is AJAX re-ordering supported? This is 100% Joomla!-CMS specific. All other platforms should return false and never ask why.

Method Details

__construct() public method

Public constructor.
public __construct ( Container $c )
$c FOF30\Container\Container The component container

authorise() public method

Perform an ACL check.
See also: F0FPlatformInterface::authorise()
public authorise ( string $action, string $assetname ) : boolean
$action string The ACL privilege to check, e.g. core.edit
$assetname string The asset name to check, typically the component's name
return boolean True if the user is allowed this action

authorizeAdmin() public method

Authorise access to the component in the back-end.
See also: F0FPlatformInterface::authorizeAdmin()
public authorizeAdmin ( string $component ) : boolean
$component string The name of the component.
return boolean True to allow loading the component, false to halt loading

clearCache() public method

Clears the cache of system-wide F0F data. You are supposed to call this in your components' installation script post-installation and post-upgrade methods or whenever you are modifying the structure of database tables accessed by F0F. Please note that F0F's cache never expires and is not purged by Joomla!. You MUST use this method to manually purge the cache.
public clearCache ( ) : boolean
return boolean True on success

getCache() public method

Retrieves data from the cache. This is supposed to be used for system-side F0F data, not application data.
public getCache ( string $key, string $default = null ) : string
$key string The key of the data to retrieve
$default string The default value to return if the key is not found or the cache is not populated
return string The cached value

getComponentBaseDirs() public method

Returns the base (root) directories for a given component.
See also: F0FPlatformInterface::getComponentBaseDirs()
public getComponentBaseDirs ( string $component ) : array
$component string The name of the component. For Joomla! this is something like "com_example"
return array A hash array with keys main, alt, site and admin.

getDocument() public method

Returns the JDocument object which handles this component's response.
See also: F0FPlatformInterface::getDocument()
public getDocument ( ) : JDocument
return JDocument

getPlatformVersion() public method

a framework) it is advisable to return that version.
Since: 2.1.2
public getPlatformVersion ( ) : string
return string

getTemplate() public method

Returns the application's template name
public getTemplate ( boolean | array $params = false ) : string
$params boolean | array An optional associative array of configuration settings
return string The template name. System is the fallback.

getTemplateOverridePath() public method

Return the absolute path to the application's template overrides directory for a specific component. We will use it to look for template files instead of the regular component directories. If the application does not have such a thing as template overrides return an empty string.
public getTemplateOverridePath ( string $component, boolean $absolute = true ) : string
$component string The name of the component for which to fetch the overrides
$absolute boolean Should I return an absolute or relative path?
return string The path to the template overrides directory

getTemplateSuffixes() public method

Get application-specific suffixes to use with template paths. This allows you to look for view template overrides based on the application version.
public getTemplateSuffixes ( ) : array
return array A plain array of suffixes to try in template names

getUser() public method

Returns the JUser object for the current user
See also: F0FPlatformInterface::getUser()
public getUser ( integer $id = null ) : JDocument
$id integer The ID of the user to fetch
return JDocument

getUserStateFromRequest() public method

This method will try retrieving a variable from the request (input) data.
See also: F0FPlatformInterface::getUserStateFromRequest()
public getUserStateFromRequest ( string $key, string $request, Input $input, mixed $default = null, string $type = 'none', boolean $setUserState = true ) : mixed
$key string The user state key for the variable
$request string The request variable name for the variable
$input FOF30\Input\Input The Input object with the request (input) data
$default mixed The default value. Default: null
$type string The filter type for the variable data. Default: none (no filtering)
$setUserState boolean Should I set the user state with the fetched value?
return mixed The value of the variable

importPlugin() public method

Load plugins of a specific type. Obviously this seems to only be required in the Joomla! CMS.
See also: F0FPlatformInterface::importPlugin()
public importPlugin ( string $type ) : void
$type string The type of the plugins to be loaded
return void

isBackend() public method

Is this the administrative section of the component?
See also: F0FPlatformInterface::isBackend()
public isBackend ( ) : boolean
return boolean

isCli() public method

Is this a component running in a CLI application?
See also: F0FPlatformInterface::isCli()
public isCli ( ) : boolean
return boolean

isFrontend() public method

Is this the public section of the component?
See also: F0FPlatformInterface::isFrontend()
public isFrontend ( ) : boolean
return boolean

isGlobalFOFCacheEnabled() public method

Is the global F0F cache enabled?

loadTranslations() public method

Load the translation files for a given component.
See also: F0FPlatformInterface::loadTranslations()
public loadTranslations ( string $component ) : void
$component string The name of the component. For Joomla! this is something like "com_example"
return void

logDeprecated() public method

Logs a deprecated practice. In Joomla! this results in the $message being output in the deprecated log file, found in your site's log directory.
public logDeprecated ( string $message ) : void
$message string The deprecated practice log message
return void

loginUser() public method

logs in a user
public loginUser ( array $authInfo ) : boolean
$authInfo array authentification information
return boolean True on success

logoutUser() public method

logs out a user
public logoutUser ( ) : boolean
return boolean True on success

runPlugins() public method

Execute plugins (system-level triggers) and fetch back an array with their return values.
See also: F0FPlatformInterface::runPlugins()
public runPlugins ( string $event, array $data ) : array
$event string The event (trigger) name, e.g. onBeforeScratchMyEar
$data array A hash array of data sent to the plugins as part of the trigger
return array A simple array containing the results of the plugins triggered

setCache() public method

Saves something to the cache. This is supposed to be used for system-wide F0F data, not application data.
public setCache ( string $key, string $content ) : boolean
$key string The key of the data to save
$content string The actual data to save
return boolean True on success

supportsAjaxOrdering() public method

Is AJAX re-ordering supported? This is 100% Joomla!-CMS specific. All other platforms should return false and never ask why.
See also: F0FPlatformInterface::supportsAjaxOrdering()
public supportsAjaxOrdering ( ) : boolean
return boolean

Property Details

$container protected_oe property

The component container
protected $container