Installer

Extends JAdapter

Joomla base installer class

since

3.1

package

Joomla CMS

Methods

__construct

Constructor

__construct(string basepath = __DIR__, string classprefix = '\Joomla\CMS\Installer\Adapter', string adapterfolder = 'Adapter') : mixed
since

3.1

Arguments

basepath

stringBase Path of the adapters

classprefix

stringClass prefix of adapters

adapterfolder

stringName of folder to append to base path

Response

mixed

abort

Installation abort method

abort(string msg = null, string type = null) : bool
since

3.1

Arguments

msg

stringAbort message from the installer

type

stringPackage type if defined

Response

boolTrue if successful

cleanDiscoveredExtension

Cleans up discovered extensions if they're being installed some other way

cleanDiscoveredExtension(string type, string element, string folder = '', int client) : object
since

3.1

Arguments

type

stringThe type of extension (component, etc)

element

stringUnique element identifier (e.g. com_content)

folder

stringThe folder of the extension (plugins; e.g. system)

client

intThe client application (administrator or site)

Response

objectResult of query

copyFiles

Copyfiles

copyFiles(array files, bool overwrite = null) : bool

Copy files from source directory to the target directory

since

3.1

Arguments

files

arrayArray with filenames

overwrite

boolTrue if existing files can be replaced

Response

boolTrue on success

copyManifest

Copies the installation manifest file to the extension folder in the given client

copyManifest(int cid = 1) : bool
since

3.1

Arguments

cid

intWhere to copy the installfile [optional: defaults to 1 (admin)]

Response

boolTrue on success, False on error

discover

Extension discover method

discover() : \Joomla\CMS\Installer\InstallerExtension[]

Asks each adapter to find extensions

since

3.1

Response

\Joomla\CMS\Installer\InstallerExtension[]

discover_install

Discovered package installation method

discover_install(int eid = null) : bool
since

3.1

Arguments

eid

intExtension ID

Response

boolTrue if successful

findDeletedFiles

Compares two "files" entries to find deleted files/folders

findDeletedFiles(array oldFiles, array newFiles) : array
since

3.1

Arguments

oldFiles

arrayAn array of \SimpleXMLElement objects that are the old files

newFiles

arrayAn array of \SimpleXMLElement objects that are the new files

Response

arrayAn array with the delete files and folders in findDeletedFiles[files] and findDeletedFiles[folders] respectively

findManifest

Tries to find the package manifest file

findManifest() : bool
since

3.1

Response

boolTrue on success, False on error

generateManifestCache

Generates a manifest cache

generateManifestCache() : string
since

3.1

Response

stringserialised 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
deprecated
since

3.4

deprecated

4.0 The internal adapter cache will no longer be supported, use loadAdapter() to fetch an adapter instance

Arguments

name

stringName of adapter to return

options

arrayAdapter options

Response

\Joomla\CMS\Installer\InstallerAdapter

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

arrayAn array of options to inject into the adapter

custom

arrayArray of custom install adapters

Response

arrayAn 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
static
since

3.1

Arguments

basepath

stringBase Path of the adapters

classprefix

stringClass prefix of adapters

adapterfolder

stringName of folder to append to base path

Response

\Joomla\CMS\Installer\InstallerAn installer object

getManifest

Get the installation manifest object

getManifest() : \SimpleXMLElement
since

3.1

Response

\SimpleXMLElementManifest 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

stringJSON string of parameter values

getPath

Get an installer path by name

getPath(string name, string default = null) : string
since

3.1

Arguments

name

stringPath name

default

stringDefault value

Response

stringPath

getRedirectUrl

Get the redirect location

getRedirectUrl() : string
since

3.1

Response

stringRedirect location (or null)

install

Package installation method

install(string path = null) : bool
since

3.1

Arguments

path

stringPath to package source folder

Response

boolTrue if successful

isManifest

Is the XML file a valid Joomla installation manifest file.

isManifest(string file) : \SimpleXMLElement|null
since

3.1

Arguments

file

stringAn xmlfile path to check

Response

\SimpleXMLElement|nullA \SimpleXMLElement, or null if the file failed to parse

isOverwrite

Get the allow overwrite switch

isOverwrite() : bool
since

3.1

Response

boolAllow overwrite switch

isPackageUninstall

Get whether this installer is uninstalling extensions which are part of a package

isPackageUninstall() : bool
since

3.7.0

Response

bool

isUpgrade

Get the upgrade switch

isUpgrade() : bool
since

3.1

Response

bool

loadAdapter

Method to load an adapter instance

loadAdapter(string adapter, array options = array()) : \Joomla\CMS\Installer\InstallerAdapter
since

3.4

throws

\InvalidArgumentException

Arguments

adapter

stringAdapter name

options

