Installer
Extends \JAdapterJoomla base installer class
since |
3.1 |
---|
Methods
__construct
Constructor
__construct(string $basepath = __DIR__, string $classprefix = '\\Joomla\\CMS\\Installer\\Adapter', string $adapterfolder = 'Adapter')
since |
3.1 |
---|
Arguments
- $basepath
string
Base Path of the adapters- $classprefix
string
Class prefix of adapters- $adapterfolder
string
Name of folder to append to base path
abort
Installation abort method
abort(string $msg = null, string $type = null) : boolean
since |
3.1 |
---|
Arguments
- $msg
string
Abort message from the installer- $type
string
Package type if defined
Response
boolean
True if successful
cleanDiscoveredExtension
Cleans up discovered extensions if they're being installed some other way
cleanDiscoveredExtension(string $type, string $element, string $folder = '', integer $client) : object
since |
3.1 |
---|
Arguments
- $type
string
The type of extension (component, etc)- $element
string
Unique element identifier (e.g. com_content)- $folder
string
The folder of the extension (plugins; e.g. system)- $client
integer
The client application (administrator or site)
Response
object
Result of query
copyFiles
Copyfiles
copyFiles(array $files, boolean $overwrite = null) : boolean
Copy files from source directory to the target directory
since |
3.1 |
---|
Arguments
- $files
array
Array with filenames- $overwrite
boolean
True if existing files can be replaced
Response
boolean
True on success
copyManifest
Copies the installation manifest file to the extension folder in the given client
copyManifest(integer $cid = 1) : boolean
since |
3.1 |
---|
Arguments
- $cid
integer
Where to copy the installfile [optional: defaults to 1 (admin)]
Response
boolean
True on success, False on error
discover
Extension discover method
discover() : array<mixed,\Joomla\CMS\Installer\InstallerExtension>
Asks each adapter to find extensions
since |
3.1 |
---|
Response
array<mixed,\Joomla\CMS\Installer\InstallerExtension>
discover_install
Discovered package installation method
discover_install(integer $eid = null) : boolean
since |
3.1 |
---|
Arguments
- $eid
integer
Extension ID
Response
boolean
True if successful
findDeletedFiles
Compares two "files" entries to find deleted files/folders
findDeletedFiles(array $oldFiles, array $newFiles) : array
since |
3.1 |
---|
Arguments
- $oldFiles
array
An array of \SimpleXMLElement objects that are the old files- $newFiles
array
An array of \SimpleXMLElement objects that are the new files
Response
array
An array with the delete files and folders in findDeletedFiles[files] and findDeletedFiles[folders] respectively
findManifest
Tries to find the package manifest file
findManifest() : boolean
since |
3.1 |
---|
Response
boolean
True on success, False on error
generateManifestCache
Generates a manifest cache
generateManifestCache() : string
since |
3.1 |
---|
Response
string
serialised manifest data
getAdapter
Fetches an adapter and adds it to the internal storage if an instance is not set while also ensuring its a valid adapter name
getAdapter(string $name, array $options = array()) : \Joomla\CMS\Installer\InstallerAdapter
since |
3.4 |
---|---|
deprecated |
4.0 The internal adapter cache will no longer be supported, use loadAdapter() to fetch an adapter instance |
Arguments
- $name
string
Name of adapter to return- $options
array
Adapter options
Response
getAdapters
Gets a list of available install adapters.
getAdapters(array $options = array(), array $custom = array()) : array
since |
3.4 |
---|---|
note |
As of 4.0, this method will only return the names of available adapters and will not instantiate them and store to the $_adapters class var. |
Arguments
- $options
array
An array of options to inject into the adapter- $custom
array
Array of custom install adapters
Response
array
An array of available install adapters.
getInstance
Returns the global Installer object, only creating it if it doesn't already exist.
getInstance(string $basepath = __DIR__, string $classprefix = '\\Joomla\\CMS\\Installer\\Adapter', string $adapterfolder = 'Adapter') : \Joomla\CMS\Installer\Installer
since |
3.1 |
---|
Arguments
- $basepath
string
Base Path of the adapters- $classprefix
string
Class prefix of adapters- $adapterfolder
string
Name of folder to append to base path
Response
\Joomla\CMS\Installer\Installer
An installer object
getManifest
Get the installation manifest object
getManifest() : \SimpleXMLElement
since |
3.1 |
---|
Response
\SimpleXMLElement
Manifest object
getParams
Method to parse the parameters of an extension, build the JSON string for its default parameters, and return the JSON string.
getParams() : string
since |
3.1 |
---|---|
note |
This method must always return a JSON compliant string |
Response
string
JSON string of parameter values
getPath
Get an installer path by name
getPath(string $name, string $default = null) : string
since |
3.1 |
---|
Arguments
- $name
string
Path name- $default
string
Default value
Response
string
Path
getRedirectUrl
Get the redirect location
getRedirectUrl() : string
since |
3.1 |
---|
Response
string
Redirect location (or null)
install
Package installation method
install(string $path = null) : boolean
since |
3.1 |
---|
Arguments
- $path
string
Path to package source folder
Response
boolean
True if successful
isManifest
Is the XML file a valid Joomla installation manifest file.
isManifest(string $file) : \SimpleXMLElement|null
since |
3.1 |
---|
Arguments
- $file
string
An xmlfile path to check
Response
\SimpleXMLElement|null
A \SimpleXMLElement, or null if the file failed to parse
isOverwrite
Get the allow overwrite switch
isOverwrite() : boolean
since |
3.1 |
---|
Response
boolean
Allow overwrite switch
isPackageUninstall
Get whether this installer is uninstalling extensions which are part of a package
isPackageUninstall() : boolean
since |
3.7.0 |
---|
Response
boolean
isUpgrade
Get the upgrade switch
isUpgrade() : boolean
since |
3.1 |
---|
Response
boolean
loadAdapter
Method to load an adapter instance
loadAdapter(string $adapter, array $options = array()) : \Joomla\CMS\Installer\InstallerAdapter
since |
3.4 |
---|---|
throws |
|
Arguments
- $adapter
string
Adapter name- $options
array
Adapter options
Response
loadAllAdapters
Loads all adapters.
loadAllAdapters(array $options = array()) : void
since |
3.4 |
---|---|
deprecated |
4.0 Individual adapters should be instantiated as needed |
note |
This method is serving as a proxy of the legacy \JAdapter API into the preferred API |
Arguments
- $options
array
Adapter options
loadMD5Sum
Loads an MD5SUMS file into an associative array
loadMD5Sum(string $filename) : array
since |
3.1 |
---|
Arguments
- $filename
string
Filename to load
Response
array
Associative array with filenames as the index and the MD5 as the value
parseFiles
Method to parse through a files element of the installation manifest and take appropriate action.
parseFiles(\SimpleXMLElement $element, integer $cid, array $oldFiles = null, array $oldMD5 = null) : boolean
since |
3.1 |
---|
Arguments
- $element
\SimpleXMLElement
The XML node to process- $cid
integer
Application ID of application to install to- $oldFiles
array
List of old files (SimpleXMLElement's)- $oldMD5
array
List of old MD5 sums (indexed by filename with value as MD5)
Response
boolean
True on success
parseLanguages
Method to parse through a languages element of the installation manifest and take appropriate action.
parseLanguages(\SimpleXMLElement $element, integer $cid) : boolean
since |
3.1 |
---|
Arguments
- $element
\SimpleXMLElement
The XML node to process- $cid
integer
Application ID of application to install to
Response
boolean
True on success
parseMedia
Method to parse through a media element of the installation manifest and take appropriate action.
parseMedia(\SimpleXMLElement $element, integer $cid) : boolean
since |
3.1 |
---|
Arguments
- $element
\SimpleXMLElement
The XML node to process- $cid
integer
Application ID of application to install to
Response
boolean
True on success
parseQueries
Backward compatible method to parse through a queries element of the installation manifest file and take appropriate action.
parseQueries(\SimpleXMLElement $element) : mixed
since |
3.1 |
---|
Arguments
- $element
\SimpleXMLElement
The XML node to process
Response
mixed
Number of queries processed or False on error
parseSchemaUpdates
Method to process the updates for an item
parseSchemaUpdates(\SimpleXMLElement $schema, integer $eid) : boolean
since |
3.1 |
---|
Arguments
- $schema
\SimpleXMLElement
The XML node to process- $eid
integer
Extension Identifier
Response
boolean
Result of the operations
parseSQLFiles
Method to extract the name of a discreet installation sql file from the installation manifest file.
parseSQLFiles(object $element) : mixed
since |
3.1 |
---|
Arguments
- $element
object
The XML node to process
Response
mixed
Number of queries processed or False on error
parseXMLInstallFile
Parse a XML install manifest file.
parseXMLInstallFile(string $path) : array
XML Root tag should be 'install' except for languages which use meta file.
since |
3.0.0 |
---|
Arguments
- $path
string
Full path to XML file.
Response
array
XML metadata.
pushStep
Pushes a step onto the installer stack for rolling back steps
pushStep(array $step) : void
since |
3.1 |
---|
Arguments
- $step
array
Installer step
refreshManifestCache
Refreshes the manifest cache stored in #__extensions
refreshManifestCache(integer $eid) : boolean
since |
3.1 |
---|
Arguments
- $eid
integer
Extension ID
Response
boolean
removeFiles
Method to parse through a files element of the installation manifest and remove the files that were installed
removeFiles(object $element, integer $cid) : boolean
since |
3.1 |
---|
Arguments
- $element
object
The XML node to process- $cid
integer
Application ID of application to remove from
Response
boolean
True on success
setOverwrite
Set the allow overwrite switch
setOverwrite(boolean $state = false) : boolean
since |
3.1 |
---|
Arguments
- $state
boolean
Overwrite switch state
Response
boolean
True it state is set, false if it is not
setPackageUninstall
Set whether this installer is uninstalling extensions which are part of a package
setPackageUninstall(boolean $uninstall) : void
since |
3.7.0 |
---|
Arguments
- $uninstall
boolean
True if a package triggered the uninstall, false otherwise
setPath
Sets an installer path by name
setPath(string $name, string $value) : void
since |
3.1 |
---|
Arguments
- $name
string
Path name- $value
string
Path
setRedirectUrl
Set the redirect location
setRedirectUrl(string $newurl) : void
since |
3.1 |
---|
Arguments
- $newurl
string
New redirect location
setSchemaVersion
Set the schema version for an extension by looking at its latest update
setSchemaVersion(\SimpleXMLElement $schema, integer $eid) : void
since |
3.1 |
---|
Arguments
- $schema
\SimpleXMLElement
Schema Tag- $eid
integer
Extension ID
setUpgrade
Set the upgrade switch
setUpgrade(boolean $state = false) : boolean
since |
3.1 |
---|
Arguments
- $state
boolean
Upgrade switch state
Response
boolean
True if upgrade, false otherwise
setupInstall
Prepare for installation: this method sets the installation directory, finds and checks the installation file and verifies the installation type.
setupInstall(string $route = 'install', boolean $returnAdapter = false) : boolean|\Joomla\CMS\Installer\InstallerAdapter
since |
3.1 |
---|
Arguments
- $route
string
The install route being followed- $returnAdapter
boolean
Flag to return the instantiated adapter
Response
boolean|\Joomla\CMS\Installer\InstallerAdapter
InstallerAdapter object if explicitly requested otherwise boolean
uninstall
Package uninstallation method
uninstall(string $type, mixed $identifier, integer $cid) : boolean
since |
3.1 |
---|
Arguments
- $type
string
Package type- $identifier
mixed
Package identifier for adapter- $cid
integer
Application ID; deprecated in 1.6
Response
boolean
True if successful
update
Package update method
update(string $path = null) : boolean
since |
3.1 |
---|
Arguments
- $path
string
Path to package source folder
Response
boolean
True if successful
Properties
paths
Array of paths needed by the installer
since |
3.1 |
---|
Type(s)
array
upgrade
True if package is an upgrade
since |
3.1 |
---|
Type(s)
boolean
manifestClass
The manifest trigger class
since |
3.1 |
---|
Type(s)
object
overwrite
True if existing files can be overwritten
since |
3.0.0 |
---|
Type(s)
boolean
stepStack
Stack of installation steps
- Used for installation rollback
since |
3.1 |
---|
Type(s)
array
message
The output from the install/uninstall scripts
since |
3.1 |
---|
Type(s)
string
manifest
The installation manifest XML object
since |
3.1 |
---|
Type(s)
object
extension_message
The extension message that appears
since |
3.1 |
---|
Type(s)
string
redirect_url
The redirect URL if this extension (can be null if no redirect)
since |
3.1 |
---|
Type(s)
string
packageUninstall
Flag if the uninstall process was triggered by uninstalling a package
since |
3.7.0 |
---|
Type(s)
boolean
extraQuery
Backup extra_query during update_sites rebuild
since |
3.9.26 |
---|
Type(s)
string
instance
Installer instance container.
instances
Installer instances container.