Part of the FOF Platform Abstraction Layer. It implements everything that depends on the platform FOF is running under, e.g. the Joomla! CMS front-end, the Joomla! CMS back-end, a CLI Joomla! Platform app, a bespoke Joomla! Platform / Framework web application and so on.
This is the abstract class implementing some basic housekeeping functionality and provides the static interface to get the appropriate Platform object for use in the rest of the framework.
Located in /libraries/fof/platform/interface.php (line 24)
Perform an ACL check. Please note that FOF uses by default the Joomla! CMS convention for ACL privileges, e.g core.edit for the edit privilege.
If your platform uses different conventions you'll have to override the FOF defaults using fof.xml or by specialising the controller.
By default FOF will only use the Controller's onBefore* methods to
perform user authorisation. In some cases, like the Joomla! back-end, you alos need to perform component-wide user authorisation in the Dispatcher. This method MUST implement this authorisation check. If you do not need this in your platform, please always return true.
Performs a check between two versions. Use this function instead of PHP version_compare so we can mock it while testing
Clears the cache of system-wide FOF 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 FOF. Please note that FOF's cache never expires and is not purged by Joomla!. You MUST use this method to manually purge the cache.
Retrieves data from the cache. This is supposed to be used for system-side FOF data, not application data.
Returns the base (root) directories for a given component. The "component" is used in the sense of what we call "component" in Joomla!, "plugin" in WordPress and "module" in Drupal, i.e. an application which is running inside our main application (CMS).
The return is a table with the following keys: * main The normal location of component files. For a back-end Joomla! component this is the administrator/components/com_example directory. * alt The alternate location of component files. For a back-end Joomla! component this is the front-end directory, e.g. components/com_example * site The location of the component files serving the public part of the application. * admin The location of the component files serving the administrative part of the application.
All paths MUST be absolute. All four paths MAY be the same if the platform doesn't make a distinction between public and private parts, or when the component does not provide both a public and private part. All of the directories MUST be defined and non-empty.
Returns the JDocument object which handles this component's response. You may also return null and FOF will a. try to figure out the output type by examining the "format" input parameter (or fall back to "html") and b.
FOF will not attempt to load CSS and Javascript files (as it doesn't make sense if there's no JDocument to handle them).
Returns the ordering of the platform class. Files with a lower ordering number will be loaded first.
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 directorues. If the application does not have such a thing as template overrides return an empty string.
Get application-specific suffixes to use with template paths. This allows you to look for view template overrides based on the application version.
Returns a user object.
This method will try retrieving a variable from the request (input) data.
If it doesn't exist it will be loaded from the user state, typically stored in the session. If it doesn't exist there either, the $default value will be used. If $setUserState is set to true, the retrieved variable will be stored in the user session.
Return a list of the view template paths for this component. The paths are in the format site:/component_name/view_name/layout_name or admin:/component_name/view_name/layout_name
The list of paths returned is a prioritised list. If a file is found in the first path the other paths will not be scanned.
Load plugins of a specific type. Obviously this seems to only be required in the Joomla! CMS.
Is this platform enabled? This is used for automatic platform detection.
If the environment we're currently running in doesn't seem to be your platform return false. If many classes return true, the one with the lowest order will be picked by FOFPlatform.
Is the global FOF cache enabled?
Load the translation files for a given component. The "component" is used in the sense of what we call "component" in Joomla!, "plugin" in WordPress and "module" in Drupal, i.e. an application which is running inside our main application (CMS).
logs in a user
Execute plugins (system-level triggers) and fetch back an array with their return values.
Saves something to the cache. This is supposed to be used for system-wide FOF data, not application data.
Set the error Handling, if possible
Is AJAX re-ordering supported? This is 100% Joomla!-CMS specific. All other platforms should return false and never ask why.
Documentation generated on Tue, 19 Nov 2013 15:05:49 +0100 by phpDocumentor 1.4.3