arrayAdapter options

Response

\Joomla\CMS\Installer\InstallerAdapter

loadAllAdapters

Loads all adapters.

loadAllAdapters(array options = array()) : void
deprecated
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

arrayAdapter options

loadMD5Sum

Loads an MD5SUMS file into an associative array

loadMD5Sum(string filename) : array
since

3.1

Arguments

filename

stringFilename to load

Response

arrayAssociative 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, int cid, array oldFiles = null, array oldMD5 = null) : bool
since

3.1

Arguments

element

\SimpleXMLElementThe XML node to process

cid

intApplication ID of application to install to

oldFiles

arrayList of old files (SimpleXMLElement's)

oldMD5

arrayList of old MD5 sums (indexed by filename with value as MD5)

Response

boolTrue on success

parseLanguages

Method to parse through a languages element of the installation manifest and take appropriate action.

parseLanguages(\SimpleXMLElement element, int cid) : bool
since

3.1

Arguments

element

\SimpleXMLElementThe XML node to process

cid

intApplication ID of application to install to

Response

boolTrue on success

parseMedia

Method to parse through a media element of the installation manifest and take appropriate action.

parseMedia(\SimpleXMLElement element, int cid) : bool
since

3.1

Arguments

element

\SimpleXMLElementThe XML node to process

cid

intApplication ID of application to install to

Response

boolTrue 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

\SimpleXMLElementThe XML node to process

Response

mixedNumber of queries processed or False on error

parseSchemaUpdates

Method to process the updates for an item

parseSchemaUpdates(\SimpleXMLElement schema, int eid) : bool
since

3.1

Arguments

schema

\SimpleXMLElementThe XML node to process

eid

intExtension Identifier

Response

boolResult 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

objectThe XML node to process

Response

mixedNumber of queries processed or False on error

parseXMLInstallFile

Parse a XML install manifest file.

parseXMLInstallFile(string path) : array
static

XML Root tag should be 'install' except for languages which use meta file.

since

3.0.0

Arguments

path

stringFull path to XML file.

Response

arrayXML metadata.

pushStep

Pushes a step onto the installer stack for rolling back steps

pushStep(array step) : void
since

3.1

Arguments

step

arrayInstaller step

refreshManifestCache

Refreshes the manifest cache stored in #__extensions

refreshManifestCache(int eid) : bool
since

3.1

Arguments

eid

intExtension ID

Response

bool

removeFiles

Method to parse through a files element of the installation manifest and remove the files that were installed

removeFiles(object element, int cid) : bool
since

3.1

Arguments

element

objectThe XML node to process

cid

intApplication ID of application to remove from

Response

boolTrue on success

setOverwrite

Set the allow overwrite switch

setOverwrite(bool state = false) : bool
since

3.1

Arguments

state

boolOverwrite switch state

Response

boolTrue it state is set, false if it is not

setPackageUninstall

Set whether this installer is uninstalling extensions which are part of a package

setPackageUninstall(bool uninstall) : void
since

3.7.0

Arguments

uninstall

boolTrue 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

stringPath name

value

stringPath

setRedirectUrl

Set the redirect location

setRedirectUrl(string newurl) : void
since

3.1

Arguments

newurl

stringNew redirect location

setSchemaVersion

Set the schema version for an extension by looking at its latest update

setSchemaVersion(\SimpleXMLElement schema, int eid) : void
since

3.1

Arguments

schema

\SimpleXMLElementSchema Tag

eid

intExtension ID

setUpgrade

Set the upgrade switch

setUpgrade(bool state = false) : bool
since

3.1

Arguments

state

boolUpgrade switch state

Response

boolTrue 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', bool returnAdapter = false) : bool|\Joomla\CMS\Installer\InstallerAdapter
since

3.1

Arguments

route

stringThe install route being followed

returnAdapter

boolFlag to return the instantiated adapter

Response

bool|\Joomla\CMS\Installer\InstallerAdapterInstallerAdapter object if explicitly requested otherwise boolean

uninstall

Package uninstallation method

uninstall(string type, mixed identifier, int cid) : bool
since

3.1

Arguments

type

stringPackage type

identifier

mixedPackage identifier for adapter

cid

intApplication ID; deprecated in 1.6

Response

boolTrue if successful

update

Package update method

update(string path = null) : bool
since

3.1

Arguments

path

stringPath to package source folder

Response

boolTrue 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)

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

extension

Extension Table Entry

since

3.1

Type(s)

\Joomla\CMS\Table\Extension

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

instance

Installer instance container.

static deprecated
since

3.1

deprecated

4.0

Type(s)

\Joomla\CMS\Installer\Installer

instances

Installer instances container.

static
since

3.4

Type(s)

\Joomla\CMS\Installer\Installer[]