Installer
Extends Adapter Implements DatabaseAwareInterfaceJoomla base installer class
since |
3.1 |
---|---|
package |
Joomla CMS |
Methods
__construct
Constructor
__construct( basepath = __DIR__, classprefix = '\Joomla\CMS\Installer\Adapter', 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
Response
mixed
__toString
Magic method to convert the object to a string gracefully.
__toString() :
since |
1.7.0 |
---|---|
deprecated |
4.3 will be removed in 6.0 Classes should provide their own __toString() implementation. |
Response
string
The classname.
abort
Installation abort method
abort( msg = null, type = null) :
since |
3.1 |
---|
Arguments
- msg
string
Abort message from the installer- type
string
Package type if defined
Response
bool
True if successful
cleanDiscoveredExtension
Cleans up discovered extensions if they're being installed some other way
cleanDiscoveredExtension( type, element, folder = '', client) :
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
int
The client application (administrator or site)
Response
object
Result of query
copyFiles
Copyfiles
copyFiles(mixed||string|int files, overwrite = null) :
Copy files from source directory to the target directory
since |
3.1 |
---|
Arguments
- files
array<string|int, mixed>
Array with filenames- overwrite
bool
True if existing files can be replaced
Response
bool
True on success
copyManifest
Copies the installation manifest file to the extension folder in the given client
copyManifest( cid = 1) :
since |
3.1 |
---|
Arguments
- cid
int
Where to copy the installfile [optional: defaults to 1 (admin)]
Response
bool
True on success, False on error
def
Sets a default value if not already assigned
def( property, default = null) :
since |
1.7.0 |
---|---|
deprecated |
4.3.0 will be removed in 6.0 Defining dynamic properties should not be used anymore |
Arguments
- property
string
The name of the property.- default
mixed
The default value.
Response
mixed
discover
Extension discover method
discover() : \Joomla\CMS\Installer\InstallerExtension||string|int
discover_install
Discovered package installation method
discover_install( eid = null) :
since |
3.1 |
---|
Arguments
- eid
int
Extension ID
Response
bool
True if successful
findDeletedFiles
Compares two "files" entries to find deleted files/folders
findDeletedFiles(mixed||string|int oldFiles, mixed||string|int newFiles) : mixed||string|int
since |
3.1 |
---|
Arguments
- oldFiles
array<string|int, mixed>
An array of \SimpleXMLElement objects that are the old files- newFiles
array<string|int, mixed>
An array of \SimpleXMLElement objects that are the new files
Response
array<string|int, mixed>
An array with the delete files and folders in findDeletedFiles[files] and findDeletedFiles[folders] respectively
findManifest
Tries to find the package manifest file
findManifest() :
since |
3.1 |
---|
Response
bool
True on success, False on error
generateManifestCache
Generates a manifest cache
generateManifestCache() :
since |
3.1 |
---|
Response
string
serialised manifest data
get
Returns a property of the object or the default value if the property is not set.
get( property, default = null) :
since |
1.7.0 |
---|---|
see | CMSObject::getProperties() |
deprecated |
4.3.0 will be removed in 6.0 Create a proper getter function for the property |
Arguments
- property
string
The name of the property.- default
mixed
The default value.
Response
mixed
The value of the property.
getAdapter
Return an adapter.
getAdapter( name, mixed||string|int options = []) : static|bool
since |
1.6 |
---|
Arguments
- name
string
Name of adapter to return- options
array<string|int, mixed>
Adapter options
Response
static|bool
Adapter of type 'name' or false
getAdapters
Gets a list of available install adapters.
getAdapters(mixed||string|int options = [], mixed||string|int custom = []) : string||string|int
since |
3.4 |
---|
Arguments
- options
array<string|int, mixed>
An array of options to inject into the adapter- custom
array<string|int, mixed>
Array of custom install adapters
Response
array<string|int, string>
An array of the class names of available install adapters.
getDbo
Get the database connector object
getDbo() : \Joomla\Database\DatabaseDriver
since |
1.6 |
---|
Response
DatabaseDriver
Database connector object
getError
Get the most recent error message.
getError( i = null, toString = true) :
since |
1.7.0 |
---|---|
deprecated |
3.1.4 will be removed in 6.0 Will be removed without replacement Catch thrown Exceptions instead of getError |
Arguments
- i
int
Option error index.- toString
bool
Indicates if Exception objects should return their error message.
Response
string
Error message
getErrors
Return all errors, if any.
getErrors() : mixed||string|int
since |
1.7.0 |
---|---|
deprecated |
3.1.4 will be removed in 6.0 Will be removed without replacement Catch thrown Exceptions instead of getErrors |
Response
array<string|int, mixed>
Array of error messages.
getInstance
Returns the global Installer object, only creating it if it doesn't already exist.
getInstance( basepath = __DIR__, classprefix = '\Joomla\CMS\Installer\Adapter', 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
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() :
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( name, default = null) :
since |
3.1 |
---|
Arguments
- name
string
Path name- default
string
Default value
Response
string
Path
getProperties
Returns an associative array of object properties.
getProperties( public = true) : mixed||string|int
since |
1.7.0 |
---|---|
see | CMSObject::get() |
deprecated |
4.3.0 will be removed in 6.0 Create a proper getter function for the property |
Arguments
- public
bool
If true, returns only the public properties.
Response
array<string|int, mixed>
getRedirectUrl
Get the redirect location
getRedirectUrl() :
since |
3.1 |
---|
Response
string
Redirect location (or null)
install
Package installation method
install( path = null) :
since |
3.1 |
---|
Arguments
- path
string
Path to package source folder
Response
bool
True if successful
isManifest
Is the XML file a valid Joomla installation manifest file.
isManifest( 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() :
since |
3.1 |
---|
Response
bool
Allow overwrite switch
isPackageUninstall
Get whether this installer is uninstalling extensions which are part of a package
isPackageUninstall() :
since |
3.7.0 |
---|
Response
bool
isUpgrade
Get the upgrade switch
isUpgrade() :
since |
3.1 |
---|
Response
bool
loadAdapter
Method to load an adapter instance
loadAdapter( adapter, mixed||string|int options = []) : \Joomla\CMS\Installer\InstallerAdapter
since |
3.4 |
---|---|
throws |
|
Arguments
- adapter
string
Adapter name- options
array<string|int, mixed>
Adapter options
Response
loadAllAdapters
Loads all adapters.
loadAllAdapters(mixed||string|int options = []) :
since |
1.6 |
---|
Arguments
- options
array<string|int, mixed>
Adapter options
Response
void
loadMD5Sum
Loads an MD5SUMS file into an associative array
loadMD5Sum( filename) : mixed||string|int
since |
3.1 |
---|
Arguments
- filename
string
Filename to load
Response
array<string|int, mixed>
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, cid, mixed||string|int oldFiles = null, mixed||string|int oldMD5 = null) :
since |
3.1 |
---|
Arguments
- element
SimpleXMLElement
The XML node to process- cid
int
Application ID of application to install to- oldFiles
array<string|int, mixed>
List of old files (SimpleXMLElement's)- oldMD5
array<string|int, mixed>
List of old MD5 sums (indexed by filename with value as MD5)
Response
bool
True on success
parseLanguages
Method to parse through a languages element of the installation manifest and take appropriate action.
parseLanguages(\SimpleXMLElement element, cid) :
since |
3.1 |
---|
Arguments
- element
SimpleXMLElement
The XML node to process- cid
int
Application ID of application to install to
Response
bool
True on success
parseMedia
Method to parse through a media element of the installation manifest and take appropriate action.
parseMedia(\SimpleXMLElement element, cid) :
since |
3.1 |
---|
Arguments
- element
SimpleXMLElement
The XML node to process- cid
int
Application ID of application to install to
Response
bool
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) :
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, eid) : bool|int
since |
3.1 |
---|
Arguments
- schema
SimpleXMLElement
The XML node to process- eid
int
Extension Identifier
Response
bool|int
Number of SQL updates executed; false on failure.
parseSQLFiles
Method to extract the name of a discreet installation sql file from the installation manifest file.
parseSQLFiles( element) :
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( path) : mixed||string|int
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<string|int, mixed>
XML metadata.
pushStep
Pushes a step onto the installer stack for rolling back steps
pushStep(mixed||string|int step) :
since |
3.1 |
---|
Arguments
- step
array<string|int, mixed>
Installer step
Response
void
refreshManifestCache
Refreshes the manifest cache stored in #__extensions
refreshManifestCache( eid) :
since |
3.1 |
---|
Arguments
- eid
int
Extension ID
Response
bool
removeFiles
Method to parse through a files element of the installation manifest and remove the files that were installed
removeFiles( element, cid) :
since |
3.1 |
---|
Arguments
- element
object
The XML node to process- cid
int
Application ID of application to remove from
Response
bool
True on success
set
Modifies a property of the object, creating it if it does not already exist.
set( property, value = null) :
since |
1.7.0 |
---|---|
deprecated |
4.3.0 will be removed in 6.0 Create a proper setter function for the property |
Arguments
- property
string
The name of the property.- value
mixed
The value of the property to set.
Response
mixed
Previous value of the property.
setAdapter
Set an adapter by name
setAdapter( name, &adapter = null, mixed||string|int options = []) :
since |
1.6 |
---|
Arguments
- name
string
Adapter name- adapter
object
Adapter object- options
array<string|int, mixed>
Adapter options
Response
bool
True if successful
setError
Add an error message.
setError( error) :
since |
1.7.0 |
---|---|
deprecated |
3.1.4 will be removed in 6.0 Will be removed without replacement Throw an Exception instead of using setError |
Arguments
- error
string
Error message.
Response
void
setOverwrite
Set the allow overwrite switch
setOverwrite( state = false) :
since |
3.1 |
---|
Arguments
- state
bool
Overwrite switch state
Response
bool
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( uninstall) :
since |
3.7.0 |
---|
Arguments
- uninstall
bool
True if a package triggered the uninstall, false otherwise
Response
void
setPath
Sets an installer path by name
setPath( name, value) :
since |
3.1 |
---|
Arguments
- name
string
Path name- value
string
Path
Response
void
setProperties
Set the object properties based on a named array/hash.
setProperties( properties) :
since |
1.7.0 |
---|---|
see | CMSObject::set() |
deprecated |
4.3.0 will be removed in 6.0 Create a proper setter function for the property |
Arguments
- properties
mixed
Either an associative array or another object.
Response
bool
setRedirectUrl
Set the redirect location
setRedirectUrl( newurl) :
since |
3.1 |
---|
Arguments
- newurl
string
New redirect location
Response
void
setSchemaVersion
Set the schema version for an extension by looking at its latest update
setSchemaVersion(\SimpleXMLElement schema, eid) :
since |
3.1 |
---|
Arguments
- schema
SimpleXMLElement
Schema Tag- eid
int
Extension ID
Response
void
setUpgrade
Set the upgrade switch
setUpgrade( state = false) :
since |
3.1 |
---|
Arguments
- state
bool
Upgrade switch state
Response
bool
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( route = 'install', returnAdapter = false) : bool|\Joomla\CMS\Installer\InstallerAdapter
since |
3.1 |
---|
Arguments
- route
string
The install route being followed- returnAdapter
bool
Flag to return the instantiated adapter
Response
bool|InstallerAdapter
InstallerAdapter object if explicitly requested otherwise boolean
splitSql
Splits a string of multiple queries into an array of individual queries.
splitSql(string|null sql) : mixed||string|int
This is different than DatabaseDriver::splitSql. It supports the special CAN FAIL comment marker which indicates that a SQL statement could fail without raising an error during the installation.
since |
4.2.0 |
---|
Arguments
- sql
string|null
Input SQL string with which to split into individual queries.
Response
array<string|int, mixed>
uninstall
Package uninstallation method
uninstall( type, identifier) :
since |
3.1 |
---|
Arguments
- type
string
Package type- identifier
mixed
Package identifier for adapter
Response
bool
True if successful
update
Package update method
update( path = null) :
since |
3.1 |
---|
Arguments
- path
string
Path to package source folder
Response
bool
True if successful
updateSchemaTable
Update the schema table with the latest version
updateSchemaTable( eid, version, update = false) :
since |
4.2.0 |
---|
Arguments
- eid
int
Extension ID.- version
string
Latest schema version ID.- update
bool
Should I run an update against an existing record or insert a new one?
Response
void
Constants
CAN_FAIL_MARKER
A comment marker to indicate that an update SQL query may fail without triggering an update error.
Value | '/** CAN FAIL **/' |
---|---|
since |
4.2.0 |
CAN_FAIL_MARKER_LENGTH
The length of the CAN_FAIL_MARKER string
Value | 16 |
---|---|
since |
4.2.0 |
Properties
_errors
An array of error messages or Exception objects.
since |
1.7.0 |
---|---|
deprecated |
3.1.4 JError has been deprecated |
Type(s)
array<string|int, mixed>
_adapters
Associative array of adapters
since |
1.6 |
---|
Type(s)
array<string|int, static>
_adapterfolder
Adapter Folder
since |
1.6 |
---|
Type(s)
string
_classprefix
Adapter Class Prefix
since |
1.6 |
---|
Type(s)
string
_basepath
Base Path for the adapter instance
since |
1.6 |
---|
Type(s)
string
_db
Database Connector Object
since |
1.6 |
---|
Type(s)
DatabaseDriver
paths
Array of paths needed by the installer
since |
3.1 |
---|
Type(s)
array<string|int, mixed>
upgrade
True if package is an upgrade
since |
3.1 |
---|
Type(s)
bool
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)
bool
stepStack
Stack of installation steps
- Used for installation rollback
since |
3.1 |
---|
Type(s)
array<string|int, mixed>
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)
bool
extraQuery
Backup extra_query during update_sites rebuild
since |
3.9.26 |
---|
Type(s)
string