Installer

Extends Adapter

Joomla base installer class

since

3.1

package

Application

Methods

__construct

Class constructor, overridden in descendant classes.

__construct(mixed properties = null) : mixed
inherited
since

1.7.0

Arguments

properties

mixedEither and associative array or another object to set the initial properties of the object.

Response

mixed

__toString

Magic method to convert the object to a string gracefully.

__toString() : string
inherited deprecated
since

1.7.0

deprecated

3.1.4 Classes should provide their own __toString() implementation.

Response

stringThe classname.

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

def

Sets a default value if not already assigned

def(string property, mixed default = null) : mixed
inherited
since

1.7.0

Arguments

property

stringThe name of the property.

default

mixedThe default value.

Response

mixed

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

get

Returns a property of the object or the default value if the property is not set.

get(string property, mixed default = null) : mixed
inherited
since

1.7.0

see CMSObject::getProperties()

Arguments

property

stringThe name of the property.

default

mixedThe default value.

Response

mixedThe value of the property.

getAdapter

Return an adapter.

getAdapter(string name, array options = array()) : static|bool
inherited
since

1.6

Arguments

name

stringName of adapter to return

options

arrayAdapter options

Response

static|boolAdapter of type 'name' or false

getAdapters

Gets a list of available install adapters.

getAdapters(array options = array(), array custom = array()) : string[]
since

3.4

Arguments

options

arrayAn array of options to inject into the adapter

custom

arrayArray of custom install adapters

Response

string[]An array of the class names of available install adapters.

getDbo

Get the database connector object

getDbo() : \Joomla\Database\DatabaseDriver
inherited
since

1.6

Response

\Joomla\Database\DatabaseDriverDatabase connector object

getError

Get the most recent error message.

getError(int i = null, bool toString = true) : string
inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Arguments

i

intOption error index.

toString

boolIndicates if Exception objects should return their error message.

Response

stringError message

getErrors

Return all errors, if any.

getErrors() : array
inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Response

arrayArray of error messages.

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

getProperties

Returns an associative array of object properties.

getProperties(bool public = true) : array
inherited
since

1.7.0

see CMSObject::get()

Arguments

public

boolIf true, returns only the public properties.

Response

array

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
inherited
since

1.6

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

set

Modifies a property of the object, creating it if it does not already exist.

set(string property, mixed value = null) : mixed
inherited
since

1.7.0

Arguments

property

stringThe name of the property.

value

mixedThe value of the property to set.

Response

mixedPrevious value of the property.

setAdapter

Set an adapter by name

setAdapter(string name, object &adapter = null, array options = array()) : bool
inherited
since

1.6

Arguments

name

stringAdapter name

adapter

objectAdapter object

options

arrayAdapter options

Response

boolTrue if successful

setError

Add an error message.

setError(string error) : void
inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Arguments

error

stringError message.

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

setProperties

Set the object properties based on a named array/hash.

setProperties(mixed properties) : bool
inherited
since

1.7.0

see CMSObject::set()

Arguments

properties

mixedEither an associative array or another object.

Response

bool

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) : bool
since

3.1

Arguments

type

stringPackage type

identifier

mixedPackage identifier for adapter

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)

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

instances

JInstaller instances container.

static
since

3.4

Type(s)

Installer[]

_adapters

Associative array of adapters

inherited
since

1.6

Type(s)

static[]

_adapterfolder

Adapter Folder

inherited
since

1.6

Type(s)

string

_classprefix

Adapter Class Prefix

inherited
since

1.6

Type(s)

string

_basepath

Base Path for the adapter instance

inherited
since

1.6

Type(s)

string

_db

Database Connector Object

inherited
since

1.6

Type(s)

\Joomla\Database\DatabaseDriver

_errors

An array of error messages or Exception objects.

inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Type(s)

